Lines Matching defs:disk_super
474 struct btrfs_super_block *disk_super)
489 if (match_fsid_fs_devices(fs_devices, disk_super->metadata_uuid,
504 if (check_fsid_changed(fs_devices, disk_super->metadata_uuid))
508 return find_fsid(disk_super->fsid, disk_super->metadata_uuid);
515 struct btrfs_super_block **disk_super)
534 *disk_super = btrfs_read_dev_super(*bdev);
535 if (IS_ERR(*disk_super)) {
536 ret = PTR_ERR(*disk_super);
617 struct btrfs_super_block *disk_super;
627 &bdev, &disk_super);
631 devid = btrfs_stack_device_id(&disk_super->dev_item);
635 if (memcmp(device->uuid, disk_super->dev_item.uuid, BTRFS_UUID_SIZE))
638 device->generation = btrfs_super_generation(disk_super);
640 if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_SEEDING) {
641 if (btrfs_super_incompat_flags(disk_super) &
673 btrfs_release_disk_super(disk_super);
678 btrfs_release_disk_super(disk_super);
699 struct btrfs_super_block *disk_super)
707 if (check_fsid_changed(fs_devices, disk_super->fsid))
711 return find_fsid(disk_super->fsid, NULL);
715 struct btrfs_super_block *disk_super)
730 if (check_fsid_changed(fs_devices, disk_super->metadata_uuid) &&
731 memcmp(fs_devices->fsid, disk_super->fsid,
738 memcmp(fs_devices->fsid, disk_super->metadata_uuid,
747 struct btrfs_super_block *disk_super)
764 if (check_fsid_changed(fs_devices, disk_super->fsid))
778 struct btrfs_super_block *disk_super,
784 u64 found_transid = btrfs_super_generation(disk_super);
785 u64 devid = btrfs_stack_device_id(&disk_super->dev_item);
788 bool has_metadata_uuid = (btrfs_super_incompat_flags(disk_super) &
790 bool fsid_change_in_progress = (btrfs_super_flags(disk_super) &
802 fs_devices = find_fsid_inprogress(disk_super);
804 fs_devices = find_fsid_changed(disk_super);
806 fs_devices = find_fsid_with_metadata_uuid(disk_super);
808 fs_devices = find_fsid_reverted_metadata(disk_super);
810 fs_devices = find_fsid(disk_super->fsid, NULL);
815 fs_devices = alloc_fs_devices(disk_super->fsid,
816 has_metadata_uuid ? disk_super->metadata_uuid : NULL);
829 .uuid = disk_super->dev_item.uuid,
842 memcpy(fs_devices->fsid, disk_super->fsid,
845 btrfs_sb_fsid_ptr(disk_super), BTRFS_FSID_SIZE);
864 disk_super->dev_item.uuid, path);
880 if (disk_super->label[0])
883 disk_super->label, devid, found_transid, path,
888 disk_super->fsid, devid, found_transid, path,
985 fs_devices->total_devices = btrfs_super_num_devices(disk_super);
1304 struct btrfs_super_block *disk_super;
1314 if (sizeof(*disk_super) > PAGE_SIZE)
1319 if ((bytenr + sizeof(*disk_super) - 1) >> PAGE_SHIFT != index)
1331 disk_super = p + offset_in_page(bytenr);
1333 if (btrfs_super_bytenr(disk_super) != bytenr_orig ||
1334 btrfs_super_magic(disk_super) != BTRFS_MAGIC) {
1339 if (disk_super->label[0] && disk_super->label[BTRFS_LABEL_SIZE - 1])
1340 disk_super->label[BTRFS_LABEL_SIZE - 1] = 0;
1342 return disk_super;
1363 struct btrfs_super_block *disk_super;
1400 disk_super = btrfs_read_disk_super(bdev, bytenr, bytenr_orig);
1401 if (IS_ERR(disk_super)) {
1402 device = ERR_CAST(disk_super);
1406 device = device_list_add(path, disk_super, &new_device_added);
1410 btrfs_release_disk_super(disk_super);
2046 struct btrfs_super_block *disk_super;
2047 const size_t len = sizeof(disk_super->magic);
2051 disk_super = btrfs_read_disk_super(bdev, bytenr, bytenr);
2052 if (IS_ERR(disk_super))
2055 memset(&disk_super->magic, 0, len);
2056 folio_mark_dirty(virt_to_folio(disk_super));
2057 btrfs_release_disk_super(disk_super);
2365 struct btrfs_super_block *disk_super;
2384 &bdev, &disk_super);
2390 args->devid = btrfs_stack_device_id(&disk_super->dev_item);
2391 memcpy(args->uuid, disk_super->dev_item.uuid, BTRFS_UUID_SIZE);
2393 memcpy(args->fsid, disk_super->metadata_uuid, BTRFS_FSID_SIZE);
2395 memcpy(args->fsid, disk_super->fsid, BTRFS_FSID_SIZE);
2396 btrfs_release_disk_super(disk_super);
2489 struct btrfs_super_block *disk_super = fs_info->super_copy;
2527 memcpy(disk_super->fsid, fs_devices->fsid, BTRFS_FSID_SIZE);
2529 super_flags = btrfs_super_flags(disk_super) &
2531 btrfs_set_super_flags(disk_super, super_flags);