Re: [git pull] vfs.git pile 2

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

 



[Darrick Cc'd]
On Sat, Dec 17, 2016 at 06:49:55PM -0800, Linus Torvalds wrote:
> On Fri, Dec 16, 2016 at 2:12 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> > In this pile:
> >         * autofs-namespace series
> >         * dedupe stuff
> >         * more struct path constification
> 
> When looking at the conflict, I looked at that part of
> vfs_clone_file_prep_inodes(), and reacted to the insanity.
> 
> WTF?
> 
>         /* Zero length dedupe exits immediately; reflink goes to EOF. */
>         if (*len == 0) {
>                 if (is_dedupe) {
>                         *len = 0;
>                         return 0;
>                 }
>                 *len = isize - pos_in;
>         }
> 
> I'll just leave you to read through that part a bit more. Because
> there are two completely insane things going on in that code sequence.

One, AFAICS - pointless *len = 0 in case of is_dedupe.  That's a counterpart of
	/* Zero length dedupe exits immediately; reflink goes to EOF. */
	if (len == 0) {
		if (is_dedupe) {
			ret = 0;
			goto out_unlock;
		}
		len = isize - pos_in;
	}
in mainline xfs_reflink_remap_range().  What else am I missing there?
I'm not thrilled with the calling conventions they'd used, and that
*len = 0; shouldn't have been slapped there (at a guess, by inertia from
the conversion of the chunk right before that one -
	/* Are we going all the way to the end? */
	isize = i_size_read(inode_in);
	if (isize == 0) {
		ret = 0;
		goto out_unlock;
	}
in mainline, needing *len = 0; after conversion), but I don't see what else
are you refering to in that snippet...
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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