|
Description
|
This bug was originally part of bugid 6420204 but is being broken out as a separate bugid.
The bug has recently be seen on ZFS root filesystems, but any ZFS filesystem is potentially a victim. The scenerio is as follows...
A filesystem is initially mounted read/write with an empty ZFS Intent Log and a rather large number of znodes on the delete queue. During the mount, ZFS starts up a delete_queue thread and asynchronously starts removing the znodes from the delete queue. If the ZFS filesystem is then changed to readonly (which sets z_thread_target to 0), before the delete_queue has been completely drained, the zfs_drain_dq will exit, causing z_draining to be set to false and z_drained to be set to true (eventhough the queue hasn't yet completed draining). At this point, the left over znodes will remain in the delete queue until the filesystem is remounted.
|