From: Jeff Layton <jlayton@primarydata.com> To: linux-fsdevel@vger.kernel.org Cc: bfields@fieldses.org, hch@infradead.org, cluster-devel@redhat.com, linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org Subject: [PATCH 04/10] locks: clean up vfs_setlease kerneldoc comments Date: Sat, 23 Aug 2014 10:41:12 -0400 [thread overview] Message-ID: <1408804878-1331-5-git-send-email-jlayton@primarydata.com> (raw) In-Reply-To: <1408804878-1331-1-git-send-email-jlayton@primarydata.com> Some of the latter paragraphs seem ambiguous and just plain wrong. In particular the break_lease comment makes no sense. We call break_lease (and break_deleg) from all sorts of vfs-layer functions, so there is clearly such a method. Also, we are close to being able to allow for "real" filesystem setlease methods so remove the final comment about it not being a full implementation yet. Signed-off-by: Jeff Layton <jlayton@primarydata.com> --- fs/locks.c | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/fs/locks.c b/fs/locks.c index bedb817a5cc4..597e71a1e90f 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1705,30 +1705,23 @@ static int __vfs_setlease(struct file *filp, long arg, struct file_lock **lease) } /** - * vfs_setlease - sets a lease on an open file - * @filp: file pointer - * @arg: type of lease to obtain - * @lease: file_lock to use - * - * Call this to establish a lease on the file. - * The (*lease)->fl_lmops->lm_break operation must be set; if not, - * break_lease will oops! - * - * This will call the filesystem's setlease file method, if - * defined. Note that there is no getlease method; instead, the - * filesystem setlease method should call back to setlease() to - * add a lease to the inode's lease list, where fcntl_getlease() can - * find it. Since fcntl_getlease() only reports whether the current - * task holds a lease, a cluster filesystem need only do this for - * leases held by processes on this node. - * - * There is also no break_lease method; filesystems that - * handle their own leases should break leases themselves from the - * filesystem's open, create, and (on truncate) setattr methods. - * - * Warning: the only current setlease methods exist only to disable - * leases in certain cases. More vfs changes may be required to - * allow a full filesystem lease implementation. + * vfs_setlease - sets a lease on an open file + * @filp: file pointer + * @arg: type of lease to obtain + * @lease: file_lock to use when adding a lease + * + * Call this to establish a lease on the file. The "lease" argument is not + * used for F_UNLCK requests and may be NULL. For commands that set or alter + * an existing lease, the (*lease)->fl_lmops->lm_break operation must be set; + * if not, this function will return -EINVAL (and generate a scary-looking + * stack trace). + * + * This will call the filesystem's setlease file method, if defined. Note that + * there is no getlease method; instead, the filesystem setlease method should + * call back to generic_setlease() to add a lease to the inode's lease list, + * where fcntl_getlease() can find it. Since fcntl_getlease() only reports + * whether the current task holds a lease, a cluster filesystem need only do + * this for leases held by processes on this node. */ int vfs_setlease(struct file *filp, long arg, struct file_lock **lease) -- 1.9.3
WARNING: multiple messages have this Message-ID (diff)
From: Jeff Layton <jlayton@primarydata.com> To: cluster-devel.redhat.com Subject: [Cluster-devel] [PATCH 04/10] locks: clean up vfs_setlease kerneldoc comments Date: Sat, 23 Aug 2014 10:41:12 -0400 [thread overview] Message-ID: <1408804878-1331-5-git-send-email-jlayton@primarydata.com> (raw) In-Reply-To: <1408804878-1331-1-git-send-email-jlayton@primarydata.com> Some of the latter paragraphs seem ambiguous and just plain wrong. In particular the break_lease comment makes no sense. We call break_lease (and break_deleg) from all sorts of vfs-layer functions, so there is clearly such a method. Also, we are close to being able to allow for "real" filesystem setlease methods so remove the final comment about it not being a full implementation yet. Signed-off-by: Jeff Layton <jlayton@primarydata.com> --- fs/locks.c | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/fs/locks.c b/fs/locks.c index bedb817a5cc4..597e71a1e90f 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1705,30 +1705,23 @@ static int __vfs_setlease(struct file *filp, long arg, struct file_lock **lease) } /** - * vfs_setlease - sets a lease on an open file - * @filp: file pointer - * @arg: type of lease to obtain - * @lease: file_lock to use - * - * Call this to establish a lease on the file. - * The (*lease)->fl_lmops->lm_break operation must be set; if not, - * break_lease will oops! - * - * This will call the filesystem's setlease file method, if - * defined. Note that there is no getlease method; instead, the - * filesystem setlease method should call back to setlease() to - * add a lease to the inode's lease list, where fcntl_getlease() can - * find it. Since fcntl_getlease() only reports whether the current - * task holds a lease, a cluster filesystem need only do this for - * leases held by processes on this node. - * - * There is also no break_lease method; filesystems that - * handle their own leases should break leases themselves from the - * filesystem's open, create, and (on truncate) setattr methods. - * - * Warning: the only current setlease methods exist only to disable - * leases in certain cases. More vfs changes may be required to - * allow a full filesystem lease implementation. + * vfs_setlease - sets a lease on an open file + * @filp: file pointer + * @arg: type of lease to obtain + * @lease: file_lock to use when adding a lease + * + * Call this to establish a lease on the file. The "lease" argument is not + * used for F_UNLCK requests and may be NULL. For commands that set or alter + * an existing lease, the (*lease)->fl_lmops->lm_break operation must be set; + * if not, this function will return -EINVAL (and generate a scary-looking + * stack trace). + * + * This will call the filesystem's setlease file method, if defined. Note that + * there is no getlease method; instead, the filesystem setlease method should + * call back to generic_setlease() to add a lease to the inode's lease list, + * where fcntl_getlease() can find it. Since fcntl_getlease() only reports + * whether the current task holds a lease, a cluster filesystem need only do + * this for leases held by processes on this node. */ int vfs_setlease(struct file *filp, long arg, struct file_lock **lease) -- 1.9.3
next prev parent reply other threads:[~2014-08-23 14:41 UTC|newest] Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-08-23 14:41 [PATCH 00/10] locks/nfsd: internal lease API overhaul Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton 2014-08-23 14:41 ` Jeff Layton 2014-08-23 14:41 ` Jeff Layton [this message] 2014-08-23 14:41 ` [Cluster-devel] [PATCH 04/10] locks: clean up vfs_setlease kerneldoc comments Jeff Layton 2014-08-24 15:51 ` Christoph Hellwig 2014-08-24 15:51 ` [Cluster-devel] " Christoph Hellwig [not found] ` <20140824155117.GC15908-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> 2014-08-25 20:11 ` J. Bruce Fields 2014-08-25 20:11 ` [Cluster-devel] " J. Bruce Fields 2014-08-25 20:11 ` J. Bruce Fields 2014-08-23 14:41 ` [PATCH 07/10] locks: define a lm_setup handler for leases Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton [not found] ` <1408804878-1331-8-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-24 15:58 ` Christoph Hellwig 2014-08-24 15:58 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 15:58 ` Christoph Hellwig 2014-08-25 1:19 ` Jeff Layton 2014-08-25 1:19 ` [Cluster-devel] " Jeff Layton 2014-08-26 13:58 ` Christoph Hellwig 2014-08-26 13:58 ` [Cluster-devel] " Christoph Hellwig 2014-08-23 14:41 ` [PATCH 08/10] locks: move i_lock acquisition into generic_*_lease handlers Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton [not found] ` <1408804878-1331-9-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-24 16:06 ` Christoph Hellwig 2014-08-24 16:06 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 16:06 ` Christoph Hellwig [not found] ` <20140824160634.GG15908-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> 2014-08-24 16:11 ` Christoph Hellwig 2014-08-24 16:11 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 16:11 ` Christoph Hellwig [not found] ` <20140824161134.GJ15908-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> 2014-08-31 14:51 ` Jeff Layton 2014-08-31 14:51 ` [Cluster-devel] " Jeff Layton 2014-08-31 14:51 ` Jeff Layton 2014-08-25 1:36 ` Jeff Layton 2014-08-25 1:36 ` [Cluster-devel] " Jeff Layton 2014-08-25 1:36 ` Jeff Layton [not found] ` <1408804878-1331-1-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-23 14:41 ` [PATCH 01/10] locks: close potential race in lease_get_mtime Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton 2014-08-23 14:41 ` Jeff Layton [not found] ` <1408804878-1331-2-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-24 15:48 ` Christoph Hellwig 2014-08-24 15:48 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 15:48 ` Christoph Hellwig 2014-08-25 20:01 ` J. Bruce Fields 2014-08-25 20:01 ` [Cluster-devel] " J. Bruce Fields 2014-08-23 14:41 ` [PATCH 02/10] nfsd: fix potential lease memory leak in nfs4_setlease Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton 2014-08-23 14:41 ` Jeff Layton [not found] ` <1408804878-1331-3-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-24 15:48 ` Christoph Hellwig 2014-08-24 15:48 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 15:48 ` Christoph Hellwig 2014-08-23 14:41 ` [PATCH 03/10] locks: generic_delete_lease doesn't need a file_lock at all Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton 2014-08-23 14:41 ` Jeff Layton [not found] ` <1408804878-1331-4-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-24 1:27 ` Christoph Hellwig 2014-08-24 1:27 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 1:27 ` Christoph Hellwig [not found] ` <20140824012757.GA21609-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> 2014-08-24 10:09 ` Jeff Layton 2014-08-24 10:09 ` [Cluster-devel] " Jeff Layton 2014-08-24 10:09 ` Jeff Layton 2014-08-23 14:41 ` [PATCH 05/10] nfsd: don't keep a pointer to the lease in nfs4_file Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton 2014-08-23 14:41 ` Jeff Layton [not found] ` <1408804878-1331-6-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-24 15:51 ` Christoph Hellwig 2014-08-24 15:51 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 15:51 ` Christoph Hellwig 2014-08-23 14:41 ` [PATCH 06/10] locks: plumb an "aux" pointer into the setlease routines Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton 2014-08-23 14:41 ` Jeff Layton [not found] ` <1408804878-1331-7-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-24 1:33 ` Christoph Hellwig 2014-08-24 1:33 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 1:33 ` Christoph Hellwig [not found] ` <20140824013305.GB21609-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> 2014-08-24 10:08 ` Jeff Layton 2014-08-24 10:08 ` [Cluster-devel] " Jeff Layton 2014-08-24 10:08 ` Jeff Layton [not found] ` <20140824060801.5402880c-08S845evdOaAjSkqwZiSMmfYqLom42DlXqFh9Ls21Oc@public.gmane.org> 2014-08-24 15:54 ` Christoph Hellwig 2014-08-24 15:54 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 15:54 ` Christoph Hellwig 2014-08-25 20:28 ` J. Bruce Fields 2014-08-25 20:28 ` [Cluster-devel] " J. Bruce Fields 2014-08-25 20:28 ` J. Bruce Fields [not found] ` <20140825202852.GD21957-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org> 2014-08-26 10:53 ` Jeff Layton 2014-08-26 10:53 ` [Cluster-devel] " Jeff Layton 2014-08-26 10:53 ` Jeff Layton 2014-08-23 14:41 ` [PATCH 09/10] locks: move freeing of leases outside of i_lock Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton 2014-08-23 14:41 ` Jeff Layton [not found] ` <1408804878-1331-10-git-send-email-jlayton-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org> 2014-08-24 16:08 ` Christoph Hellwig 2014-08-24 16:08 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 16:08 ` Christoph Hellwig [not found] ` <20140824160804.GH15908-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> 2014-08-25 1:35 ` Jeff Layton 2014-08-25 1:35 ` [Cluster-devel] " Jeff Layton 2014-08-25 1:35 ` Jeff Layton 2014-08-23 14:41 ` [PATCH 10/10] locks: update Documentation/filesystems with lease API changes Jeff Layton 2014-08-23 14:41 ` [Cluster-devel] " Jeff Layton 2014-08-23 14:41 ` Jeff Layton 2014-08-24 16:10 ` [PATCH 00/10] locks/nfsd: internal lease API overhaul Christoph Hellwig 2014-08-24 16:10 ` [Cluster-devel] " Christoph Hellwig 2014-08-24 16:10 ` Christoph Hellwig [not found] ` <20140824161046.GI15908-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> 2014-08-25 1:43 ` Jeff Layton 2014-08-25 1:43 ` [Cluster-devel] " Jeff Layton 2014-08-25 1:43 ` Jeff Layton [not found] ` <20140824214301.61019123-08S845evdOaAjSkqwZiSMmfYqLom42DlXqFh9Ls21Oc@public.gmane.org> 2014-08-26 13:59 ` Christoph Hellwig 2014-08-26 13:59 ` [Cluster-devel] " Christoph Hellwig 2014-08-26 13:59 ` Christoph Hellwig
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=1408804878-1331-5-git-send-email-jlayton@primarydata.com \ --to=jlayton@primarydata.com \ --cc=bfields@fieldses.org \ --cc=cluster-devel@redhat.com \ --cc=hch@infradead.org \ --cc=linux-cifs@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-nfs@vger.kernel.org \ /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: linkBe 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.