On 5/5/23 4:49 AM, Steven Whitehouse wrote:
On Fri, 2023-05-05 at 08:44 +0100, Andrew Price wrote:
This patch makes gfs2_dinode_dealloc ignore the bad return code and
proceed with freeing the dinode so the QE tests will not be tripped
up.
Is it really ok to ignore all potential errors here? I wonder if it
should just ignore -EINTR (or whichever error the test produces) so
that
it can still fail well for errors like -EIO.
Cheers,
Andy
Perhaps the more important question is why there are errors there in
the first place?
Well, errors can be returned by gfs2_rindex_update for a number of
reasons. The -EINTR is just one, when the test case is interrupted due
to hitting its time limit. An -EIO may be caused by IO errors reading
the storage media, pulled cables, failed drivers or whatever. But as I
said in my reply to Andy's email, it's basically inconsequential to this
code path. Errors like -EIO may prevent further reads or writes to the
file system, its metadata, etc., in other places but that should be
flagged up by other processes and hopefully gfs2's recovery, journal
replays, etc., will ensure file system integrity.
Regards,
Bob Peterson