1. 01 Jul, 2015 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 94521ca3
      Linus Torvalds authored
      Pull CIFS/SMB3 updates from Steve French:
       "Includes two bug fixes, as well as (minimal) support for the new
        protocol dialect (SMB3.1.1), and support for two ioctls including
        reflink (duplicate extents) file copy and set integrity"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Unset CIFS_MOUNT_POSIX_PATHS flag when following dfs mounts
        Update negotiate protocol for SMB3.11 dialect
        Add ioctl to set integrity
        Add Get/Set Integrity Information structure definitions
        Add reflink copy over SMB3.11 with new FSCTL_DUPLICATE_EXTENTS
        Add SMB3.11 mount option synonym for new dialect
        add struct FILE_STANDARD_INFO
        Make dialect negotiation warning message easier to read
        Add defines and structs for smb3.1 dialect
        Allow parsing vers=3.11 on cifs mount
        client MUST ignore EncryptionKeyLength if CAP_EXTENDED_SECURITY is set
      94521ca3
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 68b4449d
      Linus Torvalds authored
      Pul xfs updates from Dave Chinner:
       "There's a couple of small API changes to the core DAX code which
        required small changes to the ext2 and ext4 code bases, but otherwise
        everything is within the XFS codebase.
      
        This update contains:
      
         - A new sparse on-disk inode record format to allow small extents to
           be used for inode allocation when free space is fragmented.
      
         - DAX support.  This includes minor changes to the DAX core code to
           fix problems with lock ordering and bufferhead mapping abuse.
      
         - transaction commit interface cleanup
      
         - removal of various unnecessary XFS specific type definitions
      
         - cleanup and optimisation of freelist preparation before allocation
      
         - various minor cleanups
      
         - bug fixes for
      	- transaction reservation leaks
      	- incorrect inode logging in unwritten extent conversion
      	- mmap lock vs freeze ordering
      	- remote symlink mishandling
      	- attribute fork removal issues"
      
      * tag 'xfs-for-linus-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (49 commits)
        xfs: don't truncate attribute extents if no extents exist
        xfs: clean up XFS_MIN_FREELIST macros
        xfs: sanitise error handling in xfs_alloc_fix_freelist
        xfs: factor out free space extent length check
        xfs: xfs_alloc_fix_freelist() can use incore perag structures
        xfs: remove xfs_caddr_t
        xfs: use void pointers in log validation helpers
        xfs: return a void pointer from xfs_buf_offset
        xfs: remove inst_t
        xfs: remove __psint_t and __psunsigned_t
        xfs: fix remote symlinks on V5/CRC filesystems
        xfs: fix xfs_log_done interface
        xfs: saner xfs_trans_commit interface
        xfs: remove the flags argument to xfs_trans_cancel
        xfs: pass a boolean flag to xfs_trans_free_items
        xfs: switch remaining xfs_trans_dup users to xfs_trans_roll
        xfs: check min blks for random debug mode sparse allocations
        xfs: fix sparse inodes 32-bit compile failure
        xfs: add initial DAX support
        xfs: add DAX IO path support
        ...
      68b4449d
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 043cd049
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "Outside of our usual batch of fixes, this integrates the subvolume
        quota updates that Qu Wenruo from Fujitsu has been working on for a
        few releases now.  He gets an extra gold star for making btrfs smaller
        this time, and fixing a number of quota corners in the process.
      
        Dave Sterba tested and integrated Anand Jain's sysfs improvements.
        Outside of exporting a symbol (ack'd by Greg) these are all internal
        to btrfs and it's mostly cleanups and fixes.  Anand also attached some
        of our sysfs objects to our internal device management structs instead
        of an object off the super block.  It will make device management
        easier overall and it's a better fit for how the sysfs files are used.
        None of the existing sysfs files are moved around.
      
        Thanks for all the fixes everyone"
      
      * 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (87 commits)
        btrfs: delayed-ref: double free in btrfs_add_delayed_tree_ref()
        Btrfs: Check if kobject is initialized before put
        lib: export symbol kobject_move()
        Btrfs: sysfs: add support to show replacing target in the sysfs
        Btrfs: free the stale device
        Btrfs: use received_uuid of parent during send
        Btrfs: fix use-after-free in btrfs_replay_log
        btrfs: wait for delayed iputs on no space
        btrfs: qgroup: Make snapshot accounting work with new extent-oriented qgroup.
        btrfs: qgroup: Add the ability to skip given qgroup for old/new_roots.
        btrfs: ulist: Add ulist_del() function.
        btrfs: qgroup: Cleanup the old ref_node-oriented mechanism.
        btrfs: qgroup: Switch self test to extent-oriented qgroup mechanism.
        btrfs: qgroup: Switch to new extent-oriented qgroup mechanism.
        btrfs: qgroup: Switch rescan to new mechanism.
        btrfs: qgroup: Add new qgroup calculation function btrfs_qgroup_account_extents().
        btrfs: backref: Add special time_seq == (u64)-1 case for btrfs_find_all_roots().
        btrfs: qgroup: Add new function to record old_roots.
        btrfs: qgroup: Record possible quota-related extent for qgroup.
        btrfs: qgroup: Add function qgroup_update_counters().
        ...
      043cd049
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 43baed34
      Linus Torvalds authored
      Pull more block layer patches from Jens Axboe:
       "A few later arrivers that I didn't fold into the first pull request,
        so we had a chance to run some testing.  This contains:
      
         - NVMe:
              - Set of fixes from Keith
              - 4.4 and earlier gcc build fix from Andrew
      
         - small set of xen-blk{back,front} fixes from Bob Liu.
      
         - warnings fix for bogus inline statement in I_BDEV() from Geert.
      
         - error code fixup for SG_IO ioctl from Paolo Bonzini"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        drivers/block/nvme-core.c: fix build with gcc-4.4.4
        bdi: Remove "inline" keyword from exported I_BDEV() implementation
        block: fix bogus EFAULT error from SG_IO ioctl
        NVMe: Fix filesystem deadlock on removal
        NVMe: Failed controller initialization fixes
        NVMe: Unify controller probe and resume
        NVMe: Don't use fake status on cancelled command
        NVMe: Fix device cleanup on initialization failure
        drivers: xen-blkfront: only talk_to_blkback() when in XenbusStateInitialising
        xen/block: add multi-page ring support
        driver: xen-blkfront: move talk_to_blkback to a more suitable place
        drivers: xen-blkback: delay pending_req allocation to connect_ring
      43baed34
  2. 29 Jun, 2015 11 commits
    • Sachin Prabhu's avatar
      cifs: Unset CIFS_MOUNT_POSIX_PATHS flag when following dfs mounts · 1dfd18d0
      Sachin Prabhu authored
      In a dfs setup where the client transitions from a server which supports
      posix paths to a server which doesn't support posix paths, the flag
      CIFS_MOUNT_POSIX_PATHS is not reset. This leads to the wrong directory
      separator being used causing smb commands to fail.
      
      Consider the following case where a dfs share on a samba server points
      to a share on windows smb server.
       # mount -t cifs -o .. //vm140-31/dfsroot/testwin/
       # ls -l /mnt; touch /mnt/a
       total 0
       touch: cannot touch ‘/mnt/a’: No such file or directory
      Signed-off-by: default avatarSachin Prabhu <sprabhu@redhat.com>
      Acked-by: default avatarJeff Layton <jlayton@samba.org>
      Signed-off-by: default avatarSteve French <steve.french@primarydata.com>
      1dfd18d0
    • Linus Torvalds's avatar
      Merge tag 'md/4.2' of git://neil.brown.name/md · 6aaf0da8
      Linus Torvalds authored
      Pull md updates from Neil Brown:
       "A mixed bag
      
         - a few bug fixes
         - some performance improvement that decrease lock contention
         - some clean-up
      
        Nothing major"
      
      * tag 'md/4.2' of git://neil.brown.name/md:
        md: clear Blocked flag on failed devices when array is read-only.
        md: unlock mddev_lock on an error path.
        md: clear mddev->private when it has been freed.
        md: fix a build warning
        md/raid5: ignore released_stripes check
        md/raid5: per hash value and exclusive wait_for_stripe
        md/raid5: split wait_for_stripe and introduce wait_for_quiescent
        wait: introduce wait_event_exclusive_cmd
        md: convert to kstrto*()
        md/raid10: make sync_request_write() call bio_copy_data()
      6aaf0da8
    • Christoph Lameter's avatar
      Fix kmalloc slab creation sequence · a9730fca
      Christoph Lameter authored
      This patch restores the slab creation sequence that was broken by commit
      4066c33d and also reverts the portions that introduced the
      KMALLOC_LOOP_XXX macros. Those can never really work since the slab creation
      is much more complex than just going from a minimum to a maximum number.
      
      The latest upstream kernel boots cleanly on my machine with a 64 bit x86
      configuration under KVM using either SLAB or SLUB.
      
      Fixes: 4066c33d ("support the slub_debug boot option")
      Reported-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Signed-off-by: default avatarChristoph Lameter <cl@linux.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a9730fca
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm · 88793e5c
      Linus Torvalds authored
      Pull libnvdimm subsystem from Dan Williams:
       "The libnvdimm sub-system introduces, in addition to the
        libnvdimm-core, 4 drivers / enabling modules:
      
        NFIT:
          Instantiates an "nvdimm bus" with the core and registers memory
          devices (NVDIMMs) enumerated by the ACPI 6.0 NFIT (NVDIMM Firmware
          Interface table).
      
          After registering NVDIMMs the NFIT driver then registers "region"
          devices.  A libnvdimm-region defines an access mode and the
          boundaries of persistent memory media.  A region may span multiple
          NVDIMMs that are interleaved by the hardware memory controller.  In
          turn, a libnvdimm-region can be carved into a "namespace" device and
          bound to the PMEM or BLK driver which will attach a Linux block
          device (disk) interface to the memory.
      
        PMEM:
          Initially merged in v4.1 this driver for contiguous spans of
          persistent memory address ranges is re-worked to drive
          PMEM-namespaces emitted by the libnvdimm-core.
      
          In this update the PMEM driver, on x86, gains the ability to assert
          that writes to persistent memory have been flushed all the way
          through the caches and buffers in the platform to persistent media.
          See memcpy_to_pmem() and wmb_pmem().
      
        BLK:
          This new driver enables access to persistent memory media through
          "Block Data Windows" as defined by the NFIT.  The primary difference
          of this driver to PMEM is that only a small window of persistent
          memory is mapped into system address space at any given point in
          time.
      
          Per-NVDIMM windows are reprogrammed at run time, per-I/O, to access
          different portions of the media.  BLK-mode, by definition, does not
          support DAX.
      
        BTT:
          This is a library, optionally consumed by either PMEM or BLK, that
          converts a byte-accessible namespace into a disk with atomic sector
          update semantics (prevents sector tearing on crash or power loss).
      
          The sinister aspect of sector tearing is that most applications do
          not know they have a atomic sector dependency.  At least today's
          disk's rarely ever tear sectors and if they do one almost certainly
          gets a CRC error on access.  NVDIMMs will always tear and always
          silently.  Until an application is audited to be robust in the
          presence of sector-tearing the usage of BTT is recommended.
      
        Thanks to: Ross Zwisler, Jeff Moyer, Vishal Verma, Christoph Hellwig,
        Ingo Molnar, Neil Brown, Boaz Harrosh, Robert Elliott, Matthew Wilcox,
        Andy Rudoff, Linda Knippers, Toshi Kani, Nicholas Moulin, Rafael
        Wysocki, and Bob Moore"
      
      * tag 'libnvdimm-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm: (33 commits)
        arch, x86: pmem api for ensuring durability of persistent memory updates
        libnvdimm: Add sysfs numa_node to NVDIMM devices
        libnvdimm: Set numa_node to NVDIMM devices
        acpi: Add acpi_map_pxm_to_online_node()
        libnvdimm, nfit: handle unarmed dimms, mark namespaces read-only
        pmem: flag pmem block devices as non-rotational
        libnvdimm: enable iostat
        pmem: make_request cleanups
        libnvdimm, pmem: fix up max_hw_sectors
        libnvdimm, blk: add support for blk integrity
        libnvdimm, btt: add support for blk integrity
        fs/block_dev.c: skip rw_page if bdev has integrity
        libnvdimm: Non-Volatile Devices
        tools/testing/nvdimm: libnvdimm unit test infrastructure
        libnvdimm, nfit, nd_blk: driver for BLK-mode access persistent memory
        nd_btt: atomic sector updates
        libnvdimm: infrastructure for btt devices
        libnvdimm: write blk label set
        libnvdimm: write pmem label set
        libnvdimm: blk labels and namespace instantiation
        ...
      88793e5c
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.2-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 1bc5e157
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "This time we have support for few new devices, few new features and
        odd fixes spread thru the subsystem.
      
        New devices added:
         - support for CSRatlas7 dma controller
         - Allwinner H3(sun8i) controller
         - TI DMA crossbar driver on DRA7x
         - new pxa driver
      
        New features added:
         - memset support is bought back now that we have a user in xdmac controller
         - interleaved transfers support different source and destination strides
         - supporting DMA routers and configuration thru DT
         - support for reusing descriptors
         - xdmac memset and interleaved transfer support
         - hdmac support for interleaved transfers
         - omap-dma support for memcpy
      
        Others:
         - Constify platform_device_id
         - mv_xor fixes and improvements"
      
      * tag 'dmaengine-4.2-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (46 commits)
        dmaengine: xgene: fix file permission
        dmaengine: fsl-edma: clear pending interrupts on initialization
        dmaengine: xdmac: Add memset support
        Documentation: dmaengine: document DMA_CTRL_ACK
        dmaengine: virt-dma: don't always free descriptor upon completion
        dmaengine: Revert "drivers/dma: remove unused support for MEMSET operations"
        dmaengine: hdmac: Implement interleaved transfers
        dmaengine: Move icg helpers to global header
        dmaengine: mv_xor: improve descriptors list handling and reduce locking
        dmaengine: mv_xor: Enlarge descriptor pool size
        dmaengine: mv_xor: add support for a38x command in descriptor mode
        dmaengine: mv_xor: Rename function for consistent naming
        dmaengine: mv_xor: bug fix for racing condition in descriptors cleanup
        dmaengine: pl330: fix wording in mcbufsz message
        dmaengine: sirf: add CSRatlas7 SoC support
        dmaengine: xgene-dma: Fix "incorrect type in assignement" warnings
        dmaengine: fix kernel-doc documentation
        dmaengine: pxa_dma: add support for legacy transition
        dmaengine: pxa_dma: add debug information
        dmaengine: pxa: add pxa dmaengine driver
        ...
      1bc5e157
    • Linus Torvalds's avatar
      Merge tag 'please-pull-misc-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · f199b663
      Linus Torvalds authored
      Pull ia64 updates from Tony Luck:
       "Pair of ia64 cleanups"
      
      * tag 'please-pull-misc-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        ia64: Use setup_timer
        ia64: export flush_icache_range for module use
      f199b663
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-4.2-rc1' of... · d93a74a9
      Linus Torvalds authored
      Merge tag 'linux-kselftest-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest update from Shuah Khan:
       "This update adds two new test suites: futex and seccomp.
      
        In addition, it includes fixes for bugs in timers, other tests, and
        compile framework.  It introduces new quicktest feature to enable
        users to choose to run tests that complete in a short time"
      
      * tag 'linux-kselftest-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests: add quicktest support
        selftests: add seccomp suite
        selftest, x86: fix incorrect comment
        tools selftests: Fix 'clean' target with make 3.81
        selftests/futex: Add .gitignore
        kselftest: Add exit code defines
        selftests: Add futex tests to the top-level Makefile
        selftests/futex: Increment ksft pass and fail counters
        selftests/futex: Update Makefile to use lib.mk
        selftests: Add futex functional tests
        kselftests: timers: Check _ALARM clockids are supported before suspending
        kselftests: timers: Ease alarmtimer-suspend unreasonable latency value
        kselftests: timers: Increase delay between suspends in alarmtimer-suspend
        selftests/exec: do not install subdir as it is already created
        selftests/ftrace: install test.d
        selftests: copy TEST_DIRS to INSTALL_PATH
        Test compaction of mlocked memory
        selftests/mount: output WARN messages when mount test skipped
        selftests/timers: Make git ignore all binaries in timers test suite
      d93a74a9
    • Steve French's avatar
      Update negotiate protocol for SMB3.11 dialect · ebb3a9d4
      Steve French authored
      Send negotiate contexts when SMB3.11 dialect is negotiated
      (ie the preauth and the encryption contexts) and
      Initialize SMB3.11 preauth negotiate context salt to random bytes
      
      Followon patch will update session setup and tree connect
      Signed-off-by: default avatarSteve French <steve.french@primarydata.com>
      ebb3a9d4
    • Steve French's avatar
      Add ioctl to set integrity · b3152e2c
      Steve French authored
      set integrity increases reliability of files stored on SMB3 servers.
      Add ioctl to allow setting this on files on SMB3 and later mounts.
      Signed-off-by: default avatarSteve French <steve.french@primarydata.com>
      b3152e2c
    • Steve French's avatar
    • Steve French's avatar
      Add reflink copy over SMB3.11 with new FSCTL_DUPLICATE_EXTENTS · 02b16665
      Steve French authored
       Getting fantastic copy performance with cp --reflink over SMB3.11
       using the new FSCTL_DUPLICATE_EXTENTS.
      
       This FSCTL was added in the SMB3.11 dialect (testing was
       against REFS file system) so have put it as a 3.11 protocol
       specific operation ("vers=3.1.1" on the mount).  Tested at
       the SMB3 plugfest in Redmond.
      
       It depends on the new FS Attribute (BLOCK_REFCOUNTING) which
       is used to advertise support for the ability to do this ioctl
       (if you can support multiple files pointing to the same block
       than this refcounting ability or equivalent is needed to
       support the new reflink-like duplicate extent SMB3 ioctl.
      Signed-off-by: default avatarSteve French <steve.french@primarydata.com>
      02b16665
  3. 28 Jun, 2015 9 commits
  4. 27 Jun, 2015 16 commits
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit · 4a10a917
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Four small audit patches for v4.2, all bug fixes.  Only 10 lines of
        change this time so very unremarkable, the patch subject lines pretty
        much tell the whole story"
      
      * 'upstream' of git://git.infradead.org/users/pcmoore/audit:
        audit: Fix check of return value of strnlen_user()
        audit: obsolete audit_context check is removed in audit_filter_rules()
        audit: fix for typo in comment to function audit_log_link_denied()
        lsm: rename duplicate labels in LSM_AUDIT_DATA_TASK audit message type
      4a10a917
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · e22619a2
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "The main change in this kernel is Casey's generalized LSM stacking
        work, which removes the hard-coding of Capabilities and Yama stacking,
        allowing multiple arbitrary "small" LSMs to be stacked with a default
        monolithic module (e.g.  SELinux, Smack, AppArmor).
      
        See
              https://lwn.net/Articles/636056/
      
        This will allow smaller, simpler LSMs to be incorporated into the
        mainline kernel and arbitrarily stacked by users.  Also, this is a
        useful cleanup of the LSM code in its own right"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (38 commits)
        tpm, tpm_crb: fix le64_to_cpu conversions in crb_acpi_add()
        vTPM: set virtual device before passing to ibmvtpm_reset_crq
        tpm_ibmvtpm: remove unneccessary message level.
        ima: update builtin policies
        ima: extend "mask" policy matching support
        ima: add support for new "euid" policy condition
        ima: fix ima_show_template_data_ascii()
        Smack: freeing an error pointer in smk_write_revoke_subj()
        selinux: fix setting of security labels on NFS
        selinux: Remove unused permission definitions
        selinux: enable genfscon labeling for sysfs and pstore files
        selinux: enable per-file labeling for debugfs files.
        selinux: update netlink socket classes
        signals: don't abuse __flush_signals() in selinux_bprm_committed_creds()
        selinux: Print 'sclass' as string when unrecognized netlink message occurs
        Smack: allow multiple labels in onlycap
        Smack: fix seq operations in smackfs
        ima: pass iint to ima_add_violation()
        ima: wrap event related data to the new ima_event_data structure
        integrity: add validity checks for 'path' parameter
        ...
      e22619a2
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 78c10e55
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
      
       - Improvements to the tlb_dump code
       - KVM fixes
       - Add support for appended DTB
       - Minor improvements to the R12000 support
       - Minor improvements to the R12000 support
       - Various platform improvments for BCM47xx
       - The usual pile of minor cleanups
       - A number of BPF fixes and improvments
       - Some improvments to the support for R3000 and DECstations
       - Some improvments to the ATH79 platform support
       - A major patchset for the JZ4740 SOC adding support for the CI20 platform
       - Add support for the Pistachio SOC
       - Minor BMIPS/BCM63xx platform support improvments.
       - Avoid "SYNC 0" as memory barrier when unlocking spinlocks
       - Add support for the XWR-1750 board.
       - Paul's __cpuinit/__cpuinitdata cleanups.
       - New Malta CPU board support large memory so enable ZONE_DMA32.
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (131 commits)
        MIPS: spinlock: Adjust arch_spin_lock back-off time
        MIPS: asmmacro: Ensure 64-bit FP registers are used with MSA
        MIPS: BCM47xx: Simplify handling SPROM revisions
        MIPS: Cobalt Don't use module_init in non-modular MTD registration.
        MIPS: BCM47xx: Move NVRAM driver to the drivers/firmware/
        MIPS: use for_each_sg()
        MIPS: BCM47xx: Don't select BCMA_HOST_PCI
        MIPS: BCM47xx: Add helper variable for storing NVRAM length
        MIPS: IRQ/IP27: Move IRQ allocation API to platform code.
        MIPS: Replace smp_mb with release barrier function in unlocks.
        MIPS: i8259: DT support
        MIPS: Malta: Basic DT plumbing
        MIPS: include errno.h for ENODEV in mips-cm.h
        MIPS: Define GCR_GIC_STATUS register fields
        MIPS: BPF: Introduce BPF ASM helpers
        MIPS: BPF: Use BPF register names to describe the ABI
        MIPS: BPF: Move register definition to the BPF header
        MIPS: net: BPF: Replace RSIZE with SZREG
        MIPS: BPF: Free up some callee-saved registers
        MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers
        ...
      78c10e55
    • Andrew Morton's avatar
      drivers/block/nvme-core.c: fix build with gcc-4.4.4 · e44ac588
      Andrew Morton authored
      gcc-4.4.4 (and possibly other versions) fail the compile when initializers
      are used with anonymous unions.  Work around this.
      
      drivers/block/nvme-core.c: In function 'nvme_identify_ctrl':
      drivers/block/nvme-core.c:1163: error: unknown field 'identify' specified in initializer
      drivers/block/nvme-core.c:1163: warning: missing braces around initializer
      drivers/block/nvme-core.c:1163: warning: (near initialization for 'c.<anonymous>')
      drivers/block/nvme-core.c:1164: error: unknown field 'identify' specified in initializer
      drivers/block/nvme-core.c:1164: warning: excess elements in struct initializer
      drivers/block/nvme-core.c:1164: warning: (near initialization for 'c')
      ...
      
      This patch has no effect on text size with gcc-4.8.2.
      
      Fixes: d29ec824 ("nvme: submit internal commands through the block layer")
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Jens Axboe <axboe@fb.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      e44ac588
    • Jens Axboe's avatar
      Merge branch 'stable/for-jens-4.2' of... · 6443af98
      Jens Axboe authored
      Merge branch 'stable/for-jens-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus
      6443af98
    • Geert Uytterhoeven's avatar
      bdi: Remove "inline" keyword from exported I_BDEV() implementation · ff5053f6
      Geert Uytterhoeven authored
      With gcc 3.4.6/4.1.2/4.2.4 (not with 4.4.7/4.6.4/4.8.4):
      
            CC      fs/block_dev.o
          include/linux/fs.h:804: warning: ‘I_BDEV’ declared inline after being called
          include/linux/fs.h:804: warning: previous declaration of ‘I_BDEV’ was here
      
      Commit a212b105 ("bdi: make inode_to_bdi() inline") added a
      caller of I_BDEV() in a header file, exposing the bogus "inline" on the
      exported implementation.
      
      Drop the "inline" keyword to fix this.
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      ff5053f6
    • Paolo Bonzini's avatar
      block: fix bogus EFAULT error from SG_IO ioctl · 2c4cffe8
      Paolo Bonzini authored
      Whenever blk_fill_sghdr_rq fails, its errno code is ignored and changed to
      EFAULT.  This can cause very confusing errors:
      
        $ sg_persist -k /dev/sda
        persistent reservation in: pass through os error: Bad address
      
      The fix is trivial, just propagate the return value from
      blk_fill_sghdr_rq.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Acked-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      2c4cffe8
    • Keith Busch's avatar
      NVMe: Fix filesystem deadlock on removal · 3399a3f7
      Keith Busch authored
      Move gendisk deletion before controller shutdown so filesystem may sync
      dirty pages. Before, this would deadlock trying to allocate requests
      on frozen queues that are about to be deleted.
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      3399a3f7
    • Keith Busch's avatar
      NVMe: Failed controller initialization fixes · de3eff2b
      Keith Busch authored
      This fixes an infinite device reset loop that may occur on devices that
      fail initialization. If the drive fails to become ready for any reason
      that does not involve an admin command timeout, the probe task should
      assume the drive is unavailable and remove it from the topology. In
      the case an admin command times out during device probing, the driver's
      existing reset action will handle removing the drive.
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      de3eff2b
    • Keith Busch's avatar
      NVMe: Unify controller probe and resume · ffe7704d
      Keith Busch authored
      This unifies probe and resume so they both may be scheduled in the same
      way. This is necessary for error handling that may occur during device
      initialization since the task to cleanup the device wouldn't be able to
      run if it is blocked on device initialization.
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      ffe7704d
    • Keith Busch's avatar
      NVMe: Don't use fake status on cancelled command · 17188bb4
      Keith Busch authored
      Synchronized commands do different things for timed out commands
      vs. controller returned errors.
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      17188bb4
    • Keith Busch's avatar
      NVMe: Fix device cleanup on initialization failure · 4af0e21c
      Keith Busch authored
      Don't release block queue and tagging resoureces if the driver never
      got them in the first place. This can happen if the controller fails to
      become ready, if memory wasn't available to allocate a tagset or admin
      queue, or if the resources were released as part of error recovery.
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      4af0e21c
    • Linus Torvalds's avatar
      Merge branch 'for-4.2' of git://linux-nfs.org/~bfields/linux · d2c3ac7e
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "A relatively quiet cycle, with a mix of cleanup and smaller bugfixes"
      
      * 'for-4.2' of git://linux-nfs.org/~bfields/linux: (24 commits)
        sunrpc: use sg_init_one() in krb5_rc4_setup_enc/seq_key()
        nfsd: wrap too long lines in nfsd4_encode_read
        nfsd: fput rd_file from XDR encode context
        nfsd: take struct file setup fully into nfs4_preprocess_stateid_op
        nfsd: refactor nfs4_preprocess_stateid_op
        nfsd: clean up raparams handling
        nfsd: use swap() in sort_pacl_range()
        rpcrdma: Merge svcrdma and xprtrdma modules into one
        svcrdma: Add a separate "max data segs macro for svcrdma
        svcrdma: Replace GFP_KERNEL in a loop with GFP_NOFAIL
        svcrdma: Keep rpcrdma_msg fields in network byte-order
        svcrdma: Fix byte-swapping in svc_rdma_sendto.c
        nfsd: Update callback sequnce id only CB_SEQUENCE success
        nfsd: Reset cb_status in nfsd4_cb_prepare() at retrying
        svcrdma: Remove svc_rdma_xdr_decode_deferred_req()
        SUNRPC: Move EXPORT_SYMBOL for svc_process
        uapi/nfs: Add NFSv4.1 ACL definitions
        nfsd: Remove dead declarations
        nfsd: work around a gcc-5.1 warning
        nfsd: Checking for acl support does not require fetching any acls
        ...
      d2c3ac7e
    • Linus Torvalds's avatar
      Merge tag 'gfs2-merge-window' of git://git.kernel.org:/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 546fac60
      Linus Torvalds authored
      Pull GFS2 updates from Bob Peterson:
       "Here are the patches we've accumulated for GFS2 for the current
        upstream merge window.  We have a good mixture this time.  Here are
        some of the features:
      
         - Fix a problem with RO mounts writing to the journal.
      
         - Further improvements to quotas on GFS2.
      
         - Added support for rename2 and RENAME_EXCHANGE on GFS2.
      
         - Increase performance by making glock lru_list less of a bottleneck.
      
         - Increase performance by avoiding unnecessary buffer_head releases.
      
         - Increase performance by using average glock round trip time from all CPUs.
      
         - Fixes for some compiler warnings and minor white space issues.
      
         - Other misc bug fixes"
      
      * tag 'gfs2-merge-window' of git://git.kernel.org:/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        GFS2: Don't brelse rgrp buffer_heads every allocation
        GFS2: Don't add all glocks to the lru
        gfs2: Don't support fallocate on jdata	files
        gfs2: s64 cast for negative quota value
        gfs2: limit quota log messages
        gfs2: fix quota updates on block boundaries
        gfs2: fix shadow warning in gfs2_rbm_find()
        gfs2: kerneldoc warning fixes
        gfs2: convert simple_str to kstr
        GFS2: make sure S_NOSEC flag isn't overwritten
        GFS2: add support for rename2 and RENAME_EXCHANGE
        gfs2: handle NULL rgd in set_rgrp_preferences
        GFS2: inode.c: indent with TABs, not spaces
        GFS2: mark the journal idle to fix ro mounts
        GFS2: Average in only non-zero round-trip times for congestion stats
        GFS2: Use average srttb value in congestion calculations
      546fac60
    • Linus Torvalds's avatar
      Revert "jbd2: speedup jbd2_journal_dirty_metadata()" · ebeaa8dd
      Linus Torvalds authored
      This reverts commit 2143c196.
      
      This commit seems to be the cause of the following jbd2 assertion
      failure:
      
         ------------[ cut here ]------------
         kernel BUG at fs/jbd2/transaction.c:1325!
         invalid opcode: 0000 [#1] SMP
         Modules linked in: bnep bluetooth fuse ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 ...
         CPU: 7 PID: 5509 Comm: gcc Not tainted 4.1.0-10944-g2a298679 #1
         Hardware name:                  /DH87RL, BIOS RLH8710H.86A.0327.2014.0924.1645 09/24/2014
         task: ffff8803bf866040 ti: ffff880308528000 task.ti: ffff880308528000
         RIP: jbd2_journal_dirty_metadata+0x237/0x290
         Call Trace:
           __ext4_handle_dirty_metadata+0x43/0x1f0
           ext4_handle_dirty_dirent_node+0xde/0x160
           ? jbd2_journal_get_write_access+0x36/0x50
           ext4_delete_entry+0x112/0x160
           ? __ext4_journal_start_sb+0x52/0xb0
           ext4_unlink+0xfa/0x260
           vfs_unlink+0xec/0x190
           do_unlinkat+0x24a/0x270
           SyS_unlink+0x11/0x20
           entry_SYSCALL_64_fastpath+0x12/0x6a
         ---[ end trace ae033ebde8d080b4 ]---
      
      which is not easily reproducible (I've seen it just once, and then Ted
      was able to reproduce it once).  Revert it while Ted and Jan try to
      figure out what is wrong.
      
      Cc: Jan Kara <jack@suse.cz>
      Acked-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ebeaa8dd
    • Linus Torvalds's avatar
      Merge branch 'for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · e0dd880a
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Most of the changes are around implementing and fixing fallouts from
        sysfs and internal interface to limit the CPUs available to all
        unbound workqueues to help isolating CPUs.  It needs more work as
        ordered workqueues can roam unrestricted but still is a significant
        improvement"
      
      * 'for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: fix typos in comments
        workqueue: move flush_scheduled_work() to workqueue.h
        workqueue: remove the lock from wq_sysfs_prep_attrs()
        workqueue: remove the declaration of copy_workqueue_attrs()
        workqueue: ensure attrs changes are properly synchronized
        workqueue: separate out and refactor the locking of applying attrs
        workqueue: simplify wq_update_unbound_numa()
        workqueue: wq_pool_mutex protects the attrs-installation
        workqueue: fix a typo
        workqueue: function name in the comment differs from the real function name
        workqueue: fix trivial typo in Documentation/workqueue.txt
        workqueue: Allow modifying low level unbound workqueue cpumask
        workqueue: Create low-level unbound workqueues cpumask
        workqueue: split apply_workqueue_attrs() into 3 stages
      e0dd880a