* [PATCH] btrfs-progs: mkfs.btrfs documentation: clarify current restrictions of sectorsize, nodesize and leafsize
@ 2013-07-11 20:56 Koen De Wit
2013-08-06 0:21 ` David Sterba
0 siblings, 1 reply; 2+ messages in thread
From: Koen De Wit @ 2013-07-11 20:56 UTC (permalink / raw)
To: linux-btrfs; +Cc: Koen De Wit
Commit 8d082fb727ac11930ea20bf1612e334ea7c2b697 (Btrfs: do not mount when
we have a sectorsize unequal to PAGE_SIZE) requires the sectorsize to be
equal to the pagesize for the filesystem to be mountable.
The nodesize and leafsize should be equal, and not larger than 65536.
Adding this information to the manpage and usage instructions of mkfs.btrfs.
---
man/mkfs.btrfs.8.in | 12 +++++++++---
mkfs.c | 2 +-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/man/mkfs.btrfs.8.in b/man/mkfs.btrfs.8.in
index a3f1503..b2a4e73 100644
--- a/man/mkfs.btrfs.8.in
+++ b/man/mkfs.btrfs.8.in
@@ -46,7 +46,8 @@ there is a filesystem or partition table on the device already.
.TP
\fB\-l\fR, \fB\-\-leafsize \fIsize\fR
Specify the leaf size, the least data item in which btrfs stores data. The
-default value is the page size.
+default value is the page size. Must be a multiple of the sectorsize, but
+not larger than 65536. Should be equal to the nodesize.
.TP
\fB\-L\fR, \fB\-\-label \fIname\fR
Specify a label for the filesystem.
@@ -66,10 +67,15 @@ larger filesystems. It is recommended for use with filesystems
of 1 GiB or smaller.
.TP
\fB\-n\fR, \fB\-\-nodesize \fIsize\fR
-Specify the nodesize. By default the value is set to the pagesize.
+Specify the nodesize. By default the value is set to the pagesize. Must be a
+multiple of the sectorsize, but not larger than 65536. Should be equal to the
+leafsize.
.TP
\fB\-s\fR, \fB\-\-sectorsize \fIsize\fR
-Specify the sectorsize, the minimum block allocation.
+Specify the sectorsize, the minimum block allocation. The default value is
+the pagesize. If the sectorsize differs from the pagesize, the created
+filesystem cannot be mounted by the current kernel. Therefore it is not
+recommended to use this option.
.TP
\fB\-r\fR, \fB\-\-rootdir \fIrootdir\fR
Specify a directory to copy into the newly created fs.
diff --git a/mkfs.c b/mkfs.c
index b412b7e..9f75c58 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -319,7 +319,7 @@ static void print_usage(void)
fprintf(stderr, "\t -m --metadata metadata profile, values like data profile\n");
fprintf(stderr, "\t -M --mixed mix metadata and data together\n");
fprintf(stderr, "\t -n --nodesize size of btree nodes\n");
- fprintf(stderr, "\t -s --sectorsize min block allocation\n");
+ fprintf(stderr, "\t -s --sectorsize min block allocation (not mountable by current kernel)\n");
fprintf(stderr, "\t -r --rootdir the source directory\n");
fprintf(stderr, "\t -K --nodiscard do not perform whole device TRIM\n");
fprintf(stderr, "\t -V --version print the mkfs.btrfs version and exit\n");
--
1.7.2.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] btrfs-progs: mkfs.btrfs documentation: clarify current restrictions of sectorsize, nodesize and leafsize
2013-07-11 20:56 [PATCH] btrfs-progs: mkfs.btrfs documentation: clarify current restrictions of sectorsize, nodesize and leafsize Koen De Wit
@ 2013-08-06 0:21 ` David Sterba
0 siblings, 0 replies; 2+ messages in thread
From: David Sterba @ 2013-08-06 0:21 UTC (permalink / raw)
To: Koen De Wit; +Cc: linux-btrfs
On Thu, Jul 11, 2013 at 10:56:17PM +0200, Koen De Wit wrote:
> Commit 8d082fb727ac11930ea20bf1612e334ea7c2b697 (Btrfs: do not mount when
> we have a sectorsize unequal to PAGE_SIZE) requires the sectorsize to be
> equal to the pagesize for the filesystem to be mountable.
>
> The nodesize and leafsize should be equal, and not larger than 65536.
>
> Adding this information to the manpage and usage instructions of mkfs.btrfs.
Please don't forget to add your signed-off-by line.
> --- a/man/mkfs.btrfs.8.in
> +++ b/man/mkfs.btrfs.8.in
> @@ -46,7 +46,8 @@ there is a filesystem or partition table on the device already.
> .TP
> \fB\-l\fR, \fB\-\-leafsize \fIsize\fR
> Specify the leaf size, the least data item in which btrfs stores data. The
> -default value is the page size.
> +default value is the page size. Must be a multiple of the sectorsize, but
> +not larger than 65536. Should be equal to the nodesize.
As implemented now, setting one of leafsize/nodesize will set both, so
it's not necessary to specify both. The help text should reflect that.
> -Specify the nodesize. By default the value is set to the pagesize.
> +Specify the nodesize. By default the value is set to the pagesize. Must be a
> +multiple of the sectorsize, but not larger than 65536. Should be equal to the
> +leafsize.
> .TP
> \fB\-s\fR, \fB\-\-sectorsize \fIsize\fR
> -Specify the sectorsize, the minimum block allocation.
> +Specify the sectorsize, the minimum block allocation. The default value is
> +the pagesize. If the sectorsize differs from the pagesize, the created
> +filesystem cannot be mounted by the current kernel. Therefore it is not
> +recommended to use this option.
"... unless you know what you're doing." :)
> --- a/mkfs.c
> +++ b/mkfs.c
> @@ -319,7 +319,7 @@ static void print_usage(void)
> fprintf(stderr, "\t -m --metadata metadata profile, values like data profile\n");
> fprintf(stderr, "\t -M --mixed mix metadata and data together\n");
> fprintf(stderr, "\t -n --nodesize size of btree nodes\n");
> - fprintf(stderr, "\t -s --sectorsize min block allocation\n");
> + fprintf(stderr, "\t -s --sectorsize min block allocation (not mountable by current kernel)\n");
What if I'm on a ppc64 box? This message will be confusing. I'd stick
'may' into (...)
I'll fix the text wording when committing the patch, no need to resend.
david
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-08-06 0:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-11 20:56 [PATCH] btrfs-progs: mkfs.btrfs documentation: clarify current restrictions of sectorsize, nodesize and leafsize Koen De Wit
2013-08-06 0:21 ` David Sterba
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).