[Lustre-devel] Recovering opens by reconstruction

Nicolas Williams Nicolas.Williams at sun.com
Mon Jul 6 15:37:37 PDT 2009

On Mon, Jul 06, 2009 at 12:20:09PM -0500, Nicolas Williams wrote:
> Note too that recovering opens by reconstruction and before outstanding
> transactions commits us to always use capabilities.  The reason is that
> an open might not be permitted prior to replaying, say, a chmod, but
> with capabilities the open would be permitted because of the capability
> issued earlier, before the MDS restarted.
> If we want an option to disable capabilities, then we should recover
> opens in order at RPC replay time, but the opens should still not be
> replays (unless O_CREAT is involved and that transaction hasn't
> committed).

The above is all wrong, fortunately :)  Oleg explained it to me.

Transactions are committed linearly in time, so if a chmod that an open
depends on has not yet committed then that open's state must be
recovered by replay rather than by reconstruction.


More information about the lustre-devel mailing list