1. 09 1月, 2012 25 次提交
    • A
      btrfs: consolidate failure exits in btrfs_mount() a bit · 59553edf
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      59553edf
    • A
      btrfs: make free_fs_info() call ->kill_sb() unconditional · d22ca7de
      Al Viro 提交于
      ... and don't bother with it after btrfs_fill_super() failure -
      ->kill_sb() (unlike ->put_super()) will be called even if we
      have not got non-NULL ->s_root.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d22ca7de
    • A
      btrfs: merge free_fs_info() calls on fill_super failures · be7e0950
      Al Viro 提交于
      ... all the way up into btrfs_mount().
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      be7e0950
    • A
      btrfs: kill pointless reassignment of ->s_fs_info in btrfs_fill_super() · 29db78aa
      Al Viro 提交于
      We do not (fortunately) modify ->s_fs_info of superblock on the fly in
      btrfs_fill_super(); apparent assignment is a no-op.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      29db78aa
    • A
      btrfs: make open_ctree() return int · ad2b2c80
      Al Viro 提交于
      It returns either ERR_PTR(-ve) or sb->s_fs_info.  The latter can
      be found by caller just as well, TYVM, no need to return it.  Just
      return -ve or 0...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ad2b2c80
    • A
      btrfs: sanitizing ->fs_info, part 5 · e3029d9f
      Al Viro 提交于
      close_ctree() uses a weird mix of accesses to root->fs_info and
      its value at the beginning of function stored in local variable.
      Since ->fs_info *never* changes, let's just use the local variable
      to avoid confusion.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      e3029d9f
    • A
      btrfs: sanitizing ->fs_info, part 4 · 6f07e42e
      Al Viro 提交于
      A new helper: btrfs_alloc_root(fs_info); allocates btrfs_root
      and sets ->fs_info.  All places allocating the suckers converted
      to it.  At that point we *never* reassign ->fs_info of btrfs_root;
      it's set before anyone sees the address of newly allocated
      struct btrfs_root and never assigned anywhere else.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      6f07e42e
    • A
      btrfs: sanitizing ->fs_info, part 3 · 38a77db4
      Al Viro 提交于
      move assignments to ->fs_info in open_ctree() up, to the place
      just after the original allocations.  Assignment for tree_root
      becomes a no-op - we'd obtained fs_info from tree_root->fs_info
      in the first place.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      38a77db4
    • A
      btrfs: sanitizing ->fs_info, part 2 · 1233f546
      Al Viro 提交于
      lift assignment to callers of find_and_setup_root()
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1233f546
    • A
      btrfs: sanitizing ->fs_info, part 1 · 2eb34cd3
      Al Viro 提交于
      take assignment of ->fs_info to callers of __setup_root()
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      2eb34cd3
    • A
      btrfs: fix a deadlock in btrfs_scan_one_device() · 10f6327b
      Al Viro 提交于
      pathname resolution under a global mutex, taken on some paths in ->mount()
      is a Bad Idea(tm) - think what happens if said pathname resolution triggers
      automount of some btrfs instance and walks into attempt to grab the same
      mutex.  Deadlock - we are waiting for daemon to finish walking the path,
      daemon is waiting for us to release the mutex...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      10f6327b
    • A
      btrfs: fix mount/umount race · 6de1d09d
      Al Viro 提交于
      Do *NOT* skip doomed superblocks in btrfs_test_super(); we want
      sget() to wait for their shutdown to complete.  Since we don't
      mutilate ->s_fs_info in ->put_super() anymore (or free what it
      used to point to until the superblock is past being findable
      by sget()), we can just DTRT there and report a match.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      6de1d09d
    • A
      btrfs: get ->kill_sb() of its own · aea52e19
      Al Viro 提交于
      ... and move free_fs_info() to that, out of ->put_super().  Do NOT
      set ->s_fs_info to NULL in the latter; we need it for sget() to
      be able to see and wait for fs in the middle of umount if we get a
      mount/umount race.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      aea52e19
    • A
      btrfs: preparation to fixing mount/umount race · 98c7089c
      Al Viro 提交于
      We need fs_info and root to live until the moment when the victim
      superblock leaves the list, so we need to postpone free_fs_info()
      until after ->put_super().  The call is buried in close_ctree(),
      though, so we need to lift it into the callers (including
      btrfs_put_super()) first.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      98c7089c
    • L
      Merge tag 'infiniband-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 48fa57ac
      Linus Torvalds 提交于
      infiniband changes for 3.3 merge window
      
      * tag 'infiniband-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        rdma/core: Fix sparse warnings
        RDMA/cma: Fix endianness bugs
        RDMA/nes: Fix terminate during AE
        RDMA/nes: Make unnecessarily global nes_set_pau() static
        RDMA/nes: Change MDIO bus clock to 2.5MHz
        IB/cm: Fix layout of APR message
        IB/mlx4: Fix SL to 802.1Q priority-bits mapping for IBoE
        IB/qib: Default some module parameters optimally
        IB/qib: Optimize locking for get_txreq()
        IB/qib: Fix a possible data corruption when receiving packets
        IB/qib: Eliminate 64-bit jiffies use
        IB/qib: Fix style issues
        IB/uverbs: Protect QP multicast list
      48fa57ac
    • L
      Merge branch 'dma-buf-merge' of git://people.freedesktop.org/~airlied/linux · 8e369672
      Linus Torvalds 提交于
      * 'dma-buf-merge' of git://people.freedesktop.org/~airlied/linux:
        dma-buf: mark EXPERIMENTAL for 1st release.
        dma-buf: Documentation for buffer sharing framework
        dma-buf: Introduce dma buffer sharing mechanism
      8e369672
    • L
      Merge branch 'hwmon-for-linus' of... · 6950d76c
      Linus Torvalds 提交于
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        max1111.c: fix checkpatch warning
        hwmon: (lm75) fix checkpatch warnings
        hwmon: (lm80) fix checkpatch messages
        hwmon: replaced strict_str* with kstr*
        hwmon: (lm75) fix checkpatch warning
        hwmon: (lm75) added error handling
        hwmon: (ltc4261) set data->valid to 0 if error
        hwmon: (f75375s) Add support for F75387SG/RG
        hwmon: (f75375s) Disable setting DC fan control mode for F75373
        hwmon: (f75375s) Initialize pwmX_mode and pwmX_enable if there is no platform data
        hwmon: (f75375s) Fix value range for PWM modes
        hwmon: (f75375s) Use standard sysfs attribute names
        hwmon: (f75375s) Fix checkpatch errors and warnings
        hwmon: (pmbus/zl6100) Only instantiate external temperature sensor if enabled
        hwmon: (pmbus/zl6100) Add support for Ericsson BMR45[0,1] and BMR46[2,3,4]
        hwmon: (pmbus/zl6100) Add support for ZL2005
        hwmon: (pmbus/adm1275) Validate device ID
      6950d76c
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · b7d845f8
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (36 commits)
        mfd: Clearing events requires event registers to be writable for da9052-core
        mfd: Fix annotations in da9052-core
        gpiolib: Mark da9052 driver broken
        mfd: Declare da9052_regmap_config for the bus drivers
        MFD: DA9052/53 MFD core module add SPI support v2
        MFD: DA9052/53 MFD core module
        regmap: Add irq_base accessor to regmap_irq
        regmap: Allow drivers to reinitialise the register cache at runtime
        regmap: Add trace event for successful cache reads
        regmap: Allow regmap_update_bits() users to detect changes
        regmap: Report if we actually handled an interrupt in regmap-irq
        regmap: Fix rbtreee build when not using debugfs
        regmap: Provide debugfs dump of the rbtree cache data
        regmap: Do debugfs init before cache init
        regmap: Suppress noop writes in regmap_update_bits()
        regmap: Remove indexed cache type
        regmap: Drop check whether a register is readable in regcache_read
        regmap: Properly round cache_word_size
        regmap: Add support for 10/14 register formating
        regmap: Try cached read before checking if a hardware read is possible
        ...
      b7d845f8
    • L
      Merge tag 'md-3.3' of git://neil.brown.name/md · 2943c833
      Linus Torvalds 提交于
      md update for 3.3
      
      Big change is new hot-replacement.
      A slot in an array can hold 2 devices - one that
      wants-replacement and one that is the replacement.
      Once the replacement is built - either from the
      original or (in the case of errors) from elsewhere,
      the wants-replacement device will be removed.
      
      * tag 'md-3.3' of git://neil.brown.name/md: (36 commits)
        md/raid1: Mark device want_replacement when we see a write error.
        md/raid1: If there is a spare and a want_replacement device, start replacement.
        md/raid1: recognise replacements when assembling arrays.
        md/raid1: handle activation of replacement device when recovery completes.
        md/raid1: Allow a failed replacement device to be removed.
        md/raid1: Allocate spare to store replacement devices and their bios.
        md/raid1:  Replace use of mddev->raid_disks with conf->raid_disks.
        md/raid10: If there is a spare and a want_replacement device, start replacement.
        md/raid10: recognise replacements when assembling array.
        md/raid10: Allow replacement device to be replace old drive.
        md/raid10: handle recovery of replacement devices.
        md/raid10:  Handle replacement devices during resync.
        md/raid10: writes should get directed to replacement as well as original.
        md/raid10: allow removal of failed replacement devices.
        md/raid10: preferentially read from replacement device if possible.
        md/raid10:  change read_balance to return an rdev
        md/raid10: prepare data structures for handling replacement.
        md/raid5: Mark device want_replacement when we see a write error.
        md/raid5: If there is a spare and a want_replacement device, start replacement.
        md/raid5: recognise replacements when assembling array.
        ...
      2943c833
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 98793265
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
        Kconfig: acpi: Fix typo in comment.
        misc latin1 to utf8 conversions
        devres: Fix a typo in devm_kfree comment
        btrfs: free-space-cache.c: remove extra semicolon.
        fat: Spelling s/obsolate/obsolete/g
        SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
        tools/power turbostat: update fields in manpage
        mac80211: drop spelling fix
        types.h: fix comment spelling for 'architectures'
        typo fixes: aera -> area, exntension -> extension
        devices.txt: Fix typo of 'VMware'.
        sis900: Fix enum typo 'sis900_rx_bufer_status'
        decompress_bunzip2: remove invalid vi modeline
        treewide: Fix comment and string typo 'bufer'
        hyper-v: Update MAINTAINERS
        treewide: Fix typos in various parts of the kernel, and fix some comments.
        clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
        gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
        leds: Kconfig: Fix typo 'D2NET_V2'
        sound: Kconfig: drop unknown symbol ARCH_CLPS7500
        ...
      
      Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
      kconfig additions, close to removed commented-out old ones)
      98793265
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm · b4a133da
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm:
        x86: Kconfig: drop unknown symbol 'APM_MODULE'
      b4a133da
    • L
      Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · eb59c505
      Linus Torvalds 提交于
      * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
        PM / Hibernate: Implement compat_ioctl for /dev/snapshot
        PM / Freezer: fix return value of freezable_schedule_timeout_killable()
        PM / shmobile: Allow the A4R domain to be turned off at run time
        PM / input / touchscreen: Make st1232 use device PM QoS constraints
        PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
        PM / shmobile: Remove the stay_on flag from SH7372's PM domains
        PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
        PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
        PM: Drop generic_subsys_pm_ops
        PM / Sleep: Remove forward-only callbacks from AMBA bus type
        PM / Sleep: Remove forward-only callbacks from platform bus type
        PM: Run the driver callback directly if the subsystem one is not there
        PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
        PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
        PM / Sleep: Merge internal functions in generic_ops.c
        PM / Sleep: Simplify generic system suspend callbacks
        PM / Hibernate: Remove deprecated hibernation snapshot ioctls
        PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
        ARM: S3C64XX: Implement basic power domain support
        PM / shmobile: Use common always on power domain governor
        ...
      
      Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
      XBT_FORCE_SLEEP bit
      eb59c505
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw · 1619ed8f
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
        GFS2: local functions should be static
        GFS2: We only need one ACL getting function
        GFS2: Fix multi-block allocation
        GFS2: decouple quota allocations from block allocations
        GFS2: split function rgblk_search
        GFS2: Fix up "off by one" in the previous patch
        GFS2: move toward a generic multi-block allocator
        GFS2: O_(D)SYNC support for fallocate
        GFS2: remove vestigial al_alloced
        GFS2: combine gfs2_alloc_block and gfs2_alloc_di
        GFS2: Add non-try locks back to get_local_rgrp
        GFS2: f_ra is always valid in dir readahead function
        GFS2: Fix very unlikley memory leak in ACL xattr code
        GFS2: More automated code analysis fixes
        GFS2: Add readahead to sequential directory traversal
        GFS2: Fix up REQ flags
      1619ed8f
    • L
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 29ad0de2
      Linus Torvalds 提交于
      * 'for-linus' of git://oss.sgi.com/xfs/xfs: (22 commits)
        xfs: mark the xfssyncd workqueue as non-reentrant
        xfs: simplify xfs_qm_detach_gdquots
        xfs: fix acl count validation in xfs_acl_from_disk()
        xfs: remove unused XBT_FORCE_SLEEP bit
        xfs: remove XFS_QMOPT_DQSUSER
        xfs: kill xfs_qm_idtodq
        xfs: merge xfs_qm_dqinit_core into the only caller
        xfs: add a xfs_dqhold helper
        xfs: simplify xfs_qm_dqattach_grouphint
        xfs: nest qm_dqfrlist_lock inside the dquot qlock
        xfs: flatten the dquot lock ordering
        xfs: implement lazy removal for the dquot freelist
        xfs: remove XFS_DQ_INACTIVE
        xfs: cleanup xfs_qm_dqlookup
        xfs: cleanup dquot locking helpers
        xfs: remove the sync_mode argument to xfs_qm_dqflush_all
        xfs: remove xfs_qm_sync
        xfs: make sure to really flush all dquots in xfs_qm_quotacheck
        xfs: untangle SYNC_WAIT and SYNC_TRYLOCK meanings for xfs_qm_dqflush
        xfs: remove the lid_size field in struct log_item_desc
        ...
      
      Fix up trivial conflict in fs/xfs/xfs_sync.c
      29ad0de2
    • L
      Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 972b2c71
      Linus Torvalds 提交于
      * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
        reiserfs: Properly display mount options in /proc/mounts
        vfs: prevent remount read-only if pending removes
        vfs: count unlinked inodes
        vfs: protect remounting superblock read-only
        vfs: keep list of mounts for each superblock
        vfs: switch ->show_options() to struct dentry *
        vfs: switch ->show_path() to struct dentry *
        vfs: switch ->show_devname() to struct dentry *
        vfs: switch ->show_stats to struct dentry *
        switch security_path_chmod() to struct path *
        vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
        vfs: trim includes a bit
        switch mnt_namespace ->root to struct mount
        vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
        vfs: opencode mntget() mnt_set_mountpoint()
        vfs: spread struct mount - remaining argument of next_mnt()
        vfs: move fsnotify junk to struct mount
        vfs: move mnt_devname
        vfs: move mnt_list to struct mount
        vfs: switch pnode.h macros to struct mount *
        ...
      972b2c71
  2. 08 1月, 2012 4 次提交
    • L
      Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6 · 02550d61
      Linus Torvalds 提交于
      devicetree/next changes queued for v3.3 merge window
      
      * tag 'devicetree-for-linus-20120104' of git://git.secretlab.ca/git/linux-2.6:
        ARM: prom.h: Fix build error by removing unneeded header file
        irq: check domain hwirq range for DT translate
        dt: add empty of_get_node/of_put_node functions
        of/pdt: fix section mismatch warning
        i2c-designware: add OF binding support
        dt/i2c: Enumerate some of the known trivial i2c devices
        dt: reform for_each_property to for_each_property_of_node
        ARM/of: allow *machine_desc.dt_compat to be const
        of/base: Take NULL string into account for property with multiple strings
        OF/device-tree: Add some entries to vendor-prefixes.txt
      
      Fix up trivial add-add conflicts in include/linux/of.h
      02550d61
    • L
      Merge tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6 · 2d51daaa
      Linus Torvalds 提交于
      spi changes queued up for v3.3 merge window
      
      * tag 'spi-for-linus-20120104' of git://git.secretlab.ca/git/linux-2.6:
        spi: Fix device unregistration when unregistering the bus master
        spi-topcliff-pch: Change company name OKI SEMICONDUCTOR to LAPIS Semiconductor
        spi-topcliff-pch: Support new device LAPIS Semiconductor ML7831 IOH
        spi/omap: Correct the error path
        spi/omap: call pm_runtime_disable in error path and remove
        spi/omap: Use a workqueue per omap2_mcspi controller
      2d51daaa
    • L
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6 · fbce1c23
      Linus Torvalds 提交于
      Changes queued in gpio/next for the start of the 3.3 merge window
      
      * tag 'gpio-for-linus-20120104' of git://git.secretlab.ca/git/linux-2.6:
        gpio: Add decode of WM8994 GPIO configuration
        gpio: Convert GPIO drivers to module_platform_driver
        gpio: Fix typo in comment in Samsung driver
        gpio: Explicitly index samsung_gpio_cfgs
        gpio: Add Linus Walleij as gpio co-maintainer
        of: Add device tree selftests
        of: create of_phandle_args to simplify return of phandle parsing data
        gpio/powerpc: Eliminate duplication of of_get_named_gpio_flags()
        gpio/microblaze: Eliminate duplication of of_get_named_gpio_flags()
        gpiolib: output basic details and consolidate gpio device drivers
        pch_gpio: Change company name OKI SEMICONDUCTOR to LAPIS Semiconductor
        pch_gpio: Support new device LAPIS Semiconductor ML7831 IOH
        spi/pl022: make the chip deselect handling thread safe
        spi/pl022: add support for pm_runtime autosuspend
        spi/pl022: disable the PL022 block when unused
        spi/pl022: move device disable to workqueue thread
        spi/pl022: skip default configuration before suspending
        spi/pl022: fix build warnings
        spi/pl022: only enable RX interrupts when TX is complete
      fbce1c23
    • L
      Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 7affca35
      Linus Torvalds 提交于
      * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)
        arm: fix up some samsung merge sysdev conversion problems
        firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
        Drivers:hv: Fix a bug in vmbus_driver_unregister()
        driver core: remove __must_check from device_create_file
        debugfs: add missing #ifdef HAS_IOMEM
        arm: time.h: remove device.h #include
        driver-core: remove sysdev.h usage.
        clockevents: remove sysdev.h
        arm: convert sysdev_class to a regular subsystem
        arm: leds: convert sysdev_class to a regular subsystem
        kobject: remove kset_find_obj_hinted()
        m86k: gpio - convert sysdev_class to a regular subsystem
        mips: txx9_sram - convert sysdev_class to a regular subsystem
        mips: 7segled - convert sysdev_class to a regular subsystem
        sh: dma - convert sysdev_class to a regular subsystem
        sh: intc - convert sysdev_class to a regular subsystem
        power: suspend - convert sysdev_class to a regular subsystem
        power: qe_ic - convert sysdev_class to a regular subsystem
        power: cmm - convert sysdev_class to a regular subsystem
        s390: time - convert sysdev_class to a regular subsystem
        ...
      
      Fix up conflicts with 'struct sysdev' removal from various platform
      drivers that got changed:
       - arch/arm/mach-exynos/cpu.c
       - arch/arm/mach-exynos/irq-eint.c
       - arch/arm/mach-s3c64xx/common.c
       - arch/arm/mach-s3c64xx/cpu.c
       - arch/arm/mach-s5p64x0/cpu.c
       - arch/arm/mach-s5pv210/common.c
       - arch/arm/plat-samsung/include/plat/cpu.h
       - arch/powerpc/kernel/sysfs.c
      and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h
      7affca35
  3. 07 1月, 2012 11 次提交