- 18 Oct, 2002 23 commits
-
-
Alexander Viro authored
* switched to private queue * set ->queue * switched to new methods
-
Alexander Viro authored
* switched to private queue * set ->queue * switched to use of ->rq_disk
-
Alexander Viro authored
* switched to private queue * set ->queue * switched to new methods
-
Alexander Viro authored
* switched to private queue * set ->queue * switched to use of ->rq_disk
-
Alexander Viro authored
* switched to private queue * set ->queue
-
Alexander Viro authored
* switched to private queue * set ->queue * switched to new methods
-
Alexander Viro authored
* switched to private queue * set ->queue
-
Alexander Viro authored
* switched to private queue * set ->queue * slightly cleaned up
-
Alexander Viro authored
* switched to private queue * set ->queue * switched to new methods
-
Alexander Viro authored
* switched to private queue * set ->queue and ->private_data * switched to new methods * switched ->open() and friends to use of ->bd_disk * switched request handling to use of ->rq_disk * cleaned up
-
Alexander Viro authored
* set ->queue and ->private_data * removed DEVICE_NR and SD_PARTITION * switched to new methods * switched ->open() and friends to use of ->bd_disk * switched request handling to use of ->rq_disk * slightly cleaned up
-
Alexander Viro authored
* set ->queue * removed DEVICE_NR() * switched request handling to ->rq_disk
-
Alexander Viro authored
* set ->private_data and ->queue * ->open() and friends are using ->bd_disk->private_data instead of messing with DEVICE_NR(inode->i_rdev)
-
Alexander Viro authored
* set ->private_data and ->queue * removed DEVICE_NR * switched to private queue * (partial) compile fixes - it still misses stuff from 2.5.1...
-
Alexander Viro authored
AAAARGH. OK, I've got it to work with the current tree, but... I don't like the lifetime rules - both old and new ones. Summary: * we create a gendisk upon attempt to open or upon successful attempt to run (which _can_ happen without open). * we never remove them until the rmmod (or ever). * mddev is held by gendisk. The source of trouble is our API - ioctls on possibly unconfigured devices when no IO is possible, potentially setting up this (or another, or many other) devices. I _think_ we can get the old rules (mddev exists when somebody holds it open or when it runs or when somebody is looking at it funny), but the way I see will take more messing with driverfs objects than I want right now. Notice that current API is, was and will be ripe with interesting races - it really ought to be replaced with something saner, but that would take serious modifications of userland tools. I'll talk with Neil about possible solution, this patch just gets it back to life.
-
Alexander Viro authored
* got ->private_data and ->queue set * got blk_register_region() done in ide-probe.c * module loading removed from ide_open() (and taken to probe) * ->open() and friends are using ->bd_disk->private_data instead of messing with get_info_ptr(inode->i_rdev) * request handler uses ->rq_disk->private_data instead of DEVICE_NR(...) * DEVICE_NR() removed. * switched to new methods. * get_info_ptr() killed. * ide_xlate_1024() switched to struct block_device * (probably should simply die). NOTE: ide-tape pulls mind-boggling crap - it can be opened as a block device, but you can't do any IO on it; only IDE ioctls. It happens to work (almost by accident), but I'd really prefer to take said ioctls to driverfs and be done with that. NOTE: WTF are ide{disk,cd,tape,scsi,floppy} lists? They are defined, exported and never touched by anything.
-
Alexander Viro authored
introduced blk_register_region() and blk_unregister_region() removed blk_set_probe() switched to almost final variant of get_gendisk()
-
Alexander Viro authored
* switched to private queue * got ->queue set * ->open() and friends are using ->bd_disk->private_data instead of messing with DEVICE_NR(inode->i_rdev) * request handler uses ->rq_disk->private_data instead of DEVICE_NR(...) * DEVICE_NR() removed. * switched to new methods. * got rid of CURRENT
-
Alexander Viro authored
* switched to private queue * got ->queue set * ->open() and friends are using ->bd_disk->private_data instead of messing with DEVICE_NR(inode->i_rdev) * request handler uses ->rq_disk->private_data instead of DEVICE_NR(...) * DEVICE_NR() removed. * switched to new methods. * got rid of CURRENT
-
Alexander Viro authored
* switched to private queue * got ->private_data and ->queue set * ->open() and friends are using ->bd_disk->private_data instead of messing with DEVICE_NR(inode->i_rdev) * request handler uses ->rq_disk->private_data instead of DEVICE_NR(...) * DEVICE_NR() removed. * switched to new methods.
-
Alexander Viro authored
DaveM spotted bogus cast sprintf in checks.c. Fixed. Several places that unregistered device called put_device() instead.
-
Alexander Viro authored
cdrom_open(), cdrom_release(), cdrom_ioctl() and cdrom_media_changed() got an additional argument - struct cdrom_device_info *. Drivers that used to have them as methods are using wrappers that pass right cdrom_device_info. Existing callers (in ide-cd.c) updated. pcd.c, mcdx.c, sbpcd.c and sr.c got ->private_data in their disks pointing to relevant objects. Since all callers of cdrom_find_device() are gone, it got removed. Since all users of cdrom_device_info->dev are gone, it's not set anymore (and got removed).
-
Alexander Viro authored
* added ->media_changed(disk). Callers of ->check_media_changed() are using that one if present * added ->revaldiate_disk(disk). Callers of ->revalidate() are using that one if present * added disk->queue. do_open() uses it if non-NULL * added disk->private_data * removed assignments to inode->i_data.backing_... - it belongs to filesystem that contains device node and we don't care about it; inode->i_mapping points to ->i_data of bdev inode and there we should (and do) set that field.
-
- 17 Oct, 2002 17 commits
-
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Andrew Morton authored
From Alexey: teach the 3com ethernet driver to add checksums to outgoing UDP frames.
-
Andrew Morton authored
The ramdisk address_space needs to have a non-zero mapping->backing_dev_info.memory_backed, so it doesn't contribute to global memory accounting. At present it is confusing memory accounting and causing balance_dirty_pages to go into an infinite loop.
-
James Bottomley authored
into mulgrave.(none):/home/jejb/BK/scsi-for-linus-2.5
-
James Bottomley authored
into mulgrave.(none):/home/jejb/BK/scsi-for-linus-2.5
-
James Bottomley authored
into mulgrave.(none):/home/jejb/BK/scsi-for-linus-2.5
-
James Bottomley authored
into mulgrave.(none):/home/jejb/BK/scsi-for-linus-2.5
-
Mike Anderson authored
If you use scsi_debug the patch below fixes a problem that has existed since the updated scan code was merged in. scsi_debug previously assumed that the scsi_device used to probe and the device permanently added to the host_queue would be the same. This caused scsi_debug to allocate some internal data and key it off the scsi_device pointer for later use. This resulted in scsi_debug failing all IO post scanning. This patch corrects this problem. Note: Douglas Gilbert is the maintainer of this driver. dougg@gear.torque.net http://www.torque.net/sg/ During Douglas Gilbert's time-off he connects when he can so it maybe a bit until he can address this. In the interim this patch makes scsi_debug functional. The full patch is available at: http://www-124.ibm.com/storageio/patches/2.5/scsi-debug -andmike -- Michael Anderson andmike@us.ibm.com scsi_debug.c | 59 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 31 insertions(+), 28 deletions(-)
-
Patrick Mansfield authored
This patch consolidates the setting of the LUN in byte 1 of the SCSI command block for SCSI-2 and lower devices. This is needed for multi-path IO (some devices can actually have differnt LUN values for each path), but is also a nice clean up of the code. sg.c was able to inhibit setting the value, this removes that capability - if it is really needed it can be black listed in the device_list[] flags, or sg could set a similiar flag. This is patched against the latest bk (as of some time on Oct 16), and patches clean against 2.5.43. Tests were run with different adapters and various disks and a tape drive, I have no SCSI-2 multi-lun devices, so the main verifcation was done using a modified scsi_debug.c driver to emulate a multi-lun SCSI-2 device. drivers/scsi/osst.c | 2 -- drivers/scsi/scsi.c | 6 ++++++ drivers/scsi/scsi_error.c | 12 +++++------- drivers/scsi/scsi_ioctl.c | 16 ++++------------ drivers/scsi/scsi_scan.c | 31 ++++--------------------------- drivers/scsi/sd.c | 22 +++++----------------- drivers/scsi/sg.c | 4 ---- drivers/scsi/sr.c | 17 ++--------------- drivers/scsi/sr_ioctl.c | 20 +------------------- drivers/scsi/sr_vendor.c | 18 +++--------------- drivers/scsi/st.c | 2 -- include/scsi/sg.h | 2 +- 12 files changed, 31 insertions(+), 121 deletions(-)
-
James Bottomley authored
-
James Bottomley authored
-
James Bottomley authored
-
James Bottomley authored
-
Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
David Howells authored
This does the following three things: (1) Makes the functions in mm/readahead.c only use struct file* to pass to readpage(). address_mapping* and file_ra_state* are used instead to keep track of readahead stuff. (2) Adds a new function do_generic_mapping_read() that is similar to do_generic_file_read(), except that it uses a mapping pointer and a readahead state pointer to access a file. The file* is only used to pass to readpage(). (3) Turns do_generic_file_read() into an inline function in linux/fs.h that simply wraps do_generic_mapping_read(). This should mean that it is no longer necessary to have a struct file to access a file in this manner. Just an inode or address space should be sufficient. It also means alternate read-ahead structures can be maintained. The reason I want this is that I'm writing a general cache manager for filesystems such as AFS, NFSv4, and Lustre. Block devices are made available to the "cache manager" by means of a filesystem that can be mounted. I'm storing meta data in an inode in the cache, but to scan this at the moment I need to gain a "struct file" to use with do_generic_file_read(). This involves either creating a dummy dentry and struct file (which will cause Al Viro to come looking for me with a shotgun), or to use an extra auxilliary filesystem mounted with do_kern_mount(), neither of which are particularly appealing. This patch is the alternative... it provides a function that I can pass an address_space to. This also allows me to make use of readahead semantics without having to reinvent them for myself.
-
Christoph Hellwig authored
In the initial discussion LSM folks agreed on this, the rationale is that lsseek itself makes no sense to project as mmap() and pread/pwrite() allow access to any area of the file anyway.
-