From 3a927081a9dbd338d40ab9ff32d0f7b6b6392972 Mon Sep 17 00:00:00 2001 From: David Teigland Date: Wed, 30 Aug 2006 10:50:18 -0500 Subject: [PATCH] --- yaml --- r: 38810 b: refs/heads/master c: c6e6f0ba8fc1dea99c7bd020916f24d533b62697 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/dlm/user.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index b5b16ca5029e..f0664597b7fe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 623d93555c8884768db65ffc11509c93e50dd4db +refs/heads/master: c6e6f0ba8fc1dea99c7bd020916f24d533b62697 diff --git a/trunk/fs/dlm/user.c b/trunk/fs/dlm/user.c index 494d00ac014e..c37e93e4f2df 100644 --- a/trunk/fs/dlm/user.c +++ b/trunk/fs/dlm/user.c @@ -325,7 +325,7 @@ static int device_remove_lockspace(struct dlm_lspace_params *params) { dlm_lockspace_t *lockspace; struct dlm_ls *ls; - int error; + int error, force = 0; if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -341,6 +341,9 @@ static int device_remove_lockspace(struct dlm_lspace_params *params) } kfree(ls->ls_device.name); + if (params->flags & DLM_USER_LSFLG_FORCEFREE) + force = 2; + lockspace = ls->ls_local_handle; /* dlm_release_lockspace waits for references to go to zero, @@ -348,8 +351,8 @@ static int device_remove_lockspace(struct dlm_lspace_params *params) before the release will procede */ dlm_put_lockspace(ls); - error = dlm_release_lockspace(lockspace, 0); -out: + error = dlm_release_lockspace(lockspace, force); + out: return error; }