From: Jeff Layton <jlayton@redhat.com>
To: "Yan, Zheng" <zyan@redhat.com>,
ceph-devel@vger.kernel.org, idryomov@gmail.com
Subject: Re: [PATCH 2/5] ceph: make lock_to_ceph_filelock() 'static'
Date: Tue, 12 Sep 2017 08:48:31 -0400 [thread overview]
Message-ID: <1505220511.28831.0.camel@redhat.com> (raw)
In-Reply-To: <20170912025351.42147-3-zyan@redhat.com>
On Tue, 2017-09-12 at 10:53 +0800, Yan, Zheng wrote:
> Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
> ---
> fs/ceph/locks.c | 62 ++++++++++++++++++++++++++++-----------------------------
> fs/ceph/super.h | 1 -
> 2 files changed, 31 insertions(+), 32 deletions(-)
>
> diff --git a/fs/ceph/locks.c b/fs/ceph/locks.c
> index 69f731e75302..33e091e6e8d3 100644
> --- a/fs/ceph/locks.c
> +++ b/fs/ceph/locks.c
> @@ -331,6 +331,37 @@ void ceph_count_locks(struct inode *inode, int *fcntl_count, int *flock_count)
> *flock_count, *fcntl_count);
> }
>
> +/*
> + * Given a pointer to a lock, convert it to a ceph filelock
> + */
> +static int lock_to_ceph_filelock(struct file_lock *lock,
> + struct ceph_filelock *cephlock)
> +{
> + int err = 0;
> + cephlock->start = cpu_to_le64(lock->fl_start);
> + cephlock->length = cpu_to_le64(lock->fl_end - lock->fl_start + 1);
> + cephlock->client = cpu_to_le64(0);
> + cephlock->pid = cpu_to_le64((u64)lock->fl_pid);
> + cephlock->owner = cpu_to_le64(secure_addr(lock->fl_owner));
> +
> + switch (lock->fl_type) {
> + case F_RDLCK:
> + cephlock->type = CEPH_LOCK_SHARED;
> + break;
> + case F_WRLCK:
> + cephlock->type = CEPH_LOCK_EXCL;
> + break;
> + case F_UNLCK:
> + cephlock->type = CEPH_LOCK_UNLOCK;
> + break;
> + default:
> + dout("Have unknown lock type %d", lock->fl_type);
> + err = -EINVAL;
> + }
> +
> + return err;
> +}
> +
> /**
> * Encode the flock and fcntl locks for the given inode into the ceph_filelock
> * array. Must be called with inode->i_lock already held.
> @@ -415,34 +446,3 @@ int ceph_locks_to_pagelist(struct ceph_filelock *flocks,
> out_fail:
> return err;
> }
> -
> -/*
> - * Given a pointer to a lock, convert it to a ceph filelock
> - */
> -int lock_to_ceph_filelock(struct file_lock *lock,
> - struct ceph_filelock *cephlock)
> -{
> - int err = 0;
> - cephlock->start = cpu_to_le64(lock->fl_start);
> - cephlock->length = cpu_to_le64(lock->fl_end - lock->fl_start + 1);
> - cephlock->client = cpu_to_le64(0);
> - cephlock->pid = cpu_to_le64((u64)lock->fl_pid);
> - cephlock->owner = cpu_to_le64(secure_addr(lock->fl_owner));
> -
> - switch (lock->fl_type) {
> - case F_RDLCK:
> - cephlock->type = CEPH_LOCK_SHARED;
> - break;
> - case F_WRLCK:
> - cephlock->type = CEPH_LOCK_EXCL;
> - break;
> - case F_UNLCK:
> - cephlock->type = CEPH_LOCK_UNLOCK;
> - break;
> - default:
> - dout("Have unknown lock type %d", lock->fl_type);
> - err = -EINVAL;
> - }
> -
> - return err;
> -}
> diff --git a/fs/ceph/super.h b/fs/ceph/super.h
> index 9e0de8264257..88cbc0981c23 100644
> --- a/fs/ceph/super.h
> +++ b/fs/ceph/super.h
> @@ -1011,7 +1011,6 @@ extern int ceph_encode_locks_to_buffer(struct inode *inode,
> extern int ceph_locks_to_pagelist(struct ceph_filelock *flocks,
> struct ceph_pagelist *pagelist,
> int num_fcntl_locks, int num_flock_locks);
> -extern int lock_to_ceph_filelock(struct file_lock *fl, struct ceph_filelock *c);
>
> /* debugfs.c */
> extern int ceph_fs_debugfs_init(struct ceph_fs_client *client);
Reviewed-by: Jeff Layton <jlayton@redhat.com>
next prev parent reply other threads:[~2017-09-12 12:48 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-12 2:53 [PATCH 0/5] ceph: file lock related fixes Yan, Zheng
2017-09-12 2:53 ` [PATCH 1/5] ceph: keep auth cap when inode has flocks or posix locks Yan, Zheng
2017-09-12 10:56 ` Jeff Layton
2017-09-12 12:57 ` Yan, Zheng
2017-09-12 13:21 ` Jeff Layton
2017-09-12 13:36 ` Yan, Zheng
2017-09-18 15:06 ` Jeff Layton
2017-09-12 2:53 ` [PATCH 2/5] ceph: make lock_to_ceph_filelock() 'static' Yan, Zheng
2017-09-12 12:48 ` Jeff Layton [this message]
2017-09-12 2:53 ` [PATCH 3/5] ceph: optimize flock encoding during reconnect Yan, Zheng
2017-09-12 13:03 ` Jeff Layton
2017-09-12 2:53 ` [PATCH 4/5] ceph: handle 'session get evicted while there are file locks' Yan, Zheng
2017-09-12 13:13 ` Jeff Layton
2017-09-12 2:53 ` [PATCH 5/5] ceph: avoid null pointer derefernece in case of utsname() return NULL Yan, Zheng
2017-09-12 13:15 ` Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1505220511.28831.0.camel@redhat.com \
--to=jlayton@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
--cc=zyan@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.