2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-31 14:25:49 +00:00

mount: take into account btrfs workaround for converting st_dev to phys_dev

BTRFS returns subvolume dev-id instead of superblock dev-id

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
Andrew Vagin
2014-04-17 15:04:01 +04:00
committed by Pavel Emelyanov
parent b664bb142b
commit ee9258e80f

View File

@@ -469,6 +469,7 @@ static struct mount_info *mnt_build_tree(struct mount_info *list)
*/
static int __open_mountpoint(struct mount_info *pm, int mnt_fd)
{
dev_t dev;
struct stat st;
int ret;
@@ -490,9 +491,10 @@ static int __open_mountpoint(struct mount_info *pm, int mnt_fd)
goto err;
}
if (st.st_dev != kdev_to_odev(pm->s_dev)) {
dev = phys_stat_resolve_dev(st.st_dev, pm->mountpoint + 1);
if (dev != pm->s_dev) {
pr_err("The file system %#x (%#x) %s %s is inaccessible\n",
pm->s_dev, (int)st.st_dev, pm->fstype->name, pm->mountpoint);
pm->s_dev, (int)dev, pm->fstype->name, pm->mountpoint);
goto err;
}