All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Jeff Layton <jlayton@redhat.com>
Cc: viro@ZenIV.linux.org.uk, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v7 10/17] locks: make /proc/locks show IS_FILE_PVT locks with a P suffix
Date: Mon, 24 Mar 2014 20:20:47 -0400	[thread overview]
Message-ID: <20140325002047.GF12979@fieldses.org> (raw)
In-Reply-To: <1395261961-10855-11-git-send-email-jlayton@redhat.com>

On Wed, Mar 19, 2014 at 04:45:54PM -0400, Jeff Layton wrote:
> In a later patch, we'll be adding a new type of lock that's owned by
> the struct file instead of the files_struct. Those sorts of locks
> will be flagged with a new IS_FILE_PVT flag.
> 
> Add a "P" suffix to the POSIX lock output in /proc/locks for locks that
> have FL_FILE_PVT set to distinguish them from "classic" POSIX locks.

ACK, though I'm curious:

> Signed-off-by: Jeff Layton <jlayton@redhat.com>
> ---
>  fs/locks.c         | 9 +++++++--
>  include/linux/fs.h | 1 +
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/locks.c b/fs/locks.c
> index 4d4e790150e0..f1b9b149dd39 100644
> --- a/fs/locks.c
> +++ b/fs/locks.c
> @@ -135,6 +135,7 @@
>  #define IS_POSIX(fl)	(fl->fl_flags & FL_POSIX)
>  #define IS_FLOCK(fl)	(fl->fl_flags & FL_FLOCK)
>  #define IS_LEASE(fl)	(fl->fl_flags & (FL_LEASE|FL_DELEG))
> +#define IS_FILE_PVT(fl)	(fl->fl_flags & FL_FILE_PVT)
>  
>  static bool lease_breaking(struct file_lock *fl)
>  {
> @@ -2313,8 +2314,12 @@ static void lock_get_status(struct seq_file *f, struct file_lock *fl,
>  
>  	seq_printf(f, "%lld:%s ", id, pfx);
>  	if (IS_POSIX(fl)) {
> -		seq_printf(f, "%6s %s ",
> -			     (fl->fl_flags & FL_ACCESS) ? "ACCESS" : "POSIX ",
> +		if (fl->fl_flags & FL_ACCESS)
> +			seq_printf(f, "ACCESS");

Are FL_ACCESS locks ever put on any global list?  Wouldn't it be a bug
to run across one here?

--b.

> +		else
> +			seq_printf(f, "POSIX%c", IS_FILE_PVT(fl) ? 'P' : ' ');
> +
> +		seq_printf(f, " %s ",
>  			     (inode == NULL) ? "*NOINODE*" :
>  			     mandatory_lock(inode) ? "MANDATORY" : "ADVISORY ");
>  	} else if (IS_FLOCK(fl)) {
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 7527d96913d3..5ddeb8de5e77 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -888,6 +888,7 @@ static inline int file_check_writeable(struct file *filp)
>  #define FL_SLEEP	128	/* A blocking lock */
>  #define FL_DOWNGRADE_PENDING	256 /* Lease is being downgraded */
>  #define FL_UNLOCK_PENDING	512 /* Lease is being broken */
> +#define FL_FILE_PVT	1024	/* lock is private to the file */
>  
>  /*
>   * Special return value from posix_lock_file() and vfs_lock_file() for
> -- 
> 1.8.5.3
> 

  reply	other threads:[~2014-03-25  0:20 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-19 20:45 [PATCH v7 00/17] locks: fixes for 3.15 and file-private lock support Jeff Layton
2014-03-19 20:45 ` [PATCH v7 01/17] locks: close potential race between setlease and open Jeff Layton
2014-03-19 20:45 ` [PATCH v7 02/17] locks: clean up comment typo Jeff Layton
2014-03-23 19:54   ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 03/17] locks: remove "inline" qualifier from fl_link manipulation functions Jeff Layton
2014-03-23 19:55   ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 04/17] locks: add __acquires and __releases annotations to locks_start and locks_stop Jeff Layton
2014-03-23 19:55   ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 05/17] locks: eliminate BUG() call when there's an unexpected lock on file close Jeff Layton
2014-03-23 20:01   ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 06/17] locks: fix posix lock range overflow handling Jeff Layton
2014-03-19 20:45 ` [PATCH v7 07/17] locks: consolidate checks for compatible filp->f_mode values in setlk handlers Jeff Layton
2014-03-23 20:08   ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 08/17] locks: rename locks_remove_flock to locks_remove_file Jeff Layton
2014-03-23 22:58   ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 09/17] MAINTAINERS: add Bruce and myself to list of maintainers for file locking code Jeff Layton
2014-03-19 20:45 ` [PATCH v7 10/17] locks: make /proc/locks show IS_FILE_PVT locks with a P suffix Jeff Layton
2014-03-25  0:20   ` J. Bruce Fields [this message]
2014-03-25  0:57     ` Jeffrey Layton
2014-03-25  4:18       ` J. Bruce Fields
2014-03-29 14:18         ` Jeff Layton
2014-03-29 19:05           ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 11/17] locks: report l_pid as -1 for FL_FILE_PVT locks Jeff Layton
2014-03-25  0:30   ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 12/17] locks: pass the cmd value to fcntl_getlk/getlk64 Jeff Layton
2014-03-19 20:45 ` [PATCH v7 13/17] locks: skip deadlock detection on FL_FILE_PVT locks Jeff Layton
2014-03-28 21:43   ` J. Bruce Fields
2014-03-19 20:45 ` [PATCH v7 14/17] locks: add new fcntl cmd values for handling file private locks Jeff Layton
2014-03-19 20:45 ` [PATCH v7 15/17] locks: require that flock->l_pid be set to 0 for file-private locks Jeff Layton
2014-03-19 20:46 ` [PATCH v7 16/17] locks: fix locks_mandatory_locked to respect " Jeff Layton
2014-03-19 20:46 ` [PATCH v7 17/17] locks: make locks_mandatory_area check for " Jeff Layton
2014-03-28  2:15 ` [PATCH v7 00/17] locks: fixes for 3.15 and file-private lock support J. Bruce Fields

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=20140325002047.GF12979@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=jlayton@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=viro@ZenIV.linux.org.uk \
    /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.