20 Oct, 2007

1 commit

  • Fix kernel-api docbook contents problems.

    docproc: linux-2.6.23-git13/include/asm-x86/unaligned_32.h: No such file or directory
    Warning(linux-2.6.23-git13//include/linux/list.h:482): bad line: of list entry
    Warning(linux-2.6.23-git13//mm/filemap.c:864): No description found for parameter 'ra'
    Warning(linux-2.6.23-git13//block/ll_rw_blk.c:3760): No description found for parameter 'req'
    Warning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter 'private'
    Warning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter 'cdev'

    Signed-off-by: Randy Dunlap
    Cc: Jens Axboe
    Cc: WU Fengguang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

18 Oct, 2007

2 commits


17 Oct, 2007

5 commits

  • provide BDI constructor/destructor hooks

    [akpm@linux-foundation.org: compile fix]
    Signed-off-by: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • The memset() of the sg entry was originally removed, because it could
    overwrite a chain pointer. But it's quite OK to memset() it when we know
    it's a valid entry, since it can't contain a chain pointer.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • * 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block: (63 commits)
    Fix memory leak in dm-crypt
    SPARC64: sg chaining support
    SPARC: sg chaining support
    PPC: sg chaining support
    PS3: sg chaining support
    IA64: sg chaining support
    x86-64: enable sg chaining
    x86-64: update pci-gart iommu to sg helpers
    x86-64: update nommu to sg helpers
    x86-64: update calgary iommu to sg helpers
    swiotlb: sg chaining support
    i386: enable sg chaining
    i386 dma_map_sg: convert to using sg helpers
    mmc: need to zero sglist on init
    Panic in blk_rq_map_sg() from CCISS driver
    remove sglist_len
    remove blk_queue_max_phys_segments in libata
    revert sg segment size ifdefs
    Fixup u14-34f ENABLE_SG_CHAINING
    qla1280: enable use_sg_chaining option
    ...

    Linus Torvalds
     
  • Remove the size limit max_sectors_kb imposed on max_readahead_kb.

    The size restriction is unreasonable. Especially when max_sectors_kb cannot
    grow larger than max_hw_sectors_kb, which can be rather small for some disk
    drives.

    Cc: Jens Axboe
    Signed-off-by: Fengguang Wu
    Acked-by: Jens Axboe
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fengguang Wu
     
  • Convert cpu_sibling_map from a static array sized by NR_CPUS to a per_cpu
    variable. This saves sizeof(cpumask_t) * NR unused cpus. Access is mostly
    from startup and CPU HOTPLUG functions.

    Signed-off-by: Mike Travis
    Cc: Andi Kleen
    Cc: Christoph Lameter
    Cc: "Siddha, Suresh B"
    Cc: "David S. Miller"
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Travis
     

16 Oct, 2007

10 commits


13 Oct, 2007

5 commits

  • IOW, it needs to depend on both CONFIG_BLOCK and CONFIG_COMPAT.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits)
    PM: merge device power-management source files
    sysfs: add copyrights
    kobject: update the copyrights
    kset: add some kerneldoc to help describe what these strange things are
    Driver core: rename ktype_edd and ktype_efivar
    Driver core: rename ktype_driver
    Driver core: rename ktype_device
    Driver core: rename ktype_class
    driver core: remove subsystem_init()
    sysfs: move sysfs file poll implementation to sysfs_open_dirent
    sysfs: implement sysfs_open_dirent
    sysfs: move sysfs_dirent->s_children into sysfs_dirent->s_dir
    sysfs: make sysfs_root a regular directory dirent
    sysfs: open code sysfs_attach_dentry()
    sysfs: make s_elem an anonymous union
    sysfs: make bin attr open get active reference of parent too
    sysfs: kill unnecessary NULL pointer check in sysfs_release()
    sysfs: kill unnecessary sysfs_get() in open paths
    sysfs: reposition sysfs_dirent->s_mode.
    sysfs: kill sysfs_update_file()
    ...

    Linus Torvalds
     
  • struct cdev does not need the kobject name to be set, as it is never
    used. This patch fixes up the few places it is set.

    Signed-off-by: Greg Kroah-Hartman
    Acked-by: Mauro Carvalho Chehab

    Greg Kroah-Hartman
     
  • A number of different drivers incorrect access the kobject name field
    directly. This is not correct as the name might not be in the array.
    Use the proper accessor function instead.

    Greg Kroah-Hartman
     
  • This changes the uevent buffer functions to use a struct instead of a
    long list of parameters. It does no longer require the caller to do the
    proper buffer termination and size accounting, which is currently wrong
    in some places. It fixes a known bug where parts of the uevent
    environment are overwritten because of wrong index calculations.

    Many thanks to Mathieu Desnoyers for finding bugs and improving the
    error handling.

    Signed-off-by: Kay Sievers
    Cc: Mathieu Desnoyers
    Cc: Cornelia Huck
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

12 Oct, 2007

1 commit


10 Oct, 2007

16 commits

  • The floppy ioctls are used by multiple drivers, so they should be
    handled in a shared location. Also, add minor cleanups.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • These are shared by all cd-rom drivers and should have common
    handlers. Do slight cosmetic cleanups in the process.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • BLKPG is common to all block devices, so it should be handled
    by common code.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • These are common to multiple block drivers, so they should
    be handled by the block layer.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • blk_trace_setup is broken on x86_64 compat systems,
    this makes the code work correctly on all 64 bit architectures
    in compat mode.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • Handle those blockdev ioctl calls that are compatible
    directly from the compat_blkdev_ioctl() function, instead
    of having to go through the compat_ioctl hash lookup.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • Make compat_blkdev_ioctl and blkdev_ioctl reflect the respective
    native versions. This is somewhat more efficient and makes it easier
    to keep the two in sync.

    Also get rid of the bogus handling for broken_blkgetsize and the
    duplicate entry for BLKRASET.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • As bi_end_io is only called once when the reqeust is complete,
    the 'size' argument is now redundant. Remove it.

    Now there is no need for bio_endio to subtract the size completed
    from bi_size. So don't do that either.

    While we are at it, change bi_end_io to return void.

    Signed-off-by: Neil Brown
    Signed-off-by: Jens Axboe

    NeilBrown
     
  • The only caller of bio_endio that does not pass the full bi_size
    is end_that_request_first. Also, no ->bi_end_io method is really
    interested in bi_size being decremented.

    So move the decrement and related code into ll_rw_blk and merge it
    with order_bio_endio to form req_bio_endio which does endio functionality
    specific to request completion.

    As some ->bi_end_io methods do check bi_size of 0, we set it thus for
    now, but that will go in the next patch.

    Signed-off-by: Neil Brown

    ### Diffstat output
    ./block/ll_rw_blk.c | 42 +++++++++++++++++++++++++++---------------
    ./fs/bio.c | 23 +++++++++++------------
    2 files changed, 38 insertions(+), 27 deletions(-)

    diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c
    Signed-off-by: Jens Axboe

    NeilBrown
     
  • The entire function of flush_dry_bio_endio is to undo the effects
    of bio_endio (when called on a barrier request). So remove the
    function and the call to bio_endio.

    This allows us to remove "bi_size" from "struct request_queue".

    Signed-off-by: Neil Brown

    ### Diffstat output
    ./block/ll_rw_blk.c | 39 ++-------------------------------------
    ./include/linux/blkdev.h | 1 -
    2 files changed, 2 insertions(+), 38 deletions(-)

    diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c
    Signed-off-by: Jens Axboe

    NeilBrown
     
  • blk_cpu_notifier is marked as __devinitdata, but __devinitdata need not
    be __init even if HOTPLUG_CPU=n, which wastes space. It should be marked
    __cpuinitdata, and the callback itself as __cpuinit.

    Signed-off-by: Satyam Sharma
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Satyam Sharma
     
  • Remove one level of nesting where appropriate.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • These have very similar functions and should share code where
    possible.

    Signed-off-by: Neil Brown

    diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c
    Signed-off-by: Jens Axboe

    NeilBrown
     
  • blk_rq_bio_prep is exported for use in exactly
    one place. That place can benefit from using
    the new blk_rq_append_bio instead.
    So
    - change dm-emc to call blk_rq_append_bio
    - stop exporting blk_rq_bio_prep, and
    - initialise rq_disk in blk_rq_bio_prep,
    as dm-emc needs it.

    Signed-off-by: Neil Brown

    diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c
    Signed-off-by: Jens Axboe

    NeilBrown
     
  • ll_back_merge_fn is currently exported to SCSI where is it used,
    together with blk_rq_bio_prep, in exactly the same way these
    functions are used in __blk_rq_map_user.

    So move the common code into a new function (blk_rq_append_bio), and
    don't export ll_back_merge_fn any longer.

    Signed-off-by: Neil Brown

    diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c
    Signed-off-by: Jens Axboe

    NeilBrown
     
  • Every usage of rq_for_each_bio wraps a usage of
    bio_for_each_segment, so these can be combined into
    rq_for_each_segment.

    We define "struct req_iterator" to hold the 'bio' and 'index' that
    are needed for the double iteration.

    Signed-off-by: Neil Brown

    Various compile fixes by me...

    Signed-off-by: Jens Axboe

    NeilBrown