]> git.baikalelectronics.ru Git - kernel.git/commit
ceph: fix cap_snap and realm split
authorSage Weil <sage@newdream.net>
Thu, 16 Sep 2010 23:26:51 +0000 (16:26 -0700)
committerSage Weil <sage@newdream.net>
Thu, 16 Sep 2010 23:26:51 +0000 (16:26 -0700)
commitff688ece06a63ea9821c7edd641ca54889f871b2
tree52437bde7370fc7a21193c27a08dc1d7238cee98
parent6f824829c6619287741a36fe27962a7cbe1d4d04
ceph: fix cap_snap and realm split

The cap_snap creation/queueing relies on both the current i_head_snapc
_and_ the i_snap_realm pointers being correct, so that the new cap_snap
can properly reference the old context and the new i_head_snapc can be
updated to reference the new snaprealm's context.  To fix this, we:

 - move inodes completely to the new (split) realm so that i_snap_realm
   is correct, and
 - generate the new snapc's _before_ queueing the cap_snaps in
   ceph_update_snap_trace().

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/addr.c
fs/ceph/snap.c
fs/ceph/super.h