1. 29 1月, 2008 40 次提交
    • J
      jbd2: jbd2 stats through procfs · 8e85fb3f
      Johann Lombardi 提交于
      The patch below updates the jbd stats patch to 2.6.20/jbd2.
      The initial patch was posted by Alex Tomas in December 2005
      (http://marc.info/?l=linux-ext4&m=113538565128617&w=2).
      It provides statistics via procfs such as transaction lifetime and size.
      
      Sometimes, investigating performance problems, i find useful to have
      stats from jbd about transaction's lifetime, size, etc. here is a
      patch for review and inclusion probably.
      
      for example, stats after creation of 3M files in htree directory:
      
      [root@bob ~]# cat /proc/fs/jbd/sda/history
      R/C  tid   wait  run   lock  flush log   hndls  block inlog ctime write drop  close
      R    261   8260  2720  0     0     750   9892   8170  8187
      C    259                                                    750   0     4885  1
      R    262   20    2200  10    0     770   9836   8170  8187
      R    263   30    2200  10    0     3070  9812   8170  8187
      R    264   0     5000  10    0     1340  0      0     0
      C    261                                                    8240  3212  4957  0
      R    265   8260  1470  0     0     4640  9854   8170  8187
      R    266   0     5000  10    0     1460  0      0     0
      C    262                                                    8210  2989  4868  0
      R    267   8230  1490  10    0     4440  9875   8171  8188
      R    268   0     5000  10    0     1260  0      0     0
      C    263                                                    7710  2937  4908  0
      R    269   7730  1470  10    0     3330  9841   8170  8187
      R    270   0     5000  10    0     830   0      0     0
      C    265                                                    8140  3234  4898  0
      C    267                                                    720   0     4849  1
      R    271   8630  2740  20    0     740   9819   8170  8187
      C    269                                                    800   0     4214  1
      R    272   40    2170  10    0     830   9716   8170  8187
      R    273   40    2280  0     0     3530  9799   8170  8187
      R    274   0     5000  10    0     990   0      0     0
      
      
      where,
      
      R     - line for transaction's life from T_RUNNING to T_FINISHED
      C     - line for transaction's checkpointing
      tid   - transaction's id
      wait  - for how long we were waiting for new transaction to start
               (the longest period journal_start() took in this transaction)
      run   - real transaction's lifetime (from T_RUNNING to T_LOCKED
      lock  - how long we were waiting for all handles to close
               (time the transaction was in T_LOCKED)
      flush - how long it took to flush all data (data=ordered)
      log   - how long it took to write the transaction to the log
      hndls - how many handles got to the transaction
      block - how many blocks got to the transaction
      inlog - how many blocks are written to the log (block + descriptors)
      ctime - how long it took to checkpoint the transaction
      write - how many blocks have been written during checkpointing
      drop  - how many blocks have been dropped during checkpointing
      close - how many running transactions have been closed to checkpoint this one
      
      all times are in msec.
      
      
      [root@bob ~]# cat /proc/fs/jbd/sda/info
      280 transaction, each upto 8192 blocks
      average:
        1633ms waiting for transaction
        3616ms running transaction
        5ms transaction was being locked
        1ms flushing data (in ordered mode)
        1799ms logging transaction
        11781 handles per transaction
        5629 blocks per transaction
        5641 logged blocks per transaction
      Signed-off-by: NJohann Lombardi <johann.lombardi@bull.net>
      Signed-off-by: NMariusz Kozlowski <m.kozlowski@tuxland.pl>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      8e85fb3f
    • A
      ext4: Take read lock during overwrite case. · 4df3d265
      Aneesh Kumar K.V 提交于
      When we are overwriting a file and not actually allocating new file system
      blocks we need to take only the read lock on i_data_sem.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      4df3d265
    • A
      ext4: Convert truncate_mutex to read write semaphore. · 0e855ac8
      Aneesh Kumar K.V 提交于
      We are currently taking the truncate_mutex for every read. This would have
      performance impact on large CPU configuration. Convert the lock to read write
      semaphore and take read lock when we are trying to read the file.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      0e855ac8
    • A
      ext4: Make ext4_get_blocks_wrap take the truncate_mutex early. · c278bfec
      Aneesh Kumar K.V 提交于
      When doing a migrate from ext3 to ext4 inode we need to make sure the test
      for inode type and walking inode data happens inside  lock. To make this
      happen move truncate_mutex early before checking the i_flags.
      
      
      This actually should enable us to remove the verify_chain().
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      c278bfec
    • M
      ext4: remove unused code from ext4_find_entry() · 01f4adc0
      Mariusz Kozlowski 提交于
      The unused code found in ext3_find_entry() is also present (and still
      unused) in the ext4_find_entry() code. This patch removes it.
      Signed-off-by: NMariusz Kozlowski <m.kozlowski@tuxland.pl>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      01f4adc0
    • A
      ext4: Check for the correct error return from · 221879c9
      Aneesh Kumar K.V 提交于
      ext4_ext_get_blocks returns negative values on error. We should
      check for  <= 0
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      221879c9
    • J
      jbd2: Fix assertion failure in fs/jbd2/checkpoint.c · f5a7a6b0
      Jan Kara 提交于
      Before we start committing a transaction, we call
      __journal_clean_checkpoint_list() to cleanup transaction's written-back
      buffers.
      
      If this call happens to remove all of them (and there were already some
      buffers), __journal_remove_checkpoint() will decide to free the transaction
      because it isn't (yet) a committing transaction and soon we fail some
      assertion - the transaction really isn't ready to be freed :).
      
      We change the check in __journal_remove_checkpoint() to free only a
      transaction in T_FINISHED state.  The locking there is subtle though (as
      everywhere in JBD ;().  We use j_list_lock to protect the check and a
      subsequent call to __journal_drop_transaction() and do the same in the end
      of journal_commit_transaction() which is the only place where a transaction
      can get to T_FINISHED state.
      
      Probably I'm too paranoid here and such locking is not really necessary -
      checkpoint lists are processed only from log_do_checkpoint() where a
      transaction must be already committed to be processed or from
      __journal_clean_checkpoint_list() where kjournald itself calls it and thus
      transaction cannot change state either.  Better be safe if something
      changes in future...
      Signed-off-by: NJan Kara <jack@suse.cz>
      Cc: <linux-ext4@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      f5a7a6b0
    • C
      jbd2: Remove printk from J_ASSERT to preserve registers during BUG · 36df53f4
      Chris Snook 提交于
      Signed-off-by: NChris Snook <csnook@redhat.com>
      Cc: "Stephen C. Tweedie" <sct@redhat.com>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      36df53f4
    • A
      ext4: add block bitmap validation · abcb2947
      Aneesh Kumar K.V 提交于
      When a new block bitmap is read from disk in read_block_bitmap()
      there are a few bits that should ALWAYS be set.  In particular,
      the blocks given corresponding to block bitmap, inode bitmap and inode tables.
      Validate the block bitmap against these blocks.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      abcb2947
    • A
      Add buffer head related helper functions · 389d1b08
      Aneesh Kumar K.V 提交于
      Add buffer head related helper function bh_uptodate_or_lock and
      bh_submit_read which can be used by file system
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      389d1b08
    • A
      ext4: Change the default behaviour on error · bb4f397a
      Aneesh Kumar K.V 提交于
      ext4 file system was by default ignoring errors and continuing. This
      is not a good default as continuing on error could lead to file system
      corruption. Change the default to mark the file system
      readonly. Debian and ubuntu already does this as the default in their
      fstab.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Acked-by: NEric Sandeen <sandeen@redhat.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      bb4f397a
    • E
      ext4: fix oops on corrupted ext4 mount · e7c95593
      Eric Sandeen 提交于
      When mounting an ext4 filesystem with corrupted s_first_data_block, things
      can go very wrong and oops.
      
      Because blocks_count in ext4_fill_super is a u64, and we must use do_div,
      the calculation of db_count is done differently than on ext4.  If
      first_data_block is corrupted such that it is larger than ext4_blocks_count,
      for example, then the intermediate blocks_count value may go negative,
      but sign-extend to a very large value:
      
              blocks_count = (ext4_blocks_count(es) -
                              le32_to_cpu(es->s_first_data_block) +
                              EXT4_BLOCKS_PER_GROUP(sb) - 1);
      
      This is then assigned to s_groups_count which is an unsigned long:
      
              sbi->s_groups_count = blocks_count;
      
      This may result in a value of 0xFFFFFFFF which is then used to compute
      db_count:
      
              db_count = (sbi->s_groups_count + EXT4_DESC_PER_BLOCK(sb) - 1) /
                         EXT4_DESC_PER_BLOCK(sb);
      
      and in this case db_count will wind up as 0 because the addition overflows
      32 bits.  This in turn causes the kmalloc for group_desc to be of 0 size:
      
              sbi->s_group_desc = kmalloc(db_count * sizeof (struct buffer_head *),
                                          GFP_KERNEL);
      
      and eventually in ext4_check_descriptors, dereferencing
      sbi->s_group_desc[desc_block] will result in a NULL pointer dereference.
      
      The simplest test seems to be to sanity check s_first_data_block,
      EXT4_BLOCKS_PER_GROUP, and ext4_blocks_count values to be sure
      their combination won't result in a bad intermediate value for
      blocks_count.  We could just check for db_count == 0, but
      catching it at the root cause seems like it provides more info.
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      Reviewed-by: NMingming Cao <cmm@us.ibm.com>
      e7c95593
    • A
      ext4/super.c: fix #ifdef's (CONFIG_EXT4_* -> CONFIG_EXT4DEV_*) · 07620f69
      Adrian Bunk 提交于
      Based on a report by Robert P. J. Day.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      07620f69
    • A
      ext4: Return after ext4_error in case of failures · cb47dce7
      Aneesh Kumar K.V 提交于
      This fix some instances where we were continuing after calling
      ext4_error. ext4_error call panic only if errors=panic mount option is
      set. So we need to make sure we return correctly after ext4_error call
      
      Reported by: Adrian Bunk <bunk@kernel.org>
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      cb47dce7
    • C
      ext4: sync up block group descriptor with e2fsprogs. · 91b51a01
      Coly Li 提交于
      This patch extends bg_itable_unused of ext4 group descriptor
      from 16bit into 32bit. In order to add bg_itable_unused_hi into
      struct ext4_group_desc, some extra fields which are already introduced into
      e2fsprogs are also added in for consistency.
      Signed-off-by: NColy Li <coyli@suse.de>
      Cc: Andreas Dilger <adilger@clusterfs.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      91b51a01
    • A
      ext3: Fix the max file size for ext3 file system. · fe7fdc37
      Aneesh Kumar K.V 提交于
      The max file size for ext3 file system is now calculated
      with hardcoded 4K block size. The patch fixes it to be
      calculated with the right block size.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      fe7fdc37
    • A
      ext2: Fix the max file size for ext2 file system. · 902be4c5
      Aneesh Kumar K.V 提交于
      The max file size for ext2 file system is now calculated
      with hardcoded 4K block size. The patch fixes it to be
      calculated with the right block size.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      902be4c5
    • E
      ext4: store maxbytes for bitmapped files and return EFBIG as appropriate · e2b46574
      Eric Sandeen 提交于
      Calculate & store the max offset for bitmapped files, and
      catch too-large seeks, truncates, and writes in ext4, shortening
      or rejecting as appropriate.
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      e2b46574
    • E
      ext4: export iov_shorten from kernel for ext4's use · 19295529
      Eric Sandeen 提交于
      Export iov_shorten() from kernel so that ext4 can
      truncate too-large writes to bitmapped files.
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      19295529
    • E
      ext4: different maxbytes functions for bitmap & extent files · cd2291a4
      Eric Sandeen 提交于
      use 2 different maxbytes functions for bitmapped & extent-based
      files.
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      cd2291a4
    • A
      ext4: Support large files · 8180a562
      Aneesh Kumar K.V 提交于
      This patch converts ext4_inode i_blocks to represent total
      blocks occupied by the inode in file system block size.
      Earlier the variable used to represent this in 512 byte
      block size. This actually limited the total size of the file.
      
      The feature is enabled transparently when we write an inode
      whose i_blocks cannot be represnted as 512 byte units in a
      48 bit variable.
      
      inode flag  EXT4_HUGE_FILE_FL
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      8180a562
    • A
      ext4: Add support for 48 bit inode i_blocks. · 0fc1b451
      Aneesh Kumar K.V 提交于
      Use the __le16 l_i_reserved1 field of the linux2 struct of ext4_inode
      to represet the higher 16 bits for i_blocks. With this change max_file
      size becomes (2**48 -1 )* 512 bytes.
      
      We add a RO_COMPAT feature to the super block to indicate that inode
      have i_blocks represented as a split 48 bits. Super block with this
      feature set cannot be mounted read write on a kernel with CONFIG_LSF
      disabled.
      
      Super block flag EXT4_FEATURE_RO_COMPAT_HUGE_FILE
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      0fc1b451
    • A
      ext4: Rename i_dir_acl to i_size_high · a48380f7
      Aneesh Kumar K.V 提交于
      Rename ext4_inode.i_dir_acl to i_size_high
      drop ext4_inode_info.i_dir_acl as it is not used
      Rename ext4_inode.i_size to ext4_inode.i_size_lo
      Add helper function for accessing the ext4_inode combined i_size.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      a48380f7
    • A
      ext4: Rename i_file_acl to i_file_acl_lo · 7973c0c1
      Aneesh Kumar K.V 提交于
      Rename i_file_acl to i_file_acl_lo. This helps
      in finding bugs where we use i_file_acl instead
      of the combined i_file_acl_lo and i_file_acl_high
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      7973c0c1
    • A
      ext4: Fix sparse warnings. · 1d03ec98
      Aneesh Kumar K.V 提交于
      Fix sparse warnings related to static functions
      and local variables.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      1d03ec98
    • A
      ext4: Introduce ext4_update_*_feature · 99e6f829
      Aneesh Kumar K.V 提交于
      Introduce ext4_update_*_feature and use them instead
      of opencoding.
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      99e6f829
    • A
      ext4: fixes block group number being set to a negative value · 2aa9fc4c
      Avantika Mathur 提交于
      This patch fixes various places where the group number is set to a negative
      value.
      Signed-off-by: NAvantika Mathur <mathur@us.ibm.com>
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      2aa9fc4c
    • A
      ext4: add ext4_group_t, and change all group variables to this type. · fd2d4291
      Avantika Mathur 提交于
      In many places variables for block group are of type int, which limits the
      maximum number of block groups to 2^31.  Each block group can have up to
      2^15 blocks, with a 4K block size,  and the max filesystem size is limited to
      2^31 * (2^15 * 2^12) = 2^58  -- or 256 PB
      
      This patch introduces a new type ext4_group_t, of type unsigned long, to
      represent block group numbers in ext4.
      All occurrences of block group variables are converted to type ext4_group_t.
      Signed-off-by: NAvantika Mathur <mathur@us.ibm.com>
      fd2d4291
    • E
      ext4 extents: remove unneeded casts · bba90743
      Eric Sandeen 提交于
      There are many casts in extents.c which are not needed,
      as the variables are already the type of the cast, or
      are being promoted for no particular reason in printk's.
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      bba90743
    • A
      ext4: Introduce ext4_lblk_t · 725d26d3
      Aneesh Kumar K.V 提交于
      This patch adds a new data type ext4_lblk_t to represent
      the logical file blocks.
      
      This is the preparatory patch to support large files in ext4
      The follow up patch with convert the ext4_inode i_blocks to
      represent the number of blocks in file system block size. This
      changes makes it possible to have a block number 2**32 -1 which
      will result in overflow if the block number is represented by
      signed long. This patch convert all the block number to type
      ext4_lblk_t which is typedef to __u32
      
      Also remove dead code ext4_ext_walk_space
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      Signed-off-by: NEric Sandeen <sandeen@redhat.com>
      725d26d3
    • J
      ext4: Avoid rec_len overflow with 64KB block size · a72d7f83
      Jan Kara 提交于
      With 64KB blocksize, a directory entry can have size 64KB which does not fit
      into 16 bits we have for entry lenght. So we store 0xffff instead and convert
      value when read from / written to disk. The patch also converts some places
      to use ext4_next_entry() when we are changing them anyway.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      a72d7f83
    • T
      ext4: Support large blocksize up to PAGESIZE · afc7cbca
      Takashi Sato 提交于
      This patch set supports large block size(>4k, <=64k) in ext4,
      just enlarging the block size limit. But it is NOT possible to have 64kB
      blocksize on ext4 without some changes to the directory handling
      code.  The reason is that an empty 64kB directory block would have a
      rec_len == (__u16)2^16 == 0, and this would cause an error to be hit in
      the filesystem.  The proposed solution is treat 64k rec_len
      with a an impossible value like rec_len = 0xffff to handle this.
      
      The Patch-set consists of the following 2 patches.
        [1/2]  ext4: enlarge blocksize
               - Allow blocksize up to pagesize
      
        [2/2]  ext4: fix rec_len overflow
               - prevent rec_len from overflow with 64KB blocksize
      
      Now on 64k page ppc64 box runs with this patch set we could create a 64k
      block size ext4dev, and able to handle empty directory block.
      Signed-off-by: NTakashi Sato <sho@tnes.nec.co.jp>
      Signed-off-by: NMingming Cao <cmm@us.ibm.com>
      afc7cbca
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · 8561b089
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        [WATCHDOG] constify function pointer tables
        [WATCHDOG] TXx9 watchdog driver
        [WATCHDOG] misc_register patch	
        [WATCHDOG] wdt: fix locking
      8561b089
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · e189f349
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (197 commits)
        sh: add spi header and r2d platform data V3
        sh: update r7780rp interrupt code
        sh: remove consistent alloc stuff from the machine vector
        sh: use declared coherent memory for dreamcast pci ethernet adapter
        sh: declared coherent memory support V2
        sh: Add support for SDK7780 board.
        sh: constify function pointer tables
        sh: Kill off -traditional for linker script.
        cdrom: Add support for Sega Dreamcast GD-ROM.
        sh: Kill off hs7751rvoip reference from arch/sh/Kconfig.
        sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default.
        sh: Kill off dead HS771RVoIP board support.
        sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch.
        sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors.
        sh: r2d - enable sm501 usb host function
        sh: remove voyagergx
        sh: r2d - add lcd planel timings to sm501 platform data
        sh: Add OHCI and UDC platform devices for SH7720.
        sh: intc - remove default interrupt priority tables
        sh: Correct pte size mismatch for X2 TLB.
        ...
      e189f349
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · f4798748
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (24 commits)
        HID: ADS/Tech Radio si470x needs blacklist entry
        HID: Logitech Extreme 3D needs NOGET quirk
        HID: Refactor MS Presenter 8K key mapping
        HID: MS Presenter mapping for PID 0x0701
        HID: Support Samsung IR remote
        HID: fix compilation of hidbp drivers without usbhid
        HID: Blacklist the Gretag-Macbeth Huey display colorimeter
        HID: the `bit' in hidinput_mapping_quirks() is an out parameter
        HID: remove redundant WARN_ON()s in order not to scare users
        HID: force hiddev creation for SONY PS3 controller
        HID: Use hid blacklist in usbmouse/usbkbd
        HID: proper handling of MS 4k and 6k devices
        HID: remove unused variable in quirk event handler
        HID: hid-input quirk for BTC 8193
        HID: separate hid-input event quirks from generic code
        HID: refactor mapping to input subsystem for quirky devices
        HID: Microsoft Wireless Optical Desktop 3.0 quirk
        HID: Add support for Logitech Elite keyboards
        HID: add full support for Genius KB-29E
        HID: fix a potential bug in pointer casting
        ...
      f4798748
    • L
      Merge branch 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block · 8d01eddf
      Linus Torvalds 提交于
      * 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block:
        block: implement drain buffers
        __bio_clone: don't calculate hw/phys segment counts
        block: allow queue dma_alignment of zero
        blktrace: Add blktrace ioctls to SCSI generic devices
      8d01eddf
    • L
      Merge branch 'blk-end-request' of git://git.kernel.dk/linux-2.6-block · f0f00520
      Linus Torvalds 提交于
      * 'blk-end-request' of git://git.kernel.dk/linux-2.6-block: (30 commits)
        blk_end_request: changing xsysace (take 4)
        blk_end_request: changing ub (take 4)
        blk_end_request: cleanup of request completion (take 4)
        blk_end_request: cleanup 'uptodate' related code (take 4)
        blk_end_request: remove/unexport end_that_request_* (take 4)
        blk_end_request: changing scsi (take 4)
        blk_end_request: add bidi completion interface (take 4)
        blk_end_request: changing ide-cd (take 4)
        blk_end_request: add callback feature (take 4)
        blk_end_request: changing ide normal caller (take 4)
        blk_end_request: changing cpqarray (take 4)
        blk_end_request: changing cciss (take 4)
        blk_end_request: changing ide-scsi (take 4)
        blk_end_request: changing s390 (take 4)
        blk_end_request: changing mmc (take 4)
        blk_end_request: changing i2o_block (take 4)
        blk_end_request: changing viocd (take 4)
        blk_end_request: changing xen-blkfront (take 4)
        blk_end_request: changing viodasd (take 4)
        blk_end_request: changing sx8 (take 4)
        ...
      f0f00520
    • L
      Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block · 68fbda7d
      Linus Torvalds 提交于
      * 'sg' of git://git.kernel.dk/linux-2.6-block:
        SG: work with the SCSI fixed maximum allocations.
        SG: Convert SCSI to use scatterlist helpers for sg chaining
        SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers
      68fbda7d
    • L
      Merge branch 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block · d4928196
      Linus Torvalds 提交于
      * 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block:
        cfq-iosched: kill some big inlines
        cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions
        kernel: add CLONE_IO to specifically request sharing of IO contexts
        io_context sharing - anticipatory changes
        block: cfq: make the io contect sharing lockless
        io_context sharing - cfq changes
        io context sharing: preliminary support
        ioprio: move io priority from task_struct to io_context
      d4928196
    • L
      Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm · bb04af0e
      Linus Torvalds 提交于
      * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (176 commits)
        [ARM] 4795/1: S3C244X: Add armclk and setparent call
        [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code
        [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function
        [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S
        [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk
        [ARM] 4790/1: S3C2412: Fix parent selection for msysclk.
        [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values
        [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used.
        [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number
        [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants
        [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers
        [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches
        [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull()
        [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users
        [ARM] 4781/1: S3C24XX: DMA suspend and resume support
        [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX
        [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call
        [ARM] 4778/1: S3C2412: Add armclk and init from DVS state
        [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk
        [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected
        ...
      bb04af0e