From patchwork Mon Dec 24 11:06:16 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 10742209 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 64E1614DE for ; Mon, 24 Dec 2018 11:06:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4989E287ED for ; Mon, 24 Dec 2018 11:06:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3942F28826; Mon, 24 Dec 2018 11:06:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BACA328727 for ; Mon, 24 Dec 2018 11:06:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725497AbeLXLGY (ORCPT ); Mon, 24 Dec 2018 06:06:24 -0500 Received: from mail.kernel.org ([198.145.29.99]:51530 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725298AbeLXLGY (ORCPT ); Mon, 24 Dec 2018 06:06:24 -0500 Received: from tleilax.poochiereds.net (cpe-71-70-156-158.nc.res.rr.com [71.70.156.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1C83720869; Mon, 24 Dec 2018 11:06:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1545649583; bh=BRomJ5ltLCuko+OcgtZlW+U8rx/LMjslqA4DUOAzjR0=; h=Subject:From:To:Cc:Date:From; b=vUnJvFfU3ZUslRDGSzZt72O3E6K5D7+RwYedqFt0FDXYNwG3dc8eGtXuL/JnyFB8Y KAxY7Wrs/DEPpV37R6LOxc4sr5magOp6ysjqO7DsaNbSyX67P7I1mr3pb8NtT4Q+5J HWcHBNvuMc+X0It7pKcIzKctYDUzabcmG3wqSrfE= Message-ID: <9d429d110c16472f531e9dcd0a2ac6dfcdc0ad20.camel@kernel.org> Subject: [GIT PULL] File locking changes for v4.21 From: Jeff Layton To: Linus Torvalds Cc: Nikolay Borisov , Neil Brown , Bruce Fields , linux-fsdevel , open list Date: Mon, 24 Dec 2018 06:06:16 -0500 User-Agent: Evolution 3.30.3 (3.30.3-1.fc29) Mime-Version: 1.0 Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The following changes since commit ccda4af0f4b92f7b4c308d3acc262f4a7e3affad: Linux 4.20-rc2 (2018-11-11 17:12:31 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git tags/locks-v4.21-1 for you to fetch changes up to 052b8cfa4070caa53125cd589da0cfe744132a94: locks: Use inode_is_open_for_write (2018-12-17 07:19:46 -0500) ---------------------------------------------------------------- The main change in this set is Neil Brown's work to reduce the thundering herd problem when a heavily-contended file lock is released. Previously we'd always wake up all waiters when this occurred. With this set, we'll now we only wake up waiters that were blocked on the range being released. ---------------------------------------------------------------- NeilBrown (12): fs/locks: rename some lists and pointers. fs/locks: split out __locks_wake_up_blocks(). NFS: use locks_copy_lock() to copy locks. gfs2: properly initial file_lock used for unlock. ocfs2: properly initial file_lock used for unlock. fs/locks: use properly initialized file_lock when unlocking. fs/locks: allow a lock request to block other requests. fs/locks: always delete_block after waiting. fs/locks: change all *_conflict() functions to return bool. fs/locks: create a tree of dependent requests. fs/locks: merge posix_unblock_lock() and locks_delete_block() fs/locks: remove unnecessary white space. Nikolay Borisov (1): locks: Use inode_is_open_for_write fs/cifs/file.c | 4 +- fs/gfs2/file.c | 10 +- fs/lockd/svclock.c | 2 +- fs/locks.c | 344 +++++++++++++++++++++++++--------------- fs/nfs/nfs4proc.c | 6 +- fs/nfsd/nfs4state.c | 6 +- fs/ocfs2/locks.c | 10 +- include/linux/fs.h | 13 +- include/trace/events/filelock.h | 16 +- 9 files changed, 253 insertions(+), 158 deletions(-)