At Thu, 19 Oct 2017 17:05:18 +0800, Qu Wenruo wrote: > > > > On 2017年10月19日 16:34, Misono, Tomohiro wrote: > > On 2017/10/19 16:45, Satoru Takeuchi wrote: > >> Some tools can select which superblock these commands use by "-s > >> <superblock>" > >> option. Although this option says the valid values are 0-2, we can set 3 > >> if filesystem is very large. > >> > > > > Hello, > > Wiki says there are 4 superblocks. However in the implementation > > BTRFS_SUPER_MIROR_MAX > > is 3 and 0 indicates the block at 64K (disk-io.h of btrfs-progs), therefore > > I think > > there is no 4th superblock actually. > > Kernel implementation also shows that it will only update up to 3 > superblocks: > > --- > if (max_mirrors == 0) > max_mirrors = BTRFS_SUPER_MIRROR_MAX; > > for (i = 0; i < max_mirrors; i++) { > bytenr = btrfs_sb_offset(i); > if (bytenr + BTRFS_SUPER_INFO_SIZE >= > device->commit_total_bytes) > break; > --- > > And BTRFS_SUPER_MIRROR_MAX is 3: > --- > #define BTRFS_SUPER_MIRROR_MAX 3 > --- > > So even you can set any value and btrfs_sb_offset() can calculate the > super block offset, you will just read out some garbage.
My fault, sorry. I should read source more carefully. And thank you both to let me know my mistake. Thanks, Satoru > > Thanks, > Qu > > > > Regards, > > Tomohiro > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > > the body of a message to majord...@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html