1 |
On Sat, 26 Nov 2011 21:28:51 +0530 |
2 |
Nirbheek Chauhan <nirbheek@g.o> wrote: |
3 |
|
4 |
> On Sat, Nov 26, 2011 at 8:39 PM, Michał Górny <mgorny@g.o> |
5 |
> wrote: |
6 |
> > But in this particular case, I don't think COW is particularly |
7 |
> > useful. If it works only on filesystem bounds, we could move the |
8 |
> > file directly anyway. |
9 |
> > |
10 |
> |
11 |
> There are still a few specific cases in which CoW would indeed be |
12 |
> useful. IIRC, reflinking of files works across btrfs *subvolumes*, and |
13 |
> such a copy would normally be detected as a cross-device move. |
14 |
|
15 |
For such a thing, shouldn't rename() work neat anyway? |
16 |
|
17 |
> Another use would be an patch-merge which makes use of *ranged |
18 |
> reflinks* to only CoW copy those parts of the file that were |
19 |
> changed[1]. rsync has support for this, but only while appending to |
20 |
> files (--append-verify --no-whole-file). |
21 |
|
22 |
So, it'd be like: |
23 |
1) CoW-dup old file, |
24 |
2) patch-merge into the duped old file, |
25 |
3) replace. |
26 |
|
27 |
Am I understanding correctly? |
28 |
|
29 |
-- |
30 |
Best regards, |
31 |
Michał Górny |