An error occurred fetching the project authors.
  1. 12 Apr, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] Implement queue congestion callout for device mapper · 1fe10e2f
      Andrew Morton authored
      From: Miquel van Smoorenburg <miquels@cistron.nl>
            Joe Thornber <thornber@redhat.com>
      
      This implements the queue congestion callout for DM stacks.  To make
      bdi_read/write_congested() return correct information.
      
      - md->lock protects all fields in md _except_ md->map
      - md->map_lock protects md->map
      - Anyone who wants to read md->map should use dm_get_table() which
        increments the tables reference count.
      
      This means the spin lock is now only held for the duration of a
      reference count increment.
      
      Udpate:
      
      dm.c: protect md->map with a rw spin lock rather than the md->lock
      semaphore.  Also ensure that everyone accesses md->map through
      dm_get_table(), rather than directly.
      1fe10e2f
  2. 12 Mar, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] dm: endio method · ba657cf7
      Andrew Morton authored
      From: Joe Thornber <thornber@redhat.com>
      
      Add an endio method to targets.  This method is allowed to request another
      shot at failed ios (think multipath).  Context can be passed between the map
      method and the endio method.
      ba657cf7
  3. 18 Feb, 2004 6 commits
  4. 10 Feb, 2004 1 commit
    • Joe Thornber's avatar
      [PATCH] dm: block size bug with 64 bit devs · 92155747
      Joe Thornber authored
      With 32 bit sector_t the block device size _in bytes_ is also cut to
      32 bit in __set_size when the block device is mount (a filesystem
      mounted). The argument should be cast to loff_t before expanding the
      sector count to a byte count and calling i_size_write.
      
      [Christophe Saout]
      92155747
  5. 29 Dec, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] dm: fix block device resizing · ecb24581
      Andrew Morton authored
      From: Joe Thornber <thornber@sistina.com>
      
      When setting the size of a Device-Mapper device in the gendisk entry, also
      try to set the size of the corresponding block_device entry's inode.  This is
      necessary to allow online device/filesystem resizing to work correctly. 
      [Kevin Corry]
      ecb24581
  6. 22 Sep, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] misc fixes · fd5e34d6
      Andrew Morton authored
      - bio_release_pages() should have file-local scope.
      
      - don't use spaces in slab names in device mapper, enforce this henceforth
        in kmem_cache_create().
      
      - Fix alpha header leftover from cpumask_t conversion
      fd5e34d6
  7. 07 Aug, 2003 1 commit
  8. 06 Aug, 2003 1 commit
    • Jens Axboe's avatar
      [PATCH] Proper block queue reference counting · ace416a3
      Jens Axboe authored
      To be able to properly be able to keep references to block queues,
      we make blk_init_queue() return the queue that it initialized, and
      let it be independently allocated and then cleaned up on the last
      reference.
      
      I have grepped high and low, and there really shouldn't be any broken
      uses of blk_init_queue() in the kernel drivers left.  The added bonus
      being blk_init_queue() error checking is explicit now, most of the
      drivers were broken in this regard (even IDE/SCSI).
      
      No drivers have embedded request queue structures. Drivers that don't
      use blk_init_queue() but blk_queue_make_request(), should allocate the
      queue with blk_alloc_queue(gfp_mask). I've converted all of them to do
      that, too. They can call blk_cleanup_queue() now too, using the define
      blk_put_queue() is probably cleaner though.
      ace416a3
  9. 18 Jul, 2003 2 commits
    • Andrew Morton's avatar
      [PATCH] dm: v4 ioctl interface · 77d7ccc8
      Andrew Morton authored
      From: Joe Thornber <thornber@sistina.com>
      
      v4 of the ioctl interface.  Note there never was a v2 or a v3 except in an
      unofficial EVMS way.
      
      This works correctly with the 64-bit dev_t patches in -mm kernels.
      
      There is now a config option to allow the user to select v1 or v4, it
      defaults to v1.  dm-ioctl.[hc] just #includes dm-ioctl-v[14].[hc] depending
      on the config option.
      
      If you want to use v4 you will have to update your tools
      (libdevmapper/lvm).  The latest tools at the time of writing are:
      
      dmsetup + libdevmapper + replacement kernel patches for 2.4.20 & 2.4.21:
      
        ftp://ftp.sistina.com/pub/LVM2/device-mapper/device-mapper-testing-new-version4-interface.tgz
      
      Updated LVM2 tools to work with the above:
      
        ftp://ftp.sistina.com/pub/LVM2/tools/LVM2.0-testing.tgz
      77d7ccc8
    • Andrew Morton's avatar
      [PATCH] dm: 'wait for event' race · aa6d85aa
      Andrew Morton authored
      From: Joe Thornber <thornber@sistina.com>
      
      There was a race associated with the 'wait for a significant event'
      functionality.
      
      Basically userland could read the status table, then wait for another
      event, but the event it was waiting for could have occurred in the gap
      between reading and waiting.
      
      To solve this we assign identifiers to events, in order to successfully
      wait for an event both userland and the kernel driver must be in agreement
      about what the last event identifier was.  If they don't agree the wait
      call will return immediately, allowing userland to re-read the status and
      see what it missed.
      
      The new ioctl interface will use this properly.
      aa6d85aa
  10. 17 Jul, 2003 1 commit
    • Adrian Bunk's avatar
      [PATCH] remove all #include <blk.h>'s · 117b5e29
      Adrian Bunk authored
      This causes blk.h to print a warning and removes all uses of blk.h.
      I've tested the compilation in 2.6.0-test1 with a .config that tries to
      compile as many drivers as possible.
      117b5e29
  11. 02 Jul, 2003 1 commit
  12. 14 Jun, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] dm: Repair persistent minors · 3cb6ce4f
      Andrew Morton authored
      From: Joe Thornber <thornber@sistina.com>
      
      Split the dm_create() function into two variants, depending on whether you
      want the device to have a specific minor number.  This avoids the broken
      overloading of the minor argument to the old dm_create().
      3cb6ce4f
  13. 09 Jun, 2003 4 commits
  14. 20 Apr, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] prepare device mapper for larger dev_t · cc43a08a
      Andrew Morton authored
      From: Joe Thornber <thornber@sistina.com>
      
      The only other thing that will need changing in dm to cope with 64bit
      dev_t concerns the bitset I'm using to keep track of allocated minor
      numbers.  A trivial patch like this would work for now:
      cc43a08a
  15. 08 Mar, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] register_blkdev cleanups · 9a64905a
      Andrew Morton authored
      Patch from Andries.Brouwer@cwi.nl
      
      The following patch does the following:
      
      - static const char *blkdevs[MAX_BLKDEV]; disappears
      - get_blkdev_list, (un)register_blkdev, __bdevname
        are moved from block_dev.c to genhd.c
      - the third "fops" parameter of register_blkdev was unused;
        now removed everywhere
      - zillions of places had printk("cannot get major") upon
        error return from register_blkdev; removed all of these
        and inserted a single printk in register_blkdev.
      
      Of course the reason for the patch is that one fixed size
      array is eliminated.
      9a64905a
  16. 08 Jan, 2003 2 commits
  17. 16 Dec, 2002 11 commits
    • Joe Thornber's avatar
      [PATCH] dm: bio split fix · d68017fa
      Joe Thornber authored
      The block layer does not honour bio->bi_size when issuing io, instead
      it performs io to the complete bvecs.  This means we have to change
      the bio splitting code slightly.
      
      Given a bio we repeatedly apply one of the following three operations
      until there is no more io left in the bio:
      
      1) The remaining io does not cross an io/target boundary, so just
         create a clone and issue all of the io.
      
      2) There are some bvecs at the start of the bio that are not split by
         a target boundary.  Create a clone for these bvecs only.
      
      3) The first bvec needs splitting, use bio_alloc() to create *two*
         bios, one for the first half of the bvec, the other for the second
         half.  A bvec can never contain more than one boundary.
      d68017fa
    • Joe Thornber's avatar
      [PATCH] dm: fix/simplify endio · bef272c4
      Joe Thornber authored
      o  If there's an error you still need to call bio_endio with bio->bi_size
         as the 'done' param.
      
      o  Simplify clone_endio.
      
      [Kevin Corry]
      bef272c4
    • Joe Thornber's avatar
      [PATCH] dm: remove verbose debug message · 6e7f2b77
      Joe Thornber authored
      Remove verbose debug message 'Splitting page'.
      6e7f2b77
    • Joe Thornber's avatar
      [PATCH] dm: fix bio duplication · 6e250403
      Joe Thornber authored
      Some fields in the duplicated bio weren't being set up properly in
      __split_page(). [Kevin Corry]
      6e250403
    • Joe Thornber's avatar
      [PATCH] dm: fix md->pending count · 41dbbb6e
      Joe Thornber authored
      md->pending was being incremented for each clone rather than just
      once. [Kevin Corry]
      41dbbb6e
    • Joe Thornber's avatar
      [PATCH] dm: avoid unnecessary locking · 2766fd78
      Joe Thornber authored
      dec_pending(): only bother spin locking if io->error is going to be
      updated. [Kevin Corry]
      2766fd78
    • Joe Thornber's avatar
      [PATCH] dm: flush pending IO before dm_suspend · a387dbb5
      Joe Thornber authored
      Add a blk_run_queues() call to encourage pending io to flush
      when we're doing a dm_suspend().
      a387dbb5
    • Joe Thornber's avatar
      [PATCH] dm: dm_suspend locking fix · 7be5382e
      Joe Thornber authored
      dm_suspend(): Stop holding the read lock around the while loop that
      waits for pending io to complete.
      7be5382e
    • Joe Thornber's avatar
      [PATCH] dm: check correct flag in queue_io() · 121fd6eb
      Joe Thornber authored
      queue_io() was checking the DMF_SUSPENDED flag rather than the new
      DMF_BLOCK_IO flag.  This meant suspend could deadlock under load.
      121fd6eb
    • Joe Thornber's avatar
      [PATCH] dm: per-device mempools · b4b88675
      Joe Thornber authored
      Give each device its own io mempool to avoid a potential
      deadlock with stacked devices.  [HM + EJT]
      b4b88675
    • Joe Thornber's avatar
      [PATCH] dm: fix check_device_area compare · f9114ec4
      Joe Thornber authored
      check_device_area was comparing the bytes with sectors.
      [Stefan Lauterbach]
      f9114ec4
  18. 25 Nov, 2002 1 commit
  19. 11 Nov, 2002 1 commit
  20. 28 Oct, 2002 1 commit