[Lustre-discuss] NFS vs Lustre

Nicolas Williams Nicolas.Williams at sun.com
Mon Aug 31 14:53:57 PDT 2009


On Mon, Aug 31, 2009 at 03:50:33PM -0600, Kevin Van Maren wrote:
> Nicolas Williams wrote:
> >Client death with dirty data is not all that different from process
> >death with dirty data in user-land.  Think of an application that does
> >write(2), write(2), close(2), _exit(2), but dies between writes.
> 
> It is very different; with a user application crash, all the writes to 
> that point will be completed by the kernel.

But not writes that the application hasn't done yet but which it was
working on putting together at the time that it died.  If those never-
done writes are related to writes that did get made, then you may have a
problem.

For example, consider an RDBMS.  Say you begin a transaction, do some
INSERTs/UPDATEs/DELETEs, then COMMIT.  This will almost certainly
require multiple write(2)s (even for a DB that uses COW principles).
And suppose that somewhere in the middle the process doing the writes
dies.  There should be some undo/redo log somewhere, and on restart the
RDBMS must recover from a partially unfinished transaction.



More information about the lustre-discuss mailing list