[cgl_discussion] PoC concall, 10:00 PST, 14 Nov
sdake at mvista.com
Thu Nov 14 09:05:44 PST 2002
I should explain my patches in more detail:
SCSI hotswap includes correct locking, which the /proc/scsi/scsi
interface does not currently support. Without correct locking, there
are significant race conditions in all of the SCSI hotswap code that
could cause really bad things to happen to a running kernel during
insertions or removals, especially if these operations are overlapped on
two processors. It will hotswap (insert and remove) based upon
fibrechannel WWN or scsi host/channel/id/lun.
Block device removal allows an ioctl (BLKREMOVE) to be sent to a block
device (/dev/sda) and all references to that block device will be
removed. Files open (such as /dev/sda) will be removed from all task
structures using those block devices. Open filesystems will be force
unmounted. This allows clean removal of a block device _while in use_.
Once the reference count is zero (because the block device references
have been removed from the VFS layer), a scsi hotswap command (using the
above patch) will be issued, resulting in true hotswap removal, even if
a device is in use at the time of the request. There is an option to
BLKREMOVE that allows surprise removal. A surprise removal is "I
removed the disk, and now I'm telling you I removed it, so clean up the
mess". In this type of condition, the block device error routines are
exited automatically, any block io requests are removed, and the device
is closed as described above.
In the SCSIRAS package, a user cannot remove a SCSI device while it is
in use. If they did, the SCSI subsystem would break, and the users (md,
sys_open/sys_close, sys_mount/sys_umount) of the block devices would
attempt to talk to a device that no longer exists. This is bound to
confuse applications (they still think their files referencing the block
device are open, instead of returning EBADF to all syscalls using the
device) and filesystems (which would retry I/O operations to a
nonexistent device). No matter how its rolled, there is no way without
the above block removal patch to remove a device in use and have the
operating system think the device is cleanly gone.
RAID and LVM locking do not overlap any functionality currently being
worked on by anyone (atleast to my knowledge) and provide a mechanism
for RAID and LVM to be used in a shared disk (read FibreChannel)
environment. RAID volumes are locked to a specific host identifier
(which can be a geographical address of the board using the device, a
scsi host id, or a FibreChannel host wwn). LVM volume groups can be
locked to specific hosts using the above heuristics.
Once I've got my contributions for MontaVista's next carrier grade
edition product completed, I'll post the patches.
Cress, Andrew R wrote:
>There is some overlap here.
>RAID Support (scsirastools) includes support for hot-swap of SCSI drives,
>is not dependent upon any of the 4 items below.
>However, scsirastools does not currently include FC hot-swap, or LVM fixes.
>We need to talk about synergies and compatibility.
>I guess these features need to be grouped under a common Feature Set
>From: Steven Dake [mailto:sdake at mvista.com]
>Sent: Thursday, November 14, 2002 10:21 AM
>To: Peddibhotla, Rammohan
>Cc: cgl_discussion at osdl.org
>Subject: Re: [cgl_discussion] PoC concall, 10:00 PST, 14 Nov
>You seem to have missed four important items:
>1. block device hot remove @ www.sourceforge.net/projects/atca-hotswap
>(not yet there, coming soon)
>2. scsi&fc midlayer hot add and hot remove @
>3. cluster aware multidisk driver (raid and LVM) @ no project page yet
>4. forcibly unmounting filesystems @ no project page yet (mark huth is
>#1, #2, #4 are required for hotswap of scsi/fc targets to work properly.
> #3 is specified somewhere in the CGL specifications.
>Also, in your hot insert and hot remove areas (#11, #12) you should
>probably refer to PICMG as PICMG 2.12. Compact PCI hotswap shouldn't be
>confused with Advanced TCA hotswap.
>Peddibhotla, Rammohan wrote:
>>Here's the doc in its current state.. I'm in the process of collecting info
>>on a bunch of projects..
>>From: Rod.VanMeter at nokia.com [mailto:Rod.VanMeter at nokia.com]
>>Sent: Wednesday, November 13, 2002 2:25 PM
>>To: cgl_discussion at osdl.org
>>Subject: [cgl_discussion] PoC concall, 10:00 PST, 14 Nov
>>Agenda for tomorrow's PoC concall:
>>* review my list of things to do by Dec 4
>>* beat the bushes for patch set maintainers
>>* go over Ram's list of projects (regardless
>> of completeness)
>> Toll Free: 1.800.482.3251
>> International: 1.719.457.5113
>> Pass Code: 548726
>>cgl_discussion mailing list
>>cgl_discussion at lists.osdl.org
>cgl_discussion mailing list
>cgl_discussion at lists.osdl.org
More information about the cgl_discussion