All of lore.kernel.org
 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: 36+ 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
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  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 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.