On 06/20/2012 08:07 PM, Calvin Walton wrote: > On Wed, 2012-06-20 at 19:27 +0200, Alexander Block wrote: >> On Wed, Jun 20, 2012 at 7:18 PM, Goffredo Baroncelli <kreijack@xxxxxxxxx> wrote: >>> Hi Alexander, >>> >>> On 06/20/2012 12:35 PM, Alexander Block wrote: >>>> The patch also does proper vfs mount checks, so cross mount >>>> point reflinks are not possible with this patch. It only allows cross >>>> reflinks between two subvolumes which are in the same mount point. >>> >>> Thanks for working on that. What happens if two subvolumes of the same >>> filesystem are mounted on two different places ? >>> >>> I usually do: >>> mount -o subvol=__active /dev/sdX / >>> mount -o subvol=. /dev/sdX /var/btrfs >>> >>> So two different subvolumes of the same filesystem (the one on /dev/sdX) >>> are mounted on two different places. >>> >>> Is it possible to do >>> cp --reflink /tmp/foo /var/btrfs/tmp/foo2 >> This will fail with -EXDEV. The patch explicitly forbids reflinks crossing vfs >> mount boundaries. > > Which means that if I want to do a reflink copy between two separately > mounted subvolumes, I will have to go and do a third mount with a common > subvolume above those two, then do the reflink operation within this > extra mount? This seems slightly impractical. > > Is it any extra code to enable doing cross-mount reflinks? Why was the > decision made not to allow them? > > Is there some particular opposition to supporting cross-mount operations > on multiple mounts of the same filesystem in general? (I'd love to have > rename() work across bind mounts, for example...) Yes please, could someone explain the reason behind this decision ? May be there are valid reasons, I am asking only to know which ones ? -- 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