1. 25 5月, 2011 8 次提交
  2. 24 5月, 2011 1 次提交
  3. 23 5月, 2011 5 次提交
    • T
      block: move bd_set_size() above rescan_partitions() in __blkdev_get() · ff2a9941
      Tejun Heo 提交于
      02e35228 (block: rescan partitions on invalidated devices on
      -ENOMEDIA too) relocated partition rescan above explicit bd_set_size()
      to simplify condition check.  As rescan_partitions() does its own bdev
      size setting, this doesn't break anything; however,
      rescan_partitions() prints out the following messages when adjusting
      bdev size, which can be confusing.
      
        sda: detected capacity change from 0 to 146815737856
        sdb: detected capacity change from 0 to 146815737856
      
      This patch restores the original order and remove the warning
      messages.
      
      stable: Please apply together with 02e35228 (block: rescan
              partitions on invalidated devices on -ENOMEDIA too).
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NTony Luck <tony.luck@gmail.com>
      Tested-by: NTony Luck <tony.luck@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ff2a9941
    • D
      dlm: make plock operation killable · 901025d2
      David Teigland 提交于
      Allow processes blocked on plock requests to be interrupted
      when they are killed.  This leaves the problem of cleaning
      up the lock state in userspace.  This has three parts:
      
      1. Add a flag to unlock operations sent to userspace
      indicating the file is being closed.  Userspace will
      then look for and clear any waiting plock operations that
      were abandoned by an interrupted process.
      
      2. Queue an unlock-close operation (like in 1) to clean up
      userspace from an interrupted plock request.  This is needed
      because the vfs will not send a cleanup-unlock if it sees no
      locks on the file, which it won't if the interrupted operation
      was the only one.
      
      3. Do not use replies from userspace for unlock-close operations
      because they are unnecessary (they are just cleaning up for the
      process which did not make an unlock call).  This also simplifies
      the new unlock-close generated from point 2.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      901025d2
    • T
      timerfd: Manage cancelable timers in timerfd · 9ec26907
      Thomas Gleixner 提交于
      Peter is concerned about the extra scan of CLOCK_REALTIME_COS in the
      timer interrupt. Yes, I did not think about it, because the solution
      was so elegant. I didn't like the extra list in timerfd when it was
      proposed some time ago, but with a rcu based list the list walk it's
      less horrible than the original global lock, which was held over the
      list iteration.
      Requested-by: NPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Reviewed-by: NPeter Zijlstra <peterz@infradead.org>
      9ec26907
    • A
      UBIFS: switch to dynamic printks · 56e46742
      Artem Bityutskiy 提交于
      Switch to debugging using dynamic printk (pr_debug()). There is no good reason
      to carry custom debugging prints if there is so cool and powerful generic
      dynamic printk infrastructure, see Documentation/dynamic-debug-howto.txt. With
      dynamic printks we can switch on/of individual prints, per-file, per-function
      and per format messages. This means that instead of doing old-fashioned
      
      echo 1 > /sys/module/ubifs/parameters/debug_msgs
      
      to enable general messages, we can do:
      
      echo 'format "UBIFS DBG gen" +ptlf' > control
      
      to enable general messages and additionally ask the dynamic printk
      infrastructure to print process ID, line number and function name. So there is
      no reason to keep UBIFS-specific crud if there is more powerful generic thing.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      56e46742
    • H
      fs: add missing prefetch.h include · 9ce6e0be
      Heiko Carstens 提交于
      Fixes this build error on s390 and probably other archs as well:
      
        fs/inode.c: In function 'new_inode':
        fs/inode.c:894:2: error: implicit declaration of function 'spin_lock_prefetch'
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      [ Happens on architectures that don't define their own prefetch
        functions in <asm/processor.h>, and instead rely on the default
        ones in <linux/prefetch.h>   - Linus]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9ce6e0be
  4. 22 5月, 2011 1 次提交
  5. 21 5月, 2011 5 次提交
  6. 20 5月, 2011 7 次提交
    • A
      UBIFS: fix kernel-doc comments · bdc1a1b6
      Artem Bityutskiy 提交于
      This is a minor fix for UBIFS kernel-doc comments - we forgot the "@" symbol
      for several 'struct ubifs_debug_info'.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      bdc1a1b6
    • D
      xfs: obey minleft values during extent allocation correctly · bf59170a
      Dave Chinner 提交于
      When allocating an extent that is long enough to consume the
      remaining free space in an AG, we need to ensure that the allocation
      leaves enough space in the AG for any subsequent bmap btree blocks
      that are needed to track the new extent. These have to be allocated
      in the same AG as we only reserve enough blocks in an allocation
      transaction for modification of the freespace trees in a single AG.
      
      xfs_alloc_fix_minleft() has been considering blocks on the AGFL as
      free blocks available for extent and bmbt block allocation, which is
      not correct - blocks on the AGFL are there exclusively for the use
      of the free space btrees. As a result, when minleft is less than the
      number of blocks on the AGFL, xfs_alloc_fix_minleft() does not trim
      the given extent to leave minleft blocks available for bmbt
      allocation, and hence we can fail allocation during bmbt record
      insertion.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      bf59170a
    • D
      xfs: reset buffer pointers before freeing them · 44396476
      Dave Chinner 提交于
      When we free a vmapped buffer, we need to ensure the vmap address
      and length we free is the same as when it was allocated. In various
      places in the log code we change the memory the buffer is pointing
      to before issuing IO, but we never reset the buffer to point back to
      it's original memory (or no memory, if that is the case for the
      buffer).
      
      As a result, when we free the buffer it points to memory that is
      owned by something else and attempts to unmap and free it. Because
      the range does not match any known mapped range, it can trigger
      BUG_ON() traps in the vmap code, and potentially corrupt the vmap
      area tracking.
      
      Fix this by always resetting these buffers to their original state
      before freeing them.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      44396476
    • D
      xfs: avoid getting stuck during async inode flushes · ee58abdf
      Dave Chinner 提交于
      When the underlying inode buffer is locked and xfs_sync_inode_attr()
      is doing a non-blocking flush, xfs_iflush() can return EAGAIN.  When
      this happens, clear the error rather than returning it to
      xfs_inode_ag_walk(), as returning EAGAIN will result in the AG walk
      delaying for a short while and trying again. This can result in
      background walks getting stuck on the one AG until inode buffer is
      unlocked by some other means.
      
      This behaviour was noticed when analysing event traces followed by
      code inspection and verification of the fix via further traces.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      ee58abdf
    • D
      xfs: fix xfs_itruncate_start tracing · e5737515
      Dave Chinner 提交于
      Variables are ordered incorrectly in trace call.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      e5737515
    • D
      xfs: fix duplicate workqueue initialisation · 1beb65ad
      Dave Chinner 提交于
      The workqueue initialisation function is called twice when
      initialising the XFS subsystem. Remove the second initialisation
      call.
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      1beb65ad
    • J
      xfs: kill off xfs_printk() · e69522a8
      Joe Perches 提交于
      xfs_alert_tag() can be defined using xfs_alert(), and thereby avoid
      using xfs_printk() altogether.  This is the only remaining use of
      xfs_printk(), so changing it this way means xfs_printk() can simply
      be eliminated.can simply be eliminated.can simply be eliminated.can
      simply be eliminated.can simply be eliminated.can simply be
      eliminated.can simply be eliminated.can simply be eliminated.can
      simply be eliminated.
      
      Also add format checking to the non-debug inline function xfs_debug.
      Miscellaneous function prototype argument alignment.
      
      (Updated to delete the definition of xfs_printk(), which is
      no longer used or needed.)
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      e69522a8
  7. 19 5月, 2011 13 次提交