1. 06 9月, 2013 11 次提交
    • M
      gfs2: use check_submounts_and_drop() · 1191a2bd
      Miklos Szeredi 提交于
      Do have_submounts(), shrink_dcache_parent() and d_drop() atomically.
      
      check_submounts_and_drop() can deal with negative dentries and
      non-directories as well.
      
      Non-directories can also be mounted on.  And just like directories we don't
      want these to disappear with invalidation.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      CC: Steven Whitehouse <swhiteho@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1191a2bd
    • M
      afs: use check_submounts_and_drop() · ba812380
      Miklos Szeredi 提交于
      Do have_submounts(), shrink_dcache_parent() and d_drop() atomically.
      
      check_submounts_and_drop() can deal with negative dentries as well.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      CC: David Howells <dhowells@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ba812380
    • M
      vfs: check unlinked ancestors before mount · eed81007
      Miklos Szeredi 提交于
      We check submounts before doing d_drop() on a non-empty directory dentry in
      NFS (have_submounts()), but we do not exclude a racing mount.  Nor do we
      prevent mounts to be added to the disconnected subtree using relative paths
      after the d_drop().
      
      This patch fixes these issues by checking for unlinked (unhashed, non-root)
      ancestors before proceeding with the mount.  This is done with rename
      seqlock taken for write and with ->d_lock grabbed on each ancestor in turn,
      including our dentry itself.  This ensures that the only one of
      check_submounts_and_drop() or has_unlinked_ancestor() can succeed.
      Signed-off-by: NMiklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      eed81007
    • M
      vfs: check submounts and drop atomically · 848ac114
      Miklos Szeredi 提交于
      We check submounts before doing d_drop() on a non-empty directory dentry in
      NFS (have_submounts()), but we do not exclude a racing mount.
      
       Process A: have_submounts() -> returns false
       Process B: mount() -> success
       Process A: d_drop()
      
      This patch prepares the ground for the fix by doing the following
      operations all under the same rename lock:
      
        have_submounts()
        shrink_dcache_parent()
        d_drop()
      
      This is actually an optimization since have_submounts() and
      shrink_dcache_parent() both traverse the same dentry tree separately.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      CC: David Howells <dhowells@redhat.com>
      CC: Steven Whitehouse <swhiteho@redhat.com>
      CC: Trond Myklebust <Trond.Myklebust@netapp.com>
      CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      848ac114
    • M
      vfs: add d_walk() · db14fc3a
      Miklos Szeredi 提交于
      This one replaces three instances open coded tree walking (have_submounts,
      select_parent, d_genocide) with a common helper.
      
      In addition to slightly reducing the kernel size, this simplifies the
      callers and makes them less bug prone.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      db14fc3a
    • M
      vfs: restructure d_genocide() · 01ddc4ed
      Miklos Szeredi 提交于
      It shouldn't matter when we decrement the refcount during the walk as long
      as we do it exactly once.
      
      Restructure d_genocide() to do the killing on entering the dentry instead
      of when leaving it.  This helps creating a common helper for tree walking.
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      01ddc4ed
    • L
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · a09e9a7a
      Linus Torvalds 提交于
      Pull drm tree changes from Dave Airlie:
       "This is the main drm pull request, I have some overlap with sound and
        arm-soc, the sound patch is acked and may conflict based on -next
        reports but should be a trivial fixup, which I'll leave to you!
      
        Highlights:
      
         - new drivers:
      
           MSM driver from Rob Clark
      
         - non-drm:
      
           switcheroo and hdmi audio driver support for secondary GPU
           poweroff, so drivers can use runtime PM to poweroff the GPUs.  This
           can save 5 or 6W on some optimus laptops.
      
         - drm core:
      
           combined GEM and TTM VMA manager
           per-filp mmap permission tracking
           initial rendernode support (via a runtime enable for now, until we get api stable),
           remove old proc support,
           lots of cleanups of legacy code
           hdmi vendor infoframes and 4k modes
           lots of gem/prime locking and races fixes
           async pageflip scaffolding
           drm bridge objects
      
         - i915:
      
           Haswell PC8+ support and eLLC support, HDMI 4K support, initial
           per-process VMA pieces, watermark reworks, convert to generic hdmi
           infoframes, encoder reworking, fastboot support,
      
         - radeon:
      
           CIK PM support, remove 3d blit code in favour of DMA engines,
           Berlin GPU support, HDMI audio fixes
      
         - nouveau:
      
           secondary GPU power down support for optimus laptops, lots of
           fixes, use MSI, VP3 engine support
      
         - exynos:
      
           runtime pm support for g2d, DT support, remove non-DT,
      
         - tda998x i2c driver:
      
           lots of fixes for sync issues
      
         - gma500:
      
           lots of cleanups
      
         - rcar:
      
           add LVDS support, fbdev emulation,
      
         - tegra:
      
           just minor fixes"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (684 commits)
        drm/exynos: Fix build error with exynos_drm_connector.c
        drm/exynos: Remove non-DT support in exynos_drm_fimd
        drm/exynos: Remove non-DT support in exynos_hdmi
        drm/exynos: Remove non-DT support in exynos_drm_g2d
        drm/exynos: Remove non-DT support in exynos_hdmiphy
        drm/exynos: Remove non-DT support in exynos_ddc
        drm/exynos: Make Exynos DRM drivers depend on OF
        drm/exynos: Consider fallback option to allocation fail
        drm/exynos: fimd: move platform data parsing to separate function
        drm/exynos: fimd: get signal polarities from device tree
        drm/exynos: fimd: replace struct fb_videomode with videomode
        drm/exynos: check a pixel format to a particular window layer
        drm/exynos: fix fimd pixel format setting
        drm/exynos: Add NULL pointer check
        drm/exynos: Remove redundant error messages
        drm/exynos: Add missing of.h header include
        drm/exynos: Remove redundant NULL check in exynos_drm_buf
        drm/exynos: add device tree support for rotator
        drm/exynos: Add missing includes
        drm/exynos: add runtime pm interfaces to g2d driver
        ...
      a09e9a7a
    • L
      Merge tag 'fbdev-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 9ab073bc
      Linus Torvalds 提交于
      Pull fbdev changes from Tomi Valkeinen:
       - Improvements to da8xx-fb to make it support v2 of the LCDC IP, used
         eg in BeagleBone
       - Himax HX8369 controller support
       - Various small fixes and cleanups
      
      * tag 'fbdev-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (42 commits)
        video: da8xx-fb: fix the polarities of the hsync/vsync pulse
        video: da8xx-fb: support lcdc v2 timing register expansion
        video: da8xx-fb: fixing timing off by one errors
        video: da8xx-fb fixing incorrect porch mappings
        video: xilinxfb: replace devm_request_and_ioremap by devm_ioremap_resource
        fbmem: move EXPORT_SYMBOL annotation next to symbol declarations
        drivers: video: fbcmap: remove the redundency and incorrect checkings
        video: mxsfb: simplify use of devm_ioremap_resource
        Release efifb's colormap in efifb_destroy()
        at91/avr32/atmel_lcdfb: prepare clk before calling enable
        video: exynos: Ensure definitions match prototypes
        OMAPDSS: fix WARN_ON in 'alpha_blending_enabled' sysfs file
        OMAPDSS: HDMI: Fix possible NULL reference
        video: da8xx-fb: adding am33xx as dependency
        video: da8xx-fb: let compiler decide what to inline
        video: da8xx-fb: make clock naming consistent
        video: da8xx-fb: set upstream clock rate (if reqd)
        video: da8xx-fb: reorganize panel detection
        video: da8xx-fb: ensure non-null cfg in pdata
        video: da8xx-fb: use devres
        ...
      9ab073bc
    • L
      Merge tag 'fbdev-3.12-omap-legacy-removal' of... · eced5a0a
      Linus Torvalds 提交于
      Merge tag 'fbdev-3.12-omap-legacy-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
      
      Pull OMAP specific fbdev changes from Tomi Valkeinen:
       "I've got this pull request separate from the main fbdev pull request,
        as this contains a bunch of OMAP board file changes and thus could
        possibly be rejected in case of bad conflicts.
      
        The removal of the old display drivers depend on the board file
        changes, so Tony Lindgren suggested taking them together via fbdev
        tree.  These are in linux-next, and also Tony didn't see any conflicts
        with any of the branches he had, so they should go in clean.
      
         - Change the OMAP board files to use the new OMAP display drivers
      
         - Remove all the old drivers, and the related auxiliary code"
      
      * tag 'fbdev-3.12-omap-legacy-removal' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (35 commits)
        OMAPDSS: rename omap_dss_device's 'device' field to 'dst'
        OMAPDSS: rename omap_dss_device's 'output' to 'src'
        OMAPDSS: DSS: remove legacy dss bus support
        OMAPDSS: RFBI: remove code related to old panel model
        OMAPDSS: VENC: remove code related to old panel model
        OMAPDSS: SDI: remove code related to old panel model
        OMAPDSS: DSI: remove code related to old panel model
        OMAPDSS: HDMI: remove code related to old panel model
        OMAPDSS: DPI: remove code related to old panel model
        OMAPDSS: remove all old panel drivers
        OMAPDSS: DPI: change regulator handling
        OMAPDSS: SDI: change regulator handling
        OMAPDSS: fix DPI and SDI device ids
        OMAPDSS: remove omap_dss_device->channel field
        OMAPDSS: RFBI: Mark RFBI as broken
        ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig
        ARM: OMAP: AM3517EVM: use new display drivers
        ARM: OMAP: Zoom: use new display drivers
        ARM: OMAP: Pandora: use new display drivers
        ARM: OMAP: OMAP3EVM: use new display drivers
        ...
      eced5a0a
    • L
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 7c049d08
      Linus Torvalds 提交于
      Pull main batch of InfiniBand/RDMA changes from Roland Dreier:
       - Large ocrdma HW driver update: add "fast register" work requests,
         fixes, cleanups
       - Add receive flow steering support for raw QPs
       - Fix IPoIB neighbour race that leads to crash
       - iSER updates including support for using "fast register" memory
         registration
       - IPv6 support for iWARP
       - XRC transport fixes
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (54 commits)
        RDMA/ocrdma: Fix compiler warning about int/pointer size mismatch
        IB/iser: Fix redundant pointer check in dealloc flow
        IB/iser: Fix possible memory leak in iser_create_frwr_pool()
        IB/qib: Move COUNTER_MASK definition within qib_mad.h header guards
        RDMA/ocrdma: Fix passing wrong opcode to modify_srq
        RDMA/ocrdma: Fill PVID in UMC case
        RDMA/ocrdma: Add ABI versioning support
        RDMA/ocrdma: Consider multiple SGES in case of DPP
        RDMA/ocrdma: Fix for displaying proper link speed
        RDMA/ocrdma: Increase STAG array size
        RDMA/ocrdma: Dont use PD 0 for userpace CQ DB
        RDMA/ocrdma: FRMA code cleanup
        RDMA/ocrdma: For ERX2 irrespective of Qid, num_posted offset is 24
        RDMA/ocrdma: Fix to work with even a single MSI-X vector
        RDMA/ocrdma: Remove the MTU check based on Ethernet MTU
        RDMA/ocrdma: Add support for fast register work requests (FRWR)
        RDMA/ocrdma: Create IRD queue fix
        IB/core: Better checking of userspace values for receive flow steering
        IB/mlx4: Add receive flow steering support
        IB/core: Export ib_create/destroy_flow through uverbs
        ...
      7c049d08
    • L
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 00341b53
      Linus Torvalds 提交于
      Pull i2c updates from Wolfram Sang:
       "Highlights:
      
         - OF and ACPI helpers are now included in the core, and not in
           external files anymore.  This removes dependency problems for
           modules and is cleaner, in general.
         - mv64xxx-driver gains fifo usage to support mv78230
         - imx-driver overhaul to support VF610
         - various cleanups, most notably related to devm_* and CONFIG_PM
           usage
         - driver bugfixes and smaller feature additions"
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (51 commits)
        i2c: rcar: add rcar-H2 support
        i2c: sirf: retry 3 times as sometimes we get random noack and timeout
        i2c: sirf: support reverse direction of address
        i2c: sirf: fix the typo for setting bitrate to less than 100k
        i2c: sirf: we need to wait I2C_RESET status in resume
        i2c: sirf: reset i2c controller early after we get a noack
        i2c: designware: get SDA hold time, HCNT and LCNT configuration from ACPI
        i2c: designware: make HCNT/LCNT values configurable
        i2c: mpc: cleanup clock API use
        i2c: pnx: fix error return code in i2c_pnx_probe()
        i2c: ismt: add error return code in probe()
        i2c: mv64xxx: fix typo in binding documentation
        i2c: imx: use exact SoC revision to document binding
        i2c: move ACPI helpers into the core
        i2c: move OF helpers into the core
        i2c: mv64xxx: Fix timing issue on Armada XP (errata FE-8471889)
        i2c: mv64xxx: Add I2C Transaction Generator support
        i2c: powermac: fix return path on error
        Documentation: i2c: Fix example in instantiating-devices
        i2c: tiny-usb: do not use stack as URB transfer_buffer
        ...
      00341b53
  2. 05 9月, 2013 29 次提交