Lines Matching defs:disk_super

470 		      struct btrfs_super_block **disk_super)
491 *disk_super = btrfs_read_dev_super(bdev);
492 if (IS_ERR(*disk_super)) {
493 ret = PTR_ERR(*disk_super);
568 struct btrfs_super_block *disk_super,
573 const bool has_metadata_uuid = (btrfs_super_incompat_flags(disk_super) &
578 fsid_fs_devices = find_fsid(disk_super->fsid,
579 has_metadata_uuid ? disk_super->metadata_uuid : NULL);
582 if (btrfs_super_num_devices(disk_super) != 1)
590 if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_SEEDING)
645 struct btrfs_super_block *disk_super;
655 &bdev_file, &disk_super);
659 devid = btrfs_stack_device_id(&disk_super->dev_item);
663 if (memcmp(device->uuid, disk_super->dev_item.uuid, BTRFS_UUID_SIZE))
666 device->generation = btrfs_super_generation(disk_super);
668 if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_SEEDING) {
669 if (btrfs_super_incompat_flags(disk_super) &
711 btrfs_release_disk_super(disk_super);
716 btrfs_release_disk_super(disk_super);
738 struct btrfs_super_block *disk_super,
744 u64 found_transid = btrfs_super_generation(disk_super);
745 u64 devid = btrfs_stack_device_id(&disk_super->dev_item);
749 bool has_metadata_uuid = (btrfs_super_incompat_flags(disk_super) &
752 if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_CHANGING_FSID_V2) {
766 fs_devices = find_fsid_by_device(disk_super, path_devt, &same_fsid_diff_dev);
769 fs_devices = alloc_fs_devices(disk_super->fsid);
775 disk_super->metadata_uuid, BTRFS_FSID_SIZE);
792 .uuid = disk_super->dev_item.uuid,
799 memcpy(fs_devices->fsid, disk_super->fsid,
802 btrfs_sb_fsid_ptr(disk_super), BTRFS_FSID_SIZE);
821 disk_super->dev_item.uuid, path);
837 if (disk_super->label[0])
840 disk_super->label, devid, found_transid, path,
846 disk_super->fsid, devid, found_transid, path,
944 fs_devices->total_devices = btrfs_super_num_devices(disk_super);
1271 struct btrfs_super_block *disk_super;
1281 if (sizeof(*disk_super) > PAGE_SIZE)
1286 if ((bytenr + sizeof(*disk_super) - 1) >> PAGE_SHIFT != index)
1298 disk_super = p + offset_in_page(bytenr);
1300 if (btrfs_super_bytenr(disk_super) != bytenr_orig ||
1301 btrfs_super_magic(disk_super) != BTRFS_MAGIC) {
1306 if (disk_super->label[0] && disk_super->label[BTRFS_LABEL_SIZE - 1])
1307 disk_super->label[BTRFS_LABEL_SIZE - 1] = 0;
1309 return disk_super;
1323 static bool btrfs_skip_registration(struct btrfs_super_block *disk_super,
1357 if (!mount_arg_dev && btrfs_super_num_devices(disk_super) == 1 &&
1358 !(btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_SEEDING))
1376 struct btrfs_super_block *disk_super;
1414 disk_super = btrfs_read_disk_super(file_bdev(bdev_file), bytenr,
1416 if (IS_ERR(disk_super)) {
1417 device = ERR_CAST(disk_super);
1422 if (btrfs_skip_registration(disk_super, path, devt, mount_arg_dev)) {
1432 device = device_list_add(path, disk_super, &new_device_added);
1437 btrfs_release_disk_super(disk_super);
2072 struct btrfs_super_block *disk_super;
2073 const size_t len = sizeof(disk_super->magic);
2077 disk_super = btrfs_read_disk_super(bdev, bytenr, bytenr);
2078 if (IS_ERR(disk_super))
2081 memset(&disk_super->magic, 0, len);
2082 folio_mark_dirty(virt_to_folio(disk_super));
2083 btrfs_release_disk_super(disk_super);
2387 struct btrfs_super_block *disk_super;
2406 &bdev_file, &disk_super);
2412 args->devid = btrfs_stack_device_id(&disk_super->dev_item);
2413 memcpy(args->uuid, disk_super->dev_item.uuid, BTRFS_UUID_SIZE);
2415 memcpy(args->fsid, disk_super->metadata_uuid, BTRFS_FSID_SIZE);
2417 memcpy(args->fsid, disk_super->fsid, BTRFS_FSID_SIZE);
2418 btrfs_release_disk_super(disk_super);
2511 struct btrfs_super_block *disk_super = fs_info->super_copy;
2549 memcpy(disk_super->fsid, fs_devices->fsid, BTRFS_FSID_SIZE);
2551 super_flags = btrfs_super_flags(disk_super) &
2553 btrfs_set_super_flags(disk_super, super_flags);