On Tue, May 17, 2016 at 10:32:08PM +0800, Anand Jain wrote: > We need btrfs to be a module so that it can unloaded and reloaded, > so that we can clean up the btrfs internal in memory device list. It looks like a bug to me if btrfs needs to reload module to clean up the device list. If a user builds btrfs in kernel then he cannot replace btrfs device properly? Or it's not totally clear to me why a test needs to reload btrfs module. > > This patch adds _require_btrfs_unloadable() and _reload_btrfs_ko() > to help with the same. > > Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> > --- > common/rc | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/common/rc b/common/rc > index f2b39ddbee0c..a9391b4cbf57 100644 > --- a/common/rc > +++ b/common/rc > @@ -1403,6 +1403,18 @@ _supported_os() > _notrun "not suitable for this OS: $HOSTOS" > } > > +_require_btrfs_unloadable() The name seems misleading, the name indicates that it requires btrfs to be unloadable, but in the code it _notrun if btrfs is unloadable. Thanks, Eryu > +{ > + modprobe -r btrfs || _notrun "btrfs unloadable" > + modprobe btrfs || _notrun "Can't load btrfs" > +} > + > +_reload_btrfs_ko() > +{ > + modprobe -r btrfs || _fail "btrfs unload failed" > + modprobe btrfs || _fail "btrfs load failed" > +} > + > # this test needs a scratch partition - check we're ok & unmount it > # No post-test check of the device is required. e.g. the test intentionally > # finishes the test with the filesystem in a corrupt state > -- > 2.7.0 > > -- > To unsubscribe from this list: send the line "unsubscribe fstests" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html