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...) -- Calvin Walton <calvin.walton@xxxxxxxxxx> -- 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