[cgl_discussion] PoC concall, 10:00 PST, 14 Nov

Steven Dake 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
>-----Original Message-----
>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 
>the maintainer)
>#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..
>>-----Original Message-----
>>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)
>>Anything else?
>>Dialin details:
>>              Toll Free: 1.800.482.3251
>>              International: 1.719.457.5113
>>              Pass Code: 548726
>>		--Rod
>>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 mailing list