I am seeing a zfs recv bug on FreeBSD and am wondering if someone could test 
this in the Solaris code.  If it fails there then I guess a bug report into 
Solaris is needed.

This is a perverse case of filesystem renaming between snapshots.

kraken:/root# cat zt

zpool create rec1 da3
zpool create rec2 da4

zfs create rec1/a
zfs create rec1/a/b

zfs snapshot -r r...@s1
zfs send -R r...@s1 | zfs recv -dvuF rec2

zfs rename rec1/a/b rec1/c
zfs destroy -r rec1/a
zfs create rec1/a
zfs rename rec1/c rec1/a/b # if the rename target is anything other than 
rec1/a/b the "zfs recv" result is right

zfs snapshot -r r...@s2
zfs send -R -I @s1 r...@s2 | zfs recv -dvuF rec2
kraken:/root# sh -x zt
+ zpool create rec1 da3
+ zpool create rec2 da4
+ zfs create rec1/a
+ zfs create rec1/a/b
+ zfs snapshot -r r...@s1
+ zfs send -R r...@s1
+ zfs recv -dvuF rec2
receiving full stream of r...@s1 into r...@s1
received 47.4KB stream in 2 seconds (23.7KB/sec)
receiving full stream of rec1/a...@s1 into rec2/a...@s1
received 47.9KB stream in 1 seconds (47.9KB/sec)
receiving full stream of rec1/a/b...@s1 into rec2/a/b...@s1
received 46.3KB stream in 1 seconds (46.3KB/sec)
+ zfs rename rec1/a/b rec1/c
+ zfs destroy -r rec1/a
+ zfs create rec1/a
+ zfs rename rec1/c rec1/a/b
+ zfs snapshot -r r...@s2
+ zfs send -R -I @s1 r...@s2
+ zfs recv -dvuF rec2
attempting destroy rec2/a...@s1
success
attempting destroy rec2/a
failed - trying rename rec2/a to rec2/recv-2176-1
local fs rec2/a/b new parent not found
cannot open 'rec2/a/b': dataset does not exist
another pass:
attempting destroy rec2/recv-2176-1
failed (0)
receiving incremental stream of r...@s2 into r...@s2
received 10.8KB stream in 2 seconds (5.41KB/sec)
receiving full stream of rec1/a...@s2 into rec2/a...@s2
received 47.9KB stream in 1 seconds (47.9KB/sec)
receiving incremental stream of rec1/a/b...@s2 into rec2/recv-2176-1/b...@s2
received 312B stream in 2 seconds (156B/sec)
local fs rec2/a does not have fromsnap (s1 in stream); must have been deleted 
locally; ignoring
attempting destroy rec2/recv-2176-1
failed (0)
kraken:/root# zfs list | grep rec1
rec1                                                               238K   1.78T 
   32K  /rec1
rec1/a                                                              63K   1.78T 
   32K  /rec1/a
rec1/a/b                                                            31K   1.78T 
   31K  /rec1/a/b
kraken:/root# zfs list | grep rec2
rec2                                                               293K   1.78T 
   32K  /rec2
rec2/a                                                              32K   1.78T 
   32K  /rec2/a
rec2/recv-2176-1                                                    64K   1.78T 
   32K  /rec2/recv-2176-1
rec2/recv-2176-1/b                                                  32K  1.78T  
  31K  /rec2/recv-2176-1/b
kraken:/root#
-- 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to