All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] btrfs-progs: change mans to describe the third copy of superblock
@ 2017-10-19  7:45 Satoru Takeuchi
  2017-10-19  8:34 ` Misono, Tomohiro
  0 siblings, 1 reply; 4+ messages in thread
From: Satoru Takeuchi @ 2017-10-19  7:45 UTC (permalink / raw)
  To: linux-btrfs

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.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
---
 Documentation/btrfs-check.asciidoc        | 2 +-
 Documentation/btrfs-restore.asciidoc      | 2 +-
 Documentation/btrfs-select-super.asciidoc | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/Documentation/btrfs-check.asciidoc b/Documentation/btrfs-check.asciidoc
index fbf4884..a557cff 100644
--- a/Documentation/btrfs-check.asciidoc
+++ b/Documentation/btrfs-check.asciidoc
@@ -74,7 +74,7 @@ run in read-only mode, this option exists to calm potential panic when users
 are going to run the checker
 
 -s|--super <superblock>::
-use 'superblock'th superblock copy, valid values are 0, 1 or 2 if the
+use 'superblock'th superblock copy, valid values are 0, 1, 2 or 3 if the
 respective superblock offset is within the device size
 +
 This can be used to use a different starting point if some of the primary
diff --git a/Documentation/btrfs-restore.asciidoc b/Documentation/btrfs-restore.asciidoc
index 090dcc5..c19e0e2 100644
--- a/Documentation/btrfs-restore.asciidoc
+++ b/Documentation/btrfs-restore.asciidoc
@@ -63,7 +63,7 @@ use <bytenr> to read the root tree
 only restore files that are under specified subvolume root pointed by <bytenr>
 
 -u|--super <mirror>::
-use given superblock mirror identified by <mirror>, it can be 0,1 or 2
+use given superblock mirror identified by <mirror>, it can be 0, 1, 2 or 3
 
 -r|--root <rootid>::
 only restore files that are under a specified subvolume whose objectid is <rootid>
diff --git a/Documentation/btrfs-select-super.asciidoc b/Documentation/btrfs-select-super.asciidoc
index 6e94a03..7f96bd8 100644
--- a/Documentation/btrfs-select-super.asciidoc
+++ b/Documentation/btrfs-select-super.asciidoc
@@ -32,13 +32,14 @@ Superblock copies exist in the following offsets on the device:
 - primary: '64KiB' (65536)
 - 1st copy: '64MiB' (67108864)
 - 2nd copy: '256GiB' (274877906944)
+- 3rd copy: '1PiB' (1125899906842624)
 
 A superblock size is '4KiB' (4096).
 
 OPTIONS
 -------
 -s|--super <superblock>::
-use 'superblock'th superblock copy, valid values are 0 1 or 2 if the
+use 'superblock'th superblock copy, valid values are 0, 1, 2 or 3 if the
 respective superblock offset is within the device size
 
 SEE ALSO
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] btrfs-progs: change mans to describe the third copy of superblock
  2017-10-19  7:45 [PATCH] btrfs-progs: change mans to describe the third copy of superblock Satoru Takeuchi
@ 2017-10-19  8:34 ` Misono, Tomohiro
  2017-10-19  9:05   ` Qu Wenruo
  0 siblings, 1 reply; 4+ messages in thread
From: Misono, Tomohiro @ 2017-10-19  8:34 UTC (permalink / raw)
  To: Satoru Takeuchi, linux-btrfs

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.

Regards,
Tomohiro


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] btrfs-progs: change mans to describe the third copy of superblock
  2017-10-19  8:34 ` Misono, Tomohiro
@ 2017-10-19  9:05   ` Qu Wenruo
  2017-10-19  9:38     ` Satoru Takeuchi
  0 siblings, 1 reply; 4+ messages in thread
From: Qu Wenruo @ 2017-10-19  9:05 UTC (permalink / raw)
  To: Misono, Tomohiro, Satoru Takeuchi, linux-btrfs



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.

Thanks,
Qu
> 
> Regards,
> Tomohiro
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] btrfs-progs: change mans to describe the third copy of superblock
  2017-10-19  9:05   ` Qu Wenruo
@ 2017-10-19  9:38     ` Satoru Takeuchi
  0 siblings, 0 replies; 4+ messages in thread
From: Satoru Takeuchi @ 2017-10-19  9:38 UTC (permalink / raw)
  To: Qu Wenruo; +Cc: Misono, Tomohiro, Satoru Takeuchi, linux-btrfs

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 majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-10-19  9:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-19  7:45 [PATCH] btrfs-progs: change mans to describe the third copy of superblock Satoru Takeuchi
2017-10-19  8:34 ` Misono, Tomohiro
2017-10-19  9:05   ` Qu Wenruo
2017-10-19  9:38     ` Satoru Takeuchi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.