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

Reply via email to