- 10 Nov, 2002 4 commits
-
-
James Bottomley authored
Add code to warn and not attach the host if it has no error handling. Allow attachment if the `scsi_ignore_no_error_handling' boot flag is set. This should allow us finally to rip out all the old error code.
-
Douglas Gilbert authored
This patch against 2.5.46-bk3 is work in progress (since the interface is in flux). It dusts of some cobwebs, removes politically incorrect typedefs and describes slave_attach() and slave_detach(). It removes the revoke() description (per hch? changes). Is a section describing mid level functions provided for LLDDs (e.g. scsi_adjust_queue_depth() ) warranted?
-
Douglas Gilbert authored
This patch is against lk 2.5.46-bk3 which includes Christoph's work removing the requirement for detect() functions in LLDDs. He sent me an example for scsi_debug which I have built on with this patch. As threatened, this version includes a "scsi_debug_add_host" parameter. At kernel or module load time this is an absolute number (0..127 are allowable and 1 is the default). So: modprobe scsi_debug scsi_debug_num_devs=20 scsi_debug_add_host=0 will result in no scsi_debug hosts (thus no devices) but the driver has 20 slots available for devices. Then a host can be introduced (simulated hotplug) by echo 1 > /sysfs/bus/scsi/drivers/scsi_debug/add_host This causes a scsi_debug host to appear and devices get found on it [14 in my system: 7 targets (0..6) each with 2 luns (0..1)]. Another host hotplug can be simulated by echo 1 > /sysfs/bus/scsi/drivers/scsi_debug/add_host which results in another 6 devices being attached (for a total of 20 scsi_debug devices as dictated by the original scsi_debug_num_devs). That last (second) scsi_debug host can be removed by echo -1 > /sysfs/bus/scsi/drivers/scsi_debug/add_host and its 6 devices go. Another application of this "echo" removes the first host and all remaining devices. Seems to work fine.
-
Christoph Hellwig authored
-
- 09 Nov, 2002 1 commit
-
-
Thibaut Varene authored
This fixes a compiler warning.
-
- 08 Nov, 2002 6 commits
-
-
Rusty Russell authored
From: Michael Still <mikal@stillhq.com> This patch has been generated as part of my scsi_register audit of the 2.5.45 kernel tree. scsi_register() can fail, returning a NULL pointer, and the failure case was not being handled here...
-
Rusty Russell authored
From: Michael Still <mikal@stillhq.com> This patch has been generated as part of my scsi_register audit of the 2.5.45 kernel tree. scsi_register() can fail, returning a NULL pointer, and the failure case was not being handled here...
-
Rusty Russell authored
From: Michael Still <mikal@stillhq.com> This patch has been generated as part of my scsi_register audit of the 2.5.45 kernel tree. scsi_register() can fail, returning a NULL pointer, and the failure case was not being handled here...
-
Rusty Russell authored
From: Michael Still <mikal@stillhq.com> Updated patches to scsi_register patches against the 2.5.45 tree
-
Rusty Russell authored
From: Michael Still <mikal@stillhq.com> This patch has been generated as part of my scsi_register audit of the 2.5.45 kernel tree. scsi_register() can fail, returning a NULL pointer, and the failure case was not being handled here...
-
Rusty Russell authored
From: Michael Still <mikal@stillhq.com> Updated patches to scsi_register patches against the 2.5.45 tree
-
- 07 Nov, 2002 1 commit
-
-
James Bottomley authored
into mulgrave.(none):/home/jejb/BK/scsi-misc-2.5
-
- 06 Nov, 2002 28 commits
-
-
Christoph Hellwig authored
Okay, we're finally at the point where ->detect has become entirely superflous. In sd, sr and st it does nothing but return different values that are ignored anyway, in sg it increments a variable that is never read (and thus removed in this patch aswell), only in osst it increments a variable that is actually checked for beeing non-zero. But if it was zero we'd never reached that place anyway (same check in the beginning of osst_detect and osst_attach). This make the upper layer interface a lot nicer and avoids the race condition where a device is remove between detect and attach (which currently wouldn't matter anyway as we aren't doing anything in detect anymore)
-
James Bottomley authored
This patch adds request prep functions to the mid-layer. At the moment, its a single request prep function for all of SCSI. I've altered the logic in scsi_request_fn so that we now do early preparation (this should improve throughput slightly in the untagged case with only a single command block). The prep function also cannot drop the queue lock, so the calling assumptions for scsi_init_io and the upper layer driver init_commands have changed to be that the lock is now held and they cannot drop it. I think this means that we have no callers of scsi_init_io that aren't atomic, so perhaps I can just take the if out. I've hammered this in my usual set up, but other testers would be welcome. James
-
Neil Brown authored
Just a new PCI ID (and get twice the MegaHz :-).
-
Rob Weryk authored
This makes VT8653 (VIA Apollo Pro266T) work with AGP. I had someone test it and verify it works.
-
Paul Mackerras authored
This fixes a minor typo in sl82c105.c which stops it from compiling.
-
Paul Mackerras authored
This updates the powermac IDE driver in 2.5 so it uses the 2.5 kernel interfaces and types rather than the 2.4 ones. It also makes it use blk_rq_map_sg rather than its own code to set up scatter/gather lists in pmac_ide_build_sglist, and makes it use ide_lock instead of io_request_lock.
-
Paul Mackerras authored
This updates the macserial driver in 2.5 so it compiles and works. The main changes are to use schedule_work instead of task queues and BHs. The patch also removes the wait_key method. I know we need to change macserial to use the new serial infrastructure. I'm posting this patch in case it is useful to anyone trying to compile up a kernel for a powermac at the moment.
-
Davide Libenzi authored
- Some constant adjusted - Comments added - Better hash initialization - Correct timeout setup - Added __KERNEL__ bypass to avoid userspace inclusion problems - Cleaned up locking - Function poll_init_wait() now calls poll_init_wait_ex() - Event return fix ( Jay Vosburgh ) - Use <linux/hash.h> for the hash
-
Neil Brown authored
If a rpc operation indicates that response should be dropped (e.g. kmalloc failure) we must still call pc_release to release anything it may have allocated.
-
Neil Brown authored
This allows NFSv3 to manage 4096byte symlinks. Also remove now-unused svcbuf_reserver function. This was used to reserve space in output buffer for 'data', but now this is stored in separate page.
-
Neil Brown authored
rq_res->len was not always updated properly. It is only needed in the sendto routine, so we calculate it just before that is called, and don't bother updating it anywhere else.
-
Neil Brown authored
From Hirokazu Takahashi <taka@valinux.co.jp> This patch changes read and readdir in nfsd. read: If the file supports readpage, we use it to collect pages out of the page cache and to attache them directly to the outgoing nfs reply. The reduces the number of copies by one, and if the filesystem/device driver didn't copy the data, and if the network card can support not copying the data, then you get zero-copy reads. readdir: A separate page is used for stoing the readdir response so that a fill PAGE_SIZE bytes of reply can be supported.
-
Neil Brown authored
From Hirokazu Takahashi <taka@valinux.co.jp> As all rpc server replies are now in well defined pages, we can use ->sendpage to send these replies, and so make use for zero-copy transmit on network cards that support it.
-
Neil Brown authored
A partial block write over a block on a failed device would need to pre-read that block, which means pre-read all blocks in stripe and generate that block. But the generate-block code never checked for this possibility, so it wouldn't happen.
-
Neil Brown authored
When analysing a stripe in handle_stripe we set bits R5_Wantread or R5_Wantwrite to indicate if a read or write is needed. We don't actually schedule the IO immediately as this is done under a spinlock (sh->lock) and generic_make_request can block. Instead we check these bits after the lock has been lifted and then schedule the IO. But once the lock has been lifted we aren't safe against multiple access, and it is possible that the IO will be scheduled never, or twice. So, we use test_and_clear to check and potentially schedule the IO. This wasn't a problem in 2.4 because the equivalent information was stored on the stack instead of in the stripe. We also make sure bi_io_vec[0] has correct values as a previous call to generic_make_request may have changed them.
-
Neil Brown authored
From Angus Sawyer <angus.sawyer@dsl.pipex.com>: 1. Null pointer dereference in end_sync_read r1_bio->read_disk is not initialised correctly in sync_request . this is used in end_sync_read to reference the structure conf->mirror[read_disk].rdev which with one disk missing is NULL. 2. Null pointer dereference in mempool_free() This is a race between close_sync() conf->r1_bufpool =3D NULL and put_buf() mempool_free(). bio completion -> resume_device -> put_buf -> mempool_free(r1_bufpool) | [ wakeup] | close_sync() -> r1_bufpool = NULL; The patch attached reorders the mempool_free before the barrier is released and merges resume_device() into put_buf(), (they are only used together). Otherwise I have kept the locking and wakeups identical to the existing code. (maybe this could be streamlined) 3. BUG() at close_sync() if (waitqueue_active(&conf->wait_resume). This occurs with and without the patch for (2). I think this is a false BUG(). From what I understand of the device barrier code, there is nothing wrong with make_request() waiting on wait_resume when this test is made. Therefore I have removed it (the wait_idle test is still correct). 4. raid1 tries to start a resync if there is only one working drive, which is pretty pointless, and noisy. We notice that special case and avoid the resync.
-
Neil Brown authored
Roughly in order of patch: 1/ xor.h is never needed in md.c 2/ set sb_loaded when we 'sync' mddev to rdev as well as when we load sb into rdev from disk. 2/ due to lifetime changes, active count can be 2 when we stop array 3/ due to lifetime changes, we need to explicitly clear the ->pers when we stop an array 4/ autostart can only work for 0.90.0 superblocks. None others would be silly enough to store device numbers for all devices in the superblock... 5/ we had lost the setting of 'sb' when auto-starting an array. 6/ Code currently calls export_rdev(start_rdev) when IS_ERR(start_rdev), which causes an oops. 7/ /proc/mdstat contents error: code does not take into account that delayed resyncs can wait with curr_resync = 1 or 2. 8/ There is a premature "return NOTIFY_DONE", that possibly was in for debugging once...
-
James Bottomley authored
-
Trond Myklebust authored
Make sure we drain the entire list of pages that failed to get added to the mapping.
-
bk://linux-scsi.bkbits.net/scsi-dledfordLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Christoph Hellwig authored
-
Christoph Hellwig authored
SGI Modid: 2.5.x-xfs:slinx:132214a
-
Christoph Hellwig authored
-
Christoph Hellwig authored
SGI Modid: 2.5.x-xfs:slinx:132176a
-
Stephen Lord authored
SGI Modid: 2.5.x-xfs:slinx:132045a
-
Stephen Lord authored
SGI Modid: 2.5.x-xfs:slinx:131939a
-
Stephen Lord authored
SGI Modid: 2.5.x-xfs:slinx:131630a
-