Hello community,
here is the log from the commit of package btrfsprogs for openSUSE:Factory checked in at 2015-01-21 21:50:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/btrfsprogs (Old)
and /work/SRC/openSUSE:Factory/.btrfsprogs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "btrfsprogs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/btrfsprogs/btrfsprogs.changes 2015-01-03 22:02:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.btrfsprogs.new/btrfsprogs.changes 2015-01-21 21:51:17.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Jan 14 00:00:00 CET 2015 - dsterba@suse.cz
+
+- version 3.18.1
+ - minor fixes
+ - documentation updates
+
+-------------------------------------------------------------------
Old:
----
btrfs-progs-v3.18.tar.gz
New:
----
btrfs-progs-v3.18.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ btrfsprogs.spec ++++++
--- /var/tmp/diff_new_pack.hlOpiF/_old 2015-01-21 21:51:18.000000000 +0100
+++ /var/tmp/diff_new_pack.hlOpiF/_new 2015-01-21 21:51:18.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package btrfsprogs
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: btrfsprogs
-Version: 3.18
+Version: 3.18.1
Release: 0
Summary: Utilities for the Btrfs filesystem
License: GPL-2.0
++++++ btrfs-progs-v3.18.tar.gz -> btrfs-progs-v3.18.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/Makefile new/btrfs-progs-v3.18.1/Documentation/Makefile
--- old/btrfs-progs-v3.18/Documentation/Makefile 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/Makefile 2015-01-09 19:22:29.000000000 +0100
@@ -113,10 +113,8 @@
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
%.xml : %.txt asciidoc.conf
- $(QUIET_ASCIIDOC)$(RM) $@.tmp[12] $@ && \
- sed -e "s/\(<[^>]\+>\)/'\1'/g" < $< > $@.tmp1 && \
+ $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
- -o $@.tmp2 $@.tmp1 && \
- mv $@.tmp2 $@ && \
- rm -f -- $@.tmp1
+ -o $@+ $< && \
+ mv $@+ $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/asciidoc.conf new/btrfs-progs-v3.18.1/Documentation/asciidoc.conf
--- old/btrfs-progs-v3.18/Documentation/asciidoc.conf 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/asciidoc.conf 2015-01-09 19:22:29.000000000 +0100
@@ -10,6 +10,12 @@
[macros]
(?su)[\\]?(?P<name>linkbtrfs):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
+[tags]
+bracket-emphasis={1?[{1}]}<emphasis><|></emphasis>
+
+[quotes]
+<|>=#bracket-emphasis
+
[attributes]
asterisk=*
plus=+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-balance.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-balance.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-balance.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-balance.txt 2015-01-09 19:22:29.000000000 +0100
@@ -7,7 +7,7 @@
SYNOPSIS
--------
-*btrfs [filesystem] balance* <subcommand>|<args>
+*btrfs balance* <subcommand> <args>
DESCRIPTION
-----------
@@ -16,13 +16,24 @@
See `btrfs-device`(8) for more details about the effect on device management.
+NOTE: The balance subcommand also exists under the *filesystem* namespace. This
+still works for backward compatibility but is deprecated and should not be
+used anymore.
+
+NOTE: A short syntax *btrfs balance <path>* works due to backward compatibility
+but is deprecated and should not be used anymore. Use *btrfs balance start*
+command instead.
+
SUBCOMMAND
----------
-<path>::
-Balance chunks across the devices *online*.
-+
-*btrfs balance <path>* is deprecated,
-please use *btrfs balance start* command instead.
+*cancel* <path>::
+Cancel running or paused balance.
+
+*pause* <path>::
+Pause running balance.
+
+*resume* <path>::
+Resume interrupted balance.
*start* [options] <path>::
Balance chunks across the devices *online*.
@@ -47,15 +58,6 @@
-f::::
force reducing of metadata integrity
-*pause* <path>::
-Pause running balance.
-
-*cancel* <path>::
-Cancel running or paused balance.
-
-*resume* <path>::
-Resume interrupted balance.
-
*status* [-v] <path>::
Show status of running or paused balance.
+
@@ -72,42 +74,43 @@
A filter has the following stucture: ::
'type'[='params'][,'type'=...]
-The available types are: ::
-*profiles*::::
+The available types are:
+
+*profiles*::
Balances only block groups with the given replication profiles. Parameters
are a list of profile names separated by |.
-*usage*::::
+*usage*::
Balances only block groups with usage under the given percentage. The
value of 0 is allowed and will clean up completely unused block groups, this
should not require any new space allocated. You may want to use usage=0 in
case balance is returnin ENOSPC and your filesystem is not too full.
-*devid*::::
+*devid*::
Balances only block groups which have at least one chunk on the given
device (by btrfs device ID -- use btrfs fi show to list device IDs)
-*drange*::::
+*drange*::
Balances only block groups which overlap with the given byte range on any
device. (Use in conjunction with "devid" to filter on a specific device). The
parameter is a range specified as .
-*vrange*::::
+*vrange*::
Balances only block groups which overlap with the given byte range in the
filesystem's internal virtual address space. This is the address space that
most reports from btrfs in the kernel log use. The parameter is a range
specified as .
-*convert*::::
+*convert*::
Convert each selected block group to the given profile name identified by
parameters.
-*limit*::::
+*limit*::
Process only given number of chunks, after all filters apply. This can be used
to specifically target a chunk in connection with other filters (drange,
vrange) or just simply limit the amount of work done by a single balance run.
-*soft*::::
+*soft*::
Takes no parameters. Only has meaning when converting between profiles.
When doing convert from one profile to another and soft mode is on,
restriper won't touch chunks that already have the target profile. This is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-device.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-device.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-device.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-device.txt 2015-01-09 19:22:29.000000000 +0100
@@ -77,6 +77,9 @@
*delete* <dev> [<dev>...] <path>::
Remove device(s) from a filesystem identified by <path>.
+*ready* <device>::
+Check device to see if it has all of it's devices in cache for mounting.
+
*scan* [(--all-devices|-d)|<device> [<device>...]]::
Scan devices for a btrfs filesystem.
+
@@ -86,9 +89,6 @@
Finally, if '--all-devices' or '-d' is passed, all the devices under /dev are
scanned.
-*ready* <device>::
-Check device to see if it has all of it's devices in cache for mounting.
-
*stats* [-z] <path>|<device>::
Read and print the device IO stats for all devices of the filesystem
identified by <path> or for a single <device>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-filesystem.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-filesystem.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-filesystem.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-filesystem.txt 2015-01-09 19:22:29.000000000 +0100
@@ -40,21 +40,8 @@
show sizes in GiB, or GB with --si
-t|--tbytes::::
show sizes in TiB, or TB with --si
-
-If conflicting options are passed, the last one takes precedence.
-
-*show* [--mounted|--all-devices|<path>|<uuid>|<device>|<label>]::
-Show the btrfs filesystem with some additional info.
+
-If no option nor <path>|<uuid>|<device>|<label> is passed, btrfs shows
-information of all the btrfs filesystem both mounted and unmounted.
-If '--mounted' is passed, it would probe btrfs kernel to list mounted btrfs
-filesystem(s);
-If '--all-devices' is passed, all the devices under /dev are scanned;
-otherwise the devices list is extracted from the /proc/partitions file.
-
-*sync* <path>::
-Force a sync for the filesystem identified by <path>.
+If conflicting options are passed, the last one takes precedence.
*defragment* [options] <file>|<dir> [<file>|<dir>...]::
Defragment file data and/or directory metadata *online*.
@@ -77,22 +64,31 @@
defragment files recursively
-f::::
flush filesystem after defragmenting
--s <start>::::
+-s <start>[kKmMgGtTpPeE]::::
defragment only from byte <start> onward
--l <len>::::
+-l <len>[kKmMgGtTpPeE]::::
defragment only up to <len> bytes
--t <size>::::
+-t <size>[kKmMgGtTpPeE]::::
defragment only files at least <size> bytes big
+
-For <start>, <len>, <size> it is possible to append a suffix
-like 'k' for 1 KBytes, 'm' for 1 MBytes...
+For <start>, <len>, <size> it is possible to append
+units designator: \'K', \'M', \'G', \'T', \'P', or \'E', which represent
+KiB, MiB, GiB, TiB, PiB, or EiB, respectively. Case does not matter.
+
WARNING: defragmenting with kernels up to 2.6.37 will unlink COW-ed copies of data,
don't use it if you use snapshots, have de-duplicated your data or made
copies with `cp --reflink`.
+*label* [<dev>|<mountpoint>] [<newlabel>]::
+Show or update the label of a filesystem.
++
+[<device>|<mountpoint>] is used to identify the filesystem.
+If a newlabel optional argument is passed, the label is changed.
++
+NOTE: the maximum allowable length shall be less than 256 chars
+
// Some wording are extracted by the resize2fs man page
-*resize* [<devid>:][+/-]<size>[gkm]|[<devid>:]max <path>::
+*resize* [<devid>:][+/-]<size>[kKmMgGtTpPeE]|[<devid>:]max <path>::
Resize a filesystem identified by <path> for the underlying device
devid *online*. +
The devid can be found with *btrfs filesystem show* and
@@ -102,9 +98,8 @@
by the quantity <size>.
If no units are specified, the unit of the <size> parameter defaults to
bytes. Optionally, the size parameter may be suffixed by one of the following
-units designators: \'K\', \'M\', \'G\', \'T\', \'P\', or \'E\', which represent
-KiB, MiB, GiB, TiB, PiB, or EiB, respectively.
-
+units designators: \'K', \'M', \'G', \'T', \'P', or \'E', which represent
+KiB, MiB, GiB, TiB, PiB, or EiB, respectively. Case does not matter.
+
If \'max' is passed, the filesystem will occupy all available space on the
device devid.
@@ -117,12 +112,18 @@
it with the new desired size. When recreating the partition make sure to use
the same starting disk cylinder as before.
-*label* [<dev>|<mountpoint>] [<newlabel>]::
-Show or update the label of a filesystem.
+*show* [--mounted|--all-devices|<path>|<uuid>|<device>|<label>]::
+Show the btrfs filesystem with some additional info.
+
-[<device>|<mountpoint>] is used to identify the filesystem.
-If a newlabel optional argument is passed, the label is changed.
-NOTE: the maximum allowable length shall be less than 256 chars
+If no option nor <path>|<uuid>|<device>|<label> is passed, btrfs shows
+information of all the btrfs filesystem both mounted and unmounted.
+If '--mounted' is passed, it would probe btrfs kernel to list mounted btrfs
+filesystem(s);
+If '--all-devices' is passed, all the devices under /dev are scanned;
+otherwise the devices list is extracted from the /proc/partitions file.
+
+*sync* <path>::
+Force a sync for the filesystem identified by <path>.
*usage* [options] <path> [<path>...]::
Show detailed information about internal filesystem usage.
@@ -149,7 +150,7 @@
show sizes in TiB, or TB with --si
-T::::
show data in tabular format
-
++
If conflicting options are passed, the last one takes precedence.
EXIT STATUS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-inspect-internal.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-inspect-internal.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-inspect-internal.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-inspect-internal.txt 2015-01-09 19:22:29.000000000 +0100
@@ -41,15 +41,15 @@
This is used to increase inode container's size in case it is
not enough to read all the resolved results. The max value one can set is 64k.
-*subvolid-resolve* <subvolid> <path>::
-Get file system paths for the given subvolume ID.
-
*rootid* <path>::
For a given file or directory, return the containing tree root id. For a
subvolume return it's own tree id.
+
The result is undefined for the so-called empty subvolumes (identified by inode number 2).
+*subvolid-resolve* <subvolid> <path>::
+Get file system paths for the given subvolume ID.
+
EXIT STATUS
-----------
*btrfs inspect-internal* returns a zero exit status if it succeeds. Non zero is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-mount.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-mount.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-mount.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-mount.txt 2015-01-09 19:22:29.000000000 +0100
@@ -91,7 +91,7 @@
operations). This was previously the behavior only when a snapshot is
created.
-*inode_cache*:
+*inode_cache*::
Enable free inode number caching. Defaults to off due to an overflow
problem when the free space crcs don't fit inside a single page.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-property.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-property.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-property.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-property.txt 2015-01-09 19:22:29.000000000 +0100
@@ -28,10 +28,16 @@
itself, a btrfs subvolume, an inode(file or directory) inside btrfs,
or a device on which a btrfs exists.
+
+The '-t <type>' option can be used to explicitly
+specify what type of object you meant. This is only needed when a
+property could be set for more then one object type.
++
+Possible types are 's[ubvol]', 'f[ilesystem]', 'i[node]' and 'd[evice]'.
++
Set the name of property by '<name>'. If no '<name>' is specified,
all properties for the given object are printed. '<name>' is one of
the followings.
-+
+
ro::::
read-only flag of subvolume: true or false
label::::
@@ -39,22 +45,16 @@
compression::::
compression setting for an inode: lzo, zlib, or "" (empty string)
-The '-t <type>' option can be used to explicitly
-specify what type of object you meant. This is only needed when a
-property could be set for more then one object type.
+*list* [-t <type>] <object>::
+Lists available properties with their descriptions for the given object.
+
-Possible types are 's[ubvol]', 'f[ilesystem]', 'i[node]' and 'd[evice]'.
+See the description of *get* subcommand for the meaning of each option.
*set* [-t <type>] <object> <name> <value>::
Sets a property on a btrfs object.
+
See the description of *get* subcommand for the meaning of each option.
-*list* [-t <type>] <object>::
-Lists available properties with their descriptions for the given object.
-+
-See the description of *get* subcommand for the meaning of each option.
-
EXIT STATUS
-----------
*btrfs property* returns a zero exit status if it succeeds. Non zero is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-qgroup.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-qgroup.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-qgroup.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-qgroup.txt 2015-01-09 19:22:29.000000000 +0100
@@ -40,10 +40,6 @@
Assign qgroup <src> as the child qgroup of <dst> in the btrfs filesystem
identified by <path>.
-*remove* <src> <dst> <path>::
-Remove the relationship between child qgroup <src> and parent qgroup <dst> in
-the btrfs filesystem identified by <path>.
-
*create* <qgroupid> <path>::
Create a subvolume quota group.
+
@@ -56,6 +52,17 @@
If a qgroup is no isolated,which means it is a parent or child qgroup, it
can't be destroyed.
+*limit* [options] <size>|none [<qgroupid>] <path>::
+Limit the size of a qgroup to <size> or no limit in the btrfs filesystem
+identified by <path>.
++
+If <qgroupid> is not given, qgroup of the subvolume identified by <path>
+is used if possible.
+
+*remove* <src> <dst> <path>::
+Remove the relationship between child qgroup <src> and parent qgroup <dst> in
+the btrfs filesystem identified by <path>.
+
*show* [options] <path>::
Show all qgroups in the btrfs filesystem identified by <path>.
+
@@ -83,13 +90,6 @@
+
If multiple <attr>s is given, use comma to separate.
-*limit* [options] <size>|none [<qgroupid>] <path>::
-Limit the size of a qgroup to <size> or no limit in the btrfs filesystem
-identified by <path>.
-+
-If <qgroupid> is not given, qgroup of the subvolume identified by <path>
-is used if possible.
-
EXIT STATUS
-----------
*btrfs qgroup* returns a zero exit status if it succeeds. Non zero is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-quota.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-quota.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-quota.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-quota.txt 2015-01-09 19:22:29.000000000 +0100
@@ -22,13 +22,12 @@
SUBCOMMAND
----------
-*enable* <path>::
-Enable subvolume quota support for a filesystem.
-
-
*disable* <path>::
Disable subvolume quota support for a filesystem.
+*enable* <path>::
+Enable subvolume quota support for a filesystem.
+
*rescan* [-s] <path>::
Trash all qgroup numbers and scan the metadata again with the current config.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-replace.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-replace.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-replace.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-replace.txt 2015-01-09 19:22:29.000000000 +0100
@@ -13,14 +13,16 @@
-----------
*btrfs replace* is used to replace btrfs managed devices with other device.
-Note: this is not currently supported for RAID5/6 profiles and must use the
+NOTE: this is not currently supported for RAID5/6 profiles and must use the
device add/delete workaround.
-
It is recommended to see `btrfs-device`(8) for more details about btrfs device
management.
SUBCOMMAND
----------
+*cancel* ::
+Cancel a running device replace operation.
+
*start* [-Bfr] <srcdev>|<devid> <targetdev> <path>::
Replace device of a btrfs filesystem.
+
@@ -49,6 +51,7 @@
A valid filesystem is assumed if a btrfs superblock is found which contains a
correct checksum. Devices which are currently mounted are
never allowed to be used as the <targetdev>.
++
-B::::
no background replace.
@@ -61,9 +64,6 @@
print once instead of print continuously until the replace
operation finishes (or is canceled)
-*cancel* ::
-Cancel a running device replace operation.
-
EXIT STATUS
-----------
*btrfs replace* returns a zero exit status if it succeeds. Non zero is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-restore.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-restore.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-restore.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-restore.txt 2015-01-09 19:22:29.000000000 +0100
@@ -61,7 +61,8 @@
--path-regex <regex>::
restore only filenames matching regex, you have to use following syntax (possibly quoted):
-^/(|home(|/username(|/Desktop(|/.*))))$
++
++^/(|home(|/username(|/Desktop(|/.*))))$+
-c::
ignore case (--path-regrex only).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-scrub.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-scrub.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-scrub.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-scrub.txt 2015-01-09 19:22:29.000000000 +0100
@@ -16,6 +16,24 @@
SUBCOMMAND
----------
+*cancel* <path>|<device>::
+If a scrub is running on the filesystem identified by <path>, cancel it.
++
+Progress is saved in the scrub progress file and scrubbing can be resumed later
+using the scrub resume command.
+If a <device> is given, the corresponding filesystem is found and
+scrub cancel behaves as if it was called on that filesystem.
+
+*resume* [-BdqrR] [-c -n ] <path>|<device>::
+Resume a canceled or interrupted scrub cycle on the filesystem identified by
+<path> or on a given <device>.
++
+Does not start a new scrub if the last scrub finished successfully.
++
+`Options`
++
+see *scrub start*.
+
*start* [-BdqrRf] [-c -n ] <path>|<device>::
Start a scrub on all devices of the filesystem identified by <path> or on
a single <device>. If a scrub is already running, the new one fails.
@@ -41,33 +59,13 @@
-R::::
Raw print mode. Print full data instead of summary.
-c ::::
-Set IO priority class (see
- ionice (1)
-manpage).
+Set IO priority class (see `ionice`(1) manpage).
-n ::::
Set IO priority classdata (see `ionice`(1) manpage).
-f::::
Force starting new scrub even if a scrub is already running.
This is useful when scrub stat record file is damaged.
-*cancel* <path>|<device>::
-If a scrub is running on the filesystem identified by <path>, cancel it.
-+
-Progress is saved in the scrub progress file and scrubbing can be resumed later
-using the scrub resume command.
-If a <device> is given, the corresponding filesystem is found and
-scrub cancel behaves as if it was called on that filesystem.
-
-*resume* [-BdqrR] [-c -n ] <path>|<device>::
-Resume a canceled or interrupted scrub cycle on the filesystem identified by
-<path> or on a given <device>.
-+
-Does not start a new scrub if the last scrub finished successfully.
-+
-`Options`
-+
-see *scrub start*.
-
*status* [-d] <path>|<device>::
Show status of a running scrub for the filesystem identified by <path> or
for the specified <device>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs-subvolume.txt new/btrfs-progs-v3.18.1/Documentation/btrfs-subvolume.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs-subvolume.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs-subvolume.txt 2015-01-09 19:22:29.000000000 +0100
@@ -75,6 +75,14 @@
-C|--commit-each::::
wait for transaction commit after delet each subvolume
+*find-new* <subvolume> ::
+List the recently modified files in a subvolume, after ID.
+
+*get-default* <path>::
+Get the default subvolume of the filesystem <path>.
++
+The output format is similar to *subvolume list* command.
+
*list* [options] [-G [\+|-]<value>] [-C [+|-]<value>] [--sort=rootid,gen,ogen,path] <path>::
List the subvolumes present in the filesystem <path>.
+
@@ -127,19 +135,6 @@
for --sort you can combine some items together by \',', just like
-sort=+ogen,-gen,path,rootid.
-*snapshot* [-r] <source> <dest>|[<dest>/]<name>::
-Create a writable/readonly snapshot of the subvolume <source> with the
-name <name> in the <dest> directory.
-+
-If only <dest> is given, the subvolume will be named the basename of <source>.
-If <source> is not a subvolume, btrfs returns an error.
-If '-r' is given, the snapshot will be readonly.
-
-*get-default* <path>::
-Get the default subvolume of the filesystem <path>.
-+
-The output format is similar to *subvolume list* command.
-
*set-default* <id> <path>::
Set the subvolume of the filesystem <path> which is mounted as
default.
@@ -147,12 +142,17 @@
The subvolume is identified by <id>, which is returned by the *subvolume list*
command.
-*find-new* <subvolume> ::
-List the recently modified files in a subvolume, after ID.
-
*show* <path>::
Show information of a given subvolume in the <path>.
+*snapshot* [-r] <source> <dest>|[<dest>/]<name>::
+Create a writable/readonly snapshot of the subvolume <source> with the
+name <name> in the <dest> directory.
++
+If only <dest> is given, the subvolume will be named the basename of <source>.
+If <source> is not a subvolume, btrfs returns an error.
+If '-r' is given, the snapshot will be readonly.
+
*sync* <path> [subvolid...]::
Wait until given subvolume(s) are completely removed from the filesystem
after deletion. If no subvolume id is given, wait until all ongoing deletion
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/btrfs.txt new/btrfs-progs-v3.18.1/Documentation/btrfs.txt
--- old/btrfs-progs-v3.18/Documentation/btrfs.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/btrfs.txt 2015-01-09 19:22:29.000000000 +0100
@@ -29,65 +29,66 @@
COMMANDS
--------
-*subvolume*::
- Create/delete/list/manage btrfs subvolume. +
- See `btrfs-subvolume`(8) for details.
-
-*filesystem*::
- Manage a btrfs filesystem, including label setting/sync and so on. +
- See `btrfs-filesystem`(8) for details.
-
-*[filesystem] balance*::
+*balance*::
Balance btrfs filesystem chunks across single or several devices. +
See `btrfs-balance`(8) for details.
-*device*::
- Manage devices managed by btrfs, including add/delete/scan and so
- on. +
- See `btrfs-device`(8) for details.
-
-*scrub*::
- Scrub a btrfs filesystem. +
- See `btrfs-scrub`(8) for details.
-
*check*::
Do off-line check on a btrfs filesystem. +
See `btrfs-check`(8) for details.
-*rescue*::
- Try to rescue damaged btrfs filesystem. +
- See `btrfs-rescue`(8) for details.
+*device*::
+ Manage devices managed by btrfs, including add/delete/scan and so
+ on. +
+ See `btrfs-device`(8) for details.
-*restore*::
+*filesystem*::
Manage a btrfs filesystem, including label setting/sync and so on. +
- See `btrfs-restore`(8) for details.
+ See `btrfs-filesystem`(8) for details.
*inspect-internal*::
Debug tools for developers/hackers. +
See `btrfs-inspect-internal`(8) for details.
-*send*::
- Send subvolume data to stdout/file for backup and etc. +
- See `btrfs-send`(8) for details.
+*property*::
+ Get/set a property from/to a btrfs object. +
+ See `btrfs-property`(8) for details.
+
+*qgroup*::
+ Manage quota group(qgroup) for btrfs filesystem. +
+ See `btrfs-qgroup`(8) for details.
-*receive*::
- Receive subvolume data from stdin/file for restore and etc. +
- See `btrfs-receive`(8) for details.
*quota*::
Manage quota on btrfs filesystem like enabling/rescan and etc. +
See `btrfs-quota`(8) and `btrfs-qgroup`(8) for details.
-*qgroup*::
- Manage quota group(qgroup) for btrfs filesystem. +
- See `btrfs-qgroup`(8) for details.
+*receive*::
+ Receive subvolume data from stdin/file for restore and etc. +
+ See `btrfs-receive`(8) for details.
*replace*::
Replace btrfs devices. +
See `btrfs-replace`(8) for details.
-*property*::
- Get/set a property from/to a btrfs object. +
- See `btrfs-property`(8) for details.
+*rescue*::
+ Try to rescue damaged btrfs filesystem. +
+ See `btrfs-rescue`(8) for details.
+
+*restore*::
+ Manage a btrfs filesystem, including label setting/sync and so on. +
+ See `btrfs-restore`(8) for details.
+
+*scrub*::
+ Scrub a btrfs filesystem. +
+ See `btrfs-scrub`(8) for details.
+
+*send*::
+ Send subvolume data to stdout/file for backup and etc. +
+ See `btrfs-send`(8) for details.
+
+*subvolume*::
+ Create/delete/list/manage btrfs subvolume. +
+ See `btrfs-subvolume`(8) for details.
EXIT STATUS
-----------
@@ -103,18 +104,18 @@
SEE ALSO
--------
`mkfs.btrfs`(8), `ionice`(1),
-`btrfs-subvolume`(8),
-`btrfs-filesystem`(8),
`btrfs-balance`(8),
-`btrfs-device`(8),
-`btrfs-scrub`(8),
`btrfs-check`(8),
-`btrfs-rescue`(8),
-`btrfs-restore`(8),
+`btrfs-device`(8),
+`btrfs-filesystem`(8),
`btrfs-inspect-internal`(8),
-`btrfs-send`(8),
-`btrfs-receive`(8),
-`btrfs-quota`(8),
+`btrfs-property`(8),
`btrfs-qgroup`(8),
+`btrfs-quota`(8),
+`btrfs-receive`(8),
`btrfs-replace`(8),
-`btrfs-property`(8),
+`btrfs-rescue`(8),
+`btrfs-restore`(8),
+`btrfs-scrub`(8),
+`btrfs-send`(8),
+`btrfs-subvolume`(8),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/Documentation/mkfs.btrfs.txt new/btrfs-progs-v3.18.1/Documentation/mkfs.btrfs.txt
--- old/btrfs-progs-v3.18/Documentation/mkfs.btrfs.txt 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/Documentation/mkfs.btrfs.txt 2015-01-09 19:22:29.000000000 +0100
@@ -55,23 +55,23 @@
-f|--force::
Force overwrite when an existing filesystem is detected on the device.
-By default, mkfs.btrfs will not write to the device if it suspects that
+By default, mkfs.btrfs will not write to the device if it suspects that
there is a filesystem or partition table on the device already.
--n|--nodesize <size>
-+
-l|--leafsize <size>::
+Alias for --nodesize. Deprecated.
+
+-n|--nodesize <size>::
Specify the nodesize, the tree block size in which btrfs stores
data. The default value is 16KB (16384) or the page size, whichever is
-bigger. Must be a multiple of the sectorsize, but not larger than
-65536. Leafsize always equals nodesize and the options are aliases.
+bigger. Must be a multiple of the sectorsize, but not larger than 65536.
+Leafsize always equals nodesize and the options are aliases.
-L|--label <name>::
Specify a label for the filesystem.
+
NOTE: <name> should be less than 256 characters.
-
-m|--metadata <profile>::
Specify how metadata must be spanned across the devices specified. Valid
values are 'raid0', 'raid1', 'raid5', 'raid6', 'raid10', 'single' or 'dup'.
@@ -83,7 +83,7 @@
metadata duplication.
-M|--mixed::
-Mix data and metadata chunks together for more efficient space
+Mix data and metadata chunks together for more efficient space
utilization. This feature incurs a performance penalty in
larger filesystems. It is recommended for use with filesystems
of 1 GiB or smaller.
@@ -110,8 +110,9 @@
A list of filesystem features turned on at mkfs time. Not all features are
supported by old kernels.
+
-To see all features run::::
-mkfs.btrfs -O list-all
+To see all features run:
++
++mkfs.btrfs -O list-all+
-U|--uuid <UUID>::
Create the filesystem with the specified UUID, which must not already exist on
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/btrfs-convert.c new/btrfs-progs-v3.18.1/btrfs-convert.c
--- old/btrfs-progs-v3.18/btrfs-convert.c 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/btrfs-convert.c 2015-01-09 19:22:29.000000000 +0100
@@ -2675,6 +2675,12 @@
if (bytenr >= total_bytes)
break;
ret = pwrite(fd, buf, sectorsize, bytenr);
+ if (ret != sectorsize) {
+ fprintf(stderr,
+ "error during zeroing supreblock %d: %d\n",
+ i, ret);
+ goto fail;
+ }
}
sb_bytenr = (u64)-1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/btrfs-debug-tree.c new/btrfs-progs-v3.18.1/btrfs-debug-tree.c
--- old/btrfs-progs-v3.18/btrfs-debug-tree.c 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/btrfs-debug-tree.c 2015-01-09 19:22:29.000000000 +0100
@@ -180,8 +180,9 @@
print_usage();
ret = check_arg_type(av[optind]);
- if (ret != BTRFS_ARG_BLKDEV) {
- fprintf(stderr, "'%s' is not a block device\n", av[optind]);
+ if (ret != BTRFS_ARG_BLKDEV && ret != BTRFS_ARG_REG) {
+ fprintf(stderr, "'%s' is not a block device or regular file\n",
+ av[optind]);
exit(1);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/cmds-check.c new/btrfs-progs-v3.18.1/cmds-check.c
--- old/btrfs-progs-v3.18/cmds-check.c 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/cmds-check.c 2015-01-09 19:22:29.000000000 +0100
@@ -1186,9 +1186,9 @@
path.slots[0]++;
}
out:
+ btrfs_release_path(&path);
if (ret < 0)
return ret;
- btrfs_release_path(&path);
return 0;
}
@@ -2308,7 +2308,7 @@
struct inode_record *rec;
struct inode_backref *backref;
int stage = 0;
- int ret;
+ int ret = 0;
int err = 0;
u64 error = 0;
u64 root_dirid = btrfs_root_dirid(&root->root_item);
@@ -2458,7 +2458,8 @@
ret = 0;
}
- error++;
+ if (!(repair && ret == 0))
+ error++;
print_inode_error(root, rec);
list_for_each_entry(backref, &rec->backrefs, list) {
if (!backref->found_dir_item)
@@ -3468,7 +3469,7 @@
struct btrfs_key k1, k2;
int i;
int level = path->lowest_level;
- int ret;
+ int ret = -EIO;
buf = path->nodes[level];
for (i = 0; i < btrfs_header_nritems(buf) - 1; i++) {
@@ -7772,7 +7773,8 @@
root = btrfs_read_fs_root(fs_info, &key);
if (IS_ERR(root)) {
fprintf(stderr, "Error reading data reloc tree\n");
- return PTR_ERR(root);
+ ret = PTR_ERR(root);
+ goto out;
}
record_root_in_trans(trans, root);
ret = btrfs_fsck_reinit_root(trans, root, 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/disk-io.c new/btrfs-progs-v3.18.1/disk-io.c
--- old/btrfs-progs-v3.18/disk-io.c 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/disk-io.c 2015-01-09 19:22:29.000000000 +0100
@@ -693,7 +693,7 @@
if (location->objectid == BTRFS_CSUM_TREE_OBJECTID)
return fs_info->csum_root;
if (location->objectid == BTRFS_QUOTA_TREE_OBJECTID)
- return fs_info->csum_root;
+ return fs_info->quota_root;
BUG_ON(location->objectid == BTRFS_TREE_RELOC_OBJECTID ||
location->offset != (u64)-1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/inode.c new/btrfs-progs-v3.18.1/inode.c
--- old/btrfs-progs-v3.18/inode.c 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/inode.c 2015-01-09 19:22:29.000000000 +0100
@@ -350,6 +350,8 @@
/* For nlinks == 0, add it to orphan list if needed */
if (nlinks == 0 && add_orphan) {
ret = btrfs_add_orphan_item(trans, root, path, ino);
+ if (ret < 0)
+ goto out;
btrfs_mark_buffer_dirty(path->nodes[0]);
btrfs_release_path(path);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/utils.c new/btrfs-progs-v3.18.1/utils.c
--- old/btrfs-progs-v3.18/utils.c 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/utils.c 2015-01-09 19:22:29.000000000 +0100
@@ -854,13 +854,23 @@
return ret;
}
+static int is_reg_file(const char *path)
+{
+ struct stat statbuf;
+
+ if (stat(path, &statbuf) < 0)
+ return -errno;
+ return S_ISREG(statbuf.st_mode);
+}
+
/*
* This function checks if the given input parameter is
* an uuid or a path
- * return -1: some error in the given input
- * return 0: unknow input
- * return 1: given input is uuid
- * return 2: given input is path
+ * return <0 : some error in the given input
+ * return BTRFS_ARG_UNKNOWN: unknown input
+ * return BTRFS_ARG_UUID: given input is uuid
+ * return BTRFS_ARG_MNTPOINT: given input is path
+ * return BTRFS_ARG_REG: given input is regular file
*/
int check_arg_type(const char *input)
{
@@ -877,6 +887,9 @@
if (is_mount_point(path) == 1)
return BTRFS_ARG_MNTPOINT;
+ if (is_reg_file(path))
+ return BTRFS_ARG_REG;
+
return BTRFS_ARG_UNKNOWN;
}
@@ -996,7 +1009,8 @@
return 0;
}
-/* Checks whether a and b are identical or device
+/*
+ * Checks whether a and b are identical or device
* files associated with the same block device
*/
static int is_same_blk_file(const char* a, const char* b)
@@ -1005,36 +1019,31 @@
char real_a[PATH_MAX];
char real_b[PATH_MAX];
- if(!realpath(a, real_a))
- strcpy(real_a, a);
+ if (!realpath(a, real_a))
+ strncpy_null(real_a, a);
if (!realpath(b, real_b))
- strcpy(real_b, b);
+ strncpy_null(real_b, b);
/* Identical path? */
- if(strcmp(real_a, real_b) == 0)
+ if (strcmp(real_a, real_b) == 0)
return 1;
- if(stat(a, &st_buf_a) < 0 ||
- stat(b, &st_buf_b) < 0)
- {
+ if (stat(a, &st_buf_a) < 0 || stat(b, &st_buf_b) < 0) {
if (errno == ENOENT)
return 0;
return -errno;
}
/* Same blockdevice? */
- if(S_ISBLK(st_buf_a.st_mode) &&
- S_ISBLK(st_buf_b.st_mode) &&
- st_buf_a.st_rdev == st_buf_b.st_rdev)
- {
+ if (S_ISBLK(st_buf_a.st_mode) && S_ISBLK(st_buf_b.st_mode) &&
+ st_buf_a.st_rdev == st_buf_b.st_rdev) {
return 1;
}
/* Hardlink? */
if (st_buf_a.st_dev == st_buf_b.st_dev &&
- st_buf_a.st_ino == st_buf_b.st_ino)
- {
+ st_buf_a.st_ino == st_buf_b.st_ino) {
return 1;
}
@@ -1934,8 +1943,10 @@
int ret = 0;
int ndevs = 0;
int i = 0;
+ int replacing = 0;
struct btrfs_fs_devices *fs_devices_mnt = NULL;
struct btrfs_ioctl_dev_info_args *di_args;
+ struct btrfs_ioctl_dev_info_args tmp;
char mp[BTRFS_PATH_NAME_MAX + 1];
DIR *dirstream = NULL;
@@ -2003,6 +2014,19 @@
ret = search_chunk_tree_for_fs_info(fd, fi_args);
if (ret)
goto out;
+
+ /*
+ * search_chunk_tree_for_fs_info() will lacks the devid 0
+ * so manual probe for it here.
+ */
+ ret = get_device_info(fd, 0, &tmp);
+ if (!ret) {
+ fi_args->num_devices++;
+ ndevs++;
+ replacing = 1;
+ if (i == 0)
+ i++;
+ }
}
if (!fi_args->num_devices)
@@ -2014,6 +2038,8 @@
goto out;
}
+ if (replacing)
+ memcpy(di_args, &tmp, sizeof(tmp));
for (; i <= fi_args->max_id; ++i) {
ret = get_device_info(fd, i, &di_args[ndevs]);
if (ret == -ENODEV)
@@ -2347,7 +2373,7 @@
if (!dev)
continue;
/* if we are here its definitely a btrfs disk*/
- strncpy(path, blkid_dev_devname(dev), PATH_MAX);
+ strncpy_null(path, blkid_dev_devname(dev));
fd = open(path, O_RDONLY);
if (fd < 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/utils.h new/btrfs-progs-v3.18.1/utils.h
--- old/btrfs-progs-v3.18/utils.h 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/utils.h 2015-01-09 19:22:29.000000000 +0100
@@ -35,6 +35,7 @@
#define BTRFS_ARG_MNTPOINT 1
#define BTRFS_ARG_UUID 2
#define BTRFS_ARG_BLKDEV 3
+#define BTRFS_ARG_REG 4
#define BTRFS_UUID_UNPARSED_SIZE 37
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/btrfs-progs-v3.18/version.sh new/btrfs-progs-v3.18.1/version.sh
--- old/btrfs-progs-v3.18/version.sh 2014-12-30 17:23:12.000000000 +0100
+++ new/btrfs-progs-v3.18.1/version.sh 2015-01-09 19:22:29.000000000 +0100
@@ -6,7 +6,7 @@
# Copyright 2008, Oracle
# Released under the GNU GPLv2
-v="v3.18"
+v="v3.18.1"
lib_major=0
lib_minor=1
++++++ local-version-override.patch ++++++
--- /var/tmp/diff_new_pack.hlOpiF/_old 2015-01-21 21:51:18.000000000 +0100
+++ /var/tmp/diff_new_pack.hlOpiF/_new 2015-01-21 21:51:18.000000000 +0100
@@ -6,8 +6,8 @@
# Copyright 2008, Oracle
# Released under the GNU GPLv2
--v="v3.18"
-+v="v3.18+20141230"
+-v="v3.18.1"
++v="v3.18.1+20150114"
lib_major=0
lib_minor=1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org