1 |
On 03/12/2014 08:45 AM, Alex Xu wrote: |
2 |
> On 12/03/14 03:15 AM, Yuxuan Shui wrote: |
3 |
>> Hi, |
4 |
>> |
5 |
>> I would like to implement cp --reflink support for ZFSOnLinux as my GSoC |
6 |
>> project. |
7 |
>> |
8 |
>> cp --reflink is used to create a COW copy of a file, so the file will not |
9 |
>> take any disk space if it's not modified. This feature is very useful for |
10 |
>> cases like storing a lot of almost identical virtual machine images. Also |
11 |
>> this is a frequently requested feature for ZoL. [1][2][3] |
12 |
>> |
13 |
>> Currently only btrfs support this feature, so my goal it to bring it to ZoL |
14 |
>> as well. |
15 |
>> |
16 |
>> I think the only way to do it (without changing too many parts of ZoL) is |
17 |
>> to use the deduplication feature of zfs. A COW copy could be done by create |
18 |
>> a new entry in ddt for the old file, and create a new file which points to |
19 |
>> the ddt entry. |
20 |
>> |
21 |
>> Please let me know if this proposal makes sense, and if that's the right |
22 |
>> way to do it. |
23 |
>> |
24 |
>> Thanks. |
25 |
>> |
26 |
>> [1]: |
27 |
>> https://groups.google.com/a/zfsonlinux.org/forum/#!topic/zfs-discuss/mvGB7QEpt3w |
28 |
>> [2]: https://github.com/zfsonlinux/zfs/issues/405 |
29 |
>> [3]: https://github.com/zfsonlinux/zfs/issues/1063 |
30 |
>> |
31 |
> |
32 |
> While I can't comment too much on the technical aspects, they seem to be |
33 |
> relatively sound. |
34 |
> |
35 |
> However, there are some issues with the, er... other aspects, for lack |
36 |
> of better terminology. |
37 |
> |
38 |
> 1. This is possibly out of scope as a Gentoo project, since ZOL is not |
39 |
> really part of Gentoo. If it's not, then you're out of luck, because ZOL |
40 |
> is not an accepted organization. |
41 |
|
42 |
Things that provide us with improvements over what we have are |
43 |
definitely worth consideration as GSoC projects. However, what is |
44 |
accepted ultimately depends on not only feedback from a potential |
45 |
mentor, but also a vote of Gentoo developers. |
46 |
|
47 |
> 2. This is likely too small to be a GSoC project. Perhaps see [0] for a |
48 |
> list of example ideas, if only so you can get a grasp on the size of a |
49 |
> good project. |
50 |
> |
51 |
> It does sound like a good idea though, and even if you can't do it as |
52 |
> part of GSoC, you should pursue it anyways. |
53 |
|
54 |
Leaning on my understanding of ZFS internals, I can say that this is |
55 |
large enough. However, I do not think it will accomplish the desired |
56 |
result if implemented in the manner suggested. |