1. 12 Jul, 2013 8 commits
    • Tejun Heo's avatar
      cgroup: move number_of_cgroups test out of rebind_subsystems() into cgroup_remount() · f172e67c
      Tejun Heo authored
      rebind_subsystems() currently fails if the hierarchy has any !root
      cgroups; however, on the planned unified hierarchy,
      rebind_subsystems() will be used while populated.  Move the test to
      cgroup_remount(), which is the only place the test is necessary
      anyway.
      
      As it's impossible for the other two callers of rebind_subsystems() to
      have populated hierarchy, this doesn't make any behavior changes.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarLi Zefan <lizefan@huawei.com>
      f172e67c
    • Tejun Heo's avatar
      cgroup: make rebind_subsystems() handle file additions and removals with proper error handling · 3126121f
      Tejun Heo authored
      Currently, creating and removing cgroup files in the root directory
      are handled separately from the actual subsystem binding and unbinding
      which happens in rebind_subsystems().  Also, rebind_subsystems() users
      aren't handling file creation errors properly.  Let's integrate
      top_cgroup file handling into rebind_subsystems() so that it's simpler
      to use and everyone handles file creation errors correctly.
      
      * On a successful return, rebind_subsystems() is guaranteed to have
        created all files of the new subsystems and deleted the ones
        belonging to the removed subsystems.  After a failure, no file is
        created or removed.
      
      * cgroup_remount() no longer needs to make explicit populate/clear
        calls as it's all handled by rebind_subsystems(), and it gets proper
        error handling automatically.
      
      * cgroup_mount() has been updated such that the root dentry and cgroup
        are linked before rebind_subsystems().  Also, the init_cred dancing
        and base file handling are moved right above rebind_subsystems()
        call and proper error handling for the base files is added.  While
        at it, add a comment explaining what's going on with the cred thing.
      
      * cgroup_kill_sb() calls rebind_subsystems() to unbind all subsystems
        which now implies removing all subsystem files which requires the
        directory's i_mutex.  Grab it.  This means that files on the root
        cgroup are removed earlier - they used to be deleted from generic
        super_block cleanup from vfs.  This doesn't lead to any functional
        difference and it's cleaner to do the clean up explicitly for all
        files.
      
      Combined with the previous changes, this makes all cgroup file
      creation errors handled correctly.
      
      v2: Added comment on init_cred.
      
      v3: Li spotted that cgroup_mount() wasn't freeing tmp_links after base
          file addition failure.  Fix it by adding free_tmp_links error
          handling label.
      
      v4: v3 introduced build bugs which got noticed by Fengguang's awesome
          kbuild test robot.  Fixed, and shame on me.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarLi Zefan <lizefan@huawei.com>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      3126121f
    • Tejun Heo's avatar
      cgroup: use for_each_subsys() instead of for_each_root_subsys() in cgroup_populate/clear_dir() · b420ba7d
      Tejun Heo authored
      rebind_subsystems() will be updated to handle file creations and
      removals with proper error handling and to do that will need to
      perform file operations before actually adding the subsystem to the
      hierarchy.
      
      To enable such usage, update cgroup_populate/clear_dir() to use
      for_each_subsys() instead of for_each_root_subsys() so that they
      operate on all subsystems specified by @subsys_mask whether that
      subsystem is currently bound to the hierarchy or not.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarLi Zefan <lizefan@huawei.com>
      b420ba7d
    • Tejun Heo's avatar
      cgroup: update error handling in cgroup_populate_dir() · bee55099
      Tejun Heo authored
      cgroup_populate_dir() didn't use to check whether the actual file
      creations were successful and could return success with only subset of
      the requested files created, which is nasty.
      
      This patch udpates cgroup_populate_dir() so that it either succeeds
      with all files or fails with no file.
      
      v2: The original patch also converted for_each_root_subsys() usages to
          for_each_subsys() without explaining why.  That part has been
          moved to a separate patch.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarLi Zefan <lizefan@huawei.com>
      bee55099
    • Tejun Heo's avatar
      cgroup: separate out cgroup_base_files[] handling out of cgroup_populate/clear_dir() · 628f7cd4
      Tejun Heo authored
      cgroup_populate/clear_dir() currently take @base_files and adds and
      removes, respectively, cgroup_base_files[] to the directory.  File
      additions and removals are being reorganized for proper error handling
      and more dynamic handling for the unified hierarchy, and mixing base
      and subsys file handling into the same functions gets a bit confusing.
      
      This patch moves base file handling out of cgroup_populate/clear_dir()
      into their users - cgroup_mount(), cgroup_create() and
      cgroup_destroy_locked().
      
      Note that this changes the behavior of base file removal.  If
      @base_files is %true, cgroup_clear_dir() used to delete files
      regardless of cftype until there's no files left.  Now, only files
      with matching cfts are removed.  As files can only be created by the
      base or registered cftypes, this shouldn't result in any behavior
      difference.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarLi Zefan <lizefan@huawei.com>
      628f7cd4
    • Tejun Heo's avatar
      cgroup: fix cgroup_add_cftypes() error handling · 9ccece80
      Tejun Heo authored
      cgroup_add_cftypes() uses cgroup_cfts_commit() to actually create the
      files; however, both functions ignore actual file creation errors and
      just assume success.  This can lead to, for example, blkio hierarchy
      with some of the cgroups with only subset of interface files populated
      after cfq-iosched is loaded under heavy memory pressure, which is
      nasty.
      
      This patch updates cgroup_cfts_commit() and cgroup_add_cftypes() to
      guarantee that all files are created on success and no file is created
      on failure.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarLi Zefan <lizefan@huawei.com>
      9ccece80
    • Tejun Heo's avatar
      cgroup: fix error path of cgroup_addrm_files() · b1f28d31
      Tejun Heo authored
      cgroup_addrm_files() mishandled error return value from
      cgroup_add_file() and returns error iff the last file fails to create.
      As we're in the process of cleaning up file add/rm error handling and
      will reliably propagate file creation failures, there's no point in
      keeping adding files after a failure.
      
      Replace the broken error collection logic with immediate error return.
      While at it, add lockdep assertions and function comment.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarLi Zefan <lizefan@huawei.com>
      b1f28d31
    • Tejun Heo's avatar
      cgroup: minor updates around cgroup_clear_directory() · 8f89140a
      Tejun Heo authored
      * Rename it to cgroup_clear_dir() and make it take the pointer to the
        target cgroup instead of the the dentry.  This makes the function
        consistent with its counterpart - cgroup_populate_dir().
      
      * Move cgroup_clear_directory() invocation from cgroup_d_remove_dir()
        to cgroup_remount() so that the function doesn't have to determine
        the cgroup pointer back from the dentry.  cgroup_d_remove_dir() now
        only deals with vfs, which is slightly cleaner.
      
      This patch doesn't introduce any functional differences.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarLi Zefan <lizefan@huawei.com>
      8f89140a
  2. 11 Jul, 2013 24 commits
    • Linus Torvalds's avatar
      Merge tag 'dm-3.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · 9903883f
      Linus Torvalds authored
      Pull device-mapper changes from Alasdair G Kergon:
       "Add a device-mapper target called dm-switch to provide a multipath
        framework for storage arrays that dynamically reconfigure their
        preferred paths for different device regions.
      
        Fix a bug in the verity target that prevented its use with some
        specific sizes of devices.
      
        Improve some locking mechanisms in the device-mapper core and bufio.
      
        Add Mike Snitzer as a device-mapper maintainer.
      
        A few more clean-ups and fixes"
      
      * tag 'dm-3.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
        dm: add switch target
        dm: update maintainers
        dm: optimize reorder structure
        dm: optimize use SRCU and RCU
        dm bufio: submit writes outside lock
        dm cache: fix arm link errors with inline
        dm verity: use __ffs and __fls
        dm flakey: correct ctr alloc failure mesg
        dm verity: remove pointless comparison
        dm: use __GFP_HIGHMEM in __vmalloc
        dm verity: fix inability to use a few specific devices sizes
        dm ioctl: set noio flag to avoid __vmalloc deadlock
        dm mpath: fix ioctl deadlock when no paths
      9903883f
    • Linus Torvalds's avatar
      Merge branch 'for-3.11/core' of git://git.kernel.dk/linux-block · 36805aae
      Linus Torvalds authored
      Pull core block IO updates from Jens Axboe:
       "Here are the core IO block bits for 3.11. It contains:
      
         - A tweak to the reserved tag logic from Jan, for weirdo devices with
           just 3 free tags.  But for those it improves things substantially
           for random writes.
      
         - Periodic writeback fix from Jan.  Marked for stable as well.
      
         - Fix for a race condition in IO scheduler switching from Jianpeng.
      
         - The hierarchical blk-cgroup support from Tejun.  This is the grunt
           of the series.
      
         - blk-throttle fix from Vivek.
      
        Just a note that I'm in the middle of a relocation, whole family is
        flying out tomorrow.  Hence I will be awal the remainder of this week,
        but back at work again on Monday the 15th.  CC'ing Tejun, since any
        potential "surprises" will most likely be from the blk-cgroup work.
        But it's been brewing for a while and sitting in my tree and
        linux-next for a long time, so should be solid."
      
      * 'for-3.11/core' of git://git.kernel.dk/linux-block: (36 commits)
        elevator: Fix a race in elevator switching
        block: Reserve only one queue tag for sync IO if only 3 tags are available
        writeback: Fix periodic writeback after fs mount
        blk-throttle: implement proper hierarchy support
        blk-throttle: implement throtl_grp->has_rules[]
        blk-throttle: Account for child group's start time in parent while bio climbs up
        blk-throttle: add throtl_qnode for dispatch fairness
        blk-throttle: make throtl_pending_timer_fn() ready for hierarchy
        blk-throttle: make tg_dispatch_one_bio() ready for hierarchy
        blk-throttle: make blk_throtl_bio() ready for hierarchy
        blk-throttle: make blk_throtl_drain() ready for hierarchy
        blk-throttle: dispatch from throtl_pending_timer_fn()
        blk-throttle: implement dispatch looping
        blk-throttle: separate out throtl_service_queue->pending_timer from throtl_data->dispatch_work
        blk-throttle: set REQ_THROTTLED from throtl_charge_bio() and gate stats update with it
        blk-throttle: implement sq_to_tg(), sq_to_td() and throtl_log()
        blk-throttle: add throtl_service_queue->parent_sq
        blk-throttle: generalize update_disptime optimization in blk_throtl_bio()
        blk-throttle: dispatch to throtl_data->service_queue.bio_lists[]
        blk-throttle: move bio_lists[] and friends to throtl_service_queue
        ...
      36805aae
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 6d2fa9e1
      Linus Torvalds authored
      Pull SCSI target updates from Nicholas Bellinger:
       "Lots of activity this round on performance improvements in target-core
        while benchmarking the prototype scsi-mq initiator code with
        vhost-scsi fabric ports, along with a number of iscsi/iser-target
        improvements and hardening fixes for exception path cases post v3.10
        merge.
      
        The highlights include:
      
         - Make persistent reservations APTPL buffer allocated on-demand, and
           drop per t10_reservation buffer.  (grover)
         - Make virtual LUN=0 a NULLIO device, and skip allocation of NULLIO
           device pages (grover)
         - Add transport_cmd_check_stop write_pending bit to avoid extra
           access of ->t_state_lock is WRITE I/O submission fast-path.  (nab)
         - Drop unnecessary CMD_T_DEV_ACTIVE check from
           transport_lun_remove_cmd to avoid extra access of ->t_state_lock in
           release fast-path.  (nab)
         - Avoid extra t_state_lock access in __target_execute_cmd fast-path
           (nab)
         - Drop unnecessary vhost-scsi wait_for_tasks=true usage +
           ->t_state_lock access in release fast-path.  (nab)
         - Convert vhost-scsi to use modern se_cmd->cmd_kref
           TARGET_SCF_ACK_KREF usage (nab)
         - Add tracepoints for SCSI commands being processed (roland)
         - Refactoring of iscsi-target handling of ISCSI_OP_NOOP +
           ISCSI_OP_TEXT to be transport independent (nab)
         - Add iscsi-target SendTargets=$IQN support for in-band discovery
           (nab)
         - Add iser-target support for in-band discovery (nab + Or)
         - Add iscsi-target demo-mode TPG authentication context support (nab)
         - Fix isert_put_reject payload buffer post (nab)
         - Fix iscsit_add_reject* usage for iser (nab)
         - Fix iscsit_sequence_cmd reject handling for iser (nab)
         - Fix ISCSI_OP_SCSI_TMFUNC handling for iser (nab)
         - Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED (nab)
      
        The last five iscsi/iser-target items are CC'ed to stable, as they do
        address issues present in v3.10 code.  They are certainly larger than
        I'd like for stable patch set, but are important to ensure proper
        REJECT exception handling in iser-target for 3.10.y"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (51 commits)
        iser-target: Ignore non TEXT + LOGOUT opcodes for discovery
        target: make queue_tm_rsp() return void
        target: remove unused codes from enum tcm_tmrsp_table
        iscsi-target: kstrtou* configfs attribute parameter cleanups
        iscsi-target: Fix tfc_tpg_auth_cit configfs length overflow
        iscsi-target: Fix tfc_tpg_nacl_auth_cit configfs length overflow
        iser-target: Add support for ISCSI_OP_TEXT opcode + payload handling
        iser-target: Rename sense_buf_[dma,len] to pdu_[dma,len]
        iser-target: Add vendor_err debug output
        target: Add (obsolete) checking for PMI/LBA fields in READ CAPACITY(10)
        target: Return correct sense data for IO past the end of a device
        target: Add tracepoints for SCSI commands being processed
        iser-target: Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED
        iscsi-target: Fix ISCSI_OP_SCSI_TMFUNC handling for iser
        iscsi-target: Fix iscsit_sequence_cmd reject handling for iser
        iscsi-target: Fix iscsit_add_reject* usage for iser
        iser-target: Fix isert_put_reject payload buffer post
        iscsi-target: missing kfree() on error path
        iscsi-target: Drop left-over iscsi_conn->bad_hdr
        target: Make core_scsi3_update_and_write_aptpl return sense_reason_t
        ...
      6d2fa9e1
    • Linus Torvalds's avatar
      Merge tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 0fb3767b
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A few small fixes (and cleanups) for HD-audio, USB-audio and ASoC"
      
      * tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usb-audio: fix regression for fixed stream quirk
        ALSA: hda - Keep halting ALC5505 DSP
        ASoC: wm8962: fix NULL pdata pointer
        ASoC: imx-sgtl5000: return E_PROBE_DEFER if ssi/codec not found
        ASoC: Samsung: Remove redundant comment
        ALSA: hda - Fix EAPD vmaster hook for AD1884 & co
        ASoC: samsung: Remove obsolete GPIO based DT pinmuxing
        ASoC: mxs: register saif mclk to clock framework
      0fb3767b
    • Linus Torvalds's avatar
      Merge tag 'remoteproc-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc · 0edcd16a
      Linus Torvalds authored
      Pull remoteproc fixes from Ohad Ben-Cohen:
       "Trivial remoteproc fixes by Suman Anna, Wei Yongjun and Thomas Meyer"
      
      * tag 'remoteproc-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc:
        remoteproc: Cocci spatch "memdup.spatch"
        remoteproc: free carveout memories only after unmapping them
        remoteproc/omap: fix a sparse warning
        remoteproc: fix checkpatch errors in remoteproc code
        remoteproc: fix error return code in rproc_fw_boot()
      0edcd16a
    • Linus Torvalds's avatar
      Merge tag 'xtensa-next-20130710' of git://github.com/czankel/xtensa-linux · d4d1cda6
      Linus Torvalds authored
      Pull Xtensa updates from Chris Zankel.
      
      * tag 'xtensa-next-20130710' of git://github.com/czankel/xtensa-linux: (22 commits)
        xtensa: remove the second argument of __bio_kmap_atomic()
        xtensa: add static function tracer support
        xtensa: Flat DeviceTree copy not future-safe
        xtensa: check TLB sanity on return to userspace
        xtensa: adjust boot parameters address when INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX is selected
        xtensa: bootparams: fix typo
        xtensa: tell git to ignore generated .dtb files
        xtensa: ccount based sched_clock
        xtensa: ccount based clockevent implementation
        xtensa: consolidate ccount access routines
        xtensa: cleanup ccount frequency tracking
        xtensa: timex.h: remove unused symbols
        xtensa: tell git to ignore copied zlib source files
        xtensa: fix section mismatch in pcibios_fixup_bus
        xtensa: ISS: fix section mismatch in iss_net_setup
        arch: xtensa: include: asm: compiling issue, need cmpxchg64() defined.
        xtensa: xtfpga: fix section mismatch
        xtensa: remove unused platform_init_irq()
        xtensa: tell git to ignore generated files
        xtensa: flush TLB entries for pages of non-current mm correctly
        ...
      d4d1cda6
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.11-rc1-more' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7728f036
      Linus Torvalds authored
      Pull more power management and ACPI updates from Rafael Wysocki:
      
       - Fix for a recent cpufreq regression that caused WARN() to trigger
         overzealously in a couple of places and spam the kernel log with
         useless garbage as a result.  From Viresh Kumar.
      
       - ACPI dock fix removing a discrepancy between the definition of
         acpi_dock_init(), which says that the function returns int, and its
         header in the header file, which says that it is a void function.
         The function is now defined as void too.
      
       - ACPI PM fix for failures to update device power states as needed, for
         example, during resume from system suspend, because the old state was
         deeper than the new one, but the new one is not D0.
      
       - Fix for two debug messages in the ACPI power resources code that
         don't have a newline at the end and make the kernel log difficult to
         read.  From Mika Westerberg.
      
       - Two ACPI cleanups from Naresh Bhat and Haicheng Li.
      
       - cpupower updates from Thomas Renninger, including Intel Haswell
         support improvements and a new idle-set subcommand among other
         things.
      
      * tag 'pm+acpi-3.11-rc1-more' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / power: add missing newline to debug messages
        cpupower: Add Haswell family 0x45 specific idle monitor to show PC8,9,10 states
        cpupower: Haswell also supports the C-states introduced with SandyBridge
        cpupower: Introduce idle-set subcommand and C-state enabling/disabling
        cpupower: Implement disabling of cstate interface
        cpupower: Make idlestate usage unsigned
        ACPI / fan: Initialize acpi_state variable
        ACPI / scan: remove unused LIST_HEAD(acpi_device_list)
        ACPI / dock: Actually define acpi_dock_init() as void
        ACPI / PM: Fix corner case in acpi_bus_update_power()
        cpufreq: Fix serialization of frequency transitions
      7728f036
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 8cbd0eef
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
       "There are not too many changes this time, except two new platform
        thermal drivers, ti-soc-thermal driver and x86_pkg_temp_thermal
        driver, and a couple of small fixes.
      
        Highlights:
      
         - move the ti-soc-thermal driver out of the staging tree to the
           thermal tree.
      
         - introduce the x86_pkg_temp_thermal driver.  This driver registers
           CPU digital temperature package level sensor as a thermal zone.
      
         - small fixes/cleanups including removing redundant use of
           platform_set_drvdata() and of_match_ptr for all platform thermal
           drivers"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (34 commits)
        thermal: cpu_cooling: fix stub function
        thermal: ti-soc-thermal: use standard GPIO DT bindings
        thermal: MAINTAINERS: Add git tree path for SoC specific updates
        thermal: fix x86_pkg_temp_thermal.c build and Kconfig
        Thermal: Documentation for x86 package temperature thermal driver
        Thermal: CPU Package temperature thermal
        thermal: consider emul_temperature while computing trend
        thermal: ti-soc-thermal: add DT example for DRA752 chip
        thermal: ti-soc-thermal: add dra752 chip to device table
        thermal: ti-soc-thermal: add thermal data for DRA752 chips
        thermal: ti-soc-thermal: remove usage of IS_ERR_OR_NULL
        thermal: ti-soc-thermal: freeze FSM while computing trend
        thermal: ti-soc-thermal: remove external heat while extrapolating hotspot
        thermal: ti-soc-thermal: update DT reference for OMAP5430
        x86, mcheck, therm_throt: Process package thresholds
        thermal: cpu_cooling: fix 'descend' check in get_property()
        Thermal: spear: Remove redundant use of of_match_ptr
        Thermal: kirkwood: Remove redundant use of of_match_ptr
        Thermal: dove: Remove redundant use of of_match_ptr
        Thermal: armada: Remove redundant use of of_match_ptr
        ...
      8cbd0eef
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.11-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 1466b77a
      Linus Torvalds authored
      Pull second set of NFS client updates from Trond Myklebust:
       "This mainly contains some small readdir optimisations that had
        dependencies on Al Viro's readdir rewrite.  There is also a fix for a
        nasty deadlock which surfaced earlier in this merge window.
      
        Highlights include:
         - Fix an_rpc pipefs regression that causes a deadlock on mount
         - Readdir optimisations by Scott Mayhew and Jeff Layton
         - clean up the rpc_pipefs dentry operation setup"
      
      * tag 'nfs-for-3.11-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        SUNRPC: Fix a deadlock in rpc_client_register()
        rpc_pipe: rpc_dir_inode_operations can be static
        NFS: Allow nfs_updatepage to extend a write under additional circumstances
        NFS: Make nfs_readdir revalidate less often
        NFS: Make nfs_attribute_cache_expired() non-static
        rpc_pipe: set dentry operations at d_alloc time
        nfs: set verifier on existing dentries in nfs_prime_dcache
      1466b77a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-3.11-merge-window-part-2' of... · 19d2f8e0
      Linus Torvalds authored
      Merge tag 'for-linus-3.11-merge-window-part-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
      
      Pull second round of 9p patches from Eric Van Hensbergen:
       "Several of these patches were rebased in order to correct style
        issues.  Only stylistic changes were made versus the patches which
        were in linux-next for two weeks.  The rebases have been in linux-next
        for 3 days and have passed my regressions.
      
        The bulk of these are RDMA fixes and improvements.  There's also some
        additions on the extended attributes front to support some additional
        namespaces and a new option for TCP to force allocation of mount
        requests from a priviledged port"
      
      * tag 'for-linus-3.11-merge-window-part-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        fs/9p: Remove the unused variable "err" in v9fs_vfs_getattr()
        9P: Add cancelled() to the transport functions.
        9P/RDMA: count posted buffers without a pending request
        9P/RDMA: Improve error handling in rdma_request
        9P/RDMA: Do not free req->rc in error handling in rdma_request()
        9P/RDMA: Use a semaphore to protect the RQ
        9P/RDMA: Protect against duplicate replies
        9P/RDMA: increase P9_RDMA_MAXSIZE to 1MB
        9pnet: refactor struct p9_fcall alloc code
        9P/RDMA: rdma_request() needs not allocate req->rc
        9P: Fix fcall allocation for rdma
        fs/9p: xattr: add trusted and security namespaces
        net/9p: add privport option to 9p tcp transport
      19d2f8e0
    • Linus Torvalds's avatar
      Merge tag 'ecryptfs-3.11-rc1-cleanup' of... · 746919d2
      Linus Torvalds authored
      Merge tag 'ecryptfs-3.11-rc1-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Pull eCryptfs updates from Tyler Hicks:
       "Code cleanups and improved buffer handling during page crypto
        operations:
         - Remove redundant code by merging some encrypt and decrypt functions
         - Get rid of a helper page allocation during page decryption by using
           in-place decryption
         - Better use of entire pages during page crypto operations
         - Several code cleanups"
      
      * tag 'ecryptfs-3.11-rc1-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        Use ecryptfs_dentry_to_lower_path in a couple of places
        eCryptfs: Make extent and scatterlist crypt function parameters similar
        eCryptfs: Collapse crypt_page_offset() into crypt_extent()
        eCryptfs: Merge ecryptfs_encrypt_extent() and ecryptfs_decrypt_extent()
        eCryptfs: Combine page_offset crypto functions
        eCryptfs: Combine encrypt_scatterlist() and decrypt_scatterlist()
        eCryptfs: Decrypt pages in-place
        eCryptfs: Accept one offset parameter in page offset crypto functions
        eCryptfs: Simplify lower file offset calculation
        eCryptfs: Read/write entire page during page IO
        eCryptfs: Use entire helper page during page crypto operations
        eCryptfs: Cocci spatch "memdup.spatch"
      746919d2
    • Linus Torvalds's avatar
      Merge tag 'jfs-3.11' of git://github.com/kleikamp/linux-shaggy · 9db01927
      Linus Torvalds authored
      Pull jfs update from Dave Kleikamp:
       "A couple cleanups to JFS for 3.11"
      
      * tag 'jfs-3.11' of git://github.com/kleikamp/linux-shaggy:
        jfs: Update jfs_error
        jfs: fix sparse warning in fs/jfs/xattr.c
      9db01927
    • Linus Torvalds's avatar
      Merge branch 'for-3.11' of git://linux-nfs.org/~bfields/linux · 0ff08ba5
      Linus Torvalds authored
      Pull nfsd changes from Bruce Fields:
       "Changes this time include:
      
         - 4.1 enabled on the server by default: the last 4.1-specific issues
           I know of are fixed, so we're not going to find the rest of the
           bugs without more exposure.
         - Experimental support for NFSv4.2 MAC Labeling (to allow running
           selinux over NFS), from Dave Quigley.
         - Fixes for some delicate cache/upcall races that could cause rare
           server hangs; thanks to Neil Brown and Bodo Stroesser for extreme
           debugging persistence.
         - Fixes for some bugs found at the recent NFS bakeathon, mostly v4
           and v4.1-specific, but also a generic bug handling fragmented rpc
           calls"
      
      * 'for-3.11' of git://linux-nfs.org/~bfields/linux: (31 commits)
        nfsd4: support minorversion 1 by default
        nfsd4: allow destroy_session over destroyed session
        svcrpc: fix failures to handle -1 uid's
        sunrpc: Don't schedule an upcall on a replaced cache entry.
        net/sunrpc: xpt_auth_cache should be ignored when expired.
        sunrpc/cache: ensure items removed from cache do not have pending upcalls.
        sunrpc/cache: use cache_fresh_unlocked consistently and correctly.
        sunrpc/cache: remove races with queuing an upcall.
        nfsd4: return delegation immediately if lease fails
        nfsd4: do not throw away 4.1 lock state on last unlock
        nfsd4: delegation-based open reclaims should bypass permissions
        svcrpc: don't error out on small tcp fragment
        svcrpc: fix handling of too-short rpc's
        nfsd4: minor read_buf cleanup
        nfsd4: fix decoding of compounds across page boundaries
        nfsd4: clean up nfs4_open_delegation
        NFSD: Don't give out read delegations on creates
        nfsd4: allow client to send no cb_sec flavors
        nfsd4: fail attempts to request gss on the backchannel
        nfsd4: implement minimal SP4_MACH_CRED
        ...
      0ff08ba5
    • Linus Torvalds's avatar
      Merge tag 'trace-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · c72bb316
      Linus Torvalds authored
      Pull tracing changes from Steven Rostedt:
       "The majority of the changes here are cleanups for the large changes
        that were added to 3.10, which includes several bug fixes that have
        been marked for stable.
      
        As for new features, there were a few, but nothing to write to LWN
        about.  These include:
      
        New function trigger called "dump" and "cpudump" that will cause
        ftrace to dump its buffer to the console when the function is called.
        The difference between "dump" and "cpudump" is that "dump" will dump
        the entire contents of the ftrace buffer, where as "cpudump" will only
        dump the contents of the ftrace buffer for the CPU that called the
        function.
      
        Another small enhancement is a new sysctl switch called
        "traceoff_on_warning" which, when enabled, will disable tracing if any
        WARN_ON() is triggered.  This is useful if you want to debug what
        caused a warning and do not want to risk losing your trace data by the
        ring buffer overwriting the data before you can disable it.  There's
        also a kernel command line option that will make this enabled at boot
        up called the same thing"
      
      * tag 'trace-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (34 commits)
        tracing: Make tracing_open_generic_{tr,tc}() static
        tracing: Remove ftrace() function
        tracing: Remove TRACE_EVENT_TYPE enum definition
        tracing: Make tracer_tracing_{off,on,is_on}() static
        tracing: Fix irqs-off tag display in syscall tracing
        uprobes: Fix return value in error handling path
        tracing: Fix race between deleting buffer and setting events
        tracing: Add trace_array_get/put() to event handling
        tracing: Get trace_array ref counts when accessing trace files
        tracing: Add trace_array_get/put() to handle instance refs better
        tracing: Protect ftrace_trace_arrays list in trace_events.c
        tracing: Make trace_marker use the correct per-instance buffer
        ftrace: Do not run selftest if command line parameter is set
        tracing/kprobes: Don't pass addr=ip to perf_trace_buf_submit()
        tracing: Use flag buffer_disabled for irqsoff tracer
        tracing/kprobes: Turn trace_probe->files into list_head
        tracing: Fix disabling of soft disable
        tracing: Add missing syscall_metadata comment
        tracing: Simplify code for showing of soft disabled flag
        tracing/kprobes: Kill probe_enable_lock
        ...
      c72bb316
    • Linus Torvalds's avatar
      Revert "Makefile: Fix install error with make -j option" · 6d128e1e
      Linus Torvalds authored
      This reverts commit d2aae847.
      
      It is completely and utterly broken.  Module install should not build
      any files, and adding broken dependencies to "help" it build files is
      complete and utter sh*t.
      
      The kernel should not be built by root, and "make install" and "make
      module_install" (that for obvious reasons need to be run as root)
      absolutely must not build any files.  They should only ever copy the
      already-built files over.
      
      So having dependencies for the install targets is wrong, wrong, wrong.
      
      If you try to install a kernel without building it first, you *should*
      get errors. The build system shouldn't try to help root build the files.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d128e1e
    • Linus Torvalds's avatar
      Merge tag 'kvm-3.11-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 64fb6d9a
      Linus Torvalds authored
      Pull more KVM changes from Gleb Natapov:
       "A fix for a bug that prevents some guests from working on old Intel
        CPUs and a patch that integrates ARM64 KVM, merged via ARM64 tree,
        into Kconfig."
      
      * tag 'kvm-3.11-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: VMX: mark unusable segment as nonpresent
        arm64: KVM: Kconfig integration
      64fb6d9a
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · b4294eec
      Linus Torvalds authored
      Pull Sparc bugfixes from David Miller:
       "Four bug fixes:
      
         1) Enable snoop tags properly on Sparc32/LEON, from Andreas Larsson
      
         2) strcpy() length check fix from Chen Gang.
      
         3) Forgotten unregister_netdev() in sunvnet driver, from Dave
            Kleikamp.
      
         4) Fix broken assembler offsets used in vm_area_struct accesses on
            sparc32, from Olivier DANET."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        [PATCH] sparc32: vm_area_struct access for old Sun SPARCs.
        sunvnet: vnet_port_remove must call unregister_netdev
        sparc32, leon: Require separate snoop tags set to regard snooping to be enabled
        arch: sparc: kernel: check the memory length before use strcpy().
      b4294eec
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 4ece92df
      Linus Torvalds authored
      Pull IDE updates from David Miller:
       "Just a few small things:
      
         1) module_platform_driver_probe() conversions from Jingoo Han.
      
         2) module_pci_driver() conversion from Libo Chen.
      
         3) PIO size calculation fix from Steven J Hill"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        ide: Fix IDE PIO size calculation
        drivers/ide/delkin_cb: Convert to module_pci_driver
        ide: gayle: use module_platform_driver_probe()
        ide: tx4939ide: use module_platform_driver_probe()
        ide: tx4938ide: use module_platform_driver_probe()
      4ece92df
    • Linus Torvalds's avatar
      Merge branch 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 75fcf64d
      Linus Torvalds authored
      Pull printk locking fix from Thomas Gleixner:
       "A single lock ordering fix in the printk code"
      
      * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        printk: Fix rq->lock vs logbuf_lock unlock lock inversion
      75fcf64d
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew Morton) · db6e3304
      Linus Torvalds authored
      Merge more patches from Andrew Morton:
       "The rest of MM"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm: remove free_area_cache
        zswap: add documentation
        zswap: add to mm/
        zbud: add to mm/
      db6e3304
    • Michel Lespinasse's avatar
      mm: remove free_area_cache · 98d1e64f
      Michel Lespinasse authored
      Since all architectures have been converted to use vm_unmapped_area(),
      there is no remaining use for the free_area_cache.
      Signed-off-by: default avatarMichel Lespinasse <walken@google.com>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      98d1e64f
    • Seth Jennings's avatar
      zswap: add documentation · 61b0d760
      Seth Jennings authored
      Add the documentation file for the zswap functionality
      Signed-off-by: default avatarSeth Jennings <sjenning@linux.vnet.ibm.com>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Nitin Gupta <ngupta@vflare.org>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Dan Magenheimer <dan.magenheimer@oracle.com>
      Cc: Robert Jennings <rcj@linux.vnet.ibm.com>
      Cc: Jenifer Hopper <jhopper@us.ibm.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Johannes Weiner <jweiner@redhat.com>
      Cc: Larry Woodman <lwoodman@redhat.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Dave Hansen <dave@sr71.net>
      Cc: Joe Perches <joe@perches.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Cody P Schafer <cody@linux.vnet.ibm.com>
      Cc: Hugh Dickens <hughd@google.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      61b0d760
    • Seth Jennings's avatar
      zswap: add to mm/ · 2b281117
      Seth Jennings authored
      zswap is a thin backend for frontswap that takes pages that are in the
      process of being swapped out and attempts to compress them and store
      them in a RAM-based memory pool.  This can result in a significant I/O
      reduction on the swap device and, in the case where decompressing from
      RAM is faster than reading from the swap device, can also improve
      workload performance.
      
      It also has support for evicting swap pages that are currently
      compressed in zswap to the swap device on an LRU(ish) basis.  This
      functionality makes zswap a true cache in that, once the cache is full,
      the oldest pages can be moved out of zswap to the swap device so newer
      pages can be compressed and stored in zswap.
      
      This patch adds the zswap driver to mm/
      Signed-off-by: default avatarSeth Jennings <sjenning@linux.vnet.ibm.com>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Nitin Gupta <ngupta@vflare.org>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Dan Magenheimer <dan.magenheimer@oracle.com>
      Cc: Robert Jennings <rcj@linux.vnet.ibm.com>
      Cc: Jenifer Hopper <jhopper@us.ibm.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Johannes Weiner <jweiner@redhat.com>
      Cc: Larry Woodman <lwoodman@redhat.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Dave Hansen <dave@sr71.net>
      Cc: Joe Perches <joe@perches.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Cody P Schafer <cody@linux.vnet.ibm.com>
      Cc: Hugh Dickens <hughd@google.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2b281117
    • Seth Jennings's avatar
      zbud: add to mm/ · 4e2e2770
      Seth Jennings authored
      zbud is an special purpose allocator for storing compressed pages.  It
      is designed to store up to two compressed pages per physical page.
      While this design limits storage density, it has simple and
      deterministic reclaim properties that make it preferable to a higher
      density approach when reclaim will be used.
      
      zbud works by storing compressed pages, or "zpages", together in pairs
      in a single memory page called a "zbud page".  The first buddy is "left
      justifed" at the beginning of the zbud page, and the last buddy is
      "right justified" at the end of the zbud page.  The benefit is that if
      either buddy is freed, the freed buddy space, coalesced with whatever
      slack space that existed between the buddies, results in the largest
      possible free region within the zbud page.
      
      zbud also provides an attractive lower bound on density.  The ratio of
      zpages to zbud pages can not be less than 1.  This ensures that zbud can
      never "do harm" by using more pages to store zpages than the
      uncompressed zpages would have used on their own.
      
      This implementation is a rewrite of the zbud allocator internally used
      by zcache in the driver/staging tree.  The rewrite was necessary to
      remove some of the zcache specific elements that were ingrained
      throughout and provide a generic allocation interface that can later be
      used by zsmalloc and others.
      
      This patch adds zbud to mm/ for later use by zswap.
      Signed-off-by: default avatarSeth Jennings <sjenning@linux.vnet.ibm.com>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Nitin Gupta <ngupta@vflare.org>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Dan Magenheimer <dan.magenheimer@oracle.com>
      Cc: Robert Jennings <rcj@linux.vnet.ibm.com>
      Cc: Jenifer Hopper <jhopper@us.ibm.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Johannes Weiner <jweiner@redhat.com>
      Cc: Larry Woodman <lwoodman@redhat.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Dave Hansen <dave@sr71.net>
      Cc: Joe Perches <joe@perches.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Cody P Schafer <cody@linux.vnet.ibm.com>
      Cc: Hugh Dickens <hughd@google.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Bob Liu <bob.liu@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4e2e2770
  3. 10 Jul, 2013 8 commits
    • Linus Torvalds's avatar
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · ae924949
      Linus Torvalds authored
      Pull coccinelle updates from Michal Marek:
       "The misc branch is reserved for Coccinelle this time:
      
         - 'report' is the default mode
         - MAINTAINERS update for Coccinelle
         - documentation udate
         - use new option format for spatch(1)
         - J=<n> variable to mimic make -j for coccicheck
         - check for missing pci_free_consistent() calls
      
        There are some patches for rpm-pkg and deb-pkg waiting for the
        3.12-rc1 merge window"
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        Coccinelle: Update information about the minimal version required
        Coccinelle: Update the options used to the new option scheme
        scripts: Coccinelle script for pci_free_consistent()
        Coccinelle: Update the documentation
        Coccinelle: Update section of MAINTAINERS
        coccicheck: span checks across CPUs
        scripts/coccinelle: check for field address argument to kfree
        Coccinelle: Update the Coccinelle section of MAINTAINERS
        Coccinelle: Make 'report' the default mode
      ae924949
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · b202c0d5
      Linus Torvalds authored
      Pull kconfig updates from Michal Marek:
       - dependency solver fix for make defconfig
       - randconfig fixes, one of which had to be reverted again
       - more user-friendly sorting of search results
       - hex and range keywords support longs
       - fix for [mn]conf not to rely on particular behavior of the LINES and
         COLS variables
       - cleanup of magic constants in kconfig/lxdialog
       - [mn]conf formatting fixes
       - fix for scripts/config's help text in out-of-tree usage (under a
         different name)
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kconfig: allow "hex" and "range" to support longs
        Revert "kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG"
        kconfig: fix randomising choice entries in presence of KCONFIG_ALLCONFIG
        kconfig: loop as long as we changed some symbols in randconfig
        kconfig/[mn]conf: make it explicit in the search box that a regexp is possible
        kconfig: sort found symbols by relevance
        kconfig/conf: print the seed used to initialise the RNG for randconfig
        kconfig/conf: accept a base-16 seed for randconfig
        kconfig/conf: fix randconfig setting multiple symbols in a choice
        scripts/config: replace hard-coded script name by a dynamic value
        mconf/nconf: mark empty menus/menuconfigs different from non-empty ones
        nconf: use function calls instead of ncurses' variables LINES and COLS
        mconf: use function calls instead of ncurses' variables LINES and COLS
        kconfig/lxdialog: handle newline characters in print_autowrap()
        kconfig/lxdialog: Use new mininimum resize definitions in conf_choice()
        kconfig/lxdialog: Add definitions for mininimum (re)size values
        kconfig: Fix defconfig when one choice menu selects options that another choice menu depends on
      b202c0d5
    • Linus Torvalds's avatar
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · cb63fc26
      Linus Torvalds authored
      Pull kbuild updates from Michal Marek:
       - fix for make headers_install argv explosion with too long path
       - scripts/setlocalversion does not call git update-index needlessly
       - fix for the src.rpm produced by make rpm-pkg.  The new make
         image_name can be useful also for other packaging tools.
       - scripts/mod/devicetable-offsets.o is not rebuilt during each make run
       - make modules_install dependency fix
       - scripts/sortextable portability fix
       - fix for kbuild to generate the output directory for all object files
         in subdirs.
       - a couple of minor fixes
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: create directory for dir/file.o
        tools/include: use stdint types for user-space byteshift headers
        Makefile: Fix install error with make -j option
        Fix a build warning in scripts/mod/file2alias.c
        improve modalias building
        scripts/mod: Spelling s/DEVICEVTABLE/DEVICETABLE/
        kbuild: fix error when building from src rpm
        scripts/setlocalversion on write-protected source tree
        Makefile.lib: align DTB quiet_cmd
        kbuild: fix make headers_install when path is too long
      cb63fc26
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a9642fa3
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Two small fixlets"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Fix interrupt handler timing harness
        perf/x86/amd: Do not print an error when the device is not present
      a9642fa3
    • Jim Ramsay's avatar
      dm: add switch target · 9d0eb0ab
      Jim Ramsay authored
      dm-switch is a new target that maps IO to underlying block devices
      efficiently when there is a large number of fixed-sized address regions
      but there is no simple pattern to allow for a compact mapping
      representation such as dm-stripe.
      
      Though we have developed this target for a specific storage device, Dell
      EqualLogic, we have made an effort to keep it as general purpose as
      possible in the hope that others may benefit.
      
      Originally developed by Jim Ramsay. Simplified by Mikulas Patocka.
      Signed-off-by: default avatarJim Ramsay <jim_ramsay@dell.com>
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      9d0eb0ab
    • Alasdair G Kergon's avatar
      dm: update maintainers · 8504eed3
      Alasdair G Kergon authored
      Add Mike Snitzer as an additional device-mapper maintainer.
      Recognise uapi dm-*.h include files as device-mapper files.
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      Cc: Yann Droneaud <ydroneaud@opteya.com>
      Cc: Mike Snitzer <snitzer@redhat.com>
      8504eed3
    • Mikulas Patocka's avatar
      dm: optimize reorder structure · 2a7faeb1
      Mikulas Patocka authored
      This reorder actually improves performance by 20% (from 39.1s to 32.8s)
      on x86-64 quad core Opteron.
      
      I have no explanation for this, possibly it makes some other entries are
      better cache-aligned.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      2a7faeb1
    • Mikulas Patocka's avatar
      dm: optimize use SRCU and RCU · 83d5e5b0
      Mikulas Patocka authored
      This patch removes "io_lock" and "map_lock" in struct mapped_device and
      "holders" in struct dm_table and replaces these mechanisms with
      sleepable-rcu.
      
      Previously, the code would call "dm_get_live_table" and "dm_table_put" to
      get and release table. Now, the code is changed to call "dm_get_live_table"
      and "dm_put_live_table". dm_get_live_table locks sleepable-rcu and
      dm_put_live_table unlocks it.
      
      dm_get_live_table_fast/dm_put_live_table_fast can be used instead of
      dm_get_live_table/dm_put_live_table. These *_fast functions use
      non-sleepable RCU, so the caller must not block between them.
      
      If the code changes active or inactive dm table, it must call
      dm_sync_table before destroying the old table.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarJun'ichi Nomura <j-nomura@ce.jp.nec.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      83d5e5b0