On Wed, Dec 16, 2009 at 6:17 AM, Steven Sim <unixan...@gmail.com> wrote:
> r...@sunlight:/root# zfs send myplace/myd...@prededup | zfs receive -v
> myplace/mydata
> cannot receive new filesystem stream: destination 'myplace/fujitsu' exists
> must specify -F to overwrite it

Try something like this:

zfs create -o mountpoint=none myplace/dedup
zfs unmount myplace/mydata # Make sure the source isn't changing anymore
zfs snapshot myplace/myd...@prededup
zfs send -R myplace/myd...@prededup | zfs receive -du myplace/dedup

It'll create a new filesystem myplace/dedup/mydata

zfs rename myplace/mydata myplace/mydata_old
zfs rename myplace/dedup/mydata myplace/mydata
zfs mount myplace/mydata

You can now destroy the old dataset.

I'm also adding a user property to the dedup'd copy so I don't
accidentally do it again, eg:
zfs set com.freaks:deduped=yes myplace/dedup/mydata
prior to the 'zfs rename'.

There's a little more finesse you can use to limit the time your
source dataset is unmounted. Do a snapshot and send|receive to get
most of the data over, then unmount and create a new snapshot and
send|receive to catch any changes since the first.

-B

-- 
Brandon High : bh...@freaks.com
Mistakes are often the stepping stones to utter failure.
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to