Commit Graph

228 Commits

Author SHA1 Message Date
David Sterba
87c1bd13c1 btrfs-progs: check: adjust command line options for the low-memory mode
Change the single-purpose option --low-memory to a generic option that
takes the mode. Currently supported are the original mode and the
low-memory in the same way.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-08-17 20:00:00 +02:00
Lu Fengqi
bfecd8bd6a btrfs-progs: check: introduce low memory mode
Introduce a new fsck mode: low memory mode.

Old btrfsck is working efficiently but uses some memory for each extent
item.  This method will ensure extents are only iterated once at
extent/chunk tree check process.

But since it uses some memory for each extent item, for a large fs with
several TB metadata, this can easily eat up memory and cause OOM.

To handle such limitation and improve scalability, the new low-memory
mode will not use any heap memory to record which extent is checked.
Instead it will use extent backref to avoid most of uneeded checks on
shared fs/subvolume tree blocks.
And with the use forward and backward reference cross check, we can also
ensure every tree block is at least checked once.

Signed-off-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-08-17 19:04:51 +02:00
David Sterba
2f732723d6 btrfs-progs: fi defrag: change default extent target size to 32 MiB
The kernel default is too low, 32 MiB is recommended and should give
better results.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-28 14:08:30 +02:00
Qu Wenruo
2542112e0c btrfs-progs: Doc: Fix format error in btrfs-send
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-28 14:08:30 +02:00
David Sterba
7ce43670da btrfs-progs: docs: update btrfs-balance manual page
Update the new options.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-28 14:08:29 +02:00
Austin S. Hemmelgarn
fe520b5cdc btrfs-progs: add option to run balance as daemon
Currently, balance operations are run synchronously in the foreground.
This is nice for interactive management, but is kind of crappy when you
start looking at automation and similar things.

This patch adds an option to `btrfs balance start` to tell it to
daemonize prior to running the balance operation, thus allowing us to
preform balances asynchronously.  The two biggest use cases I have for
this are starting a balance on a remote server without establishing a
full shell session, and being able to background the balance in a
recovery shell (which usually has no job control) so I can still get
progress information.

Because it simply daemonizes prior to calling the balance ioctl, this
doesn't actually need any kernel support.

Signed-off-by: Austin S. Hemmelgarn <ahferroin7@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-26 19:26:29 +02:00
David Sterba
94d9fbbf01 btrfs-progs: docs: update btrfs manual page
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-15 00:50:08 +02:00
David Sterba
4ec42ec46c btrfs-progs: docs: update btrfs-convert manual page
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-15 00:20:48 +02:00
David Sterba
e7d6760b1c btrfs-progs: docs: update btrfs-filesystem manual page
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-14 23:43:38 +02:00
David Sterba
4692425c3f btrfs-progs: docs: update btrfs-scrub manual page
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-14 23:35:26 +02:00
David Sterba
c3e1703005 btrfs-progs: docs: update btrfs-subvolume manual page
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-13 18:44:52 +02:00
David Sterba
97bb68ebf3 btrfs-progs: docs: update btrfs-balance manual page
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-13 18:44:52 +02:00
David Sterba
e67219255c btrfs-progs: docs: man5, document control device
Signed-off-by: David Sterba <dsterba@suse.com>
2016-07-13 18:44:45 +02:00
David Sterba
b40233fa2e btrfs-progs: docs: update 'btrfs-device' manual page
Signed-off-by: David Sterba <dsterba@suse.com>
2016-06-21 02:50:27 +02:00
David Sterba
b8288277fb btrfs-progs: docs: update btrfs-restore manual page
Signed-off-by: David Sterba <dsterba@suse.com>
2016-06-17 17:02:12 +02:00
Satoru Takeuchi
68702ea009 btrfs-progs: doc: correct the destination of btrfs-receive
We can set not only btrfs mount point but also any path belong to
btrfs mount point as btrfs-receive's destination.

Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-06-14 10:52:17 +02:00
Noah Massey
935d22ed15 btrfs-progs: doc: add missing newline in btrfs-convert
Signed-off-by: Noah Massey <noah.massey@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-06-14 10:47:15 +02:00
Merlin Hartley
57744bd1d2 btrfs-progs: doc: fix typo in btrfs-subvolume
Signed-off-by: Merlin Hartley <merlinhartley@hotmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-06-01 14:56:56 +02:00
David Sterba
16570509f6 btrfs-progs: docs: compression is disabled with nodatasum/nodatacow
Explicitly mention the constraints in all involved options.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-06-01 14:56:56 +02:00
M G Berberich
09c052a8b4 btrfs-progs: send: add quiet option
Add new options -q,--quiet to prevent printing messages on stderr, added
--verbose as alternative for -v.  Moved 'Mode NO_FILE_DATA enabled'
message to stderr. The default verboisty level is 1 to keep some
backward compatibility.

Signed-off-by: M G Berberich <btrfs@oss.m-berberich.de>
[ minor adjustments in the options, help text and changelog, added
  manual page text ]
Signed-off-by: David Sterba <dsterba@suse.com>
2016-06-01 14:56:56 +02:00
David Sterba
21dc9050b5 btrfs-progs: docs: clarify why mkfs selects single for SSDs
The section raised some user questions on IRC.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-11 16:37:12 +02:00
David Sterba
5079ae684a btrfs-progs: docs: update btrfs-check
Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-11 16:37:12 +02:00
David Sterba
ce69f8c36e btrfs-progs: docs: update btrfs-select-super
Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-11 16:37:12 +02:00
David Sterba
ae213f7633 btrfs-progs: docs: update btrfs-receive
Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-11 16:37:12 +02:00
David Sterba
eb3092c2a1 btrfs-progs: docs: update btrfs-send
Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-11 16:37:12 +02:00
David Sterba
162257574a btrfs-progs: docs: update btrfs-scrub
Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-11 16:37:12 +02:00
David Sterba
b3751c131a btrfs-progs: docs: update btrfs-man5
Wording, added new options.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-11 16:37:12 +02:00
David Sterba
c54b5a545e btrfs-progs: add safety delay before starting full balance
A short delay with a warning before starting a full balance should
improve usability. We have been getting reports from people who run full
balance after following some random advice and then get surprised by the
performance impact.

The countdown is done even when run from scripts, but as the whole
balance takes significanly more time, this shouldn't be an issue.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-02 14:44:56 +02:00
Alexander Fougner
1a9df1c68b btrfs-progs: update docs and completion for tree-stats
Signed-off-by: Alexander Fougner <fougner89@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-05-02 14:39:57 +02:00
David Sterba
a5948c56bf btrfs-progs: docs: update mkfs page for dup on multidev fs
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-30 16:56:32 +02:00
David Sterba
40dc7c504c btrfs-progs: docs: man5, add space_cache=v2
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-17 14:49:32 +01:00
David Sterba
c58e4d40bf btrfs-progs: docs: fi defrag, make some paragraphs more visible
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-16 19:03:05 +01:00
Satoru Takeuchi
4b80569b58 btrfs-progs: Describe optarg of -m option in the manpage of receive
Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-16 10:16:20 +01:00
David Sterba
fabe745d3b btrfs-progs: docs: add filesystem du
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-15 18:25:05 +01:00
David Sterba
80414d6939 btrfs-progs: remove btrfs-show-super manual page and point to inspect-internal
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-15 17:27:34 +01:00
David Sterba
7aedf5067b btrfs-progs: docs: update dump-super
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-15 17:16:00 +01:00
David Sterba
029b2433eb btrfs-progs: docs: rename and move dump-super
The command name is 'dump-super', move the section to it's alphabetical
order.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-15 16:44:55 +01:00
Anand Jain
2490de5da5 btrfs-progs: Introduce device delete by devid
This patch introduces new option <devid> for the command

  btrfs device delete <device_path|devid>[..]  <mnt>

In a user reported issue on a 3-disk-RAID1, one disk failed with its
SB unreadable. Now with this patch user will have a choice to delete
the device using devid.

The other method we could do, is to match the input device_path
to the available device_paths with in the kernel. But that won't
work in all the cases, like what if user provided mapper path
when the path within the kernel is a non-mapper path.

This patch depends on the below kernel patch for the new feature to work,
however it will fail-back to the old interface for the kernel without the
patch

  Btrfs: Introduce device delete by devid

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 14:11:33 +01:00
David Sterba
5f17513313 btrfs-progs: docs: fix more typos and spelling errors
With help of ispell.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 14:11:31 +01:00
Alexander Fougner
1086629272 btrfs-progs: docs: fix spelling errors
Signed-off-by: Alexander Fougner <fougner89@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:44:17 +01:00
David Sterba
83ad1dcbb0 btrfs-progs: remove btrfs-debug-tree manual page and point to inspect-internal
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
David Sterba
69874af7b8 btrfs-progs: dump-tree: let --tree understand name of the tree
For practical purposes teach -t about the human readable names of the
trees in addition to the numerical id. The name syntax is flexible.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
David Sterba
1538bc01ad btrfs-progs: docs: update dump-tree
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
Satoru Takeuchi
142041bb03 btrfs-progs: Describe device scan -d is a deprecated option in manpage
It's already marked as deprecated in cmd_device_scan_usage().

commit 5444864e56 ("btrfs-progs: remove BTRFS_SCAN_PROC scan method")

Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
David Sterba
28d924290e btrfs-progs: docs: update check options
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
Vytas Dauksa
1e8246a058 btrfs-progs: convert: document -O|--features flag
Copy-pasted description found at mkfs.btrfs. I did not bother with
feature list as it seemed to be incomplete.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
Alexander Fougner
c27640938d btrfs-progs: docs: add note about resizing to max after device replace
Signed-off-by: Alexander Fougner <fougner89@gmail.com>
[ formatting adjustments ]
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
Alexander Fougner
2ae0b12df0 btrfs-progs: update docs for inspect-internal dump-super
Signed-off-by: Alexander Fougner <fougner89@gmail.com>
[ minor formatting updates ]
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
Alexander Fougner
a7dae09ae2 btrfs-progs: update docs and completion for inspect-internal dump-tree
Signed-off-by: Alexander Fougner <fougner89@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
Satoru Takeuchi
194a4053f9 btrfs-progs: describe btrfs-send requires read-only subvolume
Both man btrfs-send(8) and usage message don't describe
btrfs-send needs read-only snapshot as its argument.

Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-02-04 15:19:32 +01:00