1. 07 Sep, 2002 25 commits
    • Alexander Viro's avatar
      [PATCH] (25/25) more cleanups of struct gendisk. · e86a3786
      Alexander Viro authored
      	* we remove the paritition 0 from ->part[] and put the old
      contents of ->part[0] into gendisk itself; indexes are shifted, obviously.
      	* ->part is allocated at add_gendisk() time and freed at del_gendisk()
      according to value of ->minor_shift; static arrays of hd_struct are gone
      from drivers, ditto for manual allocations a-la ide.  As the matter of fact,
      none of the drivers know about struct hd_struct now.
      e86a3786
    • Alexander Viro's avatar
      [PATCH] (24/25) disk capacity helpers · 3708de94
      Alexander Viro authored
      	new helpers - get_capacity(gendisk)/set_capacity(gendisk, sectors).
      Drivers switched to these; that eliminates most of the accesses to
      disk->part[]... in the drivers (and makes code more readable, while
      we are at it).  That had caught several bugs when minor had been
      used in place of minor>>minor_shift (acsi.c is especially nasty in
      that respect; I don't know if it had ever been used with multiple
      devices...)
      3708de94
    • Alexander Viro's avatar
      [PATCH] (23/25) move pointer to gendisk from hwif to drive · 07586b33
      Alexander Viro authored
      	 ide switched from hwif->gd[i] to hwif->drive[i]->disk - IOW, instead
      of array of two pointers to gendisks refered from hwif, we keep these pointers
      in relevant drives.  Cleaned up.
      07586b33
    • Alexander Viro's avatar
      [PATCH] (22/25) gendisks for SCSI cdroms · c276ff4d
      Alexander Viro authored
      	SCSI cdroms got gendisks.
      c276ff4d
    • Alexander Viro's avatar
      [PATCH] (21/25) cdrom->reset() cleanup · 5c5302d4
      Alexander Viro authored
      	invalidate_buffers() pulled from cdrom ->reset() into its caller.
      At that point only cdrom.c using cdi->dev.  That will play a bit later.
      5c5302d4
    • Alexander Viro's avatar
      [PATCH] (20/25) cdu31a.c cleanup · ffe63c1e
      Alexander Viro authored
      	minor cleanup in cdu31a.c
      ffe63c1e
    • Alexander Viro's avatar
      [PATCH] (19/25) mcdx.c cleanup · ac26e454
      Alexander Viro authored
      	mcdx.c cleaned up, uses of cdi->dev eliminated
      ac26e454
    • Alexander Viro's avatar
      [PATCH] (18/25) pcd.c - cleanup, killed used of cdi->dev · 25b9b8f4
      Alexander Viro authored
      	 pcd.c cleaned up, uses of cdi->dev eliminated, abuse of macros killed
      (it used to have
      #define PCD pcd[unit]
      #define PI PCD.pi
      and expected 'unit' to be local variable in each function that used these
      (== almost every function in there)).
      25b9b8f4
    • Alexander Viro's avatar
      [PATCH] (17/25) Lindent pcd.c · a20c0ab1
      Alexander Viro authored
      	Lindent pcd.c.
      a20c0ab1
    • Alexander Viro's avatar
      [PATCH] (16/25) pcd.c - beginning of macroectomy · 9aab49e3
      Alexander Viro authored
      	 pcd.c - killed RR and WR macros (replaced with inlines without hidden
      arguments; the first step in cleanup, they were monstrous).
      9aab49e3
    • Alexander Viro's avatar
      [PATCH] (15/25) sbpcd.c - killed useds of cdi->dev · 8b3e8b7a
      Alexander Viro authored
      	sbpcd.c - d eliminated, ditto for uses of cdi->dev (we set cdi->handle
      pointing to structure we neeed).  Cleaned up a bit.
      8b3e8b7a
    • Alexander Viro's avatar
      [PATCH] (14/25) sbpcd.c - use *current_drive instead of D_S[d] · 3aa5472a
      Alexander Viro authored
      	 sbpcd.[c,h] - uses of D_S[d] replaced with uses of *current_drive.
      3aa5472a
    • Alexander Viro's avatar
      [PATCH] (13/25) sbpcd.c - beginning of cleanup · 62ea21cb
      Alexander Viro authored
      	sbpcd.c - sigh... It used to have a global variable inventively called
      'd'.  Current disk number.  Tons of uses, 99% of them being D_S[d].<blah>.
      Added a new variable - current_drive.  Said animal is equal to D_S + d -
      it's reassigned at the same place as d.
      62ea21cb
    • Alexander Viro's avatar
      [PATCH] (12/25) sr.c passes pointers instead of minors now · 6f14c533
      Alexander Viro authored
      	 killed passing minors around; we always pass a pointer to structure;
      scsi_CDs made static.  That killed uses of cdi->dev in sr.c and friends.
      6f14c533
    • Alexander Viro's avatar
      [PATCH] (11/25) sr.c naming cleanup · c7633c22
      Alexander Viro authored
      	Global search'n'replace job - 'SCp' (Scsi_CD pointer - I'm not kidding;
      and yes, they spell it "Scsi") replaced with 'cd' (sr.c, sr_ioctl.c,
      sr_vendor.c).
      c7633c22
    • Alexander Viro's avatar
      [PATCH] (10/25) sr.c device name handling · e342ff2e
      Alexander Viro authored
      	sr.c: we set SCp->cdi.name from the very beginning, which allows
      to kill passing minors in many cases (we can use "%s...", SCp->cd.name instead
      of "sr%d...", minor and that turns out to be the majority of places where
      we use minors at all).
      e342ff2e
    • Alexander Viro's avatar
      [PATCH] (9/25) update_partition() · 897c924e
      Alexander Viro authored
      	new helper - update_partition(disk, partition_number); does the
      right thing wrt devfs and driverfs (un)registration of partition entries.
      BLKPG ioctls fixed - now they call that beast rather than calling only
      devfs side.  New helper - rescan_partitions(disk, bdev); does all work
      with wiping/rereading/etc. and fs/block_dev.c now uses it instead of
      check_partition().  The latter became static.
      897c924e
    • Alexander Viro's avatar
      [PATCH] (8/25) Removing bogus arrays - ->de_arr[] · 06f55b09
      Alexander Viro authored
      	similar to ->flags and ->driverfs_dev_arr, ->de_arr[] got replaced
      with its (single) element + flag.
      06f55b09
    • Alexander Viro's avatar
      [PATCH] (7/25) Removing bogus arrays - ->part[].number · db09b5fc
      Alexander Viro authored
      	Each hd_struct used to have int number; in it.  It's used _only_
      in disk->part[0] - disk->part[n].number is never assigned/checked for any
      positive n.  Moved from hd_struct to gendisk (disk->part[0].number to
      disk->number).
      db09b5fc
    • Alexander Viro's avatar
      [PATCH] (6/25) Removing bogus arrays - ->driverfs_dev_arr[] · c5f45a70
      Alexander Viro authored
      	disk->driverfs_dev_arr is either NULL or consists of exactly one
      element.  Same change as above (struct device ** -> struct device *); old
      "is the pointer to array itself NULL or not?" replaced with a flag (in
      disk->flags).
      c5f45a70
    • Alexander Viro's avatar
      [PATCH] (5/25) Removing bogus arrays - ->flags[] · ab3bfaa2
      Alexander Viro authored
      	Seeing that now disk->flags[] always consists of one element, we
      replace char *flags with int flags, remove the junk from places that used
      to allocate these "arrays" and do obvious updates of the code
      (s/->flags[0]/->flags/).
      ab3bfaa2
    • Alexander Viro's avatar
      [PATCH] (4/25) Unexporting driverfs_remove_partitions() · 097b3217
      Alexander Viro authored
      	call of driverfs_remove_partitions() pulled into del_gendisk();
      function isn't exported anymore.  Both it and driverfs_create_partitions()
      cleaned up.
      097b3217
    • Alexander Viro's avatar
      [PATCH] (3/25) Removing useless minor arguments · 36bd834b
      Alexander Viro authored
      	driverfs_remove_partitions(), devfs_register_partitions(),
      driverfs_create_partitions(), devfs_register_partition(), devfs_register_disc(),
      had lost 'minor' argument - it's always disk->first_minor these days.
      disk_name() takes partition number instead of minor now.  Callers of
      wipe_partitions() in fs/block_dev.c expanded.  Remaining caller passes
      gendisk instead of kdev_t now.
      36bd834b
    • Alexander Viro's avatar
      [PATCH] (2/25) Removing ->nr_real · 4e493886
      Alexander Viro authored
      	Since ->nr_real is always 1 now, we can remove that field completely.
      Removed the last remnants of switch in disk_name() (it could be killed
      a long time ago, I just forgot to remove the last two cases when md and i2o
      got converted).  Collapsed several instances of
      disk->part[minor - disk->first_minor] - in cases when we know that we deal
      with disk->part[0].
      4e493886
    • Alexander Viro's avatar
      [PATCH] (1/25) Unexporting helper functions · b3152267
      Alexander Viro authored
      	wipe_partitions() and driverfs_register_partitions(..., 1) (i.e.
      unregistering them) pulled into del_gendisk() and removed from callers.
      grok_partitions() merged with register_disk().  devfs_register_partitions(),
      grok_partitions() and wipe_partitions() not exported anymore.
      b3152267
  2. 31 Aug, 2002 9 commits
  3. 30 Aug, 2002 6 commits
    • Greg Kroah-Hartman's avatar
      3c9bd375
    • Linus Torvalds's avatar
      The SCSI layer should _not_ try to decide about non-existent · ba26eacc
      Linus Torvalds authored
      partitions. The higher layers do a better job of it.
      ba26eacc
    • Neil Brown's avatar
    • Neil Brown's avatar
      [PATCH] PATCH - kNFSd - More small fixes for TCP nfsd · 03d7a386
      Neil Brown authored
      sk_inuse should be bigger than "char" as we can
      have more than 255 server threads.  Due to the way the count
      is used, this is unlikely to actually cause a problem, but it
      should nonetheless be fixed.
      
      Also, two printk generate more noise than we would like,
      so turn them into dprintk (debugging printk).
      03d7a386
    • Chuck Lever's avatar
      [PATCH] sock_writeable not appropriate for TCP sockets, for 2.5.32 · d2279c44
      Chuck Lever authored
      sock_writeable determines whether there is space in a socket's output
      buffer.  socket write_space callbacks use it to determine whether to wake
      up those that are waiting for more output buffer space.
      
      however, sock_writeable is not appropriate for TCP sockets.  because the
      RPC layer's write_space callback uses it for TCP sockets, the RPC layer
      hammers on sock_sendmsg with dozens of write requests that are only a few
      hundred bytes long when it is trying to send a large write RPC request.
      this patch adds logic to the RPC layer's write_space callback that
      properly handles TCP sockets.
      
      patch reviewed by Trond and Alexey.
      d2279c44
    • Chuck Lever's avatar
      [PATCH] prevent oops in xprt_lock_write, against 2.5.32 · 1758bdf3
      Chuck Lever authored
      when several RPC requests want to reconnect a TCP transport socket at
      once, xprt_lock_write serializes the tasks to prevent multiple socket
      connects.  however, TCP connects are always done by a RPC child task that
      has no request slot.  xprt_lock_write can oops if there is no request slot
      allocated to the invoking RPC task.  reviewed and accepted by Trond.
      
      the xprt_lock_write changes are not yet in 2.4, so this patch does not
      apply to 2.4.
      1758bdf3