On Thu, Oct 05, 2017 at 07:07:44AM -0400, Austin S. Hemmelgarn wrote: > On 2017-10-04 16:11, Liu Bo wrote: > > On Tue, Oct 03, 2017 at 11:59:20PM +0800, Anand Jain wrote: > > > From: Anand Jain <anand.j...@oracle.com> > > > > > > Write and flush errors are critical errors, upon which the device fd > > > must be closed and marked as failed. > > > > > > > Can we defer the job of closing device to umount? > > > > We can go mark the device failed and skip it while doing read/write, > > and umount can do the cleanup work. > > > > That way we don't need a dedicated thread looping around to detect a > > rare situation. > If BTRFS doesn't close the device, then it's 100% guaranteed if it > reconnects that it will show up under a different device node. It would > also mean that the device node stays visible when there is in fact no device > connected to it, which is a pain from a monitoring perspective.
I see, you're assuming that these errors are due to disconnection of disks, it could be bad sectors (although almost impossible from enterprise hard disks) or some other errors across the stack. I do agree that cleanup needs to be done if disk got disconnected, but not doing cleanup here, a udev rule is needed to handle such an event. thanks, -liubo -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html