1. 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
  2. 10 Jul, 2013 16 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
    • Mikulas Patocka's avatar
      dm bufio: submit writes outside lock · 2480945c
      Mikulas Patocka authored
      This patch changes dm-bufio so that it submits write I/Os outside of the
      lock. If the number of submitted buffers is greater than the number of
      requests on the target queue, submit_bio blocks. We want to block outside
      of the lock to improve latency of other threads that may need the lock.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      2480945c
    • Mikulas Patocka's avatar
      dm cache: fix arm link errors with inline · 43aeaa29
      Mikulas Patocka authored
      Use __always_inline to avoid a link failure with gcc 4.6 on ARM.
      gcc 4.7 is OK.
      
      It creates a function block_div.part.8, it references __udivdi3 and
      __umoddi3 and it is never called. The references to __udivdi3 and
      __umoddi3 cause a link failure.
      Reported-by: default avatarRob Herring <robherring2@gmail.com>
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      43aeaa29
    • Mikulas Patocka's avatar
      dm verity: use __ffs and __fls · 553d8fe0
      Mikulas Patocka authored
      This patch changes ffs() to __ffs() and fls() to __fls() which don't add
      one to the result.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      553d8fe0
    • Alasdair G Kergon's avatar
      dm flakey: correct ctr alloc failure mesg · 75e3a0f5
      Alasdair G Kergon authored
      Remove the reference to the "linear" target from the error message
      issued when allocation fails in the flakey target.
      
      Cc: Robin Dong <sanbai@taobao.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      75e3a0f5
    • Mikulas Patocka's avatar
      dm verity: remove pointless comparison · 5d8be843
      Mikulas Patocka authored
      Remove num < 0 test in verity_ctr because num is unsigned.
      (Found by Coverity.)
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      5d8be843
    • Mikulas Patocka's avatar
      dm: use __GFP_HIGHMEM in __vmalloc · 220cd058
      Mikulas Patocka authored
      Use __GFP_HIGHMEM in __vmalloc.
      
      Pages allocated with __vmalloc can be allocated in high memory that is not
      directly mapped to kernel space, so use __GFP_HIGHMEM just like vmalloc
      does. This patch reduces memory pressure slightly because pages can be
      allocated in the high zone.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      220cd058
    • Mikulas Patocka's avatar
      dm verity: fix inability to use a few specific devices sizes · b1bf2de0
      Mikulas Patocka authored
      Fix a boundary condition that caused failure for certain device sizes.
      
      The problem is reported at
        http://code.google.com/p/cryptsetup/issues/detail?id=160
      
      For certain device sizes the number of hashes at a specific level was
      calculated incorrectly.
      
      It happens for example for a device with data and metadata block size 4096
      that has 16385 blocks and algorithm sha256.
      
      The user can test if he is affected by this bug by running the
      "veritysetup verify" command and also by activating the dm-verity kernel
      driver and reading the whole block device. If it passes without an error,
      then the user is not affected.
      
      The condition for the bug is:
      
      Split the total number of data blocks (data_block_bits) into bit strings,
      each string has hash_per_block_bits bits. hash_per_block_bits is
      rounddown(log2(metadata_block_size/hash_digest_size)). Equivalently, you
      can say that you convert data_blocks_bits to 2^hash_per_block_bits base.
      
      If there some zero bit string below the most significant bit string and at
      least one bit below this zero bit string is set, then the bug happens.
      
      The same bug exists in the userspace veritysetup tool, so you must use
      fixed veritysetup too if you want to use devices that are affected by
      this boundary condition.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Cc: stable@vger.kernel.org # 3.4+
      Cc: Milan Broz <gmazyland@gmail.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      b1bf2de0
    • Mikulas Patocka's avatar
      dm ioctl: set noio flag to avoid __vmalloc deadlock · 1c0e883e
      Mikulas Patocka authored
      Set noio flag while calling __vmalloc() because it doesn't fully respect
      gfp flags to avoid a possible deadlock (see commit
      502624bd).
      
      This should be backported to stable kernels 3.8 and newer. The kernel 3.8
      doesn't have memalloc_noio_save(), so we should set and restore process
      flag PF_MEMALLOC instead.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      1c0e883e