This is version 2 which simplifies patch 1 and clarifies the comments of patch 2 as per Andreas Gruenbacher's suggestions.
This patch set fixes a few bugs in how gfs2 handles file systems after withdraw. In an ideal world, after a file system is withdrawn, users should be able to unmount the file system without problems. However, we discovered three problems that prevented clean unmounts: 1. A duplicate iput of the journal after attempted recovery caused kernel panics after withdraw. 2. After withdraw, unmount would hang for its alloted timeout period when glocks had waiters queued that, due to the withdraw, could never be granted. 3. Unmount would similarly hang when the withdraw prevented an outgoing request to dlm, but so the glock was never unlocked. Bob Peterson (3): gfs2: Prevent double iput for journal on error gfs2: Dequeue waiters when withdrawn gfs2: Clear GLF_LOCK when withdraw prevents xmote fs/gfs2/glock.c | 33 ++++++++++++++++++++++++++++++++- fs/gfs2/glock.h | 1 + fs/gfs2/util.c | 6 ++++++ 3 files changed, 39 insertions(+), 1 deletion(-) -- 2.36.1