Subject: followup on scsipi changes -> UFS, UVM, etc...
To: Erik E. Fair <fair@clock.org>
From: Matthew Jacob <mjacob@feral.com>
List: tech-kern
Date: 07/19/2001 14:35:21
> At 9:58 -0700 7/17/01, Matthew Jacob wrote:
>
> >The scanner application likely is designed to put up a message panel saying
> >"'ere? Wot's this? Where did me scanner go?". The swapper application on the
> >disk that has gone away will just panic the system.
>
> Strictly speaking, there is nothing stopping us from fixing that
> panic too: if you can't get at swap, the affected processes can be
> suspended in wait on the swap area returning, and the console can
> begin screaming, "please put the swap area back online!"
>

Just as a followup of this... This isn't with -current- it's with a hacked
version of 1.5.1 that I'm working on with somebody doing some attach/detach
issues..... I have it so that when I shove a FC disk into the loop, it
dynamically attaches... And detach also *works* for the scsipi end of things,
but hits problems with the rest of the system when I yanked the drive while it
was writing to a mounted filessystem (editted output):

isp0: LIP Received
isp0: LIP destroyed 2 active commands
isp0: Port Unavailable for target 38
isp0: Port Unavailable for target 38
isp0: Port Database Changed
isp0: LIP Received
isp0: LIP Received
isp0: Port Database Changed
isp0: Firmware State <Config Wait->Ready>
isp0: Loop ID 0, AL_PA 0xef, Port ID 0xef, Loop State 0x2, Topology 'Private Loop'
isp0: Target 0 (Loop 0x0) Port ID 0xef (role Initiator) Arrived
 Port WWN 0x210000e08b022a96
 Node WWN 0x200000e08b022a96
isp0: Retaining Loop ID 0x20 for Target 32 (Port 0xb2)
isp0: Retaining Loop ID 0x21 for Target 33 (Port 0xb1)
isp0: Retaining Loop ID 0x22 for Target 34 (Port 0xae)
isp0: Retaining Loop ID 0x23 for Target 35 (Port 0xad)
isp0: Retaining Loop ID 0x24 for Target 36 (Port 0xac)
isp0: Retaining Loop ID 0x25 for Target 37 (Port 0xab)
isp0: Retaining Loop ID 0x2d for Target 45 (Port 0x9e)
isp0: Retaining Loop ID 0x3d for Target 61 (Port 0x75)
isp0: Target 38 (Loop 0x26) Port ID 0xaa (role Target) Departed
 Port WWN 0x2100002037082546
 Node WWN 0x2000002037082546
sd6: cache synchronization failed
sd6 detached
scsibus0: target 32 lun 0 already exists
scsibus0: target 33 lun 0 already exists
scsibus0: target 34 lun 0 already exists
scsibus0: target 35 lun 0 already exists
scsibus0: target 36 lun 0 already exists
scsibus0: target 37 lun 0 already exists
scsibus0: target 45 lun 0 already exists
scsibus0: target 61 lun 0 already exists
uvm_fault(0xd2291d38, 0x0, 0, 1) -> 1
kernel: page fault trap, code=0
Stopped in patchk at    ufs_strategy+0xbd:      movl           0xc(%eax),%eax
db>

I dunno yet whether -current is cleaner than this or not. I guess I'll find
out sooner or later :-)...

-matt