From 83bd161488f6f031bdf1f76cf47ec35053e5b68a Mon Sep 17 00:00:00 2001 From: shaver Date: Mon, 30 Dec 2002 21:10:29 +0000 Subject: [PATCH] - Add extN select-inum-for-allocation support, and use it to make recovery-time inode creation more deterministic. - Test program and ioctl for the aforementioned wantedi support. - Don't send MSG_LAST_REPLAY with the last-replayed lock. Really. I mean it this time. - Some transno-reintegration CERROR removal, because the 9600bps conman on dev cramps the style of 300-transaction replays something fierce. - Sync after every integrated transaction, so that we make forward progress in case of interrupted recovery. (This will be replaced by the handle->h_sync fix foreshadowed in fsfilt_extN_commit.) - Reuse reply_md.start instead of the likely-NULL rq_repmsg when resending reqs. - Requests without transnos should be ERESTARTed _never_, not _always_. --- lustre/obdclass/fsfilt_extN.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lustre/obdclass/fsfilt_extN.c b/lustre/obdclass/fsfilt_extN.c index 98404dd..3dfc0f8 100644 --- a/lustre/obdclass/fsfilt_extN.c +++ b/lustre/obdclass/fsfilt_extN.c @@ -216,12 +216,18 @@ static void *fsfilt_extN_brw_start(int objcount, struct fsfilt_objinfo *fso, RETURN(handle); } -static int fsfilt_extN_commit(struct inode *inode, void *handle) +static int fsfilt_extN_commit(struct inode *inode, void *h /*, force_sync */) { int rc; + handle_t *handle = h; + +#if 0 + if (force_sync) + handle->h_sync = 1; /* recovery likes this */ +#endif lock_kernel(); - rc = journal_stop((handle_t *)handle); + rc = journal_stop(handle); unlock_kernel(); return rc; -- 1.8.3.1