diff options
author | Benjamin Marzinski <bmarzins@redhat.com> | 2016-03-23 19:29:59 +0100 |
---|---|---|
committer | Bob Peterson <rpeterso@redhat.com> | 2016-03-24 13:28:48 +0100 |
commit | 3e11e530415027a57936545957126aff49267b76 (patch) | |
tree | 050521977711a35ac67c7034c4f97f110c40ab47 /fs/gfs2/util.c | |
parent | Merge tag 'staging-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/... (diff) | |
download | linux-3e11e530415027a57936545957126aff49267b76.tar.xz linux-3e11e530415027a57936545957126aff49267b76.zip |
GFS2: ignore unlock failures after withdraw
After gfs2 has withdrawn the filesystem, it may still have many locks not
in the unlocked state. If it is using lock_dlm, it will failed trying
the unlocks since it has already unmounted the lock manager. Instead, it
should set the SDF_SKIP_DLM_UNLOCK flag on withdraw, to signal that
it can skip the lock_manager on unlocks, and failback to lock_nolock
style unlocking.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2/util.c')
-rw-r--r-- | fs/gfs2/util.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/util.c b/fs/gfs2/util.c index cf645835710f..aee4485ad8a9 100644 --- a/fs/gfs2/util.c +++ b/fs/gfs2/util.c @@ -68,6 +68,7 @@ int gfs2_lm_withdraw(struct gfs2_sbd *sdp, const char *fmt, ...) fs_err(sdp, "telling LM to unmount\n"); lm->lm_unmount(sdp); } + set_bit(SDF_SKIP_DLM_UNLOCK, &sdp->sd_flags); fs_err(sdp, "withdrawn\n"); dump_stack(); } |