All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
	Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] locks: remove changelog comments
Date: Tue, 19 Oct 2021 14:14:08 -0400	[thread overview]
Message-ID: <6f4a14d0a455c5a93eccfdf2dc8555b82b79694b.camel@kernel.org> (raw)
In-Reply-To: <20211019173835.GE15063@fieldses.org>

On Tue, 2021-10-19 at 13:38 -0400, J. Bruce Fields wrote:
> From: "J. Bruce Fields" <bfields@redhat.com>
> 
> This is only of historical interest, and anyone interested in the
> history can dig out an old version of locks.c from from git.
> 
> Triggered by the observation that it references the now-removed
> Documentation/filesystems/mandatory-locking.rst.
> 
> Reported-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
> ---
>  fs/locks.c | 114 ++---------------------------------------------------
>  1 file changed, 4 insertions(+), 110 deletions(-)
> 
> On Tue, Oct 19, 2021 at 12:27:55PM -0400, Jeff Layton wrote:
> > Yeah, I think that looks great. Send it with a changelog and I'll pull
> > it into the branch I have feeding into -next.
> 
> OK!--b.
> 
> diff --git a/fs/locks.c b/fs/locks.c
> index 3d6fb4ae847b..b54813eae44f 100644
> --- a/fs/locks.c
> +++ b/fs/locks.c
> @@ -2,117 +2,11 @@
>  /*
>   *  linux/fs/locks.c
>   *
> - *  Provide support for fcntl()'s F_GETLK, F_SETLK, and F_SETLKW calls.
> - *  Doug Evans (dje@spiff.uucp), August 07, 1992
> + * We implement four types of file locks: BSD locks, posix locks, open
> + * file description locks, and leases.  For details about BSD locks,
> + * see the flock(2) man page; for details about the other three, see
> + * fcntl(2).
>   *
> - *  Deadlock detection added.
> - *  FIXME: one thing isn't handled yet:
> - *	- mandatory locks (requires lots of changes elsewhere)
> - *  Kelly Carmichael (kelly@[142.24.8.65]), September 17, 1994.
> - *
> - *  Miscellaneous edits, and a total rewrite of posix_lock_file() code.
> - *  Kai Petzke (wpp@marie.physik.tu-berlin.de), 1994
> - *
> - *  Converted file_lock_table to a linked list from an array, which eliminates
> - *  the limits on how many active file locks are open.
> - *  Chad Page (pageone@netcom.com), November 27, 1994
> - *
> - *  Removed dependency on file descriptors. dup()'ed file descriptors now
> - *  get the same locks as the original file descriptors, and a close() on
> - *  any file descriptor removes ALL the locks on the file for the current
> - *  process. Since locks still depend on the process id, locks are inherited
> - *  after an exec() but not after a fork(). This agrees with POSIX, and both
> - *  BSD and SVR4 practice.
> - *  Andy Walker (andy@lysaker.kvaerner.no), February 14, 1995
> - *
> - *  Scrapped free list which is redundant now that we allocate locks
> - *  dynamically with kmalloc()/kfree().
> - *  Andy Walker (andy@lysaker.kvaerner.no), February 21, 1995
> - *
> - *  Implemented two lock personalities - FL_FLOCK and FL_POSIX.
> - *
> - *  FL_POSIX locks are created with calls to fcntl() and lockf() through the
> - *  fcntl() system call. They have the semantics described above.
> - *
> - *  FL_FLOCK locks are created with calls to flock(), through the flock()
> - *  system call, which is new. Old C libraries implement flock() via fcntl()
> - *  and will continue to use the old, broken implementation.
> - *
> - *  FL_FLOCK locks follow the 4.4 BSD flock() semantics. They are associated
> - *  with a file pointer (filp). As a result they can be shared by a parent
> - *  process and its children after a fork(). They are removed when the last
> - *  file descriptor referring to the file pointer is closed (unless explicitly
> - *  unlocked).
> - *
> - *  FL_FLOCK locks never deadlock, an existing lock is always removed before
> - *  upgrading from shared to exclusive (or vice versa). When this happens
> - *  any processes blocked by the current lock are woken up and allowed to
> - *  run before the new lock is applied.
> - *  Andy Walker (andy@lysaker.kvaerner.no), June 09, 1995
> - *
> - *  Removed some race conditions in flock_lock_file(), marked other possible
> - *  races. Just grep for FIXME to see them.
> - *  Dmitry Gorodchanin (pgmdsg@ibi.com), February 09, 1996.
> - *
> - *  Addressed Dmitry's concerns. Deadlock checking no longer recursive.
> - *  Lock allocation changed to GFP_ATOMIC as we can't afford to sleep
> - *  once we've checked for blocking and deadlocking.
> - *  Andy Walker (andy@lysaker.kvaerner.no), April 03, 1996.
> - *
> - *  Initial implementation of mandatory locks. SunOS turned out to be
> - *  a rotten model, so I implemented the "obvious" semantics.
> - *  See 'Documentation/filesystems/mandatory-locking.rst' for details.
> - *  Andy Walker (andy@lysaker.kvaerner.no), April 06, 1996.
> - *
> - *  Don't allow mandatory locks on mmap()'ed files. Added simple functions to
> - *  check if a file has mandatory locks, used by mmap(), open() and creat() to
> - *  see if system call should be rejected. Ref. HP-UX/SunOS/Solaris Reference
> - *  Manual, Section 2.
> - *  Andy Walker (andy@lysaker.kvaerner.no), April 09, 1996.
> - *
> - *  Tidied up block list handling. Added '/proc/locks' interface.
> - *  Andy Walker (andy@lysaker.kvaerner.no), April 24, 1996.
> - *
> - *  Fixed deadlock condition for pathological code that mixes calls to
> - *  flock() and fcntl().
> - *  Andy Walker (andy@lysaker.kvaerner.no), April 29, 1996.
> - *
> - *  Allow only one type of locking scheme (FL_POSIX or FL_FLOCK) to be in use
> - *  for a given file at a time. Changed the CONFIG_LOCK_MANDATORY scheme to
> - *  guarantee sensible behaviour in the case where file system modules might
> - *  be compiled with different options than the kernel itself.
> - *  Andy Walker (andy@lysaker.kvaerner.no), May 15, 1996.
> - *
> - *  Added a couple of missing wake_up() calls. Thanks to Thomas Meckel
> - *  (Thomas.Meckel@mni.fh-giessen.de) for spotting this.
> - *  Andy Walker (andy@lysaker.kvaerner.no), May 15, 1996.
> - *
> - *  Changed FL_POSIX locks to use the block list in the same way as FL_FLOCK
> - *  locks. Changed process synchronisation to avoid dereferencing locks that
> - *  have already been freed.
> - *  Andy Walker (andy@lysaker.kvaerner.no), Sep 21, 1996.
> - *
> - *  Made the block list a circular list to minimise searching in the list.
> - *  Andy Walker (andy@lysaker.kvaerner.no), Sep 25, 1996.
> - *
> - *  Made mandatory locking a mount option. Default is not to allow mandatory
> - *  locking.
> - *  Andy Walker (andy@lysaker.kvaerner.no), Oct 04, 1996.
> - *
> - *  Some adaptations for NFS support.
> - *  Olaf Kirch (okir@monad.swb.de), Dec 1996,
> - *
> - *  Fixed /proc/locks interface so that we can't overrun the buffer we are handed.
> - *  Andy Walker (andy@lysaker.kvaerner.no), May 12, 1997.
> - *
> - *  Use slab allocator instead of kmalloc/kfree.
> - *  Use generic list implementation from <linux/list.h>.
> - *  Sped up posix_locks_deadlock by only considering blocked locks.
> - *  Matthew Wilcox <willy@debian.org>, March, 2000.
> - *
> - *  Leases and LOCK_MAND
> - *  Matthew Wilcox <willy@debian.org>, June, 2000.
> - *  Stephen Rothwell <sfr@canb.auug.org.au>, June, 2000.
>   *
>   * Locking conflicts and dependencies:
>   * If multiple threads attempt to lock the same byte (or flock the same file)

Thanks, Bruce (and Mauro). Applied to the locks-next branch (and I
dropped Mauro's patch that touched the same area). It should make v5.16.

Cheers,
-- 
Jeff Layton <jlayton@kernel.org>


  reply	other threads:[~2021-10-19 18:14 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-19  8:03 [PATCH v3 00/23] Fix some issues at documentation Mauro Carvalho Chehab
2021-10-19  8:03 ` Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 01/23] visorbus: fix a copyright symbol that was bad encoded Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 02/23] libbpf: update index.rst reference Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 03/23] docs: accounting: update delay-accounting.rst reference Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 04/23] MAINTAINERS: update arm,vic.yaml reference Mauro Carvalho Chehab
2021-10-24 22:08   ` Linus Walleij
2021-10-25 12:32     ` Rob Herring
2021-10-19  8:04 ` [PATCH v3 05/23] MAINTAINERS: update aspeed,i2c.yaml reference Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 06/23] MAINTAINERS: update faraday,ftrtc010.yaml reference Mauro Carvalho Chehab
2021-10-24 21:53   ` Linus Walleij
2021-10-19  8:04 ` [PATCH v3 07/23] MAINTAINERS: update ti,sci.yaml reference Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 08/23] MAINTAINERS: update intel,ixp46x-rng.yaml reference Mauro Carvalho Chehab
2021-10-24 21:52   ` Linus Walleij
2021-10-19  8:04 ` [PATCH v3 09/23] MAINTAINERS: update nxp,imx8-jpeg.yaml reference Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 10/23] MAINTAINERS: update gemini.yaml reference Mauro Carvalho Chehab
2021-10-24 21:52   ` Linus Walleij
2021-10-19  8:04 ` [PATCH v3 11/23] MAINTAINERS: update brcm,unimac-mdio.yaml reference Mauro Carvalho Chehab
2021-10-19 16:08   ` Florian Fainelli
2021-10-19  8:04 ` [PATCH v3 12/23] MAINTAINERS: update mtd-physmap.yaml reference Mauro Carvalho Chehab
2021-10-24 21:53   ` Linus Walleij
2021-10-19  8:04 ` [PATCH v3 13/23] Documentation: update vcpu-requests.rst reference Mauro Carvalho Chehab
2021-10-19  8:04   ` Mauro Carvalho Chehab
2021-10-19  9:22   ` Anup Patel
2021-10-19  9:22     ` Anup Patel
2021-10-19  8:04 ` [PATCH v3 14/23] bpftool: update bpftool-cgroup.rst reference Mauro Carvalho Chehab
2021-10-19  9:35   ` Quentin Monnet
2021-10-19 22:31     ` Alexei Starovoitov
2021-10-20  5:46       ` Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 15/23] docs: translations: zn_CN: irq-affinity.rst: add a missing extension Mauro Carvalho Chehab
2021-10-19 21:20   ` Jonathan Corbet
2021-10-19  8:04 ` [PATCH v3 16/23] docs: translations: zh_CN: memory-hotplug.rst: fix a typo Mauro Carvalho Chehab
2021-10-19 21:21   ` Jonathan Corbet
     [not found]     ` <f0269915-4863-9ed6-dedd-592f2e308f46@redhat.com>
2021-11-01  7:46       ` Alex Shi
2021-11-01 13:38         ` teng sterling
2021-11-01 13:59           ` David Hildenbrand
2021-10-19  8:04 ` [PATCH v3 17/23] docs: fs: locks.rst: update comment about mandatory file locking Mauro Carvalho Chehab
2021-10-19 10:47   ` Jeff Layton
2021-10-19  8:04 ` [PATCH v3 18/23] fs: remove a comment pointing to the removed mandatory-locking file Mauro Carvalho Chehab
2021-10-19 10:50   ` Jeff Layton
2021-10-19 14:14     ` J. Bruce Fields
2021-10-19 15:46       ` Jeff Layton
2021-10-19 16:16         ` J. Bruce Fields
2021-10-19 16:27           ` Jeff Layton
2021-10-19 17:38             ` [PATCH] locks: remove changelog comments J. Bruce Fields
2021-10-19 18:14               ` Jeff Layton [this message]
2021-10-20  5:50                 ` Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 19/23] Documentation/process: fix a cross reference Mauro Carvalho Chehab
2021-10-19  8:04 ` [PATCH v3 20/23] dt-bindings: mfd: update x-powers,axp152.yaml reference Mauro Carvalho Chehab
2021-10-19 16:04   ` Chen-Yu Tsai
2021-10-21 12:12   ` Lee Jones
2021-10-19  8:04 ` [PATCH v3 21/23] regulator: dt-bindings: update samsung,s2mpa01.yaml reference Mauro Carvalho Chehab
2021-10-19  8:24   ` Krzysztof Kozlowski
2021-10-19 12:04   ` Mark Brown
2021-10-20  6:30     ` Mauro Carvalho Chehab
2021-10-20 11:04       ` Mark Brown
2021-10-27  2:59       ` Rob Herring
2021-10-19  8:04 ` [PATCH v3 22/23] regulator: dt-bindings: update samsung,s5m8767.yaml reference Mauro Carvalho Chehab
2021-10-19  8:24   ` Krzysztof Kozlowski
2021-10-19  8:04 ` [PATCH v3 23/23] dt-bindings: reserved-memory: ramoops: update ramoops.yaml references Mauro Carvalho Chehab
2021-10-19  9:45   ` David Heidelberg
2021-10-19 16:45   ` Rob Herring
2021-10-19 16:53 ` [PATCH v3 00/23] Fix some issues at documentation Rob Herring
2021-10-19 16:53   ` Rob Herring

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=6f4a14d0a455c5a93eccfdf2dc8555b82b79694b.camel@kernel.org \
    --to=jlayton@kernel.org \
    --cc=bfields@fieldses.org \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab+huawei@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.