1. 22 Dec, 2015 1 commit
  2. 18 Dec, 2015 5 commits
  3. 14 Dec, 2015 7 commits
    • Benjamin Marzinski's avatar
      gfs2: clear journal live bit in gfs2_log_flush · 400ac52e
      Benjamin Marzinski authored
      When gfs2 was unmounting filesystems or changing them to read-only it
      was clearing the SDF_JOURNAL_LIVE bit before the final log flush.  This
      caused a race.  If an inode glock got demoted in the gap between
      clearing the bit and the shutdown flush, it would be unable to reserve
      log space to clear out the active items list in inode_go_sync, causing an
      error in inode_go_inval because the glock was still dirty.
      
      To solve this, the SDF_JOURNAL_LIVE bit is now cleared inside the
      shutdown log flush.  This means that, because of the locking on the log
      blocks, either inode_go_sync will be able to reserve space to clean the
      glock before the shutdown flush, or the shutdown flush will clean the
      glock itself, before inode_go_sync fails to reserve the space. Either
      way, the glock will be clean before inode_go_inval.
      Signed-off-by: default avatarBenjamin Marzinski <bmarzins@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      400ac52e
    • Benjamin Marzinski's avatar
      gfs2: change gfs2 readdir cookie · 471f3db2
      Benjamin Marzinski authored
      gfs2 currently returns 31 bits of filename hash as a cookie that readdir
      uses for an offset into the directory.  When there are a large number of
      directory entries, the likelihood of a collision goes up way too
      quickly.  GFS2 will now return cookies that are guaranteed unique for a
      while, and then fail back to using 30 bits of filename hash.
      Specifically, the directory leaf blocks are divided up into chunks based
      on the minimum size of a gfs2 directory entry (48 bytes). Each entry's
      cookie is based off the chunk where it starts, in the linked list of
      leaf blocks that it hashes to (there are 131072 hash buckets). Directory
      entries will have unique names until they take reach chunk 8192.
      Assuming the largest filenames possible, and the least efficient spacing
      possible, this new method will still be able to return unique names when
      the previous method has statistically more than a 99% chance of a
      collision.  The non-unique names it fails back to are guaranteed to not
      collide with the unique names.
      
      unique cookies will be in this format:
      - 1 bit "0" to make sure the the returned cookie is positive
      - 17 bits for the hash table index
      - 1 bit for the mode "0"
      - 13 bits for the offset
      
      non-unique cookies will be in this format:
      - 1 bit "0" to make sure the the returned cookie is positive
      - 17 bits for the hash table index
      - 1 bit for the mode "1"
      - 13 more bits of the name hash
      
      Another benefit of location based cookies, is that once a directory's
      exhash table is fully extended (so that multiple hash table indexs do
      not use the same leaf blocks), gfs2 can skip sorting the directory
      entries until it reaches the non-unique ones, and then it only needs to
      sort these. This provides a significant speed up for directory reads of
      very large directories.
      
      The only issue is that for these cookies to continue to point to the
      correct entry as files are added and removed from the directory, gfs2
      must keep the entries at the same offset in the leaf block when they are
      split (see my previous patch). This means that until all the nodes in a
      cluster are running with code that will split the directory leaf blocks
      this way, none of the nodes can use the new cookie code. To deal with
      this, gfs2 now has the mount option loccookie, which, if set, will make
      it return these new location based cookies.  This option must not be set
      until all nodes in the cluster are at least running this version of the
      kernel code, and you have guaranteed that there are no outstanding
      cookies required by other software, such as NFS.
      
      gfs2 uses some of the extra space at the end of the gfs2_dirent
      structure to store the calculated readdir cookies. This keeps us from
      needing to allocate a seperate array to hold these values.  gfs2
      recomputes the cookie stored in de_cookie for every readdir call.  The
      time it takes to do so is small, and if gfs2 expected this value to be
      saved on disk, the new code wouldn't work correctly on filesystems
      created with an earlier version of gfs2.
      
      One issue with adding de_cookie to the union in the gfs2_dirent
      structure is that it caused the union to align itself to a 4 byte
      boundary, instead of its previous 2 byte boundary. This changed the
      offset of de_rahead. To solve that, I pulled de_rahead out of the union,
      since it does not need to be there.
      Signed-off-by: default avatarBenjamin Marzinski <bmarzins@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      471f3db2
    • Benjamin Marzinski's avatar
      gfs2: keep offset when splitting dir leaf blocks · 34017472
      Benjamin Marzinski authored
      Currently, when gfs2 splits a directory leaf block, the dirents that
      need to be copied to the new leaf block are packed into the start of it.
      This is good for space efficiency. However, if gfs2 were to copy those
      dirents into the exact same offset in the new leaf block as they had in
      the old block, it would be able to generate a readdir cookie based on
      the dirent location, that would be guaranteed to be unique up well past
      where the current code is statistically almost guaranteed to have
      collisions. So, gfs2 now keeps the dirent's offset in the block the
      same when it copies it to the new leaf block.
      Signed-off-by: default avatarBenjamin Marzinski <bmarzins@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      34017472
    • Bob Peterson's avatar
      GFS2: Reintroduce a timeout in function gfs2_gl_hash_clear · 2aba1b5b
      Bob Peterson authored
      At some point in the past, we used to have a timeout when GFS2 was
      unmounting, trying to clear out its glocks. If the timeout expires,
      it would dump the remaining glocks to the kernel messages so that
      developers can debug the problem. That timeout was eliminated,
      probably by accident. This patch reintroduces it.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      2aba1b5b
    • Bob Peterson's avatar
      GFS2: Update master statfs buffer with sd_statfs_spin locked · 901c6c66
      Bob Peterson authored
      Before this patch, function update_statfs called gfs2_statfs_change_out
      to update the master statfs buffer without the sd_statfs_spin held.
      In theory, another process could call gfs2_statfs_sync, which takes
      the sd_statfs_spin lock and re-reads m_sc from the buffer. So there's
      a theoretical timing window in which one process could write the
      master statfs buffer, then another comes along and re-reads it, wiping
      out the changes.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      901c6c66
    • Bob Peterson's avatar
      GFS2: Reduce size of incore inode · b58bf407
      Bob Peterson authored
      This patch makes no functional changes. Its goal is to reduce the
      size of the gfs2 inode in memory by rearranging structures and
      changing the size of some variables within the structure.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      b58bf407
    • Bob Peterson's avatar
      GFS2: Make rgrp reservations part of the gfs2_inode structure · a097dc7e
      Bob Peterson authored
      Before this patch, multi-block reservation structures were allocated
      from a special slab. This patch folds the structure into the gfs2_inode
      structure. The disadvantage is that the gfs2_inode needs more memory,
      even when a file is opened read-only. The advantages are: (a) we don't
      need the special slab and the extra time it takes to allocate and
      deallocate from it. (b) we no longer need to worry that the structure
      exists for things like quota management. (c) This also allows us to
      remove the calls to get_write_access and put_write_access since we
      know the structure will exist.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      a097dc7e
  4. 24 Nov, 2015 1 commit
    • Bob Peterson's avatar
      GFS2: Extract quota data from reservations structure (revert 5407e242) · b54e9a0b
      Bob Peterson authored
      This patch basically reverts the majority of patch 5407e242.
      That patch eliminated the gfs2_qadata structure in favor of just
      using the reservations structure. The problem with doing that is that
      it increases the size of the reservations structure. That is not an
      issue until it comes time to fold the reservations structure into the
      inode in memory so we know it's always there. By separating out the
      quota structure again, we aren't punishing the non-quota users by
      making all the inodes bigger, requiring more slab space. This patch
      creates a new slab area to allocate the quota stuff so it's managed
      a little more sanely.
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      b54e9a0b
  5. 18 Nov, 2015 1 commit
  6. 16 Nov, 2015 3 commits
  7. 10 Nov, 2015 8 commits
    • Abhi Das's avatar
      gfs2: Automatically set GFS2_DIF_SYSTEM flag on system files · acc546fd
      Abhi Das authored
      When new files and directories are created inside a parent directory
      we automatically inherit the GFS2_DIF_SYSTEM flag (if set) and assign
      it to the new file/dirs.
      
      All new system files/dirs created in the metafs by, say gfs2_jadd,
      will have this flag set because they will have parent directories in
      the metafs whose GFS2_DIF_SYSTEM flag has already been set (most likely
      by a previous mkfs.gfs2)
      Signed-off-by: default avatarAbhi Das <adas@redhat.com>
      Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
      acc546fd
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 42d4ebb4
      Linus Torvalds authored
      Pull watchdog update from Wim Van Sebroeck:
      
       - New driver for Broadcom 7038 Set-Top Box
       - imx2_wdt: Use register definition in regmap_write()
       - intel-mid: add Magic Closure flag
       - watchdog framework improvements:
            - Use device tree alias for naming watchdogs
            - propagate ping error code to the user space
            - Always evaluate new timeout against min_timeout
            - Use single variable name for struct watchdog_device
       - include clean-ups
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: include: add units for timeout values in kerneldoc
        watchdog: include: fix some typos
        watchdog: core: propagate ping error code to the user space
        watchdog: watchdog_dev: Use single variable name for struct watchdog_device
        watchdog: Always evaluate new timeout against min_timeout
        watchdog: intel-mid: add Magic Closure flag
        watchdog: imx2_wdt: Use register definition in regmap_write()
        watchdog: watchdog_dev: Use device tree alias for naming watchdogs
        watchdog: Watchdog driver for Broadcom Set-Top Box
        watchdog: bcm7038: add device tree binding documentation
      42d4ebb4
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 6aabef68
      Linus Torvalds authored
      Pull tiny hwmon update from Jean Delvare.
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (k10temp) Remove duplicate pci-id define
      6aabef68
    • Linus Torvalds's avatar
      Merge tag 'ntb-4.4' of git://github.com/jonmason/ntb · 1eb196c3
      Linus Torvalds authored
      Pull NTB bugfixes from Jon Mason:
       "NTB Bug fixes for potential NULL pointer accesses, accesses of a freed
        pointer, invalid buffer pointer, and a compiler warning.
      
        Also, unification of upstream/downstream addresses"
      
      * tag 'ntb-4.4' of git://github.com/jonmason/ntb:
        NTB: fix 32-bit compiler warning
        NTB: unify translation addresses
        NTB: invalid buf pointer in multi-MW setups
        NTB: remove unused variable
        NTB: fix access of free-ed pointer
        NTB: Fix issue where we may be accessing NULL ptr
      1eb196c3
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 041c7951
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "This time we have a very typical update which is mostly fixes and
        updates to drivers and no new drivers.
      
         - the biggest change is coming from Peter for edma cleanup which even
           caused some last minute regression, things seem settled now
         - idma64 and dw updates
         - iotdma updates
         - module autoload fixes for various drivers
         - scatter gather support for hdmac"
      
      * tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (77 commits)
        dmaengine: edma: Add dummy driver skeleton for edma3-tptc
        Revert "ARM: DTS: am33xx: Use the new DT bindings for the eDMA3"
        Revert "ARM: DTS: am437x: Use the new DT bindings for the eDMA3"
        dmaengine: dw: some Intel devices has no memcpy support
        dmaengine: dw: platform: provide platform data for Intel
        dmaengine: dw: don't override platform data with autocfg
        dmaengine: hdmac: Add scatter-gathered memset support
        dmaengine: hdmac: factorise memset descriptor allocation
        dmaengine: virt-dma: Fix kernel-doc annotations
        ARM: DTS: am437x: Use the new DT bindings for the eDMA3
        ARM: DTS: am33xx: Use the new DT bindings for the eDMA3
        dmaengine: edma: New device tree binding
        dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP
        dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx
        dmaengine: edma: Merge the of parsing functions
        dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot
        dmaengine: edma: Refactor the dma device and channel struct initialization
        dmaengine: edma: Get qDMA channel information from HW also
        dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq
        dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_)
        ...
      041c7951
    • Linus Torvalds's avatar
      Merge tag 'rtc-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 7d884710
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Core:
         - Fix rtctest error path
      
        New drivers:
         - Microcrystal RV8803
      
        Subsystem wide cleanups:
         - remove misuse of IRQF_NO_SUSPEND flag
      
        Drivers:
         - at91rm9200: clear RTC alarm status flag prior to suspending
         - davinci: remove incorrect reference to probe function
         - ds1307: Fix alarm programming for mcp794xx
         - ds1390: trickle charger support, fix ds1390_get_reg
         - isl1208: Pass the IRQF_ONESHOT flag
         - opal: fix type of token
         - pcf2127: fix RTC_READ_VL, remove useless driver version
         - pcf85063: return an error when date is invalid
         - pcf8563: add CLKOUT to common clock framework
         - rx8025: remove unnecessary braces
         - s3c: Set year, month, day value for setting alarm
         - stmp3xxx: unify register access macros
         - License fixes: pcf2127, da9063
         - wakeup-source support for isl12057 and opal"
      
      * tag 'rtc-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (23 commits)
        rtc: Add a driver for Micro Crystal RV8803
        rtc: s3c: Set year, month, day value for setting alarm
        rtc: ds1307: Fix alarm programming for mcp794xx
        rtc: isl12057: enable support for the standard "wakeup-source" property
        rtc: opal: enable support for the stardard "wakeup-source" property
        rtc: isl1208: Pass the IRQF_ONESHOT flag
        rtc: pcf8563: add CLKOUT to common clock framework
        rtc: davinci: remove incorrect reference to probe function
        rtc: at91rm9200: clear RTC alarm status flag prior to suspending
        rtc: pcf2127: remove useless driver version
        rtc: pcf2127: fix reading uninitialized value on RTC_READ_VL ioctl
        rtc: stmp3xxx: unify register access macros
        rtc: da9063: GPL copyright inconsistency fix
        rtc: pcf85063: return an error when date is invalid
        rtc: rx8025: remove unnecessary braces
        rtc: ds1343: remove misuse of IRQF_NO_SUSPEND flag
        rtc: ab8500: remove misuse of IRQF_NO_SUSPEND flag
        rtc: pl031: remove misuse of IRQF_NO_SUSPEND flag
        rtc: opal: fix type of token
        rtc: ds1390: Add trickle charger device tree binding
        ...
      7d884710
    • Linus Torvalds's avatar
      Merge tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 3b138668
      Linus Torvalds authored
      Pull fbdev updates from Tomi Valkeinen:
       - omap: fix hdmi audio configuration issue
       - ssd1307fb: add ssd1309 support
       - tridentfb: support DDC
       - gxt4500: enable support for non-PPC platforms
      
      * tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
        radeonfb: Deinline large functions
        gxt4500: enable panning
        gxt4500: Use arch_phys_wc_* for framebuffer
        gxt4500: fix color order
        gxt4500: fix 16bpp 565 mode
        gxt4500: enable on non-PPC architectures
        tridentfb: Add DDC support
        fb_ddc: Allow I2C adapters without SCL read capability
        fbdev: ssd1307fb: add ssd1309 support
        fbdev: ssd1307fb: alphabetize headers
        video/omap: remove invalid check
        OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled
      3b138668
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 3e82806b
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "I Was Almost Tempted To Capitalise Every Word, but then I decided I
        couldn't read it myself!
      
        I've also got one pull request for the sti driver outstanding.  It
        relied on a commit in Greg's tree and I didn't find out in time, that
        commit is in your tree now so I might send that along once this is
        merged.
      
        I also had the accidental misfortune to have access to a Skylake on my
        desk for a few days, and I've had to encourage Intel to try harder,
        which seems to be happening now.
      
        Here is the main drm-next pull request for 4.4.
      
        Highlights:
      
        New driver:
              vc4 driver for the Rasberry Pi VPU.
              (From Eric Anholt at Broadcom.)
      
        Core:
              Atomic fbdev support
              Atomic helpers for runtime pm
              dp/aux i2c STATUS_UPDATE handling
              struct_mutex usage cleanups.
              Generic of probing support.
      
        Documentation:
              Kerneldoc for VGA switcheroo code.
              Rename to gpu instead of drm to reflect scope.
      
        i915:
              Skylake GuC firmware fixes
              HPD A support
              VBT backlight fallbacks
              Fastboot by default for some systems
              FBC work
              BXT/SKL workarounds
              Skylake deeper sleep state fixes
      
        amdgpu:
              Enable GPU scheduler by default
              New atombios opcodes
              GPUVM debugging options
              Stoney support.
              Fencing cleanups.
      
        radeon:
              More efficient CS checking
      
        nouveau:
              gk20a instance memory handling improvements.
              Improved PGOB detection and GK107 support
              Kepler GDDR5 PLL statbility improvement
              G8x/GT2xx reclock improvements
              new userspace API compatiblity fixes.
      
        virtio-gpu:
              Add 3D support - qemu 2.5 has it merged for it's gtk backend.
      
        msm:
              Initial msm88896 (snapdragon 8200)
      
        exynos:
              HDMI cleanups
              Enable mixer driver byt default
              Add DECON-TV support
      
        vmwgfx:
              Move to using memremap + fixes.
      
        rcar-du:
              Add support for R8A7793/4 DU
      
        armada:
              Remove support for non-component mode
              Improved plane handling
              Power savings while in DPMS off.
      
        tda998x:
              Remove unused slave encoder support
              Use more HDMI helpers
              Fix EDID read handling
      
        dwhdmi:
              Interlace video mode support for ipu-v3/dw_hdmi
              Hotplug state fixes
              Audio driver integration
      
        imx:
              More color formats support.
      
        tegra:
              Minor fixes/improvements"
      
      [ Merge fixup: remove unused variable 'dev' that had all uses removed in
        commit 4e270f08: "drm/gem: Drop struct_mutex requirement from
        drm_gem_mmap_obj" ]
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (764 commits)
        drm/vmwgfx: Relax irq locking somewhat
        drm/vmwgfx: Properly flush cursor updates and page-flips
        drm/i915/skl: disable display side power well support for now
        drm/i915: Extend DSL readout fix to BDW and SKL.
        drm/i915: Do graphics device reset under forcewake
        drm/i915: Skip fence installation for objects with rotated views (v4)
        vga_switcheroo: Drop client power state VGA_SWITCHEROO_INIT
        drm/amdgpu: group together common fence implementation
        drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE
        drm/amdgpu: remove now unused fence functions
        drm/amdgpu: fix fence fallback check
        drm/amdgpu: fix stoping the scheduler timeout
        drm/amdgpu: cleanup on error in amdgpu_cs_ioctl()
        drm/i915: Fix locking around GuC firmware load
        drm/amdgpu: update Fiji's Golden setting
        drm/amdgpu: update Fiji's rev id
        drm/amdgpu: extract common code in vi_common_early_init
        drm/amd/scheduler: don't oops on failure to load
        drm/amdgpu: don't oops on failure to load (v2)
        drm/amdgpu: don't VT switch on suspend
        ...
      3e82806b
  8. 09 Nov, 2015 14 commits
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · bd4f203e
      Linus Torvalds authored
      Merge third patch-bomb from Andrew Morton:
       "We're pretty much done over here - I'm still waiting for a nouveau
        merge so I can cleanly finish up Christoph's dma-mapping rework.
      
         - bunch of small misc stuff
      
         - fold abs64() into abs(), remove abs64()
      
         - new_valid_dev() cleanups
      
         - binfmt_elf_fdpic feature work"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (24 commits)
        fs/binfmt_elf_fdpic.c: provide NOMMU loader for regular ELF binaries
        fs/stat.c: remove unnecessary new_valid_dev() check
        fs/reiserfs/namei.c: remove unnecessary new_valid_dev() check
        fs/nilfs2/namei.c: remove unnecessary new_valid_dev() check
        fs/ncpfs/dir.c: remove unnecessary new_valid_dev() check
        fs/jfs: remove unnecessary new_valid_dev() checks
        fs/hpfs/namei.c: remove unnecessary new_valid_dev() check
        fs/f2fs/namei.c: remove unnecessary new_valid_dev() check
        fs/ext2/namei.c: remove unnecessary new_valid_dev() check
        fs/exofs/namei.c: remove unnecessary new_valid_dev() check
        fs/btrfs/inode.c: remove unnecessary new_valid_dev() check
        fs/9p: remove unnecessary new_valid_dev() checks
        include/linux/kdev_t.h: old/new_valid_dev() can return bool
        include/linux/kdev_t.h: remove unused huge_valid_dev()
        kmap_atomic_to_page() has no users, remove it
        drivers/scsi/cxgbi: fix build with EXTRA_CFLAGS
        dma: remove external references to dma_supported
        Documentation/sysctl/vm.txt: fix misleading code reference of overcommit_memory
        remove abs64()
        kernel.h: make abs() work with 64-bit types
        ...
      bd4f203e
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.4-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · e6604ecb
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        New features:
         - RDMA client backchannel from Chuck
         - Support for NFSv4.2 file CLONE using the btrfs ioctl
      
        Bugfixes + cleanups:
         - Move socket data receive out of the bottom halves and into a
           workqueue
         - Refactor NFSv4 error handling so synchronous and asynchronous RPC
           handles errors identically.
         - Fix a panic when blocks or object layouts reads return a bad data
           length
         - Fix nfsroot so it can handle a 1024 byte long path.
         - Fix bad usage of page offset in bl_read_pagelist
         - Various NFSv4 callback cleanups+fixes
         - Fix GETATTR bitmap verification
         - Support hexadecimal number for sunrpc debug sysctl files"
      
      * tag 'nfs-for-4.4-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (53 commits)
        Sunrpc: Supports hexadecimal number for sysctl files of sunrpc debug
        nfs: Fix GETATTR bitmap verification
        nfs: Remove unused xdr page offsets in getacl/setacl arguments
        fs/nfs: remove unnecessary new_valid_dev check
        SUNRPC: fix variable type
        NFS: Enable client side NFSv4.1 backchannel to use other transports
        pNFS/flexfiles: Add support for FF_FLAGS_NO_IO_THRU_MDS
        pNFS/flexfiles: When mirrored, retry failed reads by switching mirrors
        SUNRPC: Remove the TCP-only restriction in bc_svc_process()
        svcrdma: Add backward direction service for RPC/RDMA transport
        xprtrdma: Handle incoming backward direction RPC calls
        xprtrdma: Add support for sending backward direction RPC replies
        xprtrdma: Pre-allocate Work Requests for backchannel
        xprtrdma: Pre-allocate backward rpc_rqst and send/receive buffers
        SUNRPC: Abstract backchannel operations
        xprtrdma: Saving IRQs no longer needed for rb_lock
        xprtrdma: Remove reply tasklet
        xprtrdma: Use workqueue to process RPC/RDMA replies
        xprtrdma: Replace send and receive arrays
        xprtrdma: Refactor reply handler error handling
        ...
      e6604ecb
    • Linus Torvalds's avatar
      Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 9d74288c
      Linus Torvalds authored
      Pull gfs2 updates from Bob Peterson:
       "Here is a list of patches we've accumulated for GFS2 for the current
        upstream merge window.  There are only six patches this time:
      
         1. A cleanup patch from Andreas to remove the gl_spin #define in favor
            of its value for the sake of clarity.
         2. A fix from Andy Price to mark the inode dirty during fallocate.
         3. A fix from Andy Price to set s_mode on mount failures to prevent a
            stack trace.
         4  A patch from me to prevent a kernel BUG() in trans_add_meta/trans_add_data
            due to uninitialized storage.
         5. A patch from me to protecting our freeing of the in-core directory
            hash table to prevent double-free.
         6. A fix for a page/block rounding problem that resulted in a metadata
            coherency problem when the block size != page size"
      
        I've got a lot more patches in various stages of review and testing,
        but I'm afraid they'll have to wait until the next merge window.  So
        next time we're likely to have a lot more"
      
      * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        GFS2: Fix rgrp end rounding problem for bsize < page size
        GFS2: Protect freeing directory hash table with i_lock spin_lock
        gfs2: Remove gl_spin define
        gfs2: Add missing else in trans_add_meta/data
        GFS2: Set s_mode before parsing mount options
        GFS2: fallocate: do not rely on file_update_time to mark the inode dirty
      9d74288c
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 123a28d8
      Linus Torvalds authored
      Pull ext2 fix from Jan Kara:
       "Fix for DAX on ext2"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Add locking for DAX faults
      123a28d8
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 373ee21e
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "We have two patches in here:
      
         - The parisc uapi headers have been screwed up since quite some time.
           This patch fixes some bugs (e.g. endianess not respected in
           compat_semid64_ds) and cleans them up (e.g. uid_t was used instead
           of __kernel_uid_t) so that they can be used by userspace again.
           This patch has been reviewed by Arnd Bergmann and is scheduled for
           stable kernel series.
      
         - Drop the hpux_stat64 struct from stat.h, we do not support HP-UX
           binaries since kernel 4.0"
      
      * 'parisc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fixes and cleanups in kernel uapi header files
        parisc: Drop hpux_stat64 struct from stat.h header file
      373ee21e
    • Linus Torvalds's avatar
      Merge tag 'nios2-v4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 · f4d68930
      Linus Torvalds authored
      Pull nios2 updates from Ley Foon Tan:
      
       - nios2: Remove unnecessary #ifdef guards
       - nios2: Switch to generic __xchg()
       - nios2: Fix unused variable warning
      
      * tag 'nios2-v4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2:
        nios2: Remove unnecessary #ifdef guards
        nios2: Switch to generic __xchg()
        nios2: Fix unused variable warning
      f4d68930
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20151108' of git://github.com/czankel/xtensa-linux · 3510ca19
      Linus Torvalds authored
      Pull xtensa updates from Chris Zankel:
      
       - fix remaining issues with noMMU cores
       - fix build for cores w/o cache or zero overhead loop options
       - fix boot of secondary cores in SMP configuration
       - add support for DMA to high memory pages
       - add dma_to_phys and phys_to_dma functions.
      
      * tag 'xtensa-20151108' of git://github.com/czankel/xtensa-linux:
        xtensa: implement dma_to_phys and phys_to_dma
        xtensa: support DMA to high memory
        Revert "xtensa: cache inquiry and unaligned cache handling functions"
        xtensa: drop unused sections and remapped reset handlers
        xtensa: fix secondary core boot in SMP
        xtensa: add FORCE_MAX_ZONEORDER to Kconfig
        xtensa: nommu: provide defconfig for de212 on kc705
        xtensa: nommu: xtfpga: add kc705 DTS
        xtensa: add de212 core variant
        xtensa: nommu: select HAVE_FUTEX_CMPXCHG
        xtensa: nommu: fix default memory start address
        xtensa: nommu: provide correct KIO addresses
        xtensa: nommu: fix USER_RING definition
        xtensa: xtfpga: fix integer overflow in TASK_SIZE
        xtensa: fix build for configs without cache options
        xtensa: fixes for configs without loop option
      3510ca19
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · e4da7e9a
      Linus Torvalds authored
      Pull m68knommu/coldfire fix from Greg Ungerer:
       "Only a single patch, fixes brk area setup problem in nommu
        environments"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        fs/binfmt_elf_fdpic.c: fix brk area overlap with stack on NOMMU
      e4da7e9a
    • Linus Torvalds's avatar
      Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 50c36504
      Linus Torvalds authored
      Pull module updates from Rusty Russell:
       "Nothing exciting, minor tweaks and cleanups"
      
      * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        scripts: [modpost] add new sections to white list
        modpost: Add flag -E for making section mismatches fatal
        params: don't ignore the rest of cmdline if parse_one() fails
        modpost: abort if a module symbol is too long
      50c36504
    • Rich Felker's avatar
      fs/binfmt_elf_fdpic.c: provide NOMMU loader for regular ELF binaries · 1bde925d
      Rich Felker authored
      The ELF binary loader in binfmt_elf.c requires an MMU, making it
      impossible to use regular ELF binaries on NOMMU archs.  However, the FDPIC
      ELF loader in binfmt_elf_fdpic.c is fully capable as a loader for plain
      ELF, which requires constant displacements between LOAD segments, since it
      already supports FDPIC ELF files flagged as needing constant displacement.
      
      This patch adjusts the FDPIC ELF loader to accept non-FDPIC ELF files on
      NOMMU archs.  They are treated identically to FDPIC ELF files with the
      constant-displacement flag bit set, except for personality, which must
      match the ABI of the program being loaded; the PER_LINUX_FDPIC personality
      controls how the kernel interprets function pointers passed to sigaction.
      
      Files that do not set a stack size requirement explicitly are given a
      default stack size (matching the amount of committed stack the normal ELF
      loader for MMU archs would give them) rather than being rejected; this is
      necessary because plain ELF files generally do not declare stack
      requirements in theit program headers.
      
      Only ET_DYN (PIE) format ELF files are supported, since loading at a fixed
      virtual address is not possible on NOMMU.
      
      This patch was developed and tested on J2 (SH2-compatible) but should
      be usable immediately on all archs where binfmt_elf_fdpic is
      available. Moreover, by providing dummy definitions of the
      elf_check_fdpic() and elf_check_const_displacement() macros for archs
      which lack an FDPIC ABI, it should be possible to enable building of
      binfmt_elf_fdpic on all other NOMMU archs and thereby give them ELF
      binary support, but I have not yet tested this.
      
      The motivation for using binfmt_elf_fdpic.c rather than adapting
      binfmt_elf.c to NOMMU is that the former already has all the necessary
      code to work properly on NOMMU and has already received widespread
      real-world use and testing. I hope this is not controversial.
      
      I'm not really happy with having to unset the FDPIC_FUNCPTRS
      personality bit when loading non-FDPIC ELF. This bit should really
      reset automatically on execve, since otherwise, executing non-ELF
      binaries (e.g. bFLT) from an FDPIC process will leave the personality
      in the wrong state and severely break signal handling. But that's a
      separate, existing bug and I don't know the right place to fix it.
      Signed-off-by: default avatarRich Felker <dalias@libc.org>
      Acked-by: default avatarGreg Ungerer <gerg@uclinux.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Matt Mackall <mpm@selenic.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Oleg Endo <oleg.endo@t-online.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1bde925d
    • Yaowei Bai's avatar
      fs/stat.c: remove unnecessary new_valid_dev() check · 28f65708
      Yaowei Bai authored
      new_valid_dev() always returns 1, so the !new_valid_dev() check is not
      needed.  Remove it.
      Signed-off-by: default avatarYaowei Bai <bywxiaobai@163.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      28f65708
    • Yaowei Bai's avatar
      fs/reiserfs/namei.c: remove unnecessary new_valid_dev() check · 3cc5d9a9
      Yaowei Bai authored
      new_valid_dev() always returns 1, so the !new_valid_dev() check is not
      needed.  Remove it.
      Signed-off-by: default avatarYaowei Bai <bywxiaobai@163.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3cc5d9a9
    • Yaowei Bai's avatar
      fs/nilfs2/namei.c: remove unnecessary new_valid_dev() check · 3348a172
      Yaowei Bai authored
      new_valid_dev() always returns 1, so the !new_valid_dev() check is not
      needed.  Remove it.
      Signed-off-by: default avatarYaowei Bai <bywxiaobai@163.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Acked-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3348a172
    • Yaowei Bai's avatar
      fs/ncpfs/dir.c: remove unnecessary new_valid_dev() check · 4467e29f
      Yaowei Bai authored
      new_valid_dev() always returns 1, so the !new_valid_dev() check is not
      needed.  Remove it.
      Signed-off-by: default avatarYaowei Bai <bywxiaobai@163.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Petr Vandrovec <petr@vandrovec.name>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Jens Axboe <axboe@fb.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Fabian Frederick <fabf@skynet.be>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4467e29f