diff options
author | Alexander Aring <aahringo@redhat.com> | 2022-06-22 21:45:08 +0300 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2022-06-24 19:53:04 +0300 |
commit | 4d413ae9ced4180c0e2114553c3a7560b509b0f8 (patch) | |
tree | 3bdb841cbb9afbbb850d1c4b59e1eb1695bffc1f /fs/dlm | |
parent | ea06d4cabf529eefbe7e89e3a8325f1f89355ccd (diff) | |
download | linux-4d413ae9ced4180c0e2114553c3a7560b509b0f8.tar.xz |
fs: dlm: use dlm_plock_info for do_unlock_close
This patch refactors do_unlock_close() by using only struct dlm_plock_info
as a parameter.
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm')
-rw-r--r-- | fs/dlm/plock.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c index 868940c48e3a..cf7bba461bfd 100644 --- a/fs/dlm/plock.c +++ b/fs/dlm/plock.c @@ -79,8 +79,7 @@ static void send_op(struct plock_op *op) abandoned waiter. So, we have to insert the unlock-close when the lock call is interrupted. */ -static void do_unlock_close(struct dlm_ls *ls, u64 number, - struct file *file, struct file_lock *fl) +static void do_unlock_close(const struct dlm_plock_info *info) { struct plock_op *op; @@ -89,15 +88,12 @@ static void do_unlock_close(struct dlm_ls *ls, u64 number, return; op->info.optype = DLM_PLOCK_OP_UNLOCK; - op->info.pid = fl->fl_pid; - op->info.fsid = ls->ls_global_id; - op->info.number = number; + op->info.pid = info->pid; + op->info.fsid = info->fsid; + op->info.number = info->number; op->info.start = 0; op->info.end = OFFSET_MAX; - if (fl->fl_lmops && fl->fl_lmops->lm_grant) - op->info.owner = (__u64) fl->fl_pid; - else - op->info.owner = (__u64)(long) fl->fl_owner; + op->info.owner = info->owner; op->info.flags |= DLM_PLOCK_FL_CLOSE; send_op(op); @@ -167,7 +163,7 @@ int dlm_posix_lock(dlm_lockspace_t *lockspace, u64 number, struct file *file, __func__, ls->ls_global_id, (unsigned long long)number, op->info.pid); dlm_release_plock_op(op); - do_unlock_close(ls, number, file, fl); + do_unlock_close(&op->info); goto out; } |