]> err.no Git - util-linux/commitdiff
libmount: minor fixes
authorKarel Zak <kzak@redhat.com>
Wed, 15 Dec 2010 14:06:42 +0000 (15:06 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 3 Jan 2011 11:28:47 +0000 (12:28 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
shlibs/mount/src/Makefile.am
shlibs/mount/src/context.c
shlibs/mount/src/context_mount.c
shlibs/mount/src/fs.c
shlibs/mount/src/tab_update.c
tests/ts/libmount/context

index 261effa13fbc668d969b65ddcc1127dd76559214..6c241ba2dff38c103d98c3794827bc74b6b7206c 100644 (file)
@@ -55,7 +55,7 @@ uninstall-hook:
 
 
 tests = test_version test_cache test_optstr test_lock \
-                 test_tab test_utils test_tab_update
+                 test_tab test_utils test_tab_update test_context
 
 tests: all $(tests)
 test_%: %.c all
index 59e8bd920f5dfa99171dd4741bcad1a0d258e5fc..6791520527cfdcfe1cbc332642243b1f38c67762 100644 (file)
@@ -1049,6 +1049,9 @@ int mnt_context_merge_mountflags(mnt_context *cxt)
                return rc;
        cxt->user_mountflags = fl;
 
+       DBG(CXT, mnt_debug_h(cxt, "final flags: VFS=%08lx userspace=%08lx",
+                       cxt->mountflags, cxt->user_mountflags));
+
        cxt->flags |= MNT_FL_MOUNTFLAGS_MERGED;
        return 0;
 }
index b5a339f5f1c438462f67fbd7e90e8a3b99372e93..b66b060e2fb1d9c33533f2aac3c2b38f8b54bdf6 100644 (file)
@@ -48,9 +48,6 @@ static int fix_optstr(mnt_context *cxt)
 
        fs = cxt->fs;
 
-       if (!mnt_fs_get_vfs_options(fs) && !mnt_fs_get_userspace_options(fs))
-               return 0;
-
        /* The propagation flags should not be used together with any other flags */
        if (cxt->mountflags & MS_PROPAGATION)
                cxt->mountflags &= MS_PROPAGATION;
index b8e9085d1de4ebaa1c70119ab88e00e446dda785..61bad7fd79c9f7a0ac9d074044ee8cc79d85aef2 100644 (file)
@@ -478,7 +478,7 @@ char *mnt_fs_strdup_options(mnt_fs *fs)
 
        errno = 0;
        res = merge_optstr(fs->vfs_optstr, fs->fs_optstr);
-       if (errno)
+       if (!res && errno)
                return NULL;
        if (fs->user_optstr) {
                if (mnt_optstr_append_option(&res, fs->user_optstr, NULL)) {
index ad7c19d74c727d1b00ac17aec0026604f0570bb0..e474e514d1b627ee4b1122dcfcc62a4b3db7b13c 100644 (file)
@@ -151,6 +151,10 @@ int mnt_update_set_fs(mnt_update *upd, int mountflags,
        DBG(UPDATE, mnt_debug_h(upd,
                        "reseting FS [fs=0x%p, target=%s, flags=0x%08x]",
                        fs, target, mountflags));
+       if (fs) {
+               DBG(UPDATE, mnt_debug_h(upd, "FS template:"));
+               DBG(UPDATE, mnt_fs_print_debug(fs, stderr));
+       }
 
        mnt_free_fs(upd->fs);
        free(upd->target);
@@ -683,6 +687,7 @@ int mnt_update_tab(mnt_update *upd, mnt_lock *lc)
                return 0;
 
        DBG(UPDATE, mnt_debug_h(upd, "%s: update tab", upd->filename));
+       DBG(UPDATE, mnt_fs_print_debug(upd->fs, stderr));
 
        if (!upd->fs && upd->target)
                rc = update_remove_entry(upd, lc);      /* umount */
index 66e2dab02fa42c481dc125e73479a86748b3877a..536ab1b507730d908d3035bea408991ff50bb9ec 100755 (executable)
@@ -60,7 +60,6 @@ grep -q $DEVICE $LIBMOUNT_MTAB || \
        echo "(by device) cannot found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1
 ts_finalize_subtest
 
-
 ts_init_subtest "umount-by-devname"
 $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>&1
 grep -q $DEVICE $LIBMOUNT_MTAB &&