ceph: fix snap rebuild condition
authorSage Weil <sage@newdream.net>
Fri, 19 Mar 2010 20:24:39 +0000 (13:24 -0700)
committerSage Weil <sage@newdream.net>
Tue, 23 Mar 2010 14:47:02 +0000 (07:47 -0700)
commitec4318bcb4c59d8b8bf7037c9f444a9887ccb265
tree9c471ed9e33b864253166c255c1fd601b909c7af
parent87b315a5b5cec5d7086494b203577602f5befc8c
ceph: fix snap rebuild condition

We were rebuilding the snap context when it was not necessary
(i.e. when the realm seq hadn't changed _and_ the parent seq
was still older), which caused page snapc pointers to not match
the realm's snapc pointer (even though the snap context itself
was identical).  This confused begin_write and put it into an
endless loop.

The correct logic is: rebuild snapc if _my_ realm seq changed, or
if my parent realm's seq is newer than mine (and thus mine needs
to be rebuilt too).

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