1. 28 Oct, 2002 31 commits
    • James Bottomley's avatar
      Merge mulgrave.(none):/home/jejb/BK/scsi-misc-2.5 · 0d47aeb4
      James Bottomley authored
      into mulgrave.(none):/home/jejb/BK/scsi-for-linus-2.5
      0d47aeb4
    • James Bottomley's avatar
      Merge mulgrave.(none):/home/jejb/BK/linux-2.5 · db81280f
      James Bottomley authored
      into mulgrave.(none):/home/jejb/BK/scsi-for-linus-2.5
      db81280f
    • James Bottomley's avatar
      2583ec21
    • David Jeffery's avatar
      [PATCH] ips queue depths 2.5.44 · 651b69be
      David Jeffery authored
      After way to long of a delay, here's a patch for the queue depths
      in the ips driver.  And this patch also shuts up the compiler
      warnings.  
      651b69be
    • James Bottomley's avatar
      34f1e874
    • James Bottomley's avatar
      merge by hand of axboe/jejb changes · bd24aecd
      James Bottomley authored
      bd24aecd
    • Christoph Hellwig's avatar
      [PATCH] get rid of global arrays in sd · ea3bedb6
      Christoph Hellwig authored
      Okay, this is the final version of the sd patch to remove sd_dsk_arr.
      Instead of keeping a big global array we allocate one structure for
      each disk dynamically in sd_attach.  We can use the higher level
      private data to access it almost everywhere, for the few other
      places we keep a linked list of all disks (these are walked only
      in slow-patheß).
      
      This patch also allows to get rid of the sd_init midlayer method and
      the CONFIG_SD_EXTRA_DEVS option - sd has no more static limit to
      the number of disk except of the number of assigned majors.
      ea3bedb6
    • James Bottomley's avatar
      8159b141
    • James Bottomley's avatar
      Merge · 41c8a0e4
      James Bottomley authored
      41c8a0e4
    • Christoph Hellwig's avatar
      fce4e14a
    • Jens Axboe's avatar
      [PATCH] scsi patches · cbfec645
      Jens Axboe authored
      Hi James,
      
      Here are the changes that are good outside the other changes :-)
      
      scsi_lib:
      	o ->errors is used as the scsi status byte for REQ_BLOCK_PC
      	o ->data_len is the residual byte count
      	o call __scsi_end_request even for !good_sectors if status is
      	  good. This legitimately can happen for REQ_BLOCK_PC commands
      	  sent from a user space program, if it gets the command setup
      	  wrong (or weird). Right now this will hang that queue.
      
      scsi_merge:
      	o set SCpnt->request_bufflen to ->data_len, this is the
      	  authoritative io byte count for REQ_BLOCK_PC. Here we deal in
      	  bytes and not sectors.
      
      sr + sd:
      	o Set transfersize and underlow correctly for REQ_BLOCK_PC
      
      sr_ioctl
      	o We want to return -EIO for command failure, not EINVAL. That
       	  is pretty stupid :-)
      
      
      ===== drivers/scsi/scsi_lib.c 1.35 vs edited =====
      cbfec645
    • Christoph Hellwig's avatar
      [PATCH] misc cleanups for sr · 90092a57
      Christoph Hellwig authored
      bring it back in line with sd:
      * get rid of typedefs where possible
      * tab-align all credits entries
      * line-wrap after 80 characters
      * use C99-initializers
      90092a57
    • Jens Axboe's avatar
      [PATCH] small block bits · 5fe41502
      Jens Axboe authored
      o  Add sense_len to request, so scsi_ioctl knows how much sense data
         was transferred.
      
      o Add sg_timeout and sg_reserved to queue, we can't have these global...
      
      o And finally kill QUEUE_NR_REQUESTS, it hasn't been used in a while.
      5fe41502
    • Jens Axboe's avatar
      [PATCH] misc scsi bits · 54952b34
      Jens Axboe authored
      Various small bits that make SCSI work well with REQ_BLOCK_PC.
      
      o Use ->errors as the scsi status byte for REQ_BLOCK_PC
      
      o Always call end_io completion, even if 0 sectors, as long as the
        status is good. Otherwise we risk hanging this device if a
        REQ_BLOCK_PC user command didn't specify a transfer size for a command
        that did.
      
      o Remove bouncing checks in scsi_merge for REQ_BLOCK_PC, bio_map_user()
        correctly bounces pages now.
      
      o Decrement req->data_len, it's our residual data count.
      
      o sr/sd: set right transfer and underflow size.
      54952b34
    • Jens Axboe's avatar
      [PATCH] bio_map_user() infrastructure · 38487531
      Jens Axboe authored
      This adds bio_map_user and bio_unmap_user to aid drivers in mapping user
      space memory into a bio suitable for block io.
      38487531
    • Linus Torvalds's avatar
      Merge http://gkernel.bkbits.net/net-drivers-2.5 · 28d92ef1
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      28d92ef1
    • Linus Torvalds's avatar
      Merge http://gkernel.bkbits.net/misc-2.5 · 8baa8006
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      8baa8006
    • Jens Axboe's avatar
      [PATCH] make bio->bi_end_io() optional · 97565ed3
      Jens Axboe authored
      Sometimes we don't even need a bio->bi_end_io, so make it optional. This
      also encourages users to _use_ bio_endio()! I like that, since it means
      they don't have to remember to decrement bi_size themselves.
      
      Also clear bi_private in bio_init(), and switch to subsys_initcall().
      97565ed3
    • Jens Axboe's avatar
      [PATCH] queue merge_bvec_fn() changes · 14ff27c5
      Jens Axboe authored
      Make merge_bvec_fn() return number of bytes we can accept at a given
      offset, instead of a bool.
      14ff27c5
    • Jens Axboe's avatar
      [PATCH] various ide fixes and cleanups · e00cb941
      Jens Axboe authored
      o Remove some ide compile warnings, old suspend stuff is not used at
        all, for instance.
      
      o If elv_next_request() returns NULL, remember to clear hwgroup->busy
        if we don't have pending commands. This is important. If a queue
        prep function kills a request, we would before quit with hwgroup busy.
        This essentially froze the hwgroup.
      
      o Don't do own list manipulation in ide_do_drive_cmd(). Use the new and
        great elv_add_request() functions
      
      o Fix race on inspection of request after io completion by bumping the
        request reference count prior to ioscheduler insertion.
      
      o Make ide-floppy understand a REQ_BLOCK_PC eject. More may follow, it's
        ATAPI after all.
      
      o Clear hw before passing to ide_init_hwif_ports(). Fixes oops on
        non-pci controllers.
      e00cb941
    • Jens Axboe's avatar
      [PATCH] add end_request helpers that deal in bytes, not sectors · 278bdd1c
      Jens Axboe authored
      This adds an end_that_request_chunk() helper, that puts the core
      functionality in __end_that_request_first().  This one deals in bytes.
      end_that_request_first() does the 512 multiply, and then
      end_that_request_chunk() can just use it directly.
      
      This enables ide-cd to do proper dma in sizes that are not sector
      aligned.  Some of the most important CD functions (ripping audio dma,
      burning audio cds, burning raw cds) _require_ this or we will be in pio.
      That stinks.  We simply cannot use pio for these, not on writers much
      that are fast!
      278bdd1c
    • Jens Axboe's avatar
      [PATCH] request references and list deletion/insertion checking · 6f04a530
      Jens Axboe authored
      o Always use list_del_init() on request queuelist, this allows us to
        sanity check the integrity of the request on insertion and removal.
        So we can complain loudly instead of silently corrupting memory.
      
      o Add references to requests. This is cheap, since we dont have to use
        an atomic variable for it (all puts are inside queue lock). We've had
        a bug in IDE for years where we want to inspect request state after
        io completion, but this is not possible to do race free right now.
        REQ_BLOCK_PC and sgio will need this too, for checking io residual
        etc. This is not just a theoretical race, I've seen it happen.
      6f04a530
    • Jens Axboe's avatar
      [PATCH] queue last_merge hint cleanup · c5868eb7
      Jens Axboe authored
      Cleanup the last_merge logic. There are two reasons for clearing
      last_merge when we are dealing with integrity, and these are:
      
      o Clear when handing the request to the driver, so we don't merge on
        a started request.
      
      o Clear when a request is taken off the list. This cannot be done from
        the driver (above case would already have been hit), but it can
        happen
        when we merge two requests.
      
      This makes it a lot nicer, it was always peculiar how we cleared in
      put_request.
      c5868eb7
    • Jens Axboe's avatar
      [PATCH] queue dma alignment · ad519c69
      Jens Axboe authored
      Make it possible for a device to specify the dma alignment restrictions
      it has. This will be used by future infrastructure when mapping in user
      pages, and allows us to dma to on ATAPI even though user address and
      length is not sector size aligned.
      ad519c69
    • Jens Axboe's avatar
      [PATCH] make queue prep_rq_fn() a bit more powerful · 0717c0a9
      Jens Axboe authored
      Extend q->prep_rq_fn() to return one of three values:
      
       o BLKPREP_OK: request is good, return it
       o BLKPREP_KILL: request is bad, end it completely
       o BLKPREP_DEFER: request is good, but we can't take it now
      
      We maintain compatability with old prep functions (if any, outside of
      ide-cd). This change is needed or SCSI to use prep function for command
      init, if sg table allocation fails we can just defer the request.
      0717c0a9
    • Jens Axboe's avatar
      [PATCH] make blk_dump_rq_flags a bit more useful · 8c1f67fa
      Jens Axboe authored
      Add some missing bits, and make it generally a bit more useful outside
      of REQ_PC requests.
      8c1f67fa
    • Jens Axboe's avatar
      [PATCH] elv_add_request cleanups · 86b9d08b
      Jens Axboe authored
      Request insertion in the current tree is a mess. We have all sorts of
      variants of *elv_add_request*, and it's not at all clear who does what
      and with what locks (or not). This patch cleans it up to be:
      
      o __elv_add_request(queue, request, at_end, plug)
            Core function, requires queue lock to be held
      
      o elv_add_request(queue, request, at_end, plug)
            Like __elv_add_request(), but grabs queue lock
      
      o __elv_add_request_pos(queue, request, position)
            Insert request at a given location, lock must be held
      86b9d08b
    • Jens Axboe's avatar
      [PATCH] sr_ioctl must return -EIO, not -EINVAL · 6d94d882
      Jens Axboe authored
      We must return -EIO if the command fails (the 5/20/00 sense check is
      just helping return more sane info), not -EINVAL. Getting -EINVAL return
      on an ioctl if a command fails is less than helpful for applications...
      6d94d882
    • Jens Axboe's avatar
      [PATCH] end_io bouncing · d50059ec
      Jens Axboe authored
      o Split blk_queue_bounce() into a slow and fast path. The fast path is
        inlined, only if we actually need to check the bio for possible
        bounces (and bounce) do we enter __blk_queue_bounce() slow path.
      
      o Fix a nasty bug that could cause corruption for file systems not
        using PAGE_CACHE_SIZE blok size! We were not correctly setting the
        'to' bv_offset correctly.
      
      o Add BIO_BOUNCE flag. Later patches will use this for debug checking.
      d50059ec
    • Jens Axboe's avatar
      [PATCH] make deadline_merge prefetch next entry · 1b59d3cb
      Jens Axboe authored
      Make deadline_merge() prefetch the next entry on the list.
      1b59d3cb
    • Manfred Spraul's avatar
      [PATCH] use correct wakeups in fs/pipe.c · 88591b7f
      Manfred Spraul authored
      wake_up_interruptible() and _sync() calls are reversed in pipe_read().
      
      The attached patches only calls _sync if a schedule() call follows.
      88591b7f
  2. 27 Oct, 2002 5 commits
  3. 26 Oct, 2002 4 commits