Message ID | 20220322030004.148560-6-krisman@collabora.com |
---|---|
State | Superseded |
Headers | show |
Series | Clean up the case-insenstive lookup path | expand |
On Mon, Mar 21, 2022 at 11:00:04PM -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> > --- > fs/ext4/namei.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c > index 8520115cd5c2..c321c6fdb4ae 100644 > --- a/fs/ext4/namei.c > +++ b/fs/ext4/namei.c > @@ -1456,6 +1456,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, > + "Bad encoded file in directory"); Maybe have this say "Bad encoded filename" instead of "Bad encoded file"? - Eric
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 8520115cd5c2..c321c6fdb4ae 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c @@ -1456,6 +1456,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, + "Bad encoded file in directory"); 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> --- fs/ext4/namei.c | 3 +++ 1 file changed, 3 insertions(+)