]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libmount: fix __table_insert_fs()
authorKarel Zak <kzak@redhat.com>
Thu, 15 Aug 2024 07:49:06 +0000 (09:49 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 8 Jan 2025 12:57:42 +0000 (13:57 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
libmount/src/tab.c

index ebb80432831bea84215aaceb5d0466e7cdcbbc09..fbd216206588c8149c237d3e0f59b4454eb4ab33 100644 (file)
@@ -504,18 +504,22 @@ static int __table_insert_fs(
                        struct libmnt_table *tb, int before,
                        struct libmnt_fs *pos, struct libmnt_fs *fs)
 {
-       struct list_head *head = pos ? &pos->ents : &tb->ents;
-
-       if (before)
-               list_add(&fs->ents, head);
+       if (!pos)
+               list_add_tail(&fs->ents, &tb->ents);
+       else if (before)
+               list_add_tail(&fs->ents, &pos->ents);
        else
-               list_add_tail(&fs->ents, head);
+               list_add(&fs->ents, &pos->ents);
 
        fs->tab = tb;
        tb->nents++;
 
-       DBG(TAB, ul_debugobj(tb, "insert entry: %s %s",
+       if (mnt_fs_get_uniq_id(fs)) {
+               DBG(TAB, ul_debugobj(tb, "insert entry: %" PRIu64, mnt_fs_get_uniq_id(fs)));
+       } else {
+               DBG(TAB, ul_debugobj(tb, "insert entry: %s %s",
                        mnt_fs_get_source(fs), mnt_fs_get_target(fs)));
+       }
 
        if (tb->stmnt)
                mnt_fs_refer_statmnt(fs, tb->stmnt);