Thanks for the information. But could you please explain this workaround in detail? If I understand you correctly I should not remove the device with device_delete_child(). But how should I indicate that it has failed? And how can I complete the i/o with good status although the i/o did not work? Thanks, Achim -----Original Message----- From: Scott Long [mailto:scottl_at_samsco.org] Sent: Wednesday, May 06, 2009 6:56 PM To: Leubner, Achim Cc: Ed Maste; current_at_freebsd.org; Sridaran, Gana Subject: Re: softdep_move_dependencies panic No, there is no fix for this. FreeBSD doesn't handle this case very well. What I would suggest doing is keeping the logical representation of the device around, but indicate that it has failed. Then complete all i/o with good status. This is something that is being worked on, but I have no information on when it might be fixed. Scott Leubner, Achim wrote: > Hi Ed, Hi Scott, > > > > We run into a problem if a RAID array goes into an "error" state and is > marked "offline". The new aac driver removes the device in this case > with device_delete_child() and all commands to that device will be > answered using biodone() with flag BIO_ERROR and error EINVAL. But this > causes a "softdep_move_dependencies: need merge code" panic in the > filesystem. Is there any possibility to avoid this panic? We see it > under FreeBSD 7.1 too. > > Any help is greatly appreciated. > > > > Thanks & Regards, > > Achim > > > > =========================== > > Achim Leubner > > Software Engineer / RAID drivers > > ICP vortex GmbH / Adaptec Inc. > > Phone: +49-351-8718291 > > >Received on Wed May 13 2009 - 11:53:07 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:47 UTC