Lines Matching refs:disk_super

474 				struct btrfs_super_block *disk_super)  in find_fsid_with_metadata_uuid()  argument
489 if (match_fsid_fs_devices(fs_devices, disk_super->metadata_uuid, in find_fsid_with_metadata_uuid()
504 if (check_fsid_changed(fs_devices, disk_super->metadata_uuid)) in find_fsid_with_metadata_uuid()
508 return find_fsid(disk_super->fsid, disk_super->metadata_uuid); in find_fsid_with_metadata_uuid()
515 struct btrfs_super_block **disk_super) in btrfs_get_bdev_and_sb() argument
534 *disk_super = btrfs_read_dev_super(*bdev); in btrfs_get_bdev_and_sb()
535 if (IS_ERR(*disk_super)) { in btrfs_get_bdev_and_sb()
536 ret = PTR_ERR(*disk_super); in btrfs_get_bdev_and_sb()
617 struct btrfs_super_block *disk_super; in btrfs_open_one_device() local
627 &bdev, &disk_super); in btrfs_open_one_device()
631 devid = btrfs_stack_device_id(&disk_super->dev_item); in btrfs_open_one_device()
635 if (memcmp(device->uuid, disk_super->dev_item.uuid, BTRFS_UUID_SIZE)) in btrfs_open_one_device()
638 device->generation = btrfs_super_generation(disk_super); in btrfs_open_one_device()
640 if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_SEEDING) { in btrfs_open_one_device()
641 if (btrfs_super_incompat_flags(disk_super) & in btrfs_open_one_device()
673 btrfs_release_disk_super(disk_super); in btrfs_open_one_device()
678 btrfs_release_disk_super(disk_super); in btrfs_open_one_device()
699 struct btrfs_super_block *disk_super) in find_fsid_inprogress() argument
707 if (check_fsid_changed(fs_devices, disk_super->fsid)) in find_fsid_inprogress()
711 return find_fsid(disk_super->fsid, NULL); in find_fsid_inprogress()
715 struct btrfs_super_block *disk_super) in find_fsid_changed() argument
730 if (check_fsid_changed(fs_devices, disk_super->metadata_uuid) && in find_fsid_changed()
731 memcmp(fs_devices->fsid, disk_super->fsid, in find_fsid_changed()
738 memcmp(fs_devices->fsid, disk_super->metadata_uuid, in find_fsid_changed()
747 struct btrfs_super_block *disk_super) in find_fsid_reverted_metadata() argument
764 if (check_fsid_changed(fs_devices, disk_super->fsid)) in find_fsid_reverted_metadata()
778 struct btrfs_super_block *disk_super, in device_list_add() argument
784 u64 found_transid = btrfs_super_generation(disk_super); in device_list_add()
785 u64 devid = btrfs_stack_device_id(&disk_super->dev_item); in device_list_add()
788 bool has_metadata_uuid = (btrfs_super_incompat_flags(disk_super) & in device_list_add()
790 bool fsid_change_in_progress = (btrfs_super_flags(disk_super) & in device_list_add()
802 fs_devices = find_fsid_inprogress(disk_super); in device_list_add()
804 fs_devices = find_fsid_changed(disk_super); in device_list_add()
806 fs_devices = find_fsid_with_metadata_uuid(disk_super); in device_list_add()
808 fs_devices = find_fsid_reverted_metadata(disk_super); in device_list_add()
810 fs_devices = find_fsid(disk_super->fsid, NULL); in device_list_add()
815 fs_devices = alloc_fs_devices(disk_super->fsid, in device_list_add()
816 has_metadata_uuid ? disk_super->metadata_uuid : NULL); in device_list_add()
829 .uuid = disk_super->dev_item.uuid, in device_list_add()
842 memcpy(fs_devices->fsid, disk_super->fsid, in device_list_add()
845 btrfs_sb_fsid_ptr(disk_super), BTRFS_FSID_SIZE); in device_list_add()
864 disk_super->dev_item.uuid, path); in device_list_add()
880 if (disk_super->label[0]) in device_list_add()
883 disk_super->label, devid, found_transid, path, in device_list_add()
888 disk_super->fsid, devid, found_transid, path, in device_list_add()
985 fs_devices->total_devices = btrfs_super_num_devices(disk_super); in device_list_add()
1311 struct btrfs_super_block *disk_super; in btrfs_read_disk_super() local
1321 if (sizeof(*disk_super) > PAGE_SIZE) in btrfs_read_disk_super()
1326 if ((bytenr + sizeof(*disk_super) - 1) >> PAGE_SHIFT != index) in btrfs_read_disk_super()
1338 disk_super = p + offset_in_page(bytenr); in btrfs_read_disk_super()
1340 if (btrfs_super_bytenr(disk_super) != bytenr_orig || in btrfs_read_disk_super()
1341 btrfs_super_magic(disk_super) != BTRFS_MAGIC) { in btrfs_read_disk_super()
1346 if (disk_super->label[0] && disk_super->label[BTRFS_LABEL_SIZE - 1]) in btrfs_read_disk_super()
1347 disk_super->label[BTRFS_LABEL_SIZE - 1] = 0; in btrfs_read_disk_super()
1349 return disk_super; in btrfs_read_disk_super()
1370 struct btrfs_super_block *disk_super; in btrfs_scan_one_device() local
1407 disk_super = btrfs_read_disk_super(bdev, bytenr, bytenr_orig); in btrfs_scan_one_device()
1408 if (IS_ERR(disk_super)) { in btrfs_scan_one_device()
1409 device = ERR_CAST(disk_super); in btrfs_scan_one_device()
1413 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()
2053 struct btrfs_super_block *disk_super; in btrfs_scratch_superblock() local
2054 const size_t len = sizeof(disk_super->magic); in btrfs_scratch_superblock()
2058 disk_super = btrfs_read_disk_super(bdev, bytenr, bytenr); in btrfs_scratch_superblock()
2059 if (IS_ERR(disk_super)) in btrfs_scratch_superblock()
2062 memset(&disk_super->magic, 0, len); in btrfs_scratch_superblock()
2063 folio_mark_dirty(virt_to_folio(disk_super)); in btrfs_scratch_superblock()
2064 btrfs_release_disk_super(disk_super); in btrfs_scratch_superblock()
2372 struct btrfs_super_block *disk_super; in btrfs_get_dev_args_from_path() local
2391 &bdev, &disk_super); in btrfs_get_dev_args_from_path()
2397 args->devid = btrfs_stack_device_id(&disk_super->dev_item); in btrfs_get_dev_args_from_path()
2398 memcpy(args->uuid, disk_super->dev_item.uuid, BTRFS_UUID_SIZE); in btrfs_get_dev_args_from_path()
2400 memcpy(args->fsid, disk_super->metadata_uuid, BTRFS_FSID_SIZE); in btrfs_get_dev_args_from_path()
2402 memcpy(args->fsid, disk_super->fsid, BTRFS_FSID_SIZE); in btrfs_get_dev_args_from_path()
2403 btrfs_release_disk_super(disk_super); in btrfs_get_dev_args_from_path()
2496 struct btrfs_super_block *disk_super = fs_info->super_copy; in btrfs_setup_sprout() local
2534 memcpy(disk_super->fsid, fs_devices->fsid, BTRFS_FSID_SIZE); in btrfs_setup_sprout()
2536 super_flags = btrfs_super_flags(disk_super) & in btrfs_setup_sprout()
2538 btrfs_set_super_flags(disk_super, super_flags); in btrfs_setup_sprout()