diff options
-rw-r--r-- | disk-io.c | 3 | ||||
-rw-r--r-- | disk-io.h | 6 |
2 files changed, 9 insertions, 0 deletions
@@ -1125,6 +1125,9 @@ static struct btrfs_fs_info *__open_ctree_fd(int fp, const char *path, if (flags & OPEN_CTREE_TEMPORARY_SUPER) sbflags = SBREAD_TEMPORARY; + if (flags & OPEN_CTREE_IGNORE_FSID_MISMATCH) + sbflags |= SBREAD_IGNORE_FSID_MISMATCH; + ret = btrfs_scan_fs_devices(fp, path, &fs_devices, sb_bytenr, sbflags, (flags & OPEN_CTREE_NO_DEVICES)); if (ret) @@ -100,6 +100,12 @@ enum btrfs_read_sb_flags { * SBREAD_RECOVER */ SBREAD_TEMPORARY = (1 << 1), + + /* + * Equivalent of OPEN_CTREE_IGNORE_FSID_MISMATCH, allow to read + * superblock that has mismatched sb::fsid and sb::dev_item.fsid + */ + SBREAD_IGNORE_FSID_MISMATCH = (1 << 2), }; /* |