Pawel Jakub Dawidek wrote:
> On Thu, Oct 11, 2007 at 10:47:44AM +0100, Robert Milkowski wrote:
>> Hello Matthew,
>>
>> Thursday, October 11, 2007, 9:10:13 AM, you wrote:
>>
>> MA> Robert Milkowski wrote:
>>>> I haven't looked into details but in theory one should be
>>>> able to copy/move a file within the same datapool between datasets
>>>> without having to actually copy data blocks... or maybe there's some
>>>> detail which actually makes it hard to implement...
>> MA> Once a block is referenced by multiple filesystem, it is nontrivial to
>> MA> determine when it can be freed.
>>
>> In a way multiple snapshots are separate file systems, or clones...
>> What's the difference? However I'm sure you right...

Well, snapshots are nontrivial too.  See

http://blogs.sun.com/ahrens/entry/is_it_magic

> Snapshot and clones are not autonomous datasets. A clone has always a
> parent, you can use 'zfs promote' to switch the relatioship, but you
> cannot make them independent, AFAIK.
> 
> To Matthew: As I understand it, Robert was talking more about moving the
> blocks to another dataset, not creating a hardlink-like situation - only
> one dataset will reference the blocks after the move.

Well, he said "copy/move".  "copy" implied to me that both filesystems would 
reference the same blocks.  And even if it is just "move", you still have the 
issue of snapshots from the original filesystem referencing it.  Changing the 
snapshots so they no longer reference the file?  Also nontrivial.

--matt


Reply via email to