Re: [PATCH 9/9] firewire: fw-sbp2: fix I/O errors during reconnect

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Stefan Richter
Date: Monday, February 11, 2008 - 1:21 pm

Jarod Wilson wrote:

I didn't think so.  But I will carefully look at it again later this
week.  The function definitely must not block the device when the
generation is current.  We look at two data fields here which makes this
even more problematic.  Could be that we need locks after all.


No, this only tells the SCSI core to not bother fw-sbp2's
.queuecommand() with new commands before reconnect.  This will
mysteriously convince the SCSI core to not put the device offline too
quickly and will stabilize application client behavior thanks to
considerably fewer command retries.

To survive real or perceived temporary unplugs ("perceived" unplugs can
happen if a third node is slowly plugged in or out), we need to do
something in fw-device.c.  We have to keep the fw_device around after
node removal event until a timeout, to check newly added devices whether
they are in fact one of the undead devices, and to revive that one
rather than creating a new one.


I realized now that it is a 'need it sooner than later' thing because of
these "perceived" unplugs.  We need this feature at least with a minimal
timeout, otherwise people will sometimes lose connection to their
devices (the scsi_device will be destroyed and a new one created) when
they plug a 3rd or 4th or nth node.  As mentioned in another post, this
is an actual regression for those who migrated from ieee1394 to fw-core.
But fear not, it looks like I will have a prolonged weekend.  :-)
-- 
Stefan Richter
-=====-==--- --=- -=-==
http://arcgraph.de/sr/
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/9] firewire-sbp2: misc hotplug related patches, Stefan Richter, (Sun Feb 3, 3:00 pm)
[PATCH 1/9] firewire: log GUID of new devices, Stefan Richter, (Sun Feb 3, 3:03 pm)
[PATCH 3/9] ieee1394: sbp2: add INQUIRY delay workaround, Stefan Richter, (Sun Feb 3, 3:07 pm)
[PATCH 8/9] firewire: fw-sbp2: sort includes, Stefan Richter, (Sun Feb 3, 3:12 pm)
Re: [PATCH 1/9] firewire: log GUID of new devices, Stefan Richter, (Mon Feb 4, 1:14 am)
[PATCH 10/9] firewire: fw-sbp2: preemptively block sdev, Stefan Richter, (Wed Feb 6, 2:07 pm)
Re: [PATCH 1/9] firewire: log GUID of new devices, Jarod Wilson, (Mon Feb 11, 9:53 am)
Re: [PATCH 9/9] firewire: fw-sbp2: fix I/O errors during r ..., Stefan Richter, (Mon Feb 11, 1:21 pm)