Date: Mon, 13 Sep 2004 12:22:36 -0500 (EST) From: Sam <sah@softcardsystems.com> To: freebsd-arch@freebsd.org Subject: 4.x device failure? Message-ID: <Pine.LNX.4.60.0409131202270.6275@athena>
next in thread | raw e-mail | index | archive | help
Hello, I'm testing out my AoE driver and have a question about how to handle device failure. I have a function, aoedev_down, that fails all outstanding bufs and if the device is currently open, calls disk_invalidate and flags the device for destruction on close. This function is also called on module unload, once per device. The module unload will wait until all devices are closed before returning. The test I'm running is to mount an AoE device and unload the AoE module. The mount persists (while AoE unload waits) and upon umount I get a panic and eventual hang syncing disks. I would have thought that calling disk_invalidate would cause anyone depending on that disk to see it as gone, but that's apparently not so. I never see the close. Surely there's a way to pull a disk out from under those that have it open without a panic? Opinions? Cheers, Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.60.0409131202270.6275>