1. 24 8月, 2010 2 次提交
  2. 19 8月, 2010 2 次提交
  3. 18 8月, 2010 11 次提交
    • N
      tty: fix fu_list abuse · d996b62a
      Nick Piggin 提交于
      tty: fix fu_list abuse
      
      tty code abuses fu_list, which causes a bug in remount,ro handling.
      
      If a tty device node is opened on a filesystem, then the last link to the inode
      removed, the filesystem will be allowed to be remounted readonly. This is
      because fs_may_remount_ro does not find the 0 link tty inode on the file sb
      list (because the tty code incorrectly removed it to use for its own purpose).
      This can result in a filesystem with errors after it is marked "clean".
      
      Taking idea from Christoph's initial patch, allocate a tty private struct
      at file->private_data and put our required list fields in there, linking
      file and tty. This makes tty nodes behave the same way as other device nodes
      and avoid meddling with the vfs, and avoids this bug.
      
      The error handling is not trivial in the tty code, so for this bugfix, I take
      the simple approach of using __GFP_NOFAIL and don't worry about memory errors.
      This is not a problem because our allocator doesn't fail small allocs as a rule
      anyway. So proper error handling is left as an exercise for tty hackers.
      
      [ Arguably filesystem's device inode would ideally be divorced from the
      driver's pseudo inode when it is opened, but in practice it's not clear whether
      that will ever be worth implementing. ]
      
      Cc: linux-kernel@vger.kernel.org
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NNick Piggin <npiggin@kernel.dk>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      d996b62a
    • N
      fs: cleanup files_lock locking · ee2ffa0d
      Nick Piggin 提交于
      fs: cleanup files_lock locking
      
      Lock tty_files with a new spinlock, tty_files_lock; provide helpers to
      manipulate the per-sb files list; unexport the files_lock spinlock.
      
      Cc: linux-kernel@vger.kernel.org
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Acked-by: NAndi Kleen <ak@linux.intel.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NNick Piggin <npiggin@kernel.dk>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      ee2ffa0d
    • N
      fs: fs_struct rwlock to spinlock · 2a4419b5
      Nick Piggin 提交于
      fs: fs_struct rwlock to spinlock
      
      struct fs_struct.lock is an rwlock with the read-side used to protect root and
      pwd members while taking references to them. Taking a reference to a path
      typically requires just 2 atomic ops, so the critical section is very small.
      Parallel read-side operations would have cacheline contention on the lock, the
      dentry, and the vfsmount cachelines, so the rwlock is unlikely to ever give a
      real parallelism increase.
      
      Replace it with a spinlock to avoid one or two atomic operations in typical
      path lookup fastpath.
      Signed-off-by: NNick Piggin <npiggin@kernel.dk>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      2a4419b5
    • N
      md raid-1/10 Fix bio_rw bit manipulations again · 2c7d46ec
      NeilBrown 提交于
      commit 7b6d91da changed the behaviour
      of a few variables in raid1 and raid10 from flags to bit-sets, but
      left them as type 'bool' so they did not work.
      
      Change them (back) to unsigned long.
      (historical note: see 1ef04fef)
      Signed-off-by: NNeilBrown <neilb@suse.de>
      Reported-by: Jiri Slaby <jslaby@suse.cz> and many others
      2c7d46ec
    • G
      m68knommu: include sched.h in ColdFire/SPI driver · 5e1c5335
      Greg Ungerer 提交于
      Using the coldfire qspi driver, I get the following error:
      
      drivers/spi/coldfire_qspi.c: In function 'mcfqspi_irq_handler':
      drivers/spi/coldfire_qspi.c:166: error: 'TASK_NORMAL' undeclared (first use in this function)
      drivers/spi/coldfire_qspi.c:166: error: (Each undeclared identifier is reported only once
      
      It is solved by adding the following include to coldfire_sqpi.c:
      
          #include <linux/sched.h>
      
      Fix suggested by Jate Sujjavanich <jsujjavanich@syntech-fuelmaster.com>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      5e1c5335
    • N
      md: provide appropriate return value for spare_active functions. · 6b965620
      NeilBrown 提交于
      md_check_recovery expects ->spare_active to return 'true' if any
      spares were activated, but none of them do, so the consequent change
      in 'degraded' is not notified through sysfs.
      
      So count the number of spares activated, subtract it from 'degraded'
      just once, and return it.
      Reported-by: NAdrian Drzewiecki <adriand@vmware.com>
      Signed-off-by: NNeilBrown <neilb@suse.de>
      6b965620
    • A
      md: Notify sysfs when RAID1/5/10 disk is In_sync. · e6ffbcb6
      Adrian Drzewiecki 提交于
      When RAID1 is done syncing disks, it'll update the state
      of synced rdevs to In_sync. But it neglected to notify
      sysfs that the attribute changed. So any programs that
      are waiting for an rdev's state to change will not be
      woken.
      
      (raid5/raid10 added by neilb)
      Signed-off-by: NAdrian Drzewiecki <adriand@vmware.com>
      Signed-off-by: NNeilBrown <neilb@suse.de>
      e6ffbcb6
    • N
      Update recovery_offset even when external metadata is used. · 3a3a5ddb
      NeilBrown 提交于
      The update of ->recovery_offset in sync_sbs is appropriate even then external
      metadata is in use.  However sync_sbs is only called when native
      metadata is used.
      
      So move that update in to the top of md_update_sb (which is the only
      caller of sync_sbs) before the test on ->external.
      
      This moves the update out of ->write_lock protection, but those fields
      only need ->reconfig_mutex protection which they still have.
      
      Also move the test on ->persistent up to where ->external is set as
      for metadata update purposes they are the same.
      
      Clear MD_CHANGE_DEVS and MD_CHANGE_CLEAN as they can only be confusing
      if ->external is set or ->persistent isn't.
      
      Finally move the update of ->utime down as it is only relevent (like
      the ->events update) for native metadata.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      Reported-by: N"Kwolek, Adam" <adam.kwolek@intel.com>
      3a3a5ddb
    • D
      a7c8962b
    • R
      VIDEO: amba clcd: don't disable an already disabled clock · 99c796df
      Russell King 提交于
      Fix the clock enable/disable tracking in the AMBA CLCD driver so
      that the driver doesn't try to disable an already disabled clock,
      thereby causing the clock (if shared) to become unbalanced.
      
      This resolves a problem with CLCD on LPC32xx ARM platforms.
      Reported-by: NKevin Wells <wellsk40@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      99c796df
    • G
      of: fix missing headers for of_address_to_resource() in MTD and SysACE drivers · 7a50d06e
      Graeme Smecher 提交于
      The drivers for Xilinx' SystemACE and physically mapped MTDs were missing
      prototypes for of_address_to_resource(). This patch adds the necessary
      headers.
      Signed-off-by: NGraeme Smecher <graeme.smecher@mail.mcgill.ca>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      7a50d06e
  4. 17 8月, 2010 5 次提交
  5. 16 8月, 2010 10 次提交
  6. 15 8月, 2010 10 次提交