Commit Graph

608 Commits

Author SHA1 Message Date
David Sterba
0da68b0065 btrfs-progs: docs: add On disk format
Copied from wiki. May contain out of date information and formatting
mistakes.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-04-05 01:39:42 +02:00
David Sterba
1551d764c9 btrfs-progs: docs: add Developer's FAQ
Copied from wiki.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-04-05 01:18:06 +02:00
David Sterba
b95d4d3d01 btrfs-progs: docs: add Development notes
Copied from wiki.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-04-05 01:03:49 +02:00
David Sterba
dba785a9db btrfs-progs: docs: group developer documentation
Add new directory and move ther all exisisting documentation meant for
developers.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-04-05 00:20:41 +02:00
David Sterba
540e94275a btrfs-progs: docs: convert send stream protocol descriptions to tables
Signed-off-by: David Sterba <dsterba@suse.com>
2023-04-05 00:14:59 +02:00
David Sterba
2f8fc64d50 btrfs-progs: docs: convert btrfs-ioctl to more compact format
Use tabular format instead of the defintion list as it's more compact.
Enable syntax hilighting to code examples.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-22 20:07:50 +01:00
David Sterba
403ba6e6ee btrfs-progs: docs: add some design-related documents
Copied from wiki.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-22 14:39:17 +01:00
David Sterba
5e4a18b4b5 btrfs-progs: docs: add kernel version changes
Copy from wiki.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-22 14:39:15 +01:00
David Sterba
2c5f8de36b btrfs-progs: docs: add Status page from wiki
Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-22 14:39:13 +01:00
Alexander Barton
d82c2ca63c btrfs-progs: docs: fix name of "mountinfo" file in subvolume intro
The name of a mounted sub volume can not be found in /proc/self/mounts
but in /proc/self/mountinfo.

Pull-request: #596
Signed-off-by: Alexander Barton <alex@barton.de>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-17 18:14:18 +01:00
softwarecreations
36fcaa1a7b btrfs-progs: docs: update swapfile Added size to mkswapfile example
Let's show users how to set the size of their new swapfile.

Pull-request: #601
Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-16 23:15:15 +01:00
David Sterba
02ffc977be btrfs-progs: docs: don't use wiki links in manual pages and package
The wiki has been archived so remove the links from manual page
footers. Also replace the wiki link by RTD site in configure and
libbtrfsutil.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-16 22:38:21 +01:00
Anand Jain
4a37203c8a btrfs-progs: docs: discard tunables and metrics in sysfs
Since kernel v6.1, we have had discard tunables and metrics under sysfs.
Add documentation for them.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-16 15:48:48 +01:00
Tobias Kaiser
3edfc2b29a btrfs-progs: docs: fix typo in subvolume intro
Author: Tobias Kaiser <mail@tb-kaiser.de>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-03-07 20:52:35 +01:00
David Sterba
b1c159b804 btrfs-progs: docs: add 6.2 development statistics
Signed-off-by: David Sterba <dsterba@suse.com>
2023-02-28 20:11:24 +01:00
David Sterba
dde2f15010 btrfs-progs: docs: remove mentions of btrfs-debug-tree, btrfs-show-super, btrfs-zero-log
The standalone tools have been deprecated and removed in 2018 and nobody
should miss them.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-02-28 20:11:23 +01:00
David Sterba
5edf4950b4 btrfs-progs: reformat global options and update docs
With the growing list of global option we need to print them somewhere
in the help text and document them.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-02-28 20:11:23 +01:00
David Sterba
b08b429ee2 btrfs-progs: fi mkswapfile: add option --uuid
Add option --uuid with same semantics that is provided by command
'mkswap'. By default a random UUID is generated, to not set any use
'btrfs filesystem mkswapfile -U clear swapfile'.

Issue: #581
Signed-off-by: David Sterba <dsterba@suse.com>
2023-02-28 20:11:22 +01:00
Christopher Yeleighton
29017208b8 btrfs-progs: docs: describe formatting of sizes
Input must be prepared and output must be interpreted under the C
locale, which requires special precautions on the client’s side.

Pull-request: #561
Author: Christopher Yeleighton <ne01026@shark.2a.pl>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:36 +01:00
pinysuse
7f10503bcd btrfs-progs: docs: add heading to ch-mount-options.rst
The header of the main section seems to be missing --> added.

