RE: [PATCH 2/3] exfat: remove useless check in exfat_move_file()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> >> --- a/fs/exfat/namei.c
> >> +++ b/fs/exfat/namei.c
> >> @@ -1095,11 +1095,6 @@ static int exfat_move_file(struct inode
> >> *inode, struct exfat_chain *p_olddir,
> >>   	if (!epmov)
> >>   		return -EIO;
> >>
> >> -	/* check if the source and target directory is the same */
> >> -	if (exfat_get_entry_type(epmov) == TYPE_DIR &&
> >> -	    le32_to_cpu(epmov->dentry.stream.start_clu) == p_newdir->dir)
> >> -		return -EINVAL;
> >> -
> >
> > It might check if the cluster numbers are same between source entry
> > and target directory.
> 
> This checks if newdir is the move target itself.
> Example:
>    mv /mnt/dir0 /mnt/dir0/foo
> 
> However, this check is not enough.
> We need to check newdir and all ancestors.
> Example:
>    mv /mnt/dir0 /mnt/dir0/dir1/foo
>    mv /mnt/dir0 /mnt/dir0/dir1/dir2/foo
>    ...
> 
> This is probably a taboo for all layered filesystems.
> 
> 
> > Could you let me know what code you mentioned?
> > Or do you mean the codes on vfs?
> 
> You can find in do_renameat2(). --- around 'fs/namei.c:4440'
> If the destination ancestors are itself, our driver will not be called.

I think, of course, vfs has been doing that.
So that code is unnecessary in normal situations.

That code comes from the old exfat implementation.
And as far as I understand, it seems to check once more "the cluster number"
even though it comes through vfs so that it tries detecting abnormal of on-disk.

Anyway, I agonized if it is really needed.
In conclusion, old code could be eliminated and your patch looks reasonable.
Thanks

Acked-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx>

> 
> 
> BTW
> Are you busy now?
I'm sorry, I'm so busy for my full time work :(
Anyway, I'm trying to review serious bug patches or bug reports first.
Other patches, such as clean-up or code refactoring, may take some time to review.

> I am waiting for your reply about "integrates dir-entry getting and
> validation" patch.
As I know, your patch is being under review by Namjae.

> 
> BR
> ---
> Tetsuhiro Kohada <kohada.t2@xxxxxxxxx>





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux