- 07 Sep, 2002 25 commits
-
-
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.
-
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...)
-
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.
-
Alexander Viro authored
SCSI cdroms got gendisks.
-
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.
-
Alexander Viro authored
minor cleanup in cdu31a.c
-
Alexander Viro authored
mcdx.c cleaned up, uses of cdi->dev eliminated
-
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)).
-
Alexander Viro authored
Lindent pcd.c.
-
Alexander Viro authored
pcd.c - killed RR and WR macros (replaced with inlines without hidden arguments; the first step in cleanup, they were monstrous).
-
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.
-
Alexander Viro authored
sbpcd.[c,h] - uses of D_S[d] replaced with uses of *current_drive.
-
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.
-
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.
-
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).
-
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).
-
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.
-
Alexander Viro authored
similar to ->flags and ->driverfs_dev_arr, ->de_arr[] got replaced with its (single) element + flag.
-
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).
-
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).
-
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/).
-
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.
-
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.
-
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].
-
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.
-
- 31 Aug, 2002 9 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
driver remove the ftont of the queue from the request list and cache it in 'current_req'. This simplifies the driver and should be a lot more robust. Still, I'll probably go blind just for _looking_ at the dang sources of this thing. Whee.
-
Linus Torvalds authored
pointer before the device is opened. This should finally fix the 2.5.x floppy driver.
-
Linus Torvalds authored
-
http://linux-ntfs.bkbits.net/ntfs-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Anton Altaparmakov authored
-
Anton Altaparmakov authored
-
Luca Barbieri authored
This fixes the pnpbios CS check to check for the correct values (it wasn't up to date with the various GDT reshuffles), moves it inside the kernel mode check, modifies it so that it takes less instructions and marks it with unlikely(). Note that the 2.5.32 version of this check will cause the kernel to always panic since it checks for the kernel segments and will thus decide to jump to the pnpbios fault handler without being in pnpbios. pnpbios_core.c instead seems to use the correct values.
-
Daniel Jacobowitz authored
Gotta ptrace_unlink before calling release_task, and instead of fiddling with the real_parent directly.
-
- 30 Aug, 2002 6 commits
-
-
Greg Kroah-Hartman authored
-
Linus Torvalds authored
partitions. The higher layers do a better job of it.
-
Neil Brown authored
-
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).
-
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.
-
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.
-