On Mar  3, 2012, Sage Weil <s...@newdream.net> wrote:

> It looks like the problem is that CInode::first isn't being journaled.  
> Normally, that's fine because it matches the referring dentry.. but for 
> multiversion inodes (like snapped directories), it won't match.  On replay 
> we end up with bad value of 2, and it re-cows and clobbers the original 
> old value.

> I pushed wip-1946 with a fix.  Want to give it a go?

Sorry about the delay, I spent the week facing disk full problems that
followed a major crushmap rearrangement and cluster_snaps that I'd
rather not remove before the rearrangement was complete.  Fun! :-)

I gave it a go, and I'm afraid it doesn't look like it fixed the
problem.  bb85a7270 (wip-1946^) is the one patch I tested with, because
the subsequent patch in wip-1946 failed the assertion during recovery,
while replaying AFAICT a directory move.  in->first was 2 (the bad value
you mention above?).

Observed behavior was still the same: remove old snapshot, touch dir
with old timestamp, remount, re-create snapshot, remount, check
timestamps in snapshot dir, all fine, restart mds, all fine, touch dir,
remount, all fine, restart mds again, snapshot timestamp changes to
match.

-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to