1. 15 Oct, 2002 40 commits
    • Tim Wright's avatar
      [PATCH] Forward port of 2.4 fsync_buffers_list() fix. · de1c3893
      Tim Wright authored
      there was a bug in fysnc_buffers_list() in 2.4 (fixed in 2.4.19) that
      could cause the function to return without having written the current
      contents of all the buffers.
      
      Obviously, this could be bad for anybody relying on ordering using
      O_SYNC or fsync().  If an I/O was already in flight for a particular bh
      at the time of the call to fsync_buffers_list(), ll_rw_block() will not
      initiate a new I/O even though the contents may have changed.  It is
      therefore necessary to wait before the call.  Here's a patch against
      2.5.42 that applies the same fix.
      de1c3893
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk · 4c34d455
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      4c34d455
    • Linus Torvalds's avatar
      Merge home.transmeta.com:/home/torvalds/v2.5/scsi-update · 98378c38
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      98378c38
    • Doug Ledford's avatar
      [PATCH] two driver updates, one core update · 3e0f6303
      Doug Ledford authored
      Rename queue_depth to current_queue_depth so that:
      
      A) we represent the true purpose of the variable
      B) we catch anyone using it wrongly
      3e0f6303
    • Doug Ledford's avatar
      [PATCH] dpt_i2o TCQ update · ca07380f
      Doug Ledford authored
      This patch for dpt_i2o fixes TCQ stuff, but doesn't solve DMA mapping
      issues (so it still doesn't work, but it's not because of TCQ).
      
      Getting around to fixing DMA mapping API issues is much more work per
      driver than the TCQ stuff, so I'm putting it off until later.
      
      dpti.h:
        Update template
      dpt_i2o.c:
        Update to new TCQ scheme
      ca07380f
    • Doug Ledford's avatar
      [PATCH] more driver updates (aic7xxx) · 1642bf82
      Doug Ledford authored
      aic7xxx_linux_host.h:
        Update host template
      aic7xxx_linux.c:
        Update to new TCQ scheme
      1642bf82
    • Doug Ledford's avatar
      [PATCH] more driver updates (aacraid) · 5b7526f3
      Doug Ledford authored
      linit.c:
        Update to use slave_attach
      5b7526f3
    • Doug Ledford's avatar
      [PATCH] eata TCQ update · a0a05dcb
      Doug Ledford authored
      eata.h:
        Update template
      eata.c:
        Add slave_attach and new TCQ method
      a0a05dcb
    • Doug Ledford's avatar
      [PATCH] qla1280 TCQ update · 95e38aa0
      Doug Ledford authored
      qla1280.h:
        Update device template
      qla1280.c:
        Update to use slave_attach for setting queue depth
      95e38aa0
    • Doug Ledford's avatar
      [PATCH] Advansys TCQ update · 7ec7888b
      Doug Ledford authored
      advansys.h:
        Update host template to include slave_attach
      advansys.c:
        Update to use slave_attach instead of select_queue_depths
      7ec7888b
    • Doug Ledford's avatar
      [PATCH] SCSI update · f14d4f58
      Doug Ledford authored
      drivers/scsi/esp.c:
        Fix the build.
      scsi.h:
        Add struct list_head items for future (but soon) use
      hosts.h:
        Remove select_queue_depths from host struct, add struct list
        stuff for proper list linking of host structs
      hosts.c:
        Don't touch select_queue_depths any longer
      f14d4f58
    • Doug Ledford's avatar
      [PATCH] ips TCQ update · 491e5fa1
      Doug Ledford authored
      ips.h:
        Since we now have proper tagged depth setting, make
        the cmd_per_lun value reasonable for untagged devices
        like it is suppossed to be.
      491e5fa1
    • Doug Ledford's avatar
      [PATCH] another TCQ update · d794ce3e
      Doug Ledford authored
      More scsi TCQ updates, tweak to ServeRAID, tweak scsi_scan, make BusLogic
      use new method
      d794ce3e
    • Linus Torvalds's avatar
      Merge UML update · 46356545
      Linus Torvalds authored
      46356545
    • Linus Torvalds's avatar
      Merge http://jdike.stearns.org:5000/fixes-2.5 · 0789ed0a
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      0789ed0a
    • Kai Mäkisara's avatar
      [PATCH] SCSI tape door lock and reset fixes · 83391bef
      Kai Mäkisara authored
      - switch to using scsi_ioctl() for drive door locking and unlocking
        instead of private code
      - use a driver internal flag to save the reset status until tape is
        positioned into known location
      - set driver state properly for all partitions after reset
      - change put_device() to driver_unregister() in st_detach()
      - C99 initializer changes (from Art Haas)
      83391bef
    • Linus Torvalds's avatar
      Merge http://jfs.bkbits.net/linux-2.5 · e50e1b0f
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      e50e1b0f
    • Ingo Molnar's avatar
      [PATCH] futex-2.5.42-A2 · 5d6af116
      Ingo Molnar authored
      This is my current futex patchset against BK-curr.  It mostly includes
      must-have crash/correctness fixes from Martin Wirth, tested and reworked
      somewhat by myself:
      
       - crash fix: futex_close did not detach from the vcache. Detach cleanups.
         (Martin Wirth)
      
       - memory leak fix: forgotten put_page() in a rare path in __pin_page().
         (Martin Wirth)
      
       - crash fix: do not do any quickcheck in unqueue_me(). (Martin, me)
      
       - correctness fix: the fastpath in __pin_page() now handles reserved
         pages the same way get_user_pages() does. (Martin Wirth)
      
       - queueing improvement: __attach_vcache() now uses list_add_tail() to
         avoid the reversal of the futex queue if a COW happens. (Martin Wirth)
      
       - simplified alignment check in sys_futex. (Martin Wirth)
      
       - comment fix: make it clear how the vcache hash quickcheck works. (me)
      5d6af116
    • John Levon's avatar
      [PATCH] oprofile - dcookies need to use u32 · f35e6551
      John Levon authored
      Make dcookies use a stable size regardless of whether we're
      on a 32-bit or 64-bit platform.
      f35e6551
    • John Levon's avatar
      [PATCH] oprofile - i386 driver · b4d5af77
      John Levon authored
      Finally, add the i386 timer-interrupt and perfctr drivers for i386
      b4d5af77
    • John Levon's avatar
      [PATCH] oprofile - core · 99ee21ee
      John Levon authored
      Add the oprofile core.  The core design is very similar to that we
      discussed in private mail.  The nasty details should be documented in
      the patch below.
      99ee21ee
    • John Levon's avatar
      [PATCH] oprofile - MSR defines · 7b401a13
      John Levon authored
      Add the MSR defines oprofile uses
      7b401a13
    • John Levon's avatar
      [PATCH] oprofile - NMI hook · e0346c53
      John Levon authored
      This provides a simple api to let oprofile hook into the NMI interrupt
      for the perfctr profiler.
      e0346c53
    • John Levon's avatar
      [PATCH] oprofile - timer hook · 120790b8
      John Levon authored
      This implements a simple hook into the profiling timer for x86 so that
      non-perfctr machines can still use oprofile.  This has proven useful for
      laptops and the like.
      
      It also reduces header dependencies a bit by centralising readprofile
      code
      120790b8
    • John Levon's avatar
      [PATCH] oprofile - dcookies · 7e1aee05
      John Levon authored
      This implements the persistent path-to-dcookies mapping, and adds a
      system call for the user-space profiler to look up the profile data, so
      it can tag profiles to specific binaries.
      7e1aee05
    • John Levon's avatar
      [PATCH] oprofile - hooks · 19bb2ab9
      John Levon authored
      This implements the simple hooks we need to catch unmappings, and to
      make sure no stale task_struct*'s are ever used by the main oprofile
      core mechanism.  If disabled, it compiles to nothing.
      19bb2ab9
    • Alexander Viro's avatar
      [PATCH] bunch of ->open() killed. · dec3735e
      Alexander Viro authored
      Quite a few drivers don't need ->open() anymore - all it did was checking
      that minor is good (== gendisk exists).  That is handled by generic code
      now...
      dec3735e
    • Alexander Viro's avatar
      [PATCH] bdev->bd_disk introduced · 5682bcc6
      Alexander Viro authored
      There we go - now we can put a reference to gendisk into block_device.  Which
      we do in do_open().  Most of the callers of get_gendisk() are simply using
      bdev->bd_disk now (and most of the put_disk() calls introduced on previous
      step disappear).  We also put that pointer into struct request - ->rq_disk.
      That allows to get rid of disk_index() kludges in md.c (we simply count
      relevant IO in the struct gendisk fields) and kill the export of get_gendisk().
      	Notice that by now we can move _all_ IO counters into gendisk.  That
      will kill a bunch of per-major arrays and more importantly, allow to merge
      sard in clean way.  FWIW, we probably could show them as disk/partitions
      attributes in driverfs...
      5682bcc6
    • Alexander Viro's avatar
      [PATCH] refcounts for gendisks · 68c16870
      Alexander Viro authored
      Finally.  We use disk->dev.refcount as a gendisk refcount.  New helper -
      get_disk(): atomic_inc on refcount.  get_gendisk() does it on return,
      callers of get_gendisk() do put_disk() when they are done.
      68c16870
    • Alexander Viro's avatar
      [PATCH] preparation to use of driverfs refcounts, part 2 - disk · b288f6ad
      Alexander Viro authored
      	* disk->disk_dev is initialized in alloc_disk(), device_add()'d in
      	  add_disk(), device_del()'d in unregister_disk() and device_put() in
      	  put_disk().
      	* devices of partitions are made its children.
      	* attributes of disk one: dev (dev_t of the thing), range (number of
      	  minors) and size (in sectors).
      	* attributes of partition ones: dev (ditto), start (in sectors) and
      	  size (in sectors).
      	* disk devices are put on a new bus - "block"
      	* if caller of add_disk() had set disk->driverfs_dev, we set symlinks:
      	  "device" from disk to underlying device and "block" from underlying
      	  device to disk.
      	* ->release() of disk_dev frees disk and disk->part.
      	At that point we have sane driverfs subtree for each gendisk and
      refcount of its root (disk->disk_dev) can act as gendisk refcount.
      b288f6ad
    • Alexander Viro's avatar
      [PATCH] preparation to use of driverfs refcounts, part 1 - partitions · afae25b7
      Alexander Viro authored
      	* update_partition() split into add_partition() and delete_partition().
      	* all updating of ->part[] is switched to these two (including initial
      filling/final cleaning).
      	* per-partition devices are allocated on-demand and never reused.
      We allocate struct device in add_partition() and put reference to it into
      hd_struct.  ->release() for that struct device frees it.  delete_partition()
      removes reference from hd_struct and does put_device() on it.  Basically,
      we get rid of problems with reused struct device by never reusing them...
      	At that point devices for partitions are nice and sane.
      afae25b7
    • Alexander Viro's avatar
      [PATCH] block ioctl cleanup · c6973580
      Alexander Viro authored
      	guts of blkpg.c and blkdev_ioctl() sanitized up and moved into a new
      file - drivers/block/ioctl.c.  blkpg.c is gone.
      c6973580
    • Alexander Viro's avatar
      [PATCH] device_register() splitup · 8b290eb1
      Alexander Viro authored
      	new driverfs helpers - device_initialize/device_add and device_del.
      The latter is device_unregister() sans the final put_device().  The former
      is splitup of device_register() into initialization and insertion into tree.
      8b290eb1
    • Alexander Viro's avatar
      [PATCH] disk->minor_shift cleanup · 847c633a
      Alexander Viro authored
      	new field - disk->minors (1 << disk->minor_shift).  Almost all uses
      of ->minor_shift had that form and thus had been replaced.
      847c633a
    • Alexander Viro's avatar
      [PATCH] early allocation of ->part · b8ed1788
      Alexander Viro authored
      allocation of ->part[] moved to alloc_disk(); alloc_disk() got an
      argument (number of minors expected).  Freeing is in put_disk().
      b8ed1788
    • Linus Torvalds's avatar
      Merge bk://linux-bt.bkbits.net/bt-2.5 · 40d1b71b
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      40d1b71b
    • Jeff Dike's avatar
      1171e981
    • Jeff Dike's avatar
      Fixed a bug caused by moving the location of the include of the · a7152cf5
      Jeff Dike authored
      arch and os Makefiles.
      a7152cf5
    • Linus Torvalds's avatar
      Oops, fix over-eager search-and-replace. · 0c8aab5d
      Linus Torvalds authored
      0c8aab5d
    • Dave Kleikamp's avatar
      d5e567ce