Whamcloud - gitweb
Short version: replaying create and rename works now, including all the fixups
authorshaver <shaver>
Mon, 28 Oct 2002 02:49:56 +0000 (02:49 +0000)
committershaver <shaver>
Mon, 28 Oct 2002 02:49:56 +0000 (02:49 +0000)
commit320a34f3973da42af1b235ca5d6c52216f9f5303
tree97129e05296b5c4151795efaa4a02cbfebb31f1c
parentb3d298faaa9e2e2f619c6bb607d5e0808e98f9a3
Short version: replaying create and rename works now, including all the fixups
               you could ever, ever want.  (OK, except lock replay, but that's
               easy now.)  Single-client recovery should now be much, much
               more robust.

- Added LDLM_FL_INTENT_ONLY to avoid acquiring locks during intent-lock replay.
- Fix leak of open requests that was due to a misunderstanding (mine) of the
  way that the ptlrpc_request refcounting code (mine) really worked.
- Store FID data after create, so that we can fix up the world afterwards.
- Poor man's lustre_spare_buf support through simple over-allocation of request
  buffers.
- Cancel unused locks when we lose contact with an MDS.
- When replaying create, fix up to-be-replayed and delayed-for-recovery requests
  to contain the new FID generation, in addition to the actual in-memory inode.
- Don't sweat a "failed" return code for replayed requests, but do squeak a bit
  if the old and new status doesn't match up (virtually guaranteed, in fact,
  but I'll tune that down later).
- Skip no-transno requests during replay, since they don't affect MDS state.
lustre/include/linux/lustre_dlm.h
lustre/include/linux/lustre_mds.h
lustre/llite/file.c
lustre/llite/namei.c
lustre/llite/recover.c
lustre/mdc/mdc_request.c
lustre/mds/handler.c
lustre/ptlrpc/client.c
lustre/ptlrpc/recover.c