On 3.04.19 г. 10:05 ч., Qu Wenruo wrote: > > > On 2019/4/3 上午11:58, Chris Murphy wrote: >> I'm sometimes seeing the same backup_tree_root used more than once. >> Below you'll see backup 0 and backup 2 have the same address, >> different generation. The concern is if this suggests backup 2 is >> actually stale and not useful? > > Currently, backup root of btrfs only has a life time of one generation. > > That's to say, any backup older than current generation - 1 is already > stale. Yeah, backup roots should really be perceived as a "best-effort" type of mechanism rather than something guaranteeing you can go back 4 generations w.r.t fs state. > > Filipe had tried to make btrfs to pin down extents up to 4 generations. > Thus btrfs could make all 4 backup roots valid, but that leaded to a lot > of ENOSPC. So he gave up that idea. > > Thanks, > Qu > >> >> We've previously seen that Btrfs with discard mount option can very >> quickly cause the locations pointed to by backup roots to return no >> data (metadata deallocated and trimmed). I wonder if this is similar >> where Btrfs has no concept of delaying metadata deallocation for a >> while so that the backup trees remain valid for a while (few minutes?) >> Anyway if these backup roots can become stale, if they're ever needed >> they're not going to be useful. >> >> superblock: bytenr=65536, device=/dev/mapper/sdc >> --------------------------------------------------------- >> csum_type 0 (crc32c) >> csum_size 4 >> csum 0xe0c01b78 [match] >> bytenr 65536 >> flags 0x1 >> ( WRITTEN ) >> magic _BHRfS_M [match] >> fsid ecd5e90e-6fb7-4b42-ab57-515a733c01f2 >> metadata_uuid ecd5e90e-6fb7-4b42-ab57-515a733c01f2 >> label third >> generation 686 >> root 3355115520 >> sys_array_size 129 >> chunk_root_generation 685 >> root_level 1 >> chunk_root 4325376000 >> chunk_root_level 1 >> log_root 0 >> log_root_transid 0 >> log_root_level 0 >> total_bytes 1000207335424 >> bytes_used 439356653568 >> sectorsize 4096 >> nodesize 32768 >> leafsize (deprecated) 32768 >> stripesize 4096 >> root_dir 6 >> num_devices 2 >> compat_flags 0x0 >> compat_ro_flags 0x3 >> ( FREE_SPACE_TREE | >> FREE_SPACE_TREE_VALID ) >> incompat_flags 0x171 >> ( MIXED_BACKREF | >> COMPRESS_ZSTD | >> BIG_METADATA | >> EXTENDED_IREF | >> SKINNY_METADATA ) >> cache_generation 18446744073709551615 >> uuid_tree_generation 686 >> dev_item.uuid de7a23cd-ec25-47d4-bbdb-fcf9c4dc705a >> dev_item.fsid ecd5e90e-6fb7-4b42-ab57-515a733c01f2 [match] >> dev_item.type 0 >> dev_item.total_bytes 500103667712 >> dev_item.bytes_used 442415185920 >> dev_item.io_align 4096 >> dev_item.io_width 4096 >> dev_item.sector_size 4096 >> dev_item.devid 2 >> dev_item.dev_group 0 >> dev_item.seek_speed 0 >> dev_item.bandwidth 0 >> dev_item.generation 0 >> sys_chunk_array[2048]: >> item 0 key (FIRST_CHUNK_TREE CHUNK_ITEM 4325376000) >> length 33554432 owner 2 stripe_len 65536 type SYSTEM|RAID1 >> io_align 65536 io_width 65536 sector_size 4096 >> num_stripes 2 sub_stripes 1 >> stripe 0 devid 2 offset 1083179008 >> dev_uuid de7a23cd-ec25-47d4-bbdb-fcf9c4dc705a >> stripe 1 devid 1 offset 1104150528 >> dev_uuid 15e28877-dbc7-446d-9991-618504a758ca >> backup_roots[4]: >> backup 0: >> backup_tree_root: 3355115520 gen: 686 level: 1 >> backup_chunk_root: 4325376000 gen: 685 level: 1 >> backup_extent_root: 3358523392 gen: 686 level: 2 >> backup_fs_root: 3550511104 gen: 497 level: 0 >> backup_dev_root: 3358752768 gen: 685 level: 1 >> backup_csum_root: 3259400192 gen: 500 level: 2 >> backup_total_bytes: 1000207335424 >> backup_bytes_used: 439356653568 >> backup_num_devices: 2 >> >> backup 1: >> backup_tree_root: 3358752768 gen: 683 level: 1 >> backup_chunk_root: 4325441536 gen: 677 level: 1 >> backup_extent_root: 3359506432 gen: 683 level: 2 >> backup_fs_root: 3550511104 gen: 497 level: 0 >> backup_dev_root: 3358982144 gen: 677 level: 1 >> backup_csum_root: 3259400192 gen: 500 level: 2 >> backup_total_bytes: 1000207335424 >> backup_bytes_used: 439356653568 >> backup_num_devices: 2 >> >> backup 2: >> backup_tree_root: 3355115520 gen: 684 level: 1 >> backup_chunk_root: 4325441536 gen: 677 level: 1 >> backup_extent_root: 3358523392 gen: 684 level: 2 >> backup_fs_root: 3550511104 gen: 497 level: 0 >> backup_dev_root: 3358982144 gen: 677 level: 1 >> backup_csum_root: 3259400192 gen: 500 level: 2 >> backup_total_bytes: 1000207335424 >> backup_bytes_used: 439356653568 >> backup_num_devices: 2 >> >> backup 3: >> backup_tree_root: 3359834112 gen: 685 level: 1 >> backup_chunk_root: 4325376000 gen: 685 level: 1 >> backup_extent_root: 3361898496 gen: 685 level: 2 >> backup_fs_root: 3550511104 gen: 497 level: 0 >> backup_dev_root: 3358752768 gen: 685 level: 1 >> backup_csum_root: 3259400192 gen: 500 level: 2 >> backup_total_bytes: 1000207335424 >> backup_bytes_used: 439356653568 >> backup_num_devices: 2 >> >> >> >> >
