Message ID | 20220518172320.333617-7-krisman@collabora.com |
---|---|
State | Superseded |
Headers | show |
Series | Clean up the case-insensitive lookup path | expand |
On Wed, May 18, 2022 at 01:23:18PM -0400, Gabriel Krisman Bertazi wrote: > If the volume is in strict mode, ext4_ci_compare can report a broken > encoding name. This will not trigger on a bad lookup, which is caught > earlier, only if the actual disk name is bad. > > Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> > > --- > > changes since v4: > - Reword error message (Eric) > > Changes since v1: > - reword error message "file in directory" -> "filename" (Eric) > --- > fs/ext4/namei.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c > index 98295b03a57c..8fbb35187f72 100644 > --- a/fs/ext4/namei.c > +++ b/fs/ext4/namei.c > @@ -1396,6 +1396,9 @@ static bool ext4_match(struct inode *parent, > * only case where it happens is on a disk > * corruption or ENOMEM. > */ > + if (ret == -EINVAL) > + EXT4_ERROR_INODE(parent, > + "Directory contains filename that is invalid UTF-8"); > return false; > } > return ret; Reviewed-by: Eric Biggers <ebiggers@google.com> - Eric
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 98295b03a57c..8fbb35187f72 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c @@ -1396,6 +1396,9 @@ static bool ext4_match(struct inode *parent, * only case where it happens is on a disk * corruption or ENOMEM. */ + if (ret == -EINVAL) + EXT4_ERROR_INODE(parent, + "Directory contains filename that is invalid UTF-8"); return false; } return ret;
If the volume is in strict mode, ext4_ci_compare can report a broken encoding name. This will not trigger on a bad lookup, which is caught earlier, only if the actual disk name is bad. Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> --- changes since v4: - Reword error message (Eric) Changes since v1: - reword error message "file in directory" -> "filename" (Eric) --- fs/ext4/namei.c | 3 +++ 1 file changed, 3 insertions(+)