]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libmount: MNT_OMODE_FORCE usage
authorFridolin Pokorny <fpokorny@redhat.com>
Fri, 6 Feb 2015 14:55:21 +0000 (15:55 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 10 Feb 2015 10:18:51 +0000 (11:18 +0100)
Hi,

I have found out that libmount does not respect MNT_OMODE_FORCE mode.
I don't see any usage in sources and libmount does not respect this mode
when calling library functions. I'm proposing a patch to fix this.

Have a nice day!
Fridolin Pokorny

libmount/src/context.c

index c902f396e0d76cd8ab320200d7bc84b6bc51c8a6..1c288e550ce564168e3d476cef9c0b2cf81677eb 100644 (file)
@@ -2077,6 +2077,7 @@ int mnt_context_apply_fstab(struct libmnt_context *cxt)
        }
 
        if (!src && tgt
+           && !(cxt->optsmode & MNT_OMODE_FORCE)
            && !(cxt->optsmode & MNT_OMODE_FSTAB)
            && !(cxt->optsmode & MNT_OMODE_MTAB)) {
                DBG(CXT, ul_debugobj(cxt, "only target; fstab/mtab not required "
@@ -2088,7 +2089,7 @@ int mnt_context_apply_fstab(struct libmnt_context *cxt)
        ignore_result( mnt_context_get_fs(cxt) );
 
        /* try fstab */
-       if (cxt->optsmode & MNT_OMODE_FSTAB) {
+       if (cxt->optsmode & (MNT_OMODE_FSTAB | MNT_OMODE_FORCE)) {
                DBG(CXT, ul_debugobj(cxt, "trying to apply fstab (src=%s, target=%s)", src, tgt));
                rc = mnt_context_get_fstab(cxt, &tab);
                if (!rc)
@@ -2096,7 +2097,7 @@ int mnt_context_apply_fstab(struct libmnt_context *cxt)
        }
 
        /* try mtab */
-       if (rc < 0 && (cxt->optsmode & MNT_OMODE_MTAB)) {
+       if (rc < 0 && (cxt->optsmode & (MNT_OMODE_MTAB | MNT_OMODE_FORCE))) {
                DBG(CXT, ul_debugobj(cxt, "trying to apply mtab (src=%s, target=%s)", src, tgt));
                if (tgt)
                        rc = mnt_context_get_mtab_for_target(cxt, &tab, tgt);