[git pull] Dealing with icache races around mkdir and object creation in general

2018-08-12 Thread Al Viro
* NFS mkdir/open_by_handle race fix
* analogous solution for FUSE, replacing the one currently in mainline
* new primitive to be used when discarding halfway set up inodes on failed
  object creation; gives sane warranties re icache lookups not returning
  such doomed by still not freed inodes.  A bunch of filesystems switched
  to that animal.
* Miklos' fix for last cycle regression in iget5_locked(); -stable will need
  a slightly different variant, unfortunately.
* misc bits and pieces around things icache-related (in adfs and jfs).

The following changes since commit 877f919e192a09e77962a13d7165783027dee5fd:

  proc: add proc_seq_release (2018-06-27 20:44:38 -0400)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.mkdir

for you to fetch changes up to c7b15a8657da7f8d11269c7cc3d8beef10d26b43:

  jfs: don't bother with make_bad_inode() in ialloc() (2018-08-03 16:03:33 
-0400)


Al Viro (11):
  nfs_instantiate(): prevent multiple aliases for directory inode
  kill d_instantiate_no_diralias()
  new primitive: discard_new_inode()
  btrfs: switch to discard_new_inode()
  ufs: switch to discard_new_inode()
  udf: switch to discard_new_inode()
  ext2: make sure that partially set up inodes won't be returned by 
ext2_iget()
  jfs: switch to discard_new_inode()
  new helper: inode_fake_hash()
  adfs: don't put inodes into icache
  jfs: don't bother with make_bad_inode() in ialloc()

Miklos Szeredi (1):
  vfs: don't evict uninitialized inode

 fs/adfs/inode.c|   2 +-
 fs/adfs/super.c|   1 +
 fs/btrfs/inode.c   | 106 ++---
 fs/dcache.c|  29 +-
 fs/ext2/ialloc.c   |   3 +-
 fs/ext2/namei.c|   9 ++---
 fs/fuse/dir.c  |  15 +--
 fs/hfs/inode.c |   2 +-
 fs/inode.c |  53 ++---
 fs/jfs/jfs_imap.c  |   8 +---
 fs/jfs/jfs_inode.c |  10 ++---
 fs/jfs/namei.c |  12 ++
 fs/jfs/super.c |   2 +-
 fs/nfs/dir.c   |   9 +++--
 fs/udf/namei.c |  12 ++
 fs/ufs/ialloc.c|   3 +-
 fs/ufs/namei.c |   9 ++---
 fs/xfs/xfs_iops.c  |   2 +-
 include/linux/dcache.h |   1 -
 include/linux/fs.h |  17 +++-
 20 files changed, 146 insertions(+), 159 deletions(-)


[git pull] Dealing with icache races around mkdir and object creation in general

2018-08-12 Thread Al Viro
* NFS mkdir/open_by_handle race fix
* analogous solution for FUSE, replacing the one currently in mainline
* new primitive to be used when discarding halfway set up inodes on failed
  object creation; gives sane warranties re icache lookups not returning
  such doomed by still not freed inodes.  A bunch of filesystems switched
  to that animal.
* Miklos' fix for last cycle regression in iget5_locked(); -stable will need
  a slightly different variant, unfortunately.
* misc bits and pieces around things icache-related (in adfs and jfs).

The following changes since commit 877f919e192a09e77962a13d7165783027dee5fd:

  proc: add proc_seq_release (2018-06-27 20:44:38 -0400)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.mkdir

for you to fetch changes up to c7b15a8657da7f8d11269c7cc3d8beef10d26b43:

  jfs: don't bother with make_bad_inode() in ialloc() (2018-08-03 16:03:33 
-0400)


Al Viro (11):
  nfs_instantiate(): prevent multiple aliases for directory inode
  kill d_instantiate_no_diralias()
  new primitive: discard_new_inode()
  btrfs: switch to discard_new_inode()
  ufs: switch to discard_new_inode()
  udf: switch to discard_new_inode()
  ext2: make sure that partially set up inodes won't be returned by 
ext2_iget()
  jfs: switch to discard_new_inode()
  new helper: inode_fake_hash()
  adfs: don't put inodes into icache
  jfs: don't bother with make_bad_inode() in ialloc()

Miklos Szeredi (1):
  vfs: don't evict uninitialized inode

 fs/adfs/inode.c|   2 +-
 fs/adfs/super.c|   1 +
 fs/btrfs/inode.c   | 106 ++---
 fs/dcache.c|  29 +-
 fs/ext2/ialloc.c   |   3 +-
 fs/ext2/namei.c|   9 ++---
 fs/fuse/dir.c  |  15 +--
 fs/hfs/inode.c |   2 +-
 fs/inode.c |  53 ++---
 fs/jfs/jfs_imap.c  |   8 +---
 fs/jfs/jfs_inode.c |  10 ++---
 fs/jfs/namei.c |  12 ++
 fs/jfs/super.c |   2 +-
 fs/nfs/dir.c   |   9 +++--
 fs/udf/namei.c |  12 ++
 fs/ufs/ialloc.c|   3 +-
 fs/ufs/namei.c |   9 ++---
 fs/xfs/xfs_iops.c  |   2 +-
 include/linux/dcache.h |   1 -
 include/linux/fs.h |  17 +++-
 20 files changed, 146 insertions(+), 159 deletions(-)