1. 11 10月, 2008 1 次提交
  2. 09 10月, 2008 1 次提交
    • T
      block: don't depend on consecutive minor space · f331c029
      Tejun Heo 提交于
      * Implement disk_devt() and part_devt() and use them to directly
        access devt instead of computing it from ->major and ->first_minor.
      
        Note that all references to ->major and ->first_minor outside of
        block layer is used to determine devt of the disk (the part0) and as
        ->major and ->first_minor will continue to represent devt for the
        disk, converting these users aren't strictly necessary.  However,
        convert them for consistency.
      
      * Implement disk_max_parts() to avoid directly deferencing
        genhd->minors.
      
      * Update bdget_disk() such that it doesn't assume consecutive minor
        space.
      
      * Move devt computation from register_disk() to add_disk() and make it
        the only one (all other usages use the initially determined value).
      
      These changes clean up the code and will help disk->part dereference
      fix and extended block device numbers.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      f331c029
  3. 26 8月, 2008 1 次提交
    • H
      [S390] dcss: fix build bug. · dbe13d99
      Heiko Carstens 提交于
      Fix this compile bug:
      
        CC      drivers/s390/block/dcssblk.o
      drivers/s390/block/dcssblk.c: In function 'dcssblk_add_store':
      drivers/s390/block/dcssblk.c:387: error: implicit declaration of function 'dcssblk_get_segment_by_name'
      drivers/s390/block/dcssblk.c:389: error: label 'release_gd' used but not defined
      make[1]: *** [drivers/s390/block/dcssblk.o] Error 1
      make: *** [drivers/s390/block/] Error 2
      
      Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      dbe13d99
  4. 22 8月, 2008 4 次提交
  5. 01 8月, 2008 1 次提交
  6. 17 7月, 2008 3 次提交
  7. 14 7月, 2008 3 次提交
  8. 21 6月, 2008 1 次提交
  9. 30 5月, 2008 1 次提交
  10. 15 5月, 2008 2 次提交
  11. 29 4月, 2008 2 次提交
  12. 28 4月, 2008 1 次提交
    • J
      return pfn from direct_access, for XIP · 30afcb4b
      Jared Hulbert 提交于
      Alter the block device ->direct_access() API to work with the new
      get_xip_mem() API (that requires both kaddr and pfn are returned).
      
      Some architectures will not do the right thing in their virt_to_page() for use
      by XIP (to translate from the kernel virtual address returned by
      direct_access(), to a user mappable pfn in XIP's page fault handler.
      
      However, we can't switch it to just return the pfn and not the kaddr, because
      we have no good way to get a kva from a pfn, and XIP requires the kva for its
      read(2) and write(2) handlers.  So we have to return both.
      Signed-off-by: NJared Hulbert <jaredeh@gmail.com>
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux-mm@kvack.org
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      30afcb4b
  13. 17 4月, 2008 6 次提交
  14. 05 3月, 2008 2 次提交
  15. 19 2月, 2008 2 次提交
  16. 05 2月, 2008 3 次提交
    • H
      [S390] dcss: Initialize workqueue before using it. · c5411dba
      Heiko Carstens 提交于
      In case a dcss segment cannot be loaded blk_cleanup_queue
      will be called before blk_queue_make_request, leaving the
      struct work unplug_work of the request queue uninitialized
      before it is used.
      That leads also to the lockdep message below.
      To avoid that call blk_queue_make_request right after the
      request_queue has been allocated.
      This makes sure that the struct work is always initialized
      before it is used.
      
      INFO: trying to register non-static key.
      the code is fine but needs lockdep annotation.
      turning off the locking correctness validator.
      CPU: 2 Not tainted 2.6.24 #6
      Process swapper (pid: 1, task: 000000000f854038, ksp: 000000000f85f980)
      040000000f85f860 000000000f85f880 0000000000000002 0000000000000000
             000000000f85f920 000000000f85f898 000000000f85f898 000000000001622e
             0000000000000000 000000000f85f980 0000000000000000 0000000000000000
             000000000f85f880 000000000000000c 000000000f85f880 000000000f85f8f0
             0000000000342908 000000000001622e 000000000f85f880 000000000f85f8d0
      Call Trace:
      ([<000000000001619e>] show_trace+0xda/0x104)
       [<0000000000016288>] show_stack+0xc0/0xf8
       [<00000000000163d0>] dump_stack+0xb0/0xc0
       [<000000000006e4ea>] __lock_acquire+0x47e/0x1160
       [<000000000006f27c>] lock_acquire+0xb0/0xd8
       [<000000000005a522>] __cancel_work_timer+0x9e/0x240
       [<000000000005a72e>] cancel_work_sync+0x2a/0x3c
       [<0000000000165c46>] kblockd_flush_work+0x26/0x34
       [<0000000000169034>] blk_sync_queue+0x38/0x48
       [<0000000000169080>] blk_release_queue+0x3c/0xa8
       [<000000000017bce8>] kobject_cleanup+0x58/0xac
       [<000000000017bd66>] kobject_release+0x2a/0x38
       [<000000000017d28e>] kref_put+0x6e/0x94
       [<000000000017bc80>] kobject_put+0x38/0x48
       [<00000000001653be>] blk_put_queue+0x2a/0x38
       [<0000000000168fee>] blk_cleanup_queue+0x82/0x90
       [<0000000000213e7e>] dcssblk_add_store+0x34e/0x700
       [<00000000005243b8>] dcssblk_init+0x1a0/0x308
       [<000000000050a3c2>] kernel_init+0x1b2/0x3a4
       [<000000000001ac82>] kernel_thread_starter+0x6/0xc
       [<000000000001ac7c>] kernel_thread_starter+0x0/0xc
      
      INFO: lockdep is turned off.
      
      Cc: Gerald Schaefer <geraldsc@de.ibm.com>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      c5411dba
    • S
      [S390] dasd: fix panic caused by alias device offline · fe6b8e76
      Stefan Weinhuber 提交于
      When an alias device is set offline while it is in use this may
      result in a panic in the cleanup part of the dasd_block_tasklet.
      The problem here is that there may exist some ccw requests that were
      originally created for the alias device and transferred to the base
      device when the alias was set offline. When these request are
      cleaned up later, the discipline pointer in the alias device may not
      be valid anymore. To fix this use the base device discipline to find
      the cleanup function.
      Signed-off-by: NStefan Weinhuber <wein@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      fe6b8e76
    • S
      [S390] dasd: add ifcc handling · 6c5f57c7
      Stefan Haberland 提交于
      Adding interface control check (ifcc) handling in error recovery.
      First retry up to 255 times and if all retries fail try an alternate
      path if possible.
      Signed-off-by: NStefan Haberland <stefan.haberland@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      6c5f57c7
  17. 28 1月, 2008 1 次提交
  18. 26 1月, 2008 5 次提交