On Wed, May 18, 2011 at 12:41:38PM +0000, Boris Ranto wrote:
> Tests 124, 127 and 128 unmount their SCRATCH_DEV manually while using
> _cleanup_testdir in trapped cleanup function.
> This can lead to test fails due to double unmount on nfs where
> _cleanup_testdir unmounts SCRATCH_DEV.
> Tests 129 and 130 use _setup_testdir and _scratch_mount that can lead to
> double mount on nfs where _setup_testdir mounts SCRATCH_DEV.
> The least invasive patch (only nfs shall be affected by this patch) I could
> come up with that fixed this issue used conditional umounts in
> _cleanup_testdir and conditional mount/remount in _scratch_mount (remount was
> used so that mount flags do not get lost).
>From the code:
# Warning for UDF and NFS:
# this function calls _setup_udf_scratchdir and _setup_udf_scratchdir
# which actually uses the scratch dir for the test dir.
# This was done because testdir was intended to be a persistent
# XFS only partition. This should eventually change, and treat
# at least local filesystems all the same.
I think that this means that the way _setup_testdir uses the scratch
device was a nasty hack and was intended to be fixed at some point.
Perhaps we should actually understand the issue that lead to this
hack first, and then determine what is needed to fix it rather than
just layering more hacks on top of it?
> Alternatively, _setup_testdir could stop mounting SCRATCH_DEV but
> that would be probably too invasive.
I don't really care about how invasive fixing the problem
properly is if it's the better long term solution....