Pull-request: #565
Author: pinysuse
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:33 +01:00
Christopher Head
cf7b55a980 btrfs-progs: docs: document some subvolume related ioctls
Author: Christopher Head <chead@chead.ca>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:31 +01:00
Christopher Head
c5e3671121 btrfs-progs: docs: add missing ioctl names to the list
Author: Christopher Head <chead@chead.ca>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:28 +01:00
Christopher Head
23b2f8a1e7 btrfs-progs: docs: add struct btrfs_ioctl_get_subvol_info_args
Author: Christopher Head <chead@chead.ca>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:27 +01:00
Christopher Head
3387667966 btrfs-progs: docs: add up-to-date definition of btrfs_ioctl_vol_args_v2
Author: Christopher Head <chead@chead.ca>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:24 +01:00
Naohiro Aota
2b4bebeacc btrfs-progs: docs: add sysfs chunk_size description
Add description for /sys/fs/btrfs/<uuid>/allocation/<type>/chunk_size.

Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:18 +01:00
Naohiro Aota
2a20dc237c btrfs-progs: docs: fix sysfs nodesize typo
Fix the typo.

Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:16 +01:00
Naohiro Aota
cdcdcf17af btrfs-progs: docs: add sysfs per-space_info bg_reclaim_threshold entry
There are two "bg_reclaim_threshold" under the sysfs directory. One is at
/sys/fs/btrfs/<UUID>/ and sets the threshold to start the auto reclaim
thread. The other one is
at/sys/fs/btrfs/<UUID>/allocations/{data,metadata,system} and sets the
threshold to reclaim a block group.

These two options have the same name but they are calculated against
different metrics. The former is a percentage of allocated (for a device
extent) space on total device space, and the latter is a percentage of
reclaimable space on a block group's zone capacity.

Add description for per-space_info bg_reclaim_threshold to distinguish
these two same name configurations.

Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:20:14 +01:00
David Sterba
f5884fc8ca btrfs-progs: docs: drop copyright year from manual pages
The copyright config variable can be used for a real copyright but we
don't have that for the manual pages and it was a stub. The date of page
generation time is added to the page anyway.

Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:19:51 +01:00
Qu Wenruo
0d901db20a btrfs-progs: docs: add sysfs doc
This patch will add a dedicated section for btrfs sysfs interfaces.

It will include:

- Directory layout explanation
  Including:
  * Description
  * Introduced in which kernel version

- Files explanation
  Including:
  * RW/RO type
  * Description
  * Introduced in which kernel version

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:19:43 +01:00
David Sterba
54b90cb6e5 btrfs-progs: fi mkswapfile: fix page count in header
Per user report on https://old.reddit.com/r/btrfs/comments/107fnw1/btrfs_filesystem_mkswapfile_results_in_an/
the swapfile header does not contain the correct number of pages that
matches the file size and the activated swapfile is only 1GiB:

  # btrfs filesystem mkswapfile -s 10g swapfile
  # swapon swapfile
  # cat /proc/swaps
  Filename          Type    Size       Used    Priority
  /swap/swapfile    file    1048572    0       -2

A workaround is to run 'mkswap swapfile' before activation. Proper fix
is to calculate the number of (fixed size) 4K pages available for the
swap.

Issue: #568
Signed-off-by: David Sterba <dsterba@suse.com>
2023-01-25 16:19:36 +01:00
David Sterba
3a5adfb1a4 btrfs-progs: docs: add some kernel 6.1 release notes
Signed-off-by: David Sterba <dsterba@suse.com>
2022-12-22 19:01:45 +01:00
David Sterba
4f7bf100a9 btrfs-progs: docs: typo fixups and formatting updates
Signed-off-by: David Sterba <dsterba@suse.com>
2022-12-22 18:44:47 +01:00
David Sterba
8cec98cb75 btrfs-progs: docs: updates, clarifications
Update spelling, add notable kernel/version features or updates.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-12-14 02:56:16 +01:00
David Sterba
719b5a592f btrfs-progs: docs: add 6.1 development statistics
Signed-off-by: David Sterba <dsterba@suse.com>
2022-12-13 16:15:07 +01:00
David Sterba
c0360b4735 btrfs-progs: docs: fix typos
Namely change eg. to e.g. and ie. to i.e.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-12-07 21:00:25 +01:00
David Sterba
f652a5b754 btrfs-progs: docs: swapfile and hibernation
Document the new swapfile commands and how it could be used for hibernation.

Issue: #533
Issue: #544
Signed-off-by: David Sterba <dsterba@suse.com>
2022-12-06 23:19:12 +01:00
David Sterba
90548b8295 btrfs-progs: filesystem: new subcommand mkswapfile
Add a command to create a new swapfile. The same can be achieved by
seandalone tools but they're just wrappers around the syscalls. The swap
format is simple enough to be created directly without mkswap command so
the swapfile can be created in one go.

The file must not exist before, this is to avoid problems with file
attributes or any other effects of existing extents. This also means the
command can't be used on block devices.

