Re: Modifying RBD image changes it's snapshot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/26/2013 11:15 AM, Josh Durgin wrote:
On 06/26/2013 05:40 AM, Karol Jurak wrote:
Hi,

I'm using ceph 0.56.6 and kernel 3.9.7 and it looks like modifying RBD
image
also changes it's snapshot. I can reproduce this as follows:

# create and map an image
rbd create --size 128 test-1
rbd map test-1

# write some data to the image
dd if=/dev/zero of=/dev/rbd/rbd/test-1 bs=1M count=128

# create and map a snapshot
rbd snap create test-1@snap-1
rbd map test-1@snap-1

# verify that image and snapshot are identical
md5sum /dev/rbd/rbd/test-1 /dev/rbd/rbd/test-1@snap-1
fde9e0818281836e4fc0edfede2b8762  /dev/rbd/rbd/test-1
fde9e0818281836e4fc0edfede2b8762  /dev/rbd/rbd/test-1@snap-1

# modify the image
dd if=/dev/urandom of=/dev/rbd/rbd/test-1 bs=512 count=1

# compare checksums again
md5sum /dev/rbd/rbd/test-1 /dev/rbd/rbd/test-1@snap-1
1d942c8a5bc7480cecb945ea0d020eed  /dev/rbd/rbd/test-1
1d942c8a5bc7480cecb945ea0d020eed  /dev/rbd/rbd/test-1@snap-1

Checksums are identical although the snapshot isn't supposed to be
modified.


Just reproduced on 3.10-rc7 as well. It seems the snapshot context
loading is broken for format 1 a t least, since unmapping and mapping
after the snapshot exists still has the same problem. I added
http://tracker.ceph.com/issues/5464 to track this.

Apparently the regression test for this hasn't been running, or we
would've caught this sooner.

There's a fix for this on the stable kernel in the wip-snapc-3.9.y
branch of ceph-client.git.

Josh

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux