[git pull] vfs.git, part 6: misc stuff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	All kinds of stuff.  That probably should've been 5 or 6 separate
branches, but by the time I'd realized how large and mixed that bag had
become it had been too close to -final to play with rebasing.  If you
think it's too large, I can feed it in several pieces - just tell.  I've
some ideas on how to prevent something of that size developing the next
cycle...

	Some fs/namei.c cleanups there, memdup_user_nul() introduction
and switching open-coded instances, burying long-dead code, whack-a-mole
of various kinds, several new helpers for ->llseek(), assorted cleanups
and fixes from various people, etc.

	One piece probably deserves special mention - Neil's
lookup_one_len_unlocked().  Similar to lookup_one_len(), but gets
called without ->i_mutex and tries to avoid ever taking it.  That,
of course, means that it's not useful for any directory modifications,
but things like getting inode attributes in nfds readdirplus are fine
with that.  I really should've asked for moratorium on lookup-related
changes this cycle, but since I hadn't done that early enough...
I *am* asking for that for the coming cycle, though - I'm going to
try and get conversion of i_mutex to rwsem with ->lookup() done under
lock taken shared.

	There will be a patch closer to the end of the window, along the
lines of the one Linus had posted last May - mechanical conversion of
->i_mutex accesses to inode_lock()/inode_unlock()/inode_trylock()/
inode_is_locked()/inode_lock_nested().  To quote Linus back then:
-----
|    This is an automated patch using
|    
|        sed 's/mutex_lock(&\(.*\)->i_mutex)/inode_lock(\1)/'
|        sed 's/mutex_unlock(&\(.*\)->i_mutex)/inode_unlock(\1)/'
|        sed 's/mutex_lock_nested(&\(.*\)->i_mutex,[     ]*I_MUTEX_\([A-Z0-9_]*\))/inode_lock_nested(\1, I_MUTEX_\2)/'
|        sed 's/mutex_is_locked(&\(.*\)->i_mutex)/inode_is_locked(\1)/'
|        sed 's/mutex_trylock(&\(.*\)->i_mutex)/inode_trylock(\1)/'
|    
|    with a very few manual fixups
-----
	I'm going to send that once the ->i_mutex-affecting stuff in
-next gets mostly merged (or when Linus says he's about to stop taking
merges).

	One trivial conflict in lustre (between the lustre side of
symlink stuff and Julia's one-liner constifying lustre symlink inode_operations
in this branch.  Resolved in obvious way...

Unless you'd rather take it in several stages, please pull from

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

Shortlog:
Abhi Das (1):
      fs: __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGE

Al Viro (38):
      9p/trans_virtio: don't bother with p9_tag_lookup()
      vgaarb: remove bogus checks
      f2fs: it's umode_t, not mode_t...
      don't opencode iget_failed()
      namei.c: fold set_root_rcu() into set_root()
      path_init(): set nd->inode earlier in cwd-relative case
      namei.c: take "jump to root" into a new helper
      restore_nameidata(): no need to clear now->stack
      don't open-code generic_file_llseek_size()
      new helpers: no_seek_end_llseek{,_size}()
      [mips] switch pvc_proc_cleanup() to remove_proc_subtree()
      new helper: memdup_user_nul()
      convert a bunch of open-coded instances of memdup_user_nul()
      selinuxfs: switch to memdup_user_nul()
      switch wireless debugfs ->write() instances to memdup_user_nul()
      cciss: switch to memdup_user_nul()
      kernel/*: switch to memdup_user_nul()
      proc_pid_attr_write(): switch to memdup_user()
      put the remnants of ..._user_ret() to rest
      ppc: get rid of the remnants of __get_user64()
      fix the leak in integrity_read_file()
      saner calling conventions for copy_mount_options()
      don't carry MAY_OPEN in op->acc_mode
      drivers/mtd/maps/pcmciamtd.c: __iomem annotations
      hpfs: missing endianness annotation
      dm-bufio: virt_to_phys() doesn't change remainder modulo PAGE_SIZE
      md: more open-coded offset_in_page()
      ... and a couple in net/9p
      jfs: microoptimize get_zeroed_page / virt_to_page
      HFS wants 8Kb per-superblock allocation; just use kmalloc()
      [um] hostaudio: don't open-code memdup_user()
      [um] mconsole: don't open-code memdup_user_nul()
      mtip32xx: don't open-code memdup_user()
      rsxx: don't open-code memdup_user()
      cdrom: don't open-code memdup_user()
      amdkfd: don't open-code memdup_user()
      nbd: use ->compat_ioctl()
      [s390] page_to_phys() always returns a multiple of PAGE_SIZE

Arnd Bergmann (1):
      coredump: Use 64bit time for unix time of coredump

DengChao (1):
      fs:affs:Replace time_t with time64_t

Dmitry Monakhov (3):
      fs: use gendisk->disk_name where possible
      lib/vsprintf: add %*pg format specifier
      fs: use block_device name vsprintf helper

Dmitry V. Levin (3):
      vfs: show_vfsmnt: remove redundant initialization of error code
      vfs: show_mountinfo: cleanup error code checks
      vfs: show_vfsstat: remove redundant initialization and check of error code

Eric Dumazet (1):
      proc: add a reschedule point in proc_readfd_common()

Julia Lawall (3):
      lustre: constify inode_operations structures
      adfs: constify adfs_dir_ops structures
      logfs: constify logfs_block_ops structures

Mateusz Guzik (1):
      poll: plug an unused argument to do_poll

Mike Marshall (1):
      typo in fs/namei.c comment

NeilBrown (1):
      nfsd: don't hold i_mutex over userspace upcalls

Rasmus Villemoes (1):
      fs/file.c: __const_max is actually __const_min :-)

Richard Weinberger (1):
      fs: xattr: Use kvfree()

Sasha Levin (1):
      fs/9p: use fscache mutex rather than spinlock

Stanislav Kinsburskiy (1):
      fcntl: allow to set O_DIRECT flag on pipe

Yaowei Bai (5):
      fs/block_dev.c: make sb_is_blkdev_sb return bool when CONFIG_BLOCK undefined
      fs/namespace.c: path_is_under can be boolean
      fs/dcache.c: is_subdir can be boolean
      fs/bad_inode.c: is_bad_inode can be boolean
      fs/attr.c: is_sxid can be boolean

Diffstat:
 Documentation/printk-formats.txt                   |   6 +
 arch/blackfin/include/asm/uaccess.h                |   6 -
 arch/m68k/include/asm/uaccess_no.h                 |   4 -
 arch/mips/lasat/picvue_proc.c                      |  18 +-
 arch/mn10300/include/asm/uaccess.h                 |  15 --
 arch/powerpc/include/asm/uaccess.h                 |  15 --
 arch/powerpc/kernel/nvram_64.c                     |  19 +-
 arch/s390/pci/pci_dma.c                            |   3 +-
 arch/sparc/include/asm/uaccess_32.h                |  65 -------
 arch/sparc/include/asm/uaccess_64.h                |  40 -----
 arch/sparc/kernel/mdesc.c                          |  20 +--
 arch/um/drivers/hostaudio_kern.c                   |  10 +-
 arch/um/drivers/mconsole_kern.c                    |  14 +-
 arch/x86/kernel/cpuid.c                            |  24 +--
 arch/x86/kernel/msr.c                              |  24 +--
 arch/xtensa/platforms/iss/simdisk.c                |  12 +-
 drivers/block/cciss.c                              |  14 +-
 drivers/block/mtip32xx/mtip32xx.c                  |  23 +--
 drivers/block/nbd.c                                |   1 +
 drivers/block/rsxx/core.c                          |  11 +-
 drivers/cdrom/cdrom.c                              |  10 +-
 drivers/char/generic_nvram.c                       |  21 +--
 drivers/char/mbcs.c                                |  28 +--
 drivers/char/nvram.c                               |  18 +-
 drivers/char/nwflash.c                             |  31 +---
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c           |  33 +---
 drivers/gpu/vga/vgaarb.c                           |   7 -
 drivers/md/bcache/util.c                           |   2 +-
 drivers/md/dm-bufio.c                              |   2 +-
 drivers/md/dm-io.c                                 |   4 +-
 drivers/mtd/maps/pcmciamtd.c                       |  28 +--
 drivers/net/wireless/ath/wil6210/debugfs.c         |  12 +-
 drivers/net/wireless/libertas/debugfs.c            | 181 +++++++------------
 drivers/net/wireless/mwifiex/debugfs.c             |  82 +++------
 drivers/net/wireless/ti/wlcore/debugfs.c           |  17 +-
 drivers/s390/char/vmcp.c                           |  11 +-
 drivers/s390/char/vmur.c                           |  15 +-
 drivers/s390/char/zcore.c                          |  13 +-
 drivers/sbus/char/openprom.c                       |  13 +-
 drivers/staging/lustre/lustre/llite/file.c         |   2 +-
 .../staging/lustre/lustre/llite/llite_internal.h   |   4 +-
 drivers/staging/lustre/lustre/llite/namei.c        |   4 +-
 drivers/staging/lustre/lustre/llite/symlink.c      |   2 +-
 drivers/usb/core/devices.c                         |  26 +--
 drivers/usb/core/devio.c                           |  26 +--
 drivers/usb/host/uhci-debug.c                      |  23 +--
 drivers/usb/misc/sisusbvga/sisusb.c                |  16 +-
 fs/9p/cache.c                                      |   8 +-
 fs/9p/v9fs.h                                       |   2 +-
 fs/9p/vfs_inode.c                                  |   2 +-
 fs/adfs/adfs.h                                     |   6 +-
 fs/adfs/dir.c                                      |   6 +-
 fs/adfs/dir_f.c                                    |   2 +-
 fs/adfs/dir_fplus.c                                |   2 +-
 fs/affs/affs.h                                     |   2 +-
 fs/affs/amigaffs.c                                 |  13 +-
 fs/affs/super.c                                    |   2 +-
 fs/afs/proc.c                                      |  25 +--
 fs/bad_inode.c                                     |   2 +-
 fs/block_dev.c                                     |  12 +-
 fs/btrfs/super.c                                   |   4 +-
 fs/buffer.c                                        |  21 +--
 fs/cachefiles/daemon.c                             |  12 +-
 fs/compat.c                                        |  21 ++-
 fs/compat_ioctl.c                                  |  11 --
 fs/coredump.c                                      |   8 +-
 fs/dcache.c                                        |  14 +-
 fs/dlm/user.c                                      |  11 +-
 fs/ecryptfs/inode.c                                |   4 +-
 fs/exec.c                                          |   4 +-
 fs/ext2/xattr.c                                    |   6 +-
 fs/ext4/page-io.c                                  |   5 +-
 fs/ext4/xattr.c                                    |   6 +-
 fs/f2fs/debug.c                                    |   6 +-
 fs/f2fs/f2fs.h                                     |   6 +-
 fs/fcntl.c                                         |   3 +-
 fs/file.c                                          |   6 +-
 fs/gfs2/ops_fstype.c                               |   4 +-
 fs/hfs/mdb.c                                       |   4 +-
 fs/hpfs/map.c                                      |   2 +-
 fs/internal.h                                      |   2 +-
 fs/jbd2/transaction.c                              |   6 +-
 fs/jfs/jfs_logmgr.c                                |   9 +-
 fs/logfs/logfs.h                                   |   4 +-
 fs/logfs/readwrite.c                               |   4 +-
 fs/logfs/segment.c                                 |   2 +-
 fs/minix/itree_v1.c                                |   9 +-
 fs/minix/itree_v2.c                                |   9 +-
 fs/namei.c                                         | 200 ++++++++++++++-------
 fs/namespace.c                                     |  39 ++--
 fs/nfsd/nfs3xdr.c                                  |   2 +-
 fs/nfsd/nfs4xdr.c                                  |   8 +-
 fs/nfsd/vfs.c                                      |  23 +--
 fs/nilfs2/super.c                                  |   6 +-
 fs/open.c                                          |   5 +-
 fs/proc/base.c                                     |  17 +-
 fs/proc/fd.c                                       |   1 +
 fs/proc_namespace.c                                |  27 +--
 fs/read_write.c                                    |  39 ++++
 fs/reiserfs/journal.c                              |  24 ++-
 fs/reiserfs/prints.c                               |   9 +-
 fs/reiserfs/procfs.c                               |   5 +-
 fs/select.c                                        |   6 +-
 fs/splice.c                                        |   8 +-
 fs/squashfs/super.c                                |   7 +-
 fs/super.c                                         |   4 +-
 fs/xattr.c                                         |  38 ++--
 fs/xfs/xfs_buf.c                                   |   8 +-
 include/linux/fs.h                                 |  14 +-
 include/linux/namei.h                              |   1 +
 include/linux/string.h                             |   1 +
 kernel/sysctl.c                                    |  79 +++-----
 kernel/trace/blktrace.c                            |  12 +-
 kernel/trace/trace_events.c                        |  28 +--
 kernel/trace/trace_events_trigger.c                |  15 +-
 kernel/user_namespace.c                            |  21 +--
 lib/dynamic_debug.c                                |  11 +-
 lib/vsprintf.c                                     |  29 +++
 mm/util.c                                          |  31 ++++
 net/9p/trans_virtio.c                              |  16 +-
 net/rxrpc/ar-key.c                                 |  24 +--
 security/integrity/iint.c                          |  11 +-
 security/selinux/selinuxfs.c                       | 114 +++++-------
 security/smack/smackfs.c                           | 114 ++++--------
 security/tomoyo/securityfs_if.c                    |  11 +-
 125 files changed, 792 insertions(+), 1478 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux