On Wed 22-06-22 17:02:23, Ye Bin wrote: > Now if check directoy entry is corrupted, ext4_empty_dir may return true > then directory will be removed when file system mounted with "errors=continue". > In order not to make things worse just return false when directory is corrupted. > > Signed-off-by: Ye Bin <yebin10@xxxxxxxxxx> OK, looks good. Feel free to add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > fs/ext4/namei.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c > index 47d0ca4c795b..bc503e3275db 100644 > --- a/fs/ext4/namei.c > +++ b/fs/ext4/namei.c > @@ -3066,11 +3066,8 @@ bool ext4_empty_dir(struct inode *inode) > de = (struct ext4_dir_entry_2 *) (bh->b_data + > (offset & (sb->s_blocksize - 1))); > if (ext4_check_dir_entry(inode, NULL, de, bh, > - bh->b_data, bh->b_size, offset)) { > - offset = (offset | (sb->s_blocksize - 1)) + 1; > - continue; > - } > - if (le32_to_cpu(de->inode)) { > + bh->b_data, bh->b_size, offset) || > + le32_to_cpu(de->inode)) { > brelse(bh); > return false; > } > -- > 2.31.1 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR