All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Rich Felker <dalias@libc.org>, Jeff Layton <jlayton@redhat.com>
Cc: mtk.manpages@gmail.com, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, samba-technical@lists.samba.org,
	Ganesha NFS List <nfs-ganesha-devel@lists.sourceforge.net>,
	Carlos O'Donell <carlos@redhat.com>,
	libc-alpha <libc-alpha@sourceware.org>,
	"Stefan (metze) Metzmacher" <metze@samba.org>
Subject: Re: [PATCH] locks: rename file-private locks to file-description locks
Date: Mon, 21 Apr 2014 16:23:54 +0200	[thread overview]
Message-ID: <535529FA.8070709@gmail.com> (raw)
In-Reply-To: <20140421140246.GB26358@brightrain.aerifal.cx>

On 04/21/2014 04:02 PM, Rich Felker wrote:
> On Mon, Apr 21, 2014 at 09:45:35AM -0400, Jeff Layton wrote:
>> File-private locks have been merged into Linux for v3.15, and *now*
>> people are commenting that the name and macro definitions for the new
>> file-private locks suck.
>>
>> ....and I can't even disagree. The names and command macros do suck.
>>
>> We're going to have to live with these for a long time, so it's
>> important that we be happy with the names before we're stuck with them.
>>
>> The consensus on the lists so far is that they should be rechristened as
>> "file-description locks".
>>
>> This patch makes the following changes that I think are necessary before
>> v3.15 ships:
>>
>> 1) rename the command macros to their new names. These end up in the uapi
>>    headers and so are part of the external-facing API. It turns out that
>>    glibc doesn't actually use the fcntl.h uapi header, but it's hard to
>>    be sure that something else won't. Changing it now is safest.
>>
>> 2) make the the /proc/locks output display these as type "FDLOCK"
>>
>> The rest of the renaming can wait until v3.16, since everything else
>> isn't visible outside of the kernel.
> 
> I'm sorry I didn't chime in on this earlier, but I really prefer the
> (somewhat bad) current naming ("private") to the
> ridiculously-confusing use of "FD" to mean "file descriptION" when
> everybody is used to it meaning "file descriptOR". The potential for
> confusion that these are "file descriptOR locks" (they're not) is much
> more of a problem, IMO, than the confusion about what "private" means
> (since it doesn't have an established meaning in this context.
> 
> Thus my vote is for leaving things the way the kernel did it already.

There's at least two problems to solve here:

1) "File private locks" is _meaningless_ as a term. Elsewhere
   (http://thread.gmane.org/gmane.network.samba.internals/76414/focus=1685376),
   I suggested various alternatives. "File-handle locks [*]" was my
   initial preference, and I also suggested "file-description locks"
   and noted the drawbacks of that term. I think it's insufficient
   to say "stick with the existing poor name"--if you have
   something better, then please propose it. (Note by the way
   that for nearly a decade now, the open(2) man page has followed
   POSIX in using the term "open file description. Full disclosure:
   of course, I'm responsible for that change in the man page.)

2) The new API constants (F_SETLKP, F_SETLKPW, F_GETLKP) have names
   that are visually very close to the traditional POSIX lock names 
   (F_SETLK, F_SETLKW, F_GETLK). That's an accident waiting to happen
   when someone mistypes in code and/or misses such a misttyping
   when reading code. That really must be fixed.

Cheers,

Michael

[*] "File-handle locks" was considered by Jeff to be a little
confusing because of the term elsewhere, such as NFS. I take 
the point, though I'd still prefer it over "File-handle locks".

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

  reply	other threads:[~2014-04-21 14:23 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-21 13:45 [PATCH] locks: rename file-private locks to file-description locks Jeff Layton
2014-04-21 14:02 ` Rich Felker
2014-04-21 14:23   ` Michael Kerrisk (man-pages) [this message]
2014-04-21 16:09     ` Christoph Hellwig
2014-04-21 16:42       ` Jeff Layton
2014-04-21 17:03       ` [Nfs-ganesha-devel] " Frank Filz
2014-04-21 18:20       ` Michael Kerrisk (man-pages)
2014-04-21 16:10     ` Rich Felker
2014-04-21 16:45       ` Jeff Layton
2014-04-21 16:45         ` Jeff Layton
2014-04-21 18:01         ` Andy Lutomirski
2014-04-21 18:43           ` Michael Kerrisk (man-pages)
2014-04-21 18:18         ` Michael Kerrisk (man-pages)
2014-04-21 18:32           ` Jeff Layton
2014-04-21 18:48             ` Rich Felker
2014-04-21 19:16               ` Jeff Layton
2014-04-21 20:22                 ` Rich Felker
2014-04-21 18:32       ` Michael Kerrisk (man-pages)
2014-04-21 18:34         ` Christoph Hellwig
2014-04-21 18:39           ` Michael Kerrisk (man-pages)
2014-04-21 18:46         ` Rich Felker
2014-04-21 19:39           ` Michael Kerrisk (man-pages)
2014-04-21 19:55             ` Jeff Layton
2014-04-21 21:15               ` Stefan (metze) Metzmacher
2014-04-22  4:54                 ` Michael Kerrisk (man-pages)
2014-04-27  4:51                   ` NeilBrown
2014-04-27  9:14                     ` Michael Kerrisk (man-pages)
2014-04-27  9:16                     ` flock() and NFS [Was: Re: [PATCH] locks: rename file-private locks to file-description locks] Michael Kerrisk (man-pages)
2014-04-27 10:04                       ` NeilBrown
2014-04-27 10:04                         ` NeilBrown
2014-04-27 11:11                         ` Michael Kerrisk (man-pages)
2014-04-27 11:11                           ` Michael Kerrisk (man-pages)
2014-04-27 21:28                           ` NeilBrown
2014-04-27 21:28                             ` NeilBrown
2014-04-29  9:07                             ` Michael Kerrisk (man-pages)
2014-04-29  9:07                               ` Michael Kerrisk (man-pages)
2014-04-29  9:24                               ` NeilBrown
2014-04-29  9:53                                 ` Michael Kerrisk (man-pages)
2014-04-29  9:53                                   ` Michael Kerrisk (man-pages)
2014-04-29 11:34                                   ` Jeff Layton
2014-04-29 11:34                                     ` Jeff Layton
2014-04-29 12:20                                     ` Michael Kerrisk (man-pages)
2014-04-28 10:23                     ` [PATCH] locks: rename file-private locks to file-description locks Jeff Layton
2014-04-28 10:46                       ` NeilBrown
2014-04-21 18:48         ` Theodore Ts'o
2014-04-21 18:51           ` Rich Felker
2014-04-21 19:04             ` Theodore Ts'o
2014-04-21 19:06               ` Christoph Hellwig
2014-04-21 20:10                 ` Michael Kerrisk (man-pages)
2014-04-21 20:20               ` Rich Felker
2014-04-21 14:25 ` Michael Kerrisk (man-pages)
2014-04-21 16:05 ` Stefan (metze) Metzmacher

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=535529FA.8070709@gmail.com \
    --to=mtk.manpages@gmail.com \
    --cc=carlos@redhat.com \
    --cc=dalias@libc.org \
    --cc=jlayton@redhat.com \
    --cc=libc-alpha@sourceware.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=metze@samba.org \
    --cc=nfs-ganesha-devel@lists.sourceforge.net \
    --cc=samba-technical@lists.samba.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: 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.