Default size is 2G, minimum size is 40KiB.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-11-08 11:30:21 +01:00
David Sterba
701ab151c2 btrfs-progs: qgroup: new command to delete stale qgroups
A stale qgroup is level 0 and without a corresponding subvolume. There's
no convenient command for removing them and kernel does not remove them
automatically. Add a command so users don't have to parse and script the
output and/or delete them manually.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-26 09:21:35 +02:00
Nikolaos Chatzikonstantinou
6f11a70215 btrfs-progs: docs: also mention no compression for swapfile
The fact that the +C attribute excludes compression is mentioned in
<https://btrfs.readthedocs.io/en/latest/ch-compression.html#compatibility>.

Also mention it at the swapfile for clarity.

Pull-request: #530
Author: Nikolaos Chatzikonstantinou <nchatz314@gmail.com>
Reviewed-by: David Sterba <dsterba@suse.com>
2022-10-25 21:50:31 +02:00
Jeff Mahoney
f80a6b40b9 btrfs-progs: quota: add -W option to rescan to wait without starting rescan
Adds a new options -W and --wait-norescan to wait for a rescan without
starting a new operation.  This is useful for things like fstests where
we want do to do a "btrfs quota enable" and not continue until the
subsequent rescan has finished.

In addition to documenting the new option in the man page, clean up the
rescan entry to document the -w option a bit better.

Pull-request: #139
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-25 21:12:24 +02:00
Tamara Schmitz
2577fc0751 btrfs-progs: docs: fix option name misspelling
Pull-request: #527
Author: Tamara Schmitz <tamara.schmitz@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-25 21:12:24 +02:00
David Sterba
eb439bb833 btrfs-progs: quota rescan: add long options for status and wait
Add more descriptive long options to 'btrfs quota rescan'.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-25 11:54:58 +02:00
David Sterba
447f976472 btrfs-progs: subvol delete: update EPERM error message
The message could be confusing in case there's no send in progress and
the real reason is lack of permissions when deleting a subvolume.
Mention the permissions as first reason. Also update documentation.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-24 15:14:47 +02:00
David Sterba
6d6695e2a3 btrfs-progs: btrfstune: move -b option to experimental build
The option is listed among normal options but getopt does not recognize
it outside of experimental build, so make it consistent. Also mention
the correct version and need of the special build in documentation.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-17 15:42:38 +02:00
David Sterba
d38e561588 btrfs-progs: docs: fix version when send v2 was introduced
As reported the documentation stated the send protocol v2 support was
supported since 5.18, but that's probably remnants of past revisions of
the patches introducing the support. Correct version is 6.0

Issue: #529
Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-14 12:48:47 +02:00
David Sterba
e15c9612a8 btrfs-progs: docs: add 6.0 development statistics
Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-11 11:08:20 +02:00
David Sterba
7322fc4de2 btrfs-progs: docs: update documentation site references in manual pages
Mention the read-the-docs page in manual pages and update INSTALL and
README.md with a reference.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-11 09:08:12 +02:00
David Sterba
86bfbc889e btrfs-progs: docs: add note about mounted filesystem for tree-stats
Clarify that tree-stats can print inaccurate results or warnings when
the filesystem is mounted. Inspired by
https://bugzilla.kernel.org/show_bug.cgi?id=97481 .

Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-11 09:08:10 +02:00
David Sterba
f7a768d624 btrfs-progs: mkfs: remove support for option --leafsize
The leafsize has never been different from nodesize and since 4.0 (2015)
it's been alias for nodesize. This should be enough time for everybody
to update so the support is removed.

Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-11 09:08:09 +02:00
David Sterba
48c5740e87 btrfs-progs: docs: clarify meaning of mkfs --byte-count
The meaning of the -b/--byte-count option is different than what the
help text says. Historically it was used to set the filesystem size but
with multiple devices it sets the size on each device:

  $ mkfs.btrfs /dev/sdx[1234]
  ...
  Number of devices:  4
  Devices:
     ID        SIZE  PATH
      1     2.00GiB  /dev/sdx1
      2     2.00GiB  /dev/sdx2
      3     2.00GiB  /dev/sdx3
      4     2.00GiB  /dev/sdx4

And when set to 1G:

  $ mkfs.btrfs -b 1G /dev/sdx[1234]
  ...
  Number of devices:  4
  Devices:
     ID        SIZE  PATH
      1     1.00GiB  /dev/sdx1
      2     1.00GiB  /dev/sdx2
      3     1.00GiB  /dev/sdx3
      4     1.00GiB  /dev/sdx4

Signed-off-by: David Sterba <dsterba@suse.com>
2022-10-11 09:08:09 +02:00