On Wed, Oct 15, 2014 at 2:37 PM, Filipe Manana <fdmanana@xxxxxxxxx>
wrote:
This reverts commit 9c3b306e1c9e6be4be09e99a8fe2227d1005effc.
Switching only one commit root during a transaction is wrong because
it leads
the fs into an inconsistent state. All commit roots should be
switched at once,
at transaction commit time, otherwise backref walking can often miss
important
references that were only accessible through the old commit root.
Plus, the root item for the snapshot's root wasn't getting updated
and preventing
the next transaction commit to do it.
This made several users get into random corruption issues after
creation of
readonly snapshots.
Thanks Filipe and everyone else that helped nail this down. I
convinced myself that working on readonly roots made the original
commit ok, but clearly I was horribly wrong. Sorry guys, I'll get this
off to Linus as soon as I do a quick cook here.
-chris
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html