1. 27 Jul, 2011 40 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · 22712200
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
        Btrfs: make sure reserve_metadata_bytes doesn't leak out strange errors
        Btrfs: use the commit_root for reading free_space_inode crcs
        Btrfs: reduce extent_state lock contention for metadata
        Btrfs: remove lockdep magic from btrfs_next_leaf
        Btrfs: make a lockdep class for each root
        Btrfs: switch the btrfs tree locks to reader/writer
        Btrfs: fix deadlock when throttling transactions
        Btrfs: stop using highmem for extent_buffers
        Btrfs: fix BUG_ON() caused by ENOSPC when relocating space
        Btrfs: tag pages for writeback in sync
        Btrfs: fix enospc problems with delalloc
        Btrfs: don't flush delalloc arbitrarily
        Btrfs: use find_or_create_page instead of grab_cache_page
        Btrfs: use a worker thread to do caching
        Btrfs: fix how we merge extent states and deal with cached states
        Btrfs: use the normal checksumming infrastructure for free space cache
        Btrfs: serialize flushers in reserve_metadata_bytes
        Btrfs: do transaction space reservation before joining the transaction
        Btrfs: try to only do one btrfs_search_slot in do_setxattr
      22712200
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 597a67e0
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: optimize the negative xattr caching
        xfs: prevent against ioend livelocks in xfs_file_fsync
        xfs: flag all buffers as metadata
        xfs: encapsulate a block of debug code
      597a67e0
    • Linus Torvalds's avatar
      Merge branch 'nfs-for-3.1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 28890d35
      Linus Torvalds authored
      * 'nfs-for-3.1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (44 commits)
        NFSv4: Don't use the delegation->inode in nfs_mark_return_delegation()
        nfs: don't use d_move in nfs_async_rename_done
        RDMA: Increasing RPCRDMA_MAX_DATA_SEGS
        SUNRPC: Replace xprt->resend and xprt->sending with a priority queue
        SUNRPC: Allow caller of rpc_sleep_on() to select priority levels
        SUNRPC: Support dynamic slot allocation for TCP connections
        SUNRPC: Clean up the slot table allocation
        SUNRPC: Initalise the struct xprt upon allocation
        SUNRPC: Ensure that we grab the XPRT_LOCK before calling xprt_alloc_slot
        pnfs: simplify pnfs files module autoloading
        nfs: document nfsv4 sillyrename issues
        NFS: Convert nfs4_set_ds_client to EXPORT_SYMBOL_GPL
        SUNRPC: Convert the backchannel exports to EXPORT_SYMBOL_GPL
        SUNRPC: sunrpc should not explicitly depend on NFS config options
        NFS: Clean up - simplify the switch to read/write-through-MDS
        NFS: Move the pnfs write code into pnfs.c
        NFS: Move the pnfs read code into pnfs.c
        NFS: Allow the nfs_pageio_descriptor to signal that a re-coalesce is needed
        NFS: Use the nfs_pageio_descriptor->pg_bsize in the read/write request
        NFS: Cache rpc_ops in struct nfs_pageio_descriptor
        ...
      28890d35
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 91d41fdf
      Linus Torvalds authored
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Convert to DIV_ROUND_UP_SECTOR_T usage for sectors / dev_max_sectors
        kernel.h: Add DIV_ROUND_UP_ULL and DIV_ROUND_UP_SECTOR_T macro usage
        iscsi-target: Add iSCSI fabric support for target v4.1
        iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h
        iscsi: Use struct scsi_lun in iscsi structs instead of u8[8]
        iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi
      91d41fdf
    • Chris Mason's avatar
      Merge branch 'integration' into for-linus · ff95acb6
      Chris Mason authored
      ff95acb6
    • Chris Mason's avatar
      Btrfs: make sure reserve_metadata_bytes doesn't leak out strange errors · 75c195a2
      Chris Mason authored
      The btrfs transaction code will return any errors that come from
      reserve_metadata_bytes.  We need to make sure we don't return funny
      things like 1 or EAGAIN.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      75c195a2
    • Oleg Nesterov's avatar
      signals: sys_ssetmask/sys_rt_sigsuspend should use set_current_blocked() · c1095c6d
      Oleg Nesterov authored
      sys_ssetmask(), sys_rt_sigsuspend() and compat_sys_rt_sigsuspend()
      change ->blocked directly.  This is not correct, see the changelog in
      e6fa16ab "signal: sigprocmask() should do retarget_shared_pending()"
      
      Change them to use set_current_blocked().
      
      Another change is that now we are doing ->saved_sigmask = ->blocked
      lockless, it doesn't make any sense to do this under ->siglock.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reviewed-by: default avatarMatt Fleming <matt.fleming@linux.intel.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c1095c6d
    • Stephen Rothwell's avatar
      sparc: rename atomic_add_unless · 678624e4
      Stephen Rothwell authored
      Should have been done in commit 1af08a1407f4 ("This is in preparation
      for more generic atomic").
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Cc: Arun Sharma <asharma@fb.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: "Hans-Christian Egtvedt" <hans-christian.egtvedt@atmel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      678624e4
    • David Howells's avatar
      proc: make struct proc_dir_entry::name a terminal array rather than a pointer · 09570f91
      David Howells authored
      Since __proc_create() appends the name it is given to the end of the PDE
      structure that it allocates, there isn't a need to store a name pointer.
      Instead we can just replace the name pointer with a terminal char array of
      _unspecified_ length.  The compiler will simply append the string to statically
      defined variables of PDE type overlapping any hole at the end of the structure
      and, unlike specifying an explicitly _zero_ length array, won't give a warning
      if you try to statically initialise it with a string of more than zero length.
      
      Also, whilst we're at it:
      
       (1) Move namelen to end just prior to name and reduce it to a single byte
           (name shouldn't be longer than NAME_MAX).
      
       (2) Move pde_unload_lock two places further on so that if it's four bytes in
           size on a 64-bit machine, it won't cause an unused hole in the PDE struct.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      09570f91
    • Chris Mason's avatar
      Btrfs: use the commit_root for reading free_space_inode crcs · 2cf8572d
      Chris Mason authored
      Now that we are using regular file crcs for the free space cache,
      we can deadlock if we try to read the free_space_inode while we are
      updating the crc tree.
      
      This commit fixes things by using the commit_root to read the crcs.  This is
      safe because we the free space cache file would already be loaded if
      that block group had been changed in the current transaction.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      2cf8572d
    • Chris Mason's avatar
      Btrfs: reduce extent_state lock contention for metadata · 19b6caf4
      Chris Mason authored
      For metadata buffers that don't straddle pages (all of them), btrfs
      can safely use the page uptodate bits and extent_buffer uptodate bit
      instead of needing to use the extent_state tree.
      
      This greatly reduces contention on the state tree lock.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      19b6caf4
    • Chris Mason's avatar
      Btrfs: remove lockdep magic from btrfs_next_leaf · 31533fb2
      Chris Mason authored
      Before the reader/writer locks, btrfs_next_leaf needed to keep
      the path blocking to avoid making lockdep upset.
      
      Now that btrfs_next_leaf only takes read locks, this isn't required.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      31533fb2
    • Chris Mason's avatar
      Btrfs: make a lockdep class for each root · 85d4e461
      Chris Mason authored
      This patch was originally from Tejun Heo.  lockdep complains about the btrfs
      locking because we sometimes take btree locks from two different trees at the
      same time.  The current classes are based only on level in the btree, which
      isn't enough information for lockdep to figure out if the lock is safe.
      
      This patch makes a class for each type of tree, and lumps all the FS trees that
      actually have files and directories into the same class.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      85d4e461
    • Chris Mason's avatar
      Btrfs: switch the btrfs tree locks to reader/writer · bd681513
      Chris Mason authored
      The btrfs metadata btree is the source of significant
      lock contention, especially in the root node.   This
      commit changes our locking to use a reader/writer
      lock.
      
      The lock is built on top of rw spinlocks, and it
      extends the lock tracking to remember if we have a
      read lock or a write lock when we go to blocking.  Atomics
      count the number of blocking readers or writers at any
      given time.
      
      It removes all of the adaptive spinning from the old code
      and uses only the spinning/blocking hints inside of btrfs
      to decide when it should continue spinning.
      
      In read heavy workloads this is dramatically faster.  In write
      heavy workloads we're still faster because of less contention
      on the root node lock.
      
      We suffer slightly in dbench because we schedule more often
      during write locks, but all other benchmarks so far are improved.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      bd681513
    • Josef Bacik's avatar
      Btrfs: fix deadlock when throttling transactions · 81317fde
      Josef Bacik authored
      Hit this nice little deadlock.  What happens is this
      
      __btrfs_end_transaction with throttle set, --use_count so it equals 0
        btrfs_commit_transaction
          <somebody else actually manages to start the commit>
          btrfs_end_transaction --use_count so now its -1 <== BAD
            we just return and wait on the transaction
      
      This is bad because we just return after our use_count is -1 and don't let go
      of our num_writer count on the transaction, so the guy committing the
      transaction just sits there forever.  Fix this by inc'ing our use_count if we're
      going to call commit_transaction so that if we call btrfs_end_transaction it's
      valid.  Thanks,
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      81317fde
    • Chris Mason's avatar
      Btrfs: stop using highmem for extent_buffers · a6591715
      Chris Mason authored
      The extent_buffers have a very complex interface where
      we use HIGHMEM for metadata and try to cache a kmap mapping
      to access the memory.
      
      The next commit adds reader/writer locks, and concurrent use
      of this kmap cache would make it even more complex.
      
      This commit drops the ability to use HIGHMEM with extent buffers,
      and rips out all of the related code.
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      a6591715
    • Miao Xie's avatar
      Btrfs: fix BUG_ON() caused by ENOSPC when relocating space · 199c36ea
      Miao Xie authored
      When we balanced the chunks across the devices, BUG_ON() in
      __finish_chunk_alloc() was triggered.
      
      ------------[ cut here ]------------
      kernel BUG at fs/btrfs/volumes.c:2568!
      [SNIP]
      Call Trace:
       [<ffffffffa049525e>] btrfs_alloc_chunk+0x8e/0xa0 [btrfs]
       [<ffffffffa04546b0>] do_chunk_alloc+0x330/0x3a0 [btrfs]
       [<ffffffffa045c654>] btrfs_reserve_extent+0xb4/0x1f0 [btrfs]
       [<ffffffffa045c86b>] btrfs_alloc_free_block+0xdb/0x350 [btrfs]
       [<ffffffffa048a8d8>] ? read_extent_buffer+0xd8/0x1d0 [btrfs]
       [<ffffffffa04476fd>] __btrfs_cow_block+0x14d/0x5e0 [btrfs]
       [<ffffffffa044660d>] ? read_block_for_search+0x14d/0x4d0 [btrfs]
       [<ffffffffa0447c9b>] btrfs_cow_block+0x10b/0x240 [btrfs]
       [<ffffffffa044dd5e>] btrfs_search_slot+0x49e/0x7a0 [btrfs]
       [<ffffffffa044f07d>] btrfs_insert_empty_items+0x8d/0xf0 [btrfs]
       [<ffffffffa045e973>] insert_with_overflow+0x43/0x110 [btrfs]
       [<ffffffffa045eb0d>] btrfs_insert_dir_item+0xcd/0x1f0 [btrfs]
       [<ffffffffa0489bd0>] ? map_extent_buffer+0xb0/0xc0 [btrfs]
       [<ffffffff812276ad>] ? rb_insert_color+0x9d/0x160
       [<ffffffffa046cc40>] ? inode_tree_add+0xf0/0x150 [btrfs]
       [<ffffffffa0474801>] btrfs_add_link+0xc1/0x1c0 [btrfs]
       [<ffffffff811dacac>] ? security_inode_init_security+0x1c/0x30
       [<ffffffffa04a28aa>] ? btrfs_init_acl+0x4a/0x180 [btrfs]
       [<ffffffffa047492f>] btrfs_add_nondir+0x2f/0x70 [btrfs]
       [<ffffffffa046af16>] ? btrfs_init_inode_security+0x46/0x60 [btrfs]
       [<ffffffffa0474ac0>] btrfs_create+0x150/0x1d0 [btrfs]
       [<ffffffff81159c63>] ? generic_permission+0x23/0xb0
       [<ffffffff8115b415>] vfs_create+0xa5/0xc0
       [<ffffffff8115ce6e>] do_last+0x5fe/0x880
       [<ffffffff8115dc0d>] path_openat+0xcd/0x3d0
       [<ffffffff8115e029>] do_filp_open+0x49/0xa0
       [<ffffffff8116a965>] ? alloc_fd+0x95/0x160
       [<ffffffff8114f0c7>] do_sys_open+0x107/0x1e0
       [<ffffffff810bcc3f>] ? audit_syscall_entry+0x1bf/0x1f0
       [<ffffffff8114f1e0>] sys_open+0x20/0x30
       [<ffffffff81484ec2>] system_call_fastpath+0x16/0x1b
      [SNIP]
      RIP  [<ffffffffa049444a>] __finish_chunk_alloc+0x20a/0x220 [btrfs]
      
      The reason is:
      Task1					Space balance task
      do_chunk_alloc()
        __finish_chunk_alloc()
          update device info
          in the chunk tree
            alloc system metadata block
      					relocate system metadata block group
      					  set system metadata block group
      					  readonly, This block group is the
      					  only one that can allocate space. So
      					  there is no free space that can be
      					  allocated now.
              find no space and don't try
              to alloc new chunk, and then
              return ENOSPC
        BUG_ON() in __finish_chunk_alloc()
        was triggered.
      
      Fix this bug by allocating a new system metadata chunk before relocating the
      old one if we find there is no free space which can be allocated after setting
      the old block group to be read-only.
      Reported-by: default avatarTsutomu Itoh <t-itoh@jp.fujitsu.com>
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Tested-by: default avatarTsutomu Itoh <t-itoh@jp.fujitsu.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      199c36ea
    • Josef Bacik's avatar
      Btrfs: tag pages for writeback in sync · f7aaa06b
      Josef Bacik authored
      Everybody else does this, we need to do it too.  If we're syncing, we need to
      tag the pages we're going to write for writeback so we don't end up writing the
      same stuff over and over again if somebody is constantly redirtying our file.
      This will keep us from having latencies with heavy sync workloads.  Thanks,
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      f7aaa06b
    • Josef Bacik's avatar
      Btrfs: fix enospc problems with delalloc · 9e0baf60
      Josef Bacik authored
      So I had this brilliant idea to use atomic counters for outstanding and reserved
      extents, but this turned out to be a bad idea.  Consider this where we have 1
      outstanding extent and 1 reserved extent
      
      Reserver				Releaser
      					atomic_dec(outstanding) now 0
      atomic_read(outstanding)+1 get 1
      atomic_read(reserved) get 1
      don't actually reserve anything because
      they are the same
      					atomic_cmpxchg(reserved, 1, 0)
      atomic_inc(outstanding)
      atomic_add(0, reserved)
      					free reserved space for 1 extent
      
      Then the reserver now has no actual space reserved for it, and when it goes to
      finish the ordered IO it won't have enough space to do it's allocation and you
      get those lovely warnings.
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      9e0baf60
    • Josef Bacik's avatar
      Btrfs: don't flush delalloc arbitrarily · a5991428
      Josef Bacik authored
      Kill the check to see if we have 512mb of reserved space in delalloc and
      shrink_delalloc if we do.  This causes unexpected latencies and we have other
      logic to see if we need to throttle.  Thanks,
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      a5991428
    • Josef Bacik's avatar
      Btrfs: use find_or_create_page instead of grab_cache_page · a94733d0
      Josef Bacik authored
      grab_cache_page will use mapping_gfp_mask(), which for all inodes is set to
      GFP_HIGHUSER_MOVABLE.  So instead use find_or_create_page in all cases where we
      need GFP_NOFS so we don't deadlock.  Thanks,
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      a94733d0
    • Josef Bacik's avatar
      Btrfs: use a worker thread to do caching · bab39bf9
      Josef Bacik authored
      A user reported a deadlock when copying a bunch of files.  This is because they
      were low on memory and kthreadd got hung up trying to migrate pages for an
      allocation when starting the caching kthread.  The page was locked by the person
      starting the caching kthread.  To fix this we just need to use the async thread
      stuff so that the threads are already created and we don't have to worry about
      deadlocks.  Thanks,
      Reported-by: default avatarRoman Mamedov <rm@romanrm.ru>
      Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
      bab39bf9
    • Linus Torvalds's avatar
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes · 333c066b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
        GFS2: Fix mount hang caused by certain access pattern to sysfs files
      333c066b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 75623437
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (22 commits)
        ALSA: hda - Cirrus Logic CS421x support
        ALSA: Make pcm.h self-contained
        ALSA: hda - Allow codec-specific set_power_state ops
        ALSA: hda - Add post_suspend patch ops
        ALSA: hda - Make CONFIG_SND_HDA_POWER_SAVE depending on CONFIG_PM
        ALSA: hda - Make sure mute led reflects master mute state
        ALSA: hda - Fix invalid mute led state on resume of IDT codecs
        ASoC: Revert "ASoC: SAMSUNG: Add I2S0 internal dma driver"
        ALSA: hda - Add support of the 4 internal speakers on certain HP laptops
        ALSA: Make snd_pcm_debug_name usable outside pcm_lib
        ALSA: hda - Fix DAC filling for multi-connection pins in Realtek parser
        ASoC: dapm - Add methods to retrieve snd_card and soc_card from dapm context.
        ASoC: SAMSUNG: Add I2S0 internal dma driver
        ASoC: SAMSUNG: Modify I2S driver to support idma
        ASoC: davinci: add missing break statement
        ASoC: davinci: fix codec start and stop functions
        ASoC: dapm - add DAPM macro for external enum widgets
        ASoC: Acknowledge WM8962 interrupts before acting on them
        ASoC: sgtl5000: guide user when regulator support is needed
        ASoC: sgtl5000: refactor registering internal ldo
        ...
      75623437
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 70a3eff5
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (53 commits)
        Input: synaptics - fix reporting of min coordinates
        Input: tegra-kbc - enable key autorepeat
        Input: kxtj9 - fix locking typo in kxtj9_set_poll()
        Input: kxtj9 - fix bug in probe()
        Input: intel-mid-touch - remove pointless checking for variable 'found'
        Input: hp_sdc - staticize hp_sdc_kicker()
        Input: pmic8xxx-keypad - fix a leak of the IRQ during init failure
        Input: cy8ctmg110_ts - set reset_pin and irq_pin from platform data
        Input: cy8ctmg110_ts - constify i2c_device_id table
        Input: cy8ctmg110_ts - fix checking return value of i2c_master_send
        Input: lifebook - make dmi callback functions return 1
        Input: atkbd - make dmi callback functions return 1
        Input: gpio_keys - switch to using SIMPLE_DEV_PM_OPS
        Input: gpio_keys - add support for device-tree platform data
        Input: aiptek - remove double define
        Input: synaptics - set minimum coordinates as reported by firmware
        Input: synaptics - process button bits in AGM packets
        Input: synaptics - rename set_slot to be more descriptive
        Input: synaptics - fuzz position for touchpad with reduced filtering
        Input: synaptics - set resolution for MT_POSITION_X/Y axes
        ...
      70a3eff5
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze · 9ed3689b
      Linus Torvalds authored
      * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Do not show error message for 32 interrupt lines
        Revert "microblaze: PCI fix typo fault in of_node pointer moving into pci_bus"
        microblaze: PCI fix typo fault in of_node pointer moving into pci_bus
        microblaze: Add support for early console on mdm
        microblaze: Simplify early console binding from DT
        microblaze: Get early printk console earlier
        microblaze: Standardise cpuinfo output for cache policy
        microblaze: Unprivileged stream instruction awareness
        microblaze: trivial: Fix typo fault
        microblaze: exec: Remove redundant set_fs(USER_DS)
        microblaze: Remove duplicated prototype of start_thread()
        microblaze: Fix unaligned value saving to the stack for system with MMU
        microblaze/irqs: Do not trace arch_local_{*,irq_*} functions
      9ed3689b
    • Daniel Morsing's avatar
      staging: brcm80211: Fix double include introduced by bad merge · 8aae36cd
      Daniel Morsing authored
      A merge with Linus' tree added a double include of linux/interrupt.h.
      Fix by removing one of the includes.
      Signed-off-by: default avatarDaniel Morsing <daniel.morsing@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8aae36cd
    • Michal Simek's avatar
      microblaze: Do not show error message for 32 interrupt lines · 36392294
      Michal Simek authored
      When interrupt controller uses 32 interrupts lines the kernel
      show error message about mismatch in kind-of-intr parameter
      because it exceeds u32. Recast fixs this issue.
      Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
      36392294
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · aa7eb8e7
      Dmitry Torokhov authored
      aa7eb8e7
    • Christoph Hellwig's avatar
      xfs: optimize the negative xattr caching · 510792ee
      Christoph Hellwig authored
      Since the addition of file capabilities every write needs to read xattrs to
      check if we have any capabilities to clear.  In Linux 3.0 Andi Kleen added
      a flag to cache the fact that we do not have any attributes on an inode.
      Make sure to already mark a file as not having any attributes when reading
      it from disk in case it doesn't even have an attribute fork.  Based on an
      earlier patch from Andi Kleen.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      510792ee
    • Christoph Hellwig's avatar
      xfs: prevent against ioend livelocks in xfs_file_fsync · d1166ec7
      Christoph Hellwig authored
      We need to take some locks to prevent new ioends from coming in when we wait
      for all existing ones to go away.  Up to Linux 3.0 that was done using the
      i_mutex held by the VFS fsync code, but now that we are called without
      it we need to take care of it ourselves.  Use the I/O lock instead of
      i_mutex just like we do in other places.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      d1166ec7
    • Christoph Hellwig's avatar
      xfs: flag all buffers as metadata · 34951f5c
      Christoph Hellwig authored
      Now that REQ_META bios aren't treated specially in the CFQ I/O schedule
      anymore, we can tag all buffers as metadata to make blktrace traces more
      meaningful.  Note that we use buffers also to zero out partial blocks
      in the preallocation / hole punching code, and while they operate on
      data blocks the zeros written certainly aren't data.  I think this case
      is borderline metadata enough to not bother special casing it.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      34951f5c
    • Alex Elder's avatar
      xfs: encapsulate a block of debug code · 1c4f3329
      Alex Elder authored
      Pull into a helper function some debug-only code that validates a
      xfs_da_blkinfo structure that's been read from disk.
      Signed-off-by: default avatarAlex Elder <aelder@sgi.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@infradead.org>
      1c4f3329
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · e371d46a
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        merge fchmod() and fchmodat() guts, kill ancient broken kludge
        xfs: fix misspelled S_IS...()
        xfs: get rid of open-coded S_ISREG(), etc.
        vfs: document locking requirements for d_move, __d_move and d_materialise_unique
        omfs: fix (mode & S_IFDIR) abuse
        btrfs: S_ISREG(mode) is not mode & S_IFREG...
        ima: fmode_t misspelled as mode_t...
        pci-label.c: size_t misspelled as mode_t
        jffs2: S_ISLNK(mode & S_IFMT) is pointless
        snd_msnd ->mode is fmode_t, not mode_t
        v9fs_iop_get_acl: get rid of unused variable
        vfs: dont chain pipe/anon/socket on superblock s_inodes list
        Documentation: Exporting: update description of d_splice_alias
        fs: add missing unlock in default_llseek()
      e371d46a
    • Linus Torvalds's avatar
      Merge branch 'next/devel2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc · b0189cd0
      Linus Torvalds authored
      * 'next/devel2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (47 commits)
        OMAP: Add debugfs node to show the summary of all clocks
        OMAP2+: hwmod: Follow the recommended PRCM module enable sequence
        OMAP2+: clock: allow per-SoC clock init code to prevent clockdomain calls from clock code
        OMAP2+: clockdomain: Add per clkdm lock to prevent concurrent state programming
        OMAP2+: PM: idle clkdms only if already in idle
        OMAP2+: clockdomain: add clkdm_in_hwsup()
        OMAP2+: clockdomain: Add 2 APIs to control clockdomain from hwmod framework
        OMAP: clockdomain: Remove redundant call to pwrdm_wait_transition()
        OMAP4: hwmod: Introduce the module control in hwmod control
        OMAP4: cm: Add two new APIs for modulemode control
        OMAP4: hwmod data: Add modulemode entry in omap_hwmod structure
        OMAP4: hwmod data: Add PRM context register offset
        OMAP4: prm: Remove deprecated functions
        OMAP4: prm: Replace warm reset API with the offset based version
        OMAP4: hwmod: Replace RSTCTRL absolute address with offset macros
        OMAP: hwmod: Wait the idle status to be disabled
        OMAP4: hwmod: Replace CLKCTRL absolute address with offset macros
        OMAP2+: hwmod: Init clkdm field at boot time
        OMAP4: hwmod data: Add clock domain attribute
        OMAP4: clock data: Add missing divider selection for auxclks
        ...
      b0189cd0
    • Linus Torvalds's avatar
      Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc · 69f1d1a6
      Linus Torvalds authored
      * 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (128 commits)
        ARM: S5P64X0: External Interrupt Support
        ARM: EXYNOS4: Enable MFC on Samsung NURI
        ARM: EXYNOS4: Enable MFC on universal_c210
        ARM: S5PV210: Enable MFC on Goni
        ARM: S5P: Add support for MFC device
        ARM: EXYNOS4: Add support FIMD on SMDKC210
        ARM: EXYNOS4: Add platform device and helper functions for FIMD
        ARM: EXYNOS4: Add resource definition for FIMD
        ARM: EXYNOS4: Change devname for FIMD clkdev
        ARM: SAMSUNG: Add IRQ_I2S0 definition
        ARM: SAMSUNG: Add platform device for idma
        ARM: EXYNOS4: Add more registers to be saved and restored for PM
        ARM: EXYNOS4: Add more register addresses of CMU
        ARM: EXYNOS4: Add platform device for dwmci driver
        ARM: EXYNOS4: configure rtc-s3c on NURI
        ARM: EXYNOS4: configure MAX8903 secondary charger on NURI
        ARM: EXYNOS4: configure ADC on NURI
        ARM: EXYNOS4: configure MAX17042 fuel gauge on NURI
        ARM: EXYNOS4: configure regulators and PMIC(MAX8997) on NURI
        ARM: EXYNOS4: Increase NR_IRQS for devices with more IRQs
        ...
      
      Fix up tons of silly conflicts:
       - arch/arm/mach-davinci/include/mach/psc.h
       - arch/arm/mach-exynos4/Kconfig
       - arch/arm/mach-exynos4/mach-smdkc210.c
       - arch/arm/mach-exynos4/pm.c
       - arch/arm/mach-imx/mm-imx1.c
       - arch/arm/mach-imx/mm-imx21.c
       - arch/arm/mach-imx/mm-imx25.c
       - arch/arm/mach-imx/mm-imx27.c
       - arch/arm/mach-imx/mm-imx31.c
       - arch/arm/mach-imx/mm-imx35.c
       - arch/arm/mach-mx5/mm.c
       - arch/arm/mach-s5pv210/mach-goni.c
       - arch/arm/mm/Kconfig
      69f1d1a6
    • Linus Torvalds's avatar
      Merge branch 'next/board' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc · 2d86a3f0
      Linus Torvalds authored
      * 'next/board' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:
        ARM: S3C64XX: Configure backup battery charger on Cragganmore
        ARM: S3C64XX: Fix WM8915 IRQ polarity on Cragganmore
        ARM: S3C64XX: Configure supplies for all Cragganmore regulators
        ARM: S3C64XX: Refresh Cragganmore support
        ARM: S3C64XX: Initial support for Wolfson/Simtec Cragganmore/Banff
        OMAP4: Keyboard: Mux changes in the board file
        omap: blaze: add mmc5/wl1283 device support
        omap: 4430SDP: Register the card detect GPIO properly
        arm: omap3: cm-t35: add support for cm-t3730
        OMAP3: beagle: add support for beagleboard xM revision C
        OMAP3: rx-51: Add full regulator definitions
        omap: rx51: Platform support for lp5523 led chip
      2d86a3f0
    • Linus Torvalds's avatar
      Merge branch 'next/cross-platform' of... · 3960ef32
      Linus Torvalds authored
      Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc
      
      * 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:
        ARM: Consolidate the clkdev header files
        ARM: set vga memory base at run-time
        ARM: convert PCI defines to variables
        ARM: pci: make pcibios_assign_all_busses use pci_has_flag
        ARM: remove unnecessary mach/hardware.h includes
        pci: move microblaze and powerpc pci flag functions into asm-generic
        powerpc: rename ppc_pci_*_flags to pci_*_flags
      
      Fix up conflicts in arch/microblaze/include/asm/pci-bridge.h
      3960ef32
    • Linus Torvalds's avatar
      Merge branch 'next/fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc · 62c9072b
      Linus Torvalds authored
      * 'next/fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (24 commits)
        ASoC: omap: McBSP: fix build breakage on OMAP1
        OMAP: hwmod: fix the i2c-reset timeout during bootup
        I2C: OMAP2+: add correct functionality flags to all omap2plus i2c dev_attr
        I2C: OMAP2+: Tag all OMAP2+ hwmod defintions with I2C IP revision
        I2C: OMAP1/OMAP2+: create omap I2C functionality flags for each cpu_... test
        I2C: OMAP2+:  Introduce I2C IP versioning constants
        I2C: OMAP2+: increase omap_i2c_dev_attr flags from u8 to u32
        I2C: OMAP2+: Set hwmod flags to only allow 16-bit accesses to i2c
        OMAP4: hwmod data: Change DSS main_clk scheme
        OMAP4: powerdomain data: Remove unsupported MPU powerdomain state
        OMAP4: clock data: Keep GPMC clocks always enabled and hardware managed
        OMAP4: powerdomain data: Fix core mem states and missing cefuse flag
        OMAP2+: PM: Initialise sleep_switch to a non-valid value
        OMAP4: hwmod data: Modify DSS opt clocks
        OMAP4: iommu: fix clock name
        omap: iovmm: s/sg_dma_len(sg)/sg->length/
        omap: iommu: fix pte programming
        arm: omap3: cm-t35: fix slow path warning
        arm: omap3: cm-t35: minor comments fixes
        omap: ZOOM: QUART: Request reset GPIO
        ...
      62c9072b