1. 21 12月, 2012 17 次提交
    • L
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 810a4855
      Linus Torvalds 提交于
      Pull kbuild changes from Michal Marek:
       "The kbuild changes are minimal this time:
      
         - scripts/pnmlogo fix for some newer format
      
         - minor top-level Makefile cleanup
      
         - fix for a v3.5 regression with make clean M=<directory>"
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: Do not remove vmlinux when cleaning external module
        scripts/pnmtologo: fix for plain PBM
        kbuild: Remove reference to uninitialised variable
      810a4855
    • T
      ARM: OMAP2+: Trivial fix for IOMMU merge issue · 6f8c9d21
      Tony Lindgren 提交于
      Commit 787314c3 ("Merge tag 'iommu-updates-v3.8' of
      git://git./linux/kernel/git/joro/iommu") did not account for the changed
      header location.
      
      The headers were made local to mach-omap2 as they are specific to omap2+
      only, and we wanted to get most of the #include <plat/*.h> headers fixed
      up anyways for the ARM multiplatform support.
      
      We attempted to avoid this kind of merge conflict early on by setting up
      a minimal git branch shared by the arm-soc tree and the iommu tree, but
      looks like we still hit a merge issue there as the branches got merged
      as various topic branches.
      
      Cc: Joerg Roedel <joro@8bytes.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6f8c9d21
    • L
      Merge branch 'for-3.8' of git://linux-nfs.org/~bfields/linux · 98219727
      Linus Torvalds 提交于
      Pull nfsd update from Bruce Fields:
       "Included this time:
      
         - more nfsd containerization work from Stanislav Kinsbursky: we're
           not quite there yet, but should be by 3.9.
      
         - NFSv4.1 progress: implementation of basic backchannel security
           negotiation and the mandatory BACKCHANNEL_CTL operation.  See
      
             http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues
      
           for remaining TODO's
      
         - Fixes for some bugs that could be triggered by unusual compounds.
           Our xdr code wasn't designed with v4 compounds in mind, and it
           shows.  A more thorough rewrite is still a todo.
      
         - If you've ever seen "RPC: multiple fragments per record not
           supported" logged while using some sort of odd userland NFS client,
           that should now be fixed.
      
         - Further work from Jeff Layton on our mechanism for storing
           information about NFSv4 clients across reboots.
      
         - Further work from Bryan Schumaker on his fault-injection mechanism
           (which allows us to discard selective NFSv4 state, to excercise
           rarely-taken recovery code paths in the client.)
      
         - The usual mix of miscellaneous bugs and cleanup.
      
        Thanks to everyone who tested or contributed this cycle."
      
      * 'for-3.8' of git://linux-nfs.org/~bfields/linux: (111 commits)
        nfsd4: don't leave freed stateid hashed
        nfsd4: free_stateid can use the current stateid
        nfsd4: cleanup: replace rq_resused count by rq_next_page pointer
        nfsd: warn on odd reply state in nfsd_vfs_read
        nfsd4: fix oops on unusual readlike compound
        nfsd4: disable zero-copy on non-final read ops
        svcrpc: fix some printks
        NFSD: Correct the size calculation in fault_inject_write
        NFSD: Pass correct buffer size to rpc_ntop
        nfsd: pass proper net to nfsd_destroy() from NFSd kthreads
        nfsd: simplify service shutdown
        nfsd: replace boolean nfsd_up flag by users counter
        nfsd: simplify NFSv4 state init and shutdown
        nfsd: introduce helpers for generic resources init and shutdown
        nfsd: make NFSd service structure allocated per net
        nfsd: make NFSd service boot time per-net
        nfsd: per-net NFSd up flag introduced
        nfsd: move per-net startup code to separated function
        nfsd: pass net to __write_ports() and down
        nfsd: pass net to nfsd_set_nrthreads()
        ...
      98219727
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 40889e8d
      Linus Torvalds 提交于
      Pull Ceph update from Sage Weil:
       "There are a few different groups of commits here.  The largest is
        Alex's ongoing work to enable the coming RBD features (cloning,
        striping).  There is some cleanup in libceph that goes along with it.
      
        Cyril and David have fixed some problems with NFS reexport (leaking
        dentries and page locks), and there is a batch of patches from Yan
        fixing problems with the fs client when running against a clustered
        MDS.  There are a few bug fixes mixed in for good measure, many of
        which will be going to the stable trees once they're upstream.
      
        My apologies for the late pull.  There is still a gremlin in the rbd
        map/unmap code and I was hoping to include the fix for that as well,
        but we haven't been able to confirm the fix is correct yet; I'll send
        that in a separate pull once it's nailed down."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (68 commits)
        rbd: get rid of rbd_{get,put}_dev()
        libceph: register request before unregister linger
        libceph: don't use rb_init_node() in ceph_osdc_alloc_request()
        libceph: init event->node in ceph_osdc_create_event()
        libceph: init osd->o_node in create_osd()
        libceph: report connection fault with warning
        libceph: socket can close in any connection state
        rbd: don't use ENOTSUPP
        rbd: remove linger unconditionally
        rbd: get rid of RBD_MAX_SEG_NAME_LEN
        libceph: avoid using freed osd in __kick_osd_requests()
        ceph: don't reference req after put
        rbd: do not allow remove of mounted-on image
        libceph: Unlock unprocessed pages in start_read() error path
        ceph: call handle_cap_grant() for cap import message
        ceph: Fix __ceph_do_pending_vmtruncate
        ceph: Don't add dirty inode to dirty list if caps is in migration
        ceph: Fix infinite loop in __wake_requests
        ceph: Don't update i_max_size when handling non-auth cap
        bdi_register: add __printf verification, fix arg mismatch
        ...
      40889e8d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 1ca22254
      Linus Torvalds 提交于
      Pull two btrfs reverts from Chris Mason:
       "I had missed that for two of the patches in my last pull, we had
        included different fixes during 3.7."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Revert "Btrfs: reorder tree mod log operations in deleting a pointer"
        Revert "Btrfs: MOD_LOG_KEY_REMOVE_WHILE_MOVING never change node's nritems"
      1ca22254
    • L
      Merge tag 'for-3.8-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · a13eea6b
      Linus Torvalds 提交于
      Pull new F2FS filesystem from Jaegeuk Kim:
       "Introduce a new file system, Flash-Friendly File System (F2FS), to
        Linux 3.8.
      
        Highlights:
         - Add initial f2fs source codes
         - Fix an endian conversion bug
         - Fix build failures on random configs
         - Fix the power-off-recovery routine
         - Minor cleanup, coding style, and typos patches"
      
      From the Kconfig help text:
      
        F2FS is based on Log-structured File System (LFS), which supports
        versatile "flash-friendly" features. The design has been focused on
        addressing the fundamental issues in LFS, which are snowball effect
        of wandering tree and high cleaning overhead.
      
        Since flash-based storages show different characteristics according to
        the internal geometry or flash memory management schemes aka FTL, F2FS
        and tools support various parameters not only for configuring on-disk
        layout, but also for selecting allocation and cleaning algorithms.
      
      and there's an article by Neil Brown about it on lwn.net:
      
        http://lwn.net/Articles/518988/
      
      * tag 'for-3.8-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (36 commits)
        f2fs: fix tracking parent inode number
        f2fs: cleanup the f2fs_bio_alloc routine
        f2fs: introduce accessor to retrieve number of dentry slots
        f2fs: remove redundant call to f2fs_put_page in delete entry
        f2fs: make use of GFP_F2FS_ZERO for setting gfp_mask
        f2fs: rewrite f2fs_bio_alloc to make it simpler
        f2fs: fix a typo in f2fs documentation
        f2fs: remove unused variable
        f2fs: move error condition for mkdir at proper place
        f2fs: remove unneeded initialization
        f2fs: check read only condition before beginning write out
        f2fs: remove unneeded memset from init_once
        f2fs: show error in case of invalid mount arguments
        f2fs: fix the compiler warning for uninitialized use of variable
        f2fs: resolve build failures
        f2fs: adjust kernel coding style
        f2fs: fix endian conversion bugs reported by sparse
        f2fs: remove unneeded version.h header file from f2fs.h
        f2fs: update the f2fs document
        f2fs: update Kconfig and Makefile
        ...
      a13eea6b
    • S
      lib: atomic64: Initialize locks statically to fix early users · fcc16882
      Stephen Boyd 提交于
      The atomic64 library uses a handful of static spin locks to implement
      atomic 64-bit operations on architectures without support for atomic
      64-bit instructions.
      
      Unfortunately, the spinlocks are initialized in a pure initcall and that
      is too late for the vfs namespace code which wants to use atomic64
      operations before the initcall is run.
      
      This became a problem as of commit 8823c079: "vfs: Add setns support
      for the mount namespace".
      
      This leads to BUG messages such as:
      
        BUG: spinlock bad magic on CPU#0, swapper/0/0
         lock: atomic64_lock+0x240/0x400, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
          do_raw_spin_lock+0x158/0x198
          _raw_spin_lock_irqsave+0x4c/0x58
          atomic64_add_return+0x30/0x5c
          alloc_mnt_ns.clone.14+0x44/0xac
          create_mnt_ns+0xc/0x54
          mnt_init+0x120/0x1d4
          vfs_caches_init+0xe0/0x10c
          start_kernel+0x29c/0x300
      
      coming out early on during boot when spinlock debugging is enabled.
      
      Fix this by initializing the spinlocks statically at compile time.
      Reported-and-tested-by: NVaibhav Bedia <vaibhav.bedia@ti.com>
      Tested-by: NTony Lindgren <tony@atomide.com>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fcc16882
    • L
      Merge tag 'iommu-updates-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 787314c3
      Linus Torvalds 提交于
      Pull IOMMU updates from Joerg Roedel:
       "A few new features this merge-window.  The most important one is
        probably, that dma-debug now warns if a dma-handle is not checked with
        dma_mapping_error by the device driver.  This requires minor changes
        to some architectures which make use of dma-debug.  Most of these
        changes have the respective Acks by the Arch-Maintainers.
      
        Besides that there are updates to the AMD IOMMU driver for refactor
        the IOMMU-Groups support and to make sure it does not trigger a
        hardware erratum.
      
        The OMAP changes (for which I pulled in a branch from Tony Lindgren's
        tree) have a conflict in linux-next with the arm-soc tree.  The
        conflict is in the file arch/arm/mach-omap2/clock44xx_data.c which is
        deleted in the arm-soc tree.  It is safe to delete the file too so
        solve the conflict.  Similar changes are done in the arm-soc tree in
        the common clock framework migration.  A missing hunk from the patch
        in the IOMMU tree will be submitted as a seperate patch when the
        merge-window is closed."
      
      * tag 'iommu-updates-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (29 commits)
        ARM: dma-mapping: support debug_dma_mapping_error
        ARM: OMAP4: hwmod data: ipu and dsp to use parent clocks instead of leaf clocks
        iommu/omap: Adapt to runtime pm
        iommu/omap: Migrate to hwmod framework
        iommu/omap: Keep mmu enabled when requested
        iommu/omap: Remove redundant clock handling on ISR
        iommu/amd: Remove obsolete comment
        iommu/amd: Don't use 512GB pages
        iommu/tegra: smmu: Move bus_set_iommu after probe for multi arch
        iommu/tegra: gart: Move bus_set_iommu after probe for multi arch
        iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all
        tile: dma_debug: add debug_dma_mapping_error support
        sh: dma_debug: add debug_dma_mapping_error support
        powerpc: dma_debug: add debug_dma_mapping_error support
        mips: dma_debug: add debug_dma_mapping_error support
        microblaze: dma-mapping: support debug_dma_mapping_error
        ia64: dma_debug: add debug_dma_mapping_error support
        c6x: dma_debug: add debug_dma_mapping_error support
        ARM64: dma_debug: add debug_dma_mapping_error support
        intel-iommu: Prevent devices with RMRRs from being placed into SI Domain
        ...
      787314c3
    • W
      intel-iommu: Free old page tables before creating superpage · 6491d4d0
      Woodhouse, David 提交于
      The dma_pte_free_pagetable() function will only free a page table page
      if it is asked to free the *entire* 2MiB range that it covers. So if a
      page table page was used for one or more small mappings, it's likely to
      end up still present in the page tables... but with no valid PTEs.
      
      This was fine when we'd only be repopulating it with 4KiB PTEs anyway
      but the same virtual address range can end up being reused for a
      *large-page* mapping. And in that case were were trying to insert the
      large page into the second-level page table, and getting a complaint
      from the sanity check in __domain_mapping() because there was already a
      corresponding entry. This was *relatively* harmless; it led to a memory
      leak of the old page table page, but no other ill-effects.
      
      Fix it by calling dma_pte_clear_range (hopefully redundant) and
      dma_pte_free_pagetable() before setting up the new large page.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Tested-by: NRavi Murty <Ravi.Murty@intel.com>
      Tested-by: NSudeep Dutt <sudeep.dutt@intel.com>
      Cc: stable@kernel.org [3.0+]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6491d4d0
    • A
      rbd: get rid of rbd_{get,put}_dev() · c3e946ce
      Alex Elder 提交于
      The functions rbd_get_dev() and rbd_put_dev() are trivial wrappers
      that add no value, and their existence suggests they may do more
      than what they do.
      
      Get rid of them.
      Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NDan Mick <dan.mick@inktank.com>
      c3e946ce
    • A
      libceph: register request before unregister linger · c89ce05e
      Alex Elder 提交于
      In kick_requests(), we need to register the request before we
      unregister the linger request.  Otherwise the unregister will
      reset the request's osd pointer to NULL.
      Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NSage Weil <sage@inktank.com>
      c89ce05e
    • A
      libceph: don't use rb_init_node() in ceph_osdc_alloc_request() · a978fa20
      Alex Elder 提交于
      The red-black node in the ceph osd request structure is initialized
      in ceph_osdc_alloc_request() using rbd_init_node().  We do need to
      initialize this, because in __unregister_request() we call
      RB_EMPTY_NODE(), which expects the node it's checking to have
      been initialized.  But rb_init_node() is apparently overkill, and
      may in fact be on its way out.  So use RB_CLEAR_NODE() instead.
      
      For a little more background, see this commit:
          4c199a93 rbtree: empty nodes have no color"
      Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NSage Weil <sage@inktank.com>
      a978fa20
    • A
      libceph: init event->node in ceph_osdc_create_event() · 3ee5234d
      Alex Elder 提交于
      The red-black node node in the ceph osd event structure is not
      initialized in create_osdc_create_event().  Because this node can
      be the subject of a RB_EMPTY_NODE() call later on, we should ensure
      the node is initialized properly for that.
      Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NSage Weil <sage@inktank.com>
      3ee5234d
    • A
      libceph: init osd->o_node in create_osd() · f407731d
      Alex Elder 提交于
      The red-black node node in the ceph osd structure is not initialized
      in create_osd().  Because this node can be the subject of a
      RB_EMPTY_NODE() call later on, we should ensure the node is
      initialized properly for that.  Add a call to RB_CLEAR_NODE()
      initialize it.
      Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NSage Weil <sage@inktank.com>
      f407731d
    • A
      libceph: report connection fault with warning · 28362986
      Alex Elder 提交于
      When a connection's socket disconnects, or if there's a protocol
      error of some kind on the connection, a fault is signaled and
      the connection is reset (closed and reopened, basically).  We
      currently get an error message on the log whenever this occurs.
      
      A ceph connection will attempt to reestablish a socket connection
      repeatedly if a fault occurs.  This means that these error messages
      will get repeatedly added to the log, which is undesirable.
      
      Change the error message to be a warning, so they don't get
      logged by default.
      Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NSage Weil <sage@inktank.com>
      28362986
    • V
      ARM: OMAP: Fix build breakage due to missing include in i2c.c · 18000985
      Vaibhav Bedia 提交于
      Merge commit 752451f0 ("Merge branch 'i2c-embedded/for-next' of
      git://git.pengutronix.de/git/wsa/linux") resulted in a build breakage
      for OMAP
      
        arch/arm/mach-omap2/i2c.c: In function 'omap_pm_set_max_mpu_wakeup_lat_compat':
        arch/arm/mach-omap2/i2c.c:130:2: error: implicit declaration of function 'omap_pm_set_max_mpu_wakeup_lat'
        make[1]: *** [arch/arm/mach-omap2/i2c.o] Error 1
      
      Fix this by including the appropriate header file with the function
      prototype.
      Reported-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NVaibhav Bedia <vaibhav.bedia@ti.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      18000985
    • L
      Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · b7dfde95
      Linus Torvalds 提交于
      Pull virtio update from Rusty Russell:
       "Some nice cleanups, and even a patch my wife did as a "live" demo for
        Latinoware 2012.
      
        There's a slightly non-trivial merge in virtio-net, as we cleaned up
        the virtio add_buf interface while DaveM accepted the mq virtio-net
        patches."
      
      * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (27 commits)
        virtio_console: Add support for remoteproc serial
        virtio_console: Merge struct buffer_token into struct port_buffer
        virtio: add drv_to_virtio to make code clearly
        virtio: use dev_to_virtio wrapper in virtio
        virtio-mmio: Fix irq parsing in command line parameter
        virtio_console: Free buffers from out-queue upon close
        virtio: Convert dev_printk(KERN_<LEVEL> to dev_<level>(
        virtio_console: Use kmalloc instead of kzalloc
        virtio_console: Free buffer if splice fails
        virtio: tools: make it clear that virtqueue_add_buf() no longer returns > 0
        virtio: scsi: make it clear that virtqueue_add_buf() no longer returns > 0
        virtio: rpmsg: make it clear that virtqueue_add_buf() no longer returns > 0
        virtio: net: make it clear that virtqueue_add_buf() no longer returns > 0
        virtio: console: make it clear that virtqueue_add_buf() no longer returns > 0
        virtio: make virtqueue_add_buf() returning 0 on success, not capacity.
        virtio: console: don't rely on virtqueue_add_buf() returning capacity.
        virtio_net: don't rely on virtqueue_add_buf() returning capacity.
        virtio-net: remove unused skb_vnet_hdr->num_sg field
        virtio-net: correct capacity math on ring full
        virtio: move queue_index and num_free fields into core struct virtqueue.
        ...
      b7dfde95
  2. 20 12月, 2012 23 次提交