}
}
+static void
+verify_main_device_size(
+ int dev_fd,
+ bool is_file,
+ struct xfs_sb *sb)
+{
+ xfs_rfsblock_t nr_blocks = sb->sb_dblocks;
+
+ /* internal RT device */
+ if (sb->sb_rtstart)
+ nr_blocks = sb->sb_rtstart + sb->sb_rblocks;
+
+ verify_device_size(dev_fd, is_file, nr_blocks, sb->sb_blocksize);
+}
+
static void
read_header_v1(
union mdrestore_headers *h,
((struct xfs_dsb*)block_buffer)->sb_inprogress = 1;
- verify_device_size(ddev_fd, is_data_target_file, sb.sb_dblocks,
- sb.sb_blocksize);
+ verify_main_device_size(ddev_fd, is_data_target_file, &sb);
bytes_read = 0;
((struct xfs_dsb *)block_buffer)->sb_inprogress = 1;
- verify_device_size(ddev_fd, is_data_target_file,
- sb.sb_rtstart + sb.sb_rblocks, sb.sb_blocksize);
+ verify_main_device_size(ddev_fd, is_data_target_file, &sb);
if (sb.sb_logstart == 0) {
ASSERT(mdrestore.external_log == true);