summaryrefslogtreecommitdiff
path: root/common/fail_make_request
AgeCommit message (Collapse)Author
2022-09-04common: disable infinite IO error retry for EIO shutdown testsDarrick J. Wong
This patch fixes a rather hard to hit livelock in the tests that test how xfs handles shutdown behavior when the device suddenly dies and starts returing EIO all the time. The livelock happens if the AIL is stuck retrying failed metadata updates forever, the log itself is not being written, and there is no more log grant space, which prevents the frontend from shutting down the log due to EIO errors during transactions. While most users probably want the default retry-forever behavior because EIO can be transient, the circumstances are different here. The tests are designed to flip the device back to working status only after the unmount succeeds, so we know there's no point in the filesystem retrying writes until after the unmount. This fixes some of the periodic hangs in generic/019 and generic/475. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Zorro Lang <zlang@kernel.org>
2022-08-20fail_make_request: teach helpers about external devicesDarrick J. Wong
Teach the fail_make_request helpers about external log and realtime devices so that we can use generic/019 on exotic XFS configurations. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Zorro Lang <zlang@kernel.org>
2022-08-20common: refactor fail_make_request boilerplateDarrick J. Wong
Refactor the control functions from generic/019 into a common helper to be used by all three tests that use fail_make_requests. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Zorro Lang <zlang@kernel.org>