Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 721d5b51 authored by Alexander Aring's avatar Alexander Aring Committed by Greg Kroah-Hartman
Browse files

fs: dlm: use dlm_plock_info for do_unlock_close



[ Upstream commit 4d413ae9ced4180c0e2114553c3a7560b509b0f8 ]

This patch refactors do_unlock_close() by using only struct dlm_plock_info
as a parameter.

Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
Stable-dep-of: 57e2c2f2d94c ("fs: dlm: fix mismatch of plock results from userspace")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent da794f6d
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -80,8 +80,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;

@@ -90,15 +89,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);
@@ -168,7 +164,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;
	}