aboutsummaryrefslogtreecommitdiff
path: root/sbin/mount_unionfs/mount_unionfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/mount_unionfs/mount_unionfs.c')
-rw-r--r--sbin/mount_unionfs/mount_unionfs.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sbin/mount_unionfs/mount_unionfs.c b/sbin/mount_unionfs/mount_unionfs.c
index 90d075b1dec5..54d4df62a69b 100644
--- a/sbin/mount_unionfs/mount_unionfs.c
+++ b/sbin/mount_unionfs/mount_unionfs.c
@@ -73,6 +73,7 @@ main(argc, argv)
struct union_args args;
int ch, mntflags;
char target[MAXPATHLEN];
+ struct vfsconf *vfc;
mntflags = 0;
args.mntflags = UNMNT_ABOVE;
@@ -109,7 +110,15 @@ main(argc, argv)
args.target = target;
- if (mount(MOUNT_UNION, argv[1], mntflags, &args))
+ vfc = getvfsbyname("union");
+ if(!vfc && vfsisloadable("union")) {
+ if(vfsload("union"))
+ err(1, "vfsload(union)");
+ endvfsent(); /* flush cache */
+ vfc = getvfsbyname("union");
+ }
+
+ if (mount(vfc ? vfc->vfc_index : MOUNT_UNION, argv[1], mntflags, &args))
err(1, NULL);
exit(0);
}