Lines Matching refs:disk_super
467 struct btrfs_super_block *disk_super) in find_fsid_with_metadata_uuid() argument
480 memcmp(disk_super->metadata_uuid, fs_devices->fsid, in find_fsid_with_metadata_uuid()
497 memcmp(disk_super->metadata_uuid, fs_devices->metadata_uuid, in find_fsid_with_metadata_uuid()
503 return find_fsid(disk_super->fsid, disk_super->metadata_uuid); in find_fsid_with_metadata_uuid()
510 struct btrfs_super_block **disk_super) in btrfs_get_bdev_and_sb() argument
529 *disk_super = btrfs_read_dev_super(*bdev); in btrfs_get_bdev_and_sb()
530 if (IS_ERR(*disk_super)) { in btrfs_get_bdev_and_sb()
531 ret = PTR_ERR(*disk_super); in btrfs_get_bdev_and_sb()
655 struct btrfs_super_block *disk_super; in btrfs_open_one_device() local
665 &bdev, &disk_super); in btrfs_open_one_device()
669 devid = btrfs_stack_device_id(&disk_super->dev_item); in btrfs_open_one_device()
673 if (memcmp(device->uuid, disk_super->dev_item.uuid, BTRFS_UUID_SIZE)) in btrfs_open_one_device()
676 device->generation = btrfs_super_generation(disk_super); in btrfs_open_one_device()
678 if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_SEEDING) { in btrfs_open_one_device()
679 if (btrfs_super_incompat_flags(disk_super) & in btrfs_open_one_device()
709 btrfs_release_disk_super(disk_super); in btrfs_open_one_device()
714 btrfs_release_disk_super(disk_super); in btrfs_open_one_device()
727 struct btrfs_super_block *disk_super) in find_fsid_inprogress() argument
734 memcmp(fs_devices->metadata_uuid, disk_super->fsid, in find_fsid_inprogress()
740 return find_fsid(disk_super->fsid, NULL); in find_fsid_inprogress()
745 struct btrfs_super_block *disk_super) in find_fsid_changed() argument
762 memcmp(fs_devices->metadata_uuid, disk_super->metadata_uuid, in find_fsid_changed()
764 memcmp(fs_devices->fsid, disk_super->fsid, in find_fsid_changed()
771 memcmp(fs_devices->fsid, disk_super->metadata_uuid, in find_fsid_changed()
780 struct btrfs_super_block *disk_super) in find_fsid_reverted_metadata() argument
796 memcmp(fs_devices->metadata_uuid, disk_super->fsid, in find_fsid_reverted_metadata()
812 struct btrfs_super_block *disk_super, in device_list_add() argument
818 u64 found_transid = btrfs_super_generation(disk_super); in device_list_add()
819 u64 devid = btrfs_stack_device_id(&disk_super->dev_item); in device_list_add()
820 bool has_metadata_uuid = (btrfs_super_incompat_flags(disk_super) & in device_list_add()
822 bool fsid_change_in_progress = (btrfs_super_flags(disk_super) & in device_list_add()
827 fs_devices = find_fsid_inprogress(disk_super); in device_list_add()
829 fs_devices = find_fsid_changed(disk_super); in device_list_add()
831 fs_devices = find_fsid_with_metadata_uuid(disk_super); in device_list_add()
833 fs_devices = find_fsid_reverted_metadata(disk_super); in device_list_add()
835 fs_devices = find_fsid(disk_super->fsid, NULL); in device_list_add()
841 fs_devices = alloc_fs_devices(disk_super->fsid, in device_list_add()
842 disk_super->metadata_uuid); in device_list_add()
844 fs_devices = alloc_fs_devices(disk_super->fsid, NULL); in device_list_add()
858 disk_super->dev_item.uuid, NULL, false); in device_list_add()
867 memcpy(fs_devices->fsid, disk_super->fsid, in device_list_add()
872 disk_super->metadata_uuid, in device_list_add()
876 disk_super->fsid, BTRFS_FSID_SIZE); in device_list_add()
889 disk_super->dev_item.uuid); in device_list_add()
910 if (disk_super->label[0]) in device_list_add()
913 disk_super->label, devid, found_transid, path, in device_list_add()
918 disk_super->fsid, devid, found_transid, path, in device_list_add()
1022 fs_devices->total_devices = btrfs_super_num_devices(disk_super); in device_list_add()
1324 struct btrfs_super_block *disk_super; in btrfs_read_disk_super() local
1334 if (sizeof(*disk_super) > PAGE_SIZE) in btrfs_read_disk_super()
1339 if ((bytenr + sizeof(*disk_super) - 1) >> PAGE_SHIFT != index) in btrfs_read_disk_super()
1351 disk_super = p + offset_in_page(bytenr); in btrfs_read_disk_super()
1353 if (btrfs_super_bytenr(disk_super) != bytenr || in btrfs_read_disk_super()
1354 btrfs_super_magic(disk_super) != BTRFS_MAGIC) { in btrfs_read_disk_super()
1359 if (disk_super->label[0] && disk_super->label[BTRFS_LABEL_SIZE - 1]) in btrfs_read_disk_super()
1360 disk_super->label[BTRFS_LABEL_SIZE - 1] = 0; in btrfs_read_disk_super()
1362 return disk_super; in btrfs_read_disk_super()
1384 struct btrfs_super_block *disk_super; in btrfs_scan_one_device() local
1405 disk_super = btrfs_read_disk_super(bdev, bytenr); in btrfs_scan_one_device()
1406 if (IS_ERR(disk_super)) { in btrfs_scan_one_device()
1407 device = ERR_CAST(disk_super); in btrfs_scan_one_device()
1411 device = device_list_add(path, disk_super, &new_device_added); in btrfs_scan_one_device()
1417 btrfs_release_disk_super(disk_super); in btrfs_scan_one_device()
2061 struct btrfs_super_block *disk_super; in btrfs_scratch_superblocks() local
2071 disk_super = btrfs_read_dev_one_super(bdev, copy_num); in btrfs_scratch_superblocks()
2072 if (IS_ERR(disk_super)) in btrfs_scratch_superblocks()
2075 memset(&disk_super->magic, 0, sizeof(disk_super->magic)); in btrfs_scratch_superblocks()
2077 page = virt_to_page(disk_super); in btrfs_scratch_superblocks()
2086 btrfs_release_disk_super(disk_super); in btrfs_scratch_superblocks()
2338 struct btrfs_super_block *disk_super; in btrfs_find_device_by_path() local
2345 fs_info->bdev_holder, 0, &bdev, &disk_super); in btrfs_find_device_by_path()
2349 devid = btrfs_stack_device_id(&disk_super->dev_item); in btrfs_find_device_by_path()
2350 dev_uuid = disk_super->dev_item.uuid; in btrfs_find_device_by_path()
2353 disk_super->metadata_uuid, true); in btrfs_find_device_by_path()
2356 disk_super->fsid, true); in btrfs_find_device_by_path()
2358 btrfs_release_disk_super(disk_super); in btrfs_find_device_by_path()
2407 struct btrfs_super_block *disk_super = fs_info->super_copy; in btrfs_prepare_sprout() local
2458 memcpy(disk_super->fsid, fs_devices->fsid, BTRFS_FSID_SIZE); in btrfs_prepare_sprout()
2461 super_flags = btrfs_super_flags(disk_super) & in btrfs_prepare_sprout()
2463 btrfs_set_super_flags(disk_super, super_flags); in btrfs_prepare_sprout()