]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Check only rootfs as filesystem type 3529/head
authorPranay Kr. Srivastava <pranay.srivastava@pantacor.com>
Mon, 24 Aug 2020 08:10:02 +0000 (13:40 +0530)
committerPranay Kr. Srivastava <pranay.srivastava@pantacor.com>
Mon, 24 Aug 2020 08:10:15 +0000 (13:40 +0530)
When detecting if rootfs is on ramfs instead of checking "- rootfs
rootfs" which is the " - <file_system> <device>" information only check
the file system type. This is due to a change introduced in kernel where
ramfs file system doesn't set the device to "rootfs" but instead mark it
as "none". By making sure we only check for "rootfs" as the file system
name we also offer backward compatibility with earlier kernels as well.

The kernel commit that introduced this change was

commit f32356261d44d580649a7abce1156d15d49cf20f
Author: David Howells <dhowells@redhat.com>
Date:   Mon Mar 25 16:38:31 2019 +0000

    vfs: Convert ramfs, shmem, tmpfs, devtmpfs, rootfs to use the new
    mount API

Signed-off-by: Pranay Kr. Srivastava <pranay.srivastava@pantacor.com>
src/lxc/utils.c

index 9971aed165345c377c3c2f879e429c8eef17b4bc..c02eef15269435bbacadf6fe17f7e909115b1f30 100644 (file)
@@ -704,7 +704,7 @@ bool detect_ramfs_rootfs(void)
                if (strcmp(p + 1, "/") == 0) {
                        /* This is '/'. Is it the ramfs? */
                        p = strchr(p2 + 1, '-');
-                       if (p && strncmp(p, "- rootfs rootfs ", 16) == 0)
+                       if (p && strncmp(p, "- rootfs ", 9) == 0)
                                return true;
                }
        }