linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Al Viro <viro@ZenIV.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: [git pull] vfs pile 1
Date: Sun, 6 Sep 2015 03:55:04 +0100	[thread overview]
Message-ID: <20150906025504.GH22011@ZenIV.linux.org.uk> (raw)

	In this one: d_move fixes (Eric), UFS fixes (me; locking is mostly sane
now, a bunch of bugs in error handling ought to be fixed), switch of sb_writers
to percpu rwsem (Oleg), superblock scalability (Josef and Dave), swapon(2) race
fix (Hugh).  Please, pull from the usual place -
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

Shortlog:
Al Viro (47):
      ufs: kill more lock_ufs() calls
      ufs: switch ufs_evict_inode() to trimmed-down variant of ufs_truncate()
      ufs: free excessive blocks upon ->write_begin() failure/short copy
      ufs: move truncate_setsize() down into ufs_truncate()
      ufs: move lock_ufs() down into __ufs_truncate_blocks()
      ufs: bforget() indirect blocks before freeing them
      ufs: don't use lock_ufs() for block pointers tree protection
      ufs: kill lock_ufs()
      ufs: ufs_trunc_direct() always returns 0
      ufs: ufs_trunc_...() has exclusion with everything that might cause allocations
      ufs: no retries are needed on truncate
      ufs: move truncate code into inode.c
      ufs: the offsets ufs_block_to_path() puts into array are not sector_t
      ufs: beginning of __ufs_truncate_block() massage
      ufs_trunc_tindirect(): pass the number of blocks to keep
      ufs_trunc_indirect(): pass the index of the first pointer to free
      ufs_trunc_dindirect(): pass the number of blocks to keep
      __ufs_truncate(); find cutoff distances into branches by offsets[] array
      ufs_trunc_...indirect(): pass the array of indices instead of offsets
      ufs_trunc_..indirect(): more massage towards unifying
      unify ufs_trunc_..indirect()
      __ufs_truncate_blocks(): unify freeing the full branches
      __ufs_trunc_blocks(): turn the part after switch into a loop
      ufs_trunc_branch(): never call with offsets != NULL && depth2 == 0
      ufs_trunc_branch(): separate the calls with non-NULL offsets
      ufs: unify the logics for collecting adjacent data blocks to free
      split ufs_truncate_branch() into full- and partial-branch variants
      ufs_trunc_branch(): massage towards killing recursion
      ufs_trunc_branch(): kill recursion
      free_full_branch(): saner calling conventions
      move marking inode dirty to the end of __ufs_truncate_blocks()
      free_full_branch(): don't bother modifying the block we are going to free
      __ufs_truncate_blocks(): avoid excessive dirtying of indirect blocks
      ufs_inode_get{frag,block}(): get rid of retries
      ufs: move calculation of offsets into ufs_getfrag_block()
      ufs: use the branch depth in ufs_getfrag_block()
      ufs_inode_get{frag,block}(): consolidate success exits
      ufs_getfrag_block(): get rid of macro jungles
      ufs_inode_get{frag,block}(): leave sb_getblk() to caller
      ufs_inode_getblock(): pass index instead of 'fragment'
      ufs_inode_getblock(): pass indirect block number and full index
      ufs_inode_getfrag(): split extending the partial blocks off
      ufs_inode_getfrag(): pass index instead of 'fragment'
      ufs_getfrag_block(): turn following indirects into a loop
      ufs_inode_getblock(): failure to read an indirect block is -EIO
      ufs_getfrag_block(): tidy up a bit
      ufs_inode_get{frag,block}(): get rid of 'phys' argument

Dave Chinner (4):
      writeback: plug writeback at a high level
      inode: convert inode_sb_list_lock to per-sb
      sync: serialise per-superblock sync operations
      inode: rename i_wb_list to i_io_list

Eric W. Biederman (3):
      dcache: Handle escaped paths in prepend_path
      dcache: Reduce the scope of i_lock in d_splice_alias
      vfs: Test for and handle paths that are unreachable from their mnt_root

Hugh Dickins (1):
      mm: fix potential data race in SyS_swapon

Josef Bacik (2):
      inode: add hlist_fake to avoid the inode hash lock in evict
      inode: don't softlockup when evicting inodes

Oleg Nesterov (8):
      introduce __sb_writers_{acquired,release}() helpers
      fix the broken lockdep logic in __sb_start_write()
      document rwsem_release() in sb_wait_write()
      percpu-rwsem: introduce percpu_down_read_trylock()
      percpu-rwsem: introduce percpu_rwsem_release() and percpu_rwsem_acquire()
      percpu-rwsem: kill CONFIG_PERCPU_RWSEM
      shift percpu_counter_destroy() into destroy_super_work()
      change sb_writers to use percpu_rw_semaphore

Diffstat:
 arch/Kconfig                     |   1 -
 fs/block_dev.c                   |  12 +-
 fs/btrfs/transaction.c           |   8 +-
 fs/dcache.c                      |  14 +-
 fs/drop_caches.c                 |  10 +-
 fs/fs-writeback.c                |  72 +--
 fs/inode.c                       |  50 ++-
 fs/internal.h                    |   3 +-
 fs/namei.c                       |  27 +-
 fs/notify/inode_mark.c           |  20 +-
 fs/quota/dquot.c                 |  16 +-
 fs/super.c                       | 175 ++++----
 fs/ufs/Makefile                  |   2 +-
 fs/ufs/balloc.c                  |   4 +
 fs/ufs/inode.c                   | 948 ++++++++++++++++++++++++++-------------
 fs/ufs/super.c                   |  36 +-
 fs/ufs/truncate.c                | 523 ---------------------
 fs/ufs/ufs.h                     |  13 +-
 fs/xfs/xfs_aops.c                |   6 +-
 include/linux/fs.h               |  33 +-
 include/linux/fsnotify_backend.h |   4 +-
 include/linux/list.h             |   5 +
 include/linux/percpu-rwsem.h     |  20 +
 init/Kconfig                     |   1 -
 kernel/locking/Makefile          |   3 +-
 kernel/locking/percpu-rwsem.c    |  13 +
 lib/Kconfig                      |   3 -
 mm/backing-dev.c                 |   8 +-
 mm/swapfile.c                    |  25 +-
 29 files changed, 936 insertions(+), 1119 deletions(-)
 delete mode 100644 fs/ufs/truncate.c

             reply	other threads:[~2015-09-06  2:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-06  2:55 Al Viro [this message]
2015-09-09  9:16 ` [PATCH] fix ufs write vs. readpage race when writing into a hole Al Viro
  -- strict thread matches above, loose matches on Subject: below --
2018-06-04  0:59 [git pull] vfs, pile 1 Al Viro
2016-12-16 13:30 [git pull] vfs " Al Viro
2015-06-22  6:47 Al Viro
2014-01-27 14:25 Al Viro
2014-01-27 23:05 ` Stephen Rothwell
2014-01-29  3:26 ` Linus Torvalds
2014-01-29 13:37   ` Jan Kara
2014-01-30  2:02     ` Kim Jaegeuk
2014-01-30 15:26       ` Jan Kara
2014-01-30 13:07   ` Christoph Hellwig
2013-02-27  3:24 Al Viro
2012-03-21  3:31 Al Viro
2012-01-05  2:23 Al Viro
2012-01-08 23:04 ` Linus Torvalds
2012-01-08 23:50   ` Al Viro
2012-01-08 23:53     ` Al Viro
2012-01-09  0:11       ` Linus Torvalds
2012-01-09  0:25         ` Al Viro
2012-01-09  0:39           ` Linus Torvalds
2012-01-09  2:12             ` Al Viro
2012-01-09 15:11     ` Ted Ts'o
2012-01-11 11:58   ` Christoph Hellwig
2012-01-11 12:36     ` Miklos Szeredi
2012-01-11 12:40       ` Christoph Hellwig
2012-01-11 13:12         ` Miklos Szeredi
2012-01-11 15:23           ` Ted Ts'o
2012-01-11 16:19             ` Al Viro
2012-01-12 11:41               ` Miklos Szeredi
2011-05-26 11:53 Al Viro
2011-01-13  5:35 Al Viro
2011-01-13  6:25 ` Stephen Rothwell
2011-01-13  8:55   ` 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=20150906025504.GH22011@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).