lkml.org 
[lkml]   [2012]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] Allow cross subvolume reflinks (2nd attempt)
From
Date
On Wed, 2012-06-20 at 19:27 +0200, Alexander Block wrote:
> On Wed, Jun 20, 2012 at 7:18 PM, Goffredo Baroncelli <kreijack@libero.it> 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@kepstin.ca>



\
 
 \ /
  Last update: 2012-06-20 21:01    [W:0.072 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site