Hello community,

here is the log from the commit of package btrfsmaintenance for 
openSUSE:Factory checked in at 2017-04-11 09:46:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/btrfsmaintenance (Old)
 and      /work/SRC/openSUSE:Factory/.btrfsmaintenance.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "btrfsmaintenance"

Tue Apr 11 09:46:45 2017 rev:7 rq:486446 version:0.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/btrfsmaintenance/btrfsmaintenance.changes        
2016-03-16 10:38:43.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.btrfsmaintenance.new/btrfsmaintenance.changes   
2017-04-11 09:46:47.403292020 +0200
@@ -1,0 +2,22 @@
+Fri Apr  7 00:00:00 CEST 2017 - dste...@suse.cz
+
+- version 0.3.1
+  - dist-install: fix installation paths, install functions
+  - functions: fix syntax to be compatible with dash
+  - spec: install functions file
+
+-------------------------------------------------------------------
+Tue Nov 15 00:00:00 CET 2016 - dste...@suse.cz
+
+- version 0.3
+  - add syslog to logging targets
+  - add none target (/dev/null)
+  - autodetect btrfs filesystems for balance, scrub and trim
+  - detect mixed blockgroups and use correct balance filters
+  - fix uninstall rules
+  - fix capturing entire output to the log
+  - fix when cron files are symlinks
+  - add generic installation script
+  - doc updates: retention policy tuning
+
+-------------------------------------------------------------------

Old:
----
  btrfsmaintenance-0.2.tar.bz2

New:
----
  btrfsmaintenance-0.3.1.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ btrfsmaintenance.spec ++++++
--- /var/tmp/diff_new_pack.8UaTwv/_old  2017-04-11 09:46:47.979210664 +0200
+++ /var/tmp/diff_new_pack.8UaTwv/_new  2017-04-11 09:46:47.983210099 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package btrfsmaintenance
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX 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:           btrfsmaintenance
-Version:        0.2
+Version:        0.3.1
 Release:        0
 Summary:        Scripts for btrfs periodic maintenance tasks
 License:        GPL-2.0
@@ -56,6 +56,7 @@
 install -m 755 btrfs-scrub.sh %{buildroot}%{_datadir}/%{name}
 install -m 755 btrfs-trim.sh %{buildroot}%{_datadir}/%{name}
 install -m 755 btrfsmaintenance-refresh-cron.sh %{buildroot}%{_datadir}/%{name}
+install -m 644 btrfsmaintenance-functions %{buildroot}%{_datadir}/%{name}
 
 %if 0%{?suse_version} >= 1210
 install -m 755 -d %{buildroot}%{_unitdir}

++++++ btrfsmaintenance-0.2.tar.bz2 -> btrfsmaintenance-0.3.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/README.md 
new/btrfsmaintenance-0.3.1/README.md
--- old/btrfsmaintenance-0.2/README.md  2016-03-04 18:03:27.000000000 +0100
+++ new/btrfsmaintenance-0.3.1/README.md        2017-04-07 14:41:46.299279436 
+0200
@@ -146,6 +146,11 @@
 
 ### Installation ###
 
+For debian based systems, run `debian-install.sh` as root.
+
+For non-debian based systems, check for distro provided package or
+do manual installation of files as described below.
+
 * `btrfs-*.sh` task scripts are expected at `/usr/share/btrfsmaintenance`
 * `sysconfig.btrfsmaintenance` configuration template is put to:
  * `/etc/sysconfig/btrfsmaintenance` on SUSE and RedHat based systems or 
derivatives
@@ -157,7 +162,7 @@
 ### cron jobs ###
 
 The periodic execution of the tasks is done by the 'cron' service.  Symlinks to
-th task scripts are located in the respective directories in
+the task scripts are located in the respective directories in
 `/etc/cron.<PERIOD>`.
 
 The script `btrfsmaintenance-refresh-cron.sh` will synchronize the symlinks
@@ -185,6 +190,170 @@
 values and can be deployed without changes (expecting the root filesystem to be
 btrfs).
 
+## Tuning periodic snapshotting ##
+
+There are various tools and handwritten scripts to manage periodic snapshots
+and cleaning. The common problem is tuning the retention policy constrained by
+the filesystem size and not running out of space.
+
+This section will describe factors that affect that, using 
[snapper](https://snapper.io)
+as an example, but adapting to other tools should be straightforward.
+
+### Intro ###
+
+Snapper is a tool to manage snapshots of btrfs subvolumes. It can create
+snapshots of given subvolume manually, periodically or in a pre/post way for
+a given command. It can be configured to retain existing snapshots according
+to time-based settings. As the retention policy can be very different for
+various usecases, we need to be able to find matching settings.
+
+The settings should satisfy user's expectation about storing previous copies of
+the subvolume but not taking too much space. In an extreme, consuming the whole
+filesystem space and preventing some operations to finish.
+
+In order to avoid such situations, the snapper settings should be tuned 
according
+to the expected usecase and filesystem size.
+
+### Sample problem ###
+
+Default settings of snapper on default root partition size can easily lead to
+no-space conditions (all TIMELINE values set to 10). Frequent system updates
+make it happen earlier, but this also affects long-term use.
+
+### Factors affecting space consumption ###
+
+1. frequency of snapshotting
+2. amount of data changes between snapshots (delta)
+4. snapshot retention settings
+3. size of the filesystem
+
+Each will be explained below.
+
+The way how the files are changed affects the space consumption. When a new
+data overwrite existing, the new data will be pinned by the following snapshot,
+while the original data will belong to previous snapshot.  This means that the
+allocated file blocks are freed after the last snapshot pointing to them is
+gone.
+
+### Tuning
+
+The administrator/user is suppsed to know the approximate use of the partition
+with snapshots enabled.
+
+The decision criteria for tuning is space consumption and we're optimizing to
+maximize retention without running out of space.
+
+All the factors are intertwined and we cannot give definite answers but rather
+describe the tendencies.
+
+#### Snapshotting frequency
+
+* **automatic**: if turned on with the `TIMELINE` config option, the periodic
+  snapshots are taken hourly. The daily/weekly/monthly/yearly periods will keep
+  the first hourly snapshot in the given period.
+
+* **at package update**: package manager with snapper support will create
+  pre/post snapshots before/after an update happens.
+
+* **manual**: the user can create a snapshot manually with `snapper create`,
+  with a given snapshot type (ie. single, pre, post).
+
+#### Amount of data change
+
+This is a parameter hard to predict and calculate. We work with rough
+estimates, eg. megabytes, gigabytes etc.
+
+#### Retention settings
+
+The user is supposed to know possible needs of recovery or examination of
+previous file copies stored in snapshots.
+
+It's not recommended to keep too old snapshots, eg. monthly or even yearly if
+there's no apparent need for that. The yearly snapshots should not substitute
+backups, as they reside on the same partition and cannot be used for recovery.
+
+#### Filesystem size
+
+Bigger filesystem allows for longer retention, higher frequency updates and
+amount of data changes.
+
+As an example of a system root partition, the recommended size is 30 GiB, but
+50 GiB is selected by the installer if the snapshots are turned on.
+
+For non-system partition it is recommended to watch remaining free space.
+Although getting an accurate value on btrfs is tricky, due to shared extents
+and snapshots, the output of `df` gives a rough idea. Low space, like under a
+few gigabytes is more likely to lead to no-space conditions, so it's a good
+time to delete old snapshots or review the snapper settings.
+
+
+### Typical usecases
+
+#### A rolling distro
+
+* frequency of updates: high, multiple times per week
+* amount of data changed between updates: high
+
+Suggested values:
+
+    TIMELINE_LIMIT_HOURLY="12"
+    TIMELINE_LIMIT_DAILY="5"
+    TIMELINE_LIMIT_MONTHLY="1"
+    TIMELINE_LIMIT_YEARLY="0"
+
+The size of root partition should be at least 30GiB, but more is better.
+
+#### Regular/enterprise distro
+
+* frequency of updates: low, a few times per month
+* amount of data changed between updates: low to moderate
+
+Most data changes come probably from the package updates, in the range of
+hundreds of megabytes per update.
+
+Suggested values:
+
+    TIMELINE_LIMIT_HOURLY="12"
+    TIMELINE_LIMIT_DAILY="7"
+    TIMELINE_LIMIT_MONTHLY="6"
+    TIMELINE_LIMIT_YEARLY="1"
+
+#### Big file storage
+
+* frequency of updates: moderate to high
+* amount of data changed between updates: no changes in files, new files 
added, old deleted
+
+Suggested values:
+
+    TIMELINE_LIMIT_HOURLY="12"
+    TIMELINE_LIMIT_DAILY="7"
+    TIMELINE_LIMIT_MONTHLY="6"
+    TIMELINE_LIMIT_YEARLY="0"
+
+Note, that deleting a big file that has been snapshotted will not free the 
space
+until all relevant snapshots are deleted.
+
+#### Mixed
+
+* frequency of updates: unpredictable
+* amount of data changed between updates: unpredictable
+
+Examples:
+
+* home directory with small files (in range of kilobytes to megabytes), large 
files (hundreds of megabytes to gigabytes).
+* git trees, bare and checked out repositories
+
+Not possible to suggest config numbers as it really depends on user
+expectations. Keeping a few hourly snapshots should not consume too much space
+and provides a copy of files, eg. to restore after accidental deletion.
+
+Starting point:
+
+    TIMELINE_LIMIT_HOURLY="12"
+    TIMELINE_LIMIT_DAILY="7"
+    TIMELINE_LIMIT_MONTHLY="0"
+    TIMELINE_LIMIT_YEARLY="0"
+
 ## About ##
 
 The goal of this project is to help administering btrfs filesystems. It is not
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/btrfs-balance.sh 
new/btrfsmaintenance-0.3.1/btrfs-balance.sh
--- old/btrfsmaintenance-0.2/btrfs-balance.sh   2016-03-04 18:03:27.000000000 
+0100
+++ new/btrfsmaintenance-0.3.1/btrfs-balance.sh 2017-04-07 14:41:46.271278542 
+0200
@@ -20,10 +20,13 @@
 fi
 
 LOGIDENTIFIER='btrfs-balance'
+. $(dirname $(realpath $0))/btrfsmaintenance-functions
 
 {
+evaluate_auto_mountpoint BTRFS_BALANCE_MOUNTPOINTS
 OIFS="$IFS"
 IFS=:
+exec 2>&1 # redirect stderr to stdout to catch all output to log destination
 for MM in $BTRFS_BALANCE_MOUNTPOINTS; do
        IFS="$OIFS"
        if [ $(stat -f --format=%T "$MM") != "btrfs" ]; then
@@ -33,16 +36,31 @@
        echo "Before balance of $MM"
        btrfs filesystem df "$MM"
        df -H "$MM"
-       btrfs balance start -dusage=0 "$MM"
-       for BB in $BTRFS_BALANCE_DUSAGE; do
-               # quick round to clean up the unused block groups
-               btrfs balance start -v -dusage=$BB "$MM"
-       done
-       btrfs balance start -musage=0 "$MM"
-       for BB in $BTRFS_BALANCE_MUSAGE; do
-               # quick round to clean up the unused block groups
-               btrfs balance start -v -musage="$BB" "$MM"
-       done
+
+       if detect_mixed_bg "$MM"; then
+               btrfs balance start -musage=0 -dusage=0 "$MM"
+               # we use the MUSAGE values for both, supposedly less aggressive
+               # values, but as the data and metadata space is shared on
+               # mixed-bg this does not lead to the situations we want to
+               # prevent when the blockgroups are split (ie. underused
+               # blockgroups)
+               for BB in $BTRFS_BALANCE_MUSAGE; do
+                       # quick round to clean up the unused block groups
+                       btrfs balance start -v -musage=$BB -dusage=$BB "$MM"
+               done
+       else
+               btrfs balance start -dusage=0 "$MM"
+               for BB in $BTRFS_BALANCE_DUSAGE; do
+                       # quick round to clean up the unused block groups
+                       btrfs balance start -v -dusage=$BB "$MM"
+               done
+               btrfs balance start -musage=0 "$MM"
+               for BB in $BTRFS_BALANCE_MUSAGE; do
+                       # quick round to clean up the unused block groups
+                       btrfs balance start -v -musage="$BB" "$MM"
+               done
+       fi
+
        echo "After balance of $MM"
        btrfs filesystem df "$MM"
        df -H "$MM"
@@ -52,6 +70,8 @@
 case "$BTRFS_LOG_OUTPUT" in
        stdout) cat;;
        journal) systemd-cat -t "$LOGIDENTIFIER";;
+       syslog) logger -t "$LOGIDENTIFIER";;
+       none) cat >/dev/null;;
        *) cat;;
 esac
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/btrfs-defrag.sh 
new/btrfsmaintenance-0.3.1/btrfs-defrag.sh
--- old/btrfsmaintenance-0.2/btrfs-defrag.sh    2016-03-04 18:03:27.000000000 
+0100
+++ new/btrfsmaintenance-0.3.1/btrfs-defrag.sh  2017-04-07 14:41:46.275278670 
+0200
@@ -24,6 +24,7 @@
 {
 OIFS="$IFS"
 IFS=:
+exec 2>&1 # redirect stderr to stdout to catch all output to log destination
 for P in $BTRFS_DEFRAG_PATHS; do
        IFS="$OIFS"
        if [ $(stat -f --format=%T "$P") != "btrfs" ]; then
@@ -38,6 +39,8 @@
 case "$BTRFS_LOG_OUTPUT" in
        stdout) cat;;
        journal) systemd-cat -t "$LOGIDENTIFIER";;
+       syslog) logger -t "$LOGIDENTIFIER";;
+       none) cat >/dev/null;;
        *) cat;;
 esac
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/btrfs-scrub.sh 
new/btrfsmaintenance-0.3.1/btrfs-scrub.sh
--- old/btrfsmaintenance-0.2/btrfs-scrub.sh     2016-03-04 18:03:27.000000000 
+0100
+++ new/btrfsmaintenance-0.3.1/btrfs-scrub.sh   2017-04-07 14:41:46.275278670 
+0200
@@ -20,6 +20,7 @@
 fi
 
 LOGIDENTIFIER='btrfs-scrub'
+. $(dirname $(realpath $0))/btrfsmaintenance-functions
 
 readonly=
 if [ "$BTRFS_SCRUB_READ_ONLY" = "true" ]; then
@@ -33,8 +34,10 @@
 fi
 
 {
+evaluate_auto_mountpoint BTRFS_SCRUB_MOUNTPOINTS
 OIFS="$IFS"
 IFS=:
+exec 2>&1 # redirect stderr to stdout to catch all output to log destination
 for MNT in $BTRFS_SCRUB_MOUNTPOINTS; do
        IFS="$OIFS"
        echo "Running scrub on $MNT"
@@ -53,6 +56,8 @@
 case "$BTRFS_LOG_OUTPUT" in
        stdout) cat;;
        journal) systemd-cat -t "$LOGIDENTIFIER";;
+       syslog) logger -t "$LOGIDENTIFIER";;
+       none) cat >/dev/null;;
        *) cat;;
 esac
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/btrfs-trim.sh 
new/btrfsmaintenance-0.3.1/btrfs-trim.sh
--- old/btrfsmaintenance-0.2/btrfs-trim.sh      2016-03-04 18:03:27.000000000 
+0100
+++ new/btrfsmaintenance-0.3.1/btrfs-trim.sh    2017-04-07 14:41:46.279278798 
+0200
@@ -20,10 +20,13 @@
 fi
 
 LOGIDENTIFIER='btrfs-trim'
+. $(dirname $(realpath $0))/btrfsmaintenance-functions
 
 {
+evaluate_auto_mountpoint BTRFS_TRIM_MOUNTPOINTS
 OIFS="$IFS"
 IFS=:
+exec 2>&1 # redirect stderr to stdout to catch all output to log destination
 for MNT in $BTRFS_TRIM_MOUNTPOINTS; do
        IFS="$OIFS"
        if [ $(stat -f --format=%T "$MNT") != "btrfs" ]; then
@@ -38,6 +41,8 @@
 case "$BTRFS_LOG_OUTPUT" in
        stdout) cat;;
        journal) systemd-cat -t "$LOGIDENTIFIER";;
+       syslog) logger -t "$LOGIDENTIFIER";;
+       none) cat >/dev/null;;
        *) cat;;
 esac
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/btrfsmaintenance-functions 
new/btrfsmaintenance-0.3.1/btrfsmaintenance-functions
--- old/btrfsmaintenance-0.2/btrfsmaintenance-functions 1970-01-01 
01:00:00.000000000 +0100
+++ new/btrfsmaintenance-0.3.1/btrfsmaintenance-functions       2017-04-07 
14:41:46.303279563 +0200
@@ -0,0 +1,68 @@
+#!/bin/bash
+#
+# this file contains common code for the btrfs maintenance scripts
+#
+
+# function: evaluate_auto_mountpoint
+# parameter: A variable name
+#
+# this function checks whether the variable contains the special keyword "auto"
+# if yes, all currently mounted btrfs filesystems are evaluated and their 
mountpoints
+# are put into the parameter variable
+evaluate_auto_mountpoint() {
+       MOUNTPOINTSVAR=\$"$1"
+       if [ "$(eval "expr \"$MOUNTPOINTSVAR\"")" = "auto" ]; then
+               local BTRFS_DEVICES=""
+               local DEVICE=""
+               local MNT=""
+               local MNTLIST=""
+               # find all mounted btrfs filesystems, print their device nodes, 
sort them
+               # and remove identical entries
+               BTRFS_DEVICES=$(findmnt --types btrfs --output "SOURCE" 
--nofsroot --noheading | sort | uniq)
+               # find one (and only one) corresponding mountpoint for each 
btrfs device node
+               for DEVICE in $BTRFS_DEVICES; do
+                       MNT=$(findmnt --types btrfs --first-only --noheadings 
--output "TARGET" --source "$DEVICE")
+                       if [ -n "$MNTLIST" ]; then
+                               MNTLIST="$MNTLIST:$MNT"
+                       else
+                               MNTLIST="$MNT"
+                       fi
+               done
+               echo "evaluate mounted filesystems: $MNTLIST"
+               eval "$1=$MNTLIST"
+       fi
+}
+
+# function: detect_mixed_bg
+# parameter: path to a mounted filesystem
+#
+# check if the filesystem contains mixed block groups,
+detect_mixed_bg() {
+       # simple test is to read 'btrfs fi df',
+       # (we could look for /sys/sfs/btrfs/UUID/allocation/mixed if we know
+       # the UUID)
+
+       btrfs filesystem df "$1" | grep -q "Data+Metadata"
+}
+
+# function: check_scrub_running
+# parameter: path to a mounted filesystem
+#
+# check if scrub is in progress on a given filesystem, return 0 if it is so
+check_scrub_running() {
+       btrfs scrub status "$1" | grep -q "scrub.*running for"
+}
+
+# function: check_balance_running
+# parameter: path to a mounted filesystem
+#
+# check if balance is in progress on a given filesystem, return 0 if it is so
+check_balance_running() {
+       # 0: not in progress
+       # 1: in progress
+       # 2: other error (EPERM)
+       if btrfs balance status "$1" >& /dev/null; then
+               return 1
+       fi
+       return 0
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/btrfsmaintenance-0.2/btrfsmaintenance-refresh-cron.sh 
new/btrfsmaintenance-0.3.1/btrfsmaintenance-refresh-cron.sh
--- old/btrfsmaintenance-0.2/btrfsmaintenance-refresh-cron.sh   2016-03-04 
18:03:27.000000000 +0100
+++ new/btrfsmaintenance-0.3.1/btrfsmaintenance-refresh-cron.sh 2017-04-07 
14:41:46.275278670 +0200
@@ -19,7 +19,8 @@
 if [ "$1" = 'uninstall' ]; then
        for SCRIPT in btrfs-scrub.sh btrfs-defrag.sh btrfs-balance.sh 
btrfs-trim.sh; do
                for PERIOD in daily weekly monthly; do
-                       FILE="/etc/cron.$PERIOD/$SCRIPT"
+                       LINK="${SCRIPT%.*}"
+                       FILE="/etc/cron.$PERIOD/$LINK"
                        rm -f "$FILE"
                done
        done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/debian-install.sh 
new/btrfsmaintenance-0.3.1/debian-install.sh
--- old/btrfsmaintenance-0.2/debian-install.sh  2016-03-04 18:03:27.000000000 
+0100
+++ new/btrfsmaintenance-0.3.1/debian-install.sh        1970-01-01 
01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-#!/bin/sh
-install -oroot -groot -m644 sysconfig.btrfsmaintenance 
/etc/default/btrfsmaintenance
-install -d -oroot -groot -m755 /usr/share/btrfsmaintenance
-install -oroot -groot -m755 btrfs-*.sh /usr/share/btrfsmaintenance/
-echo "Now edit cron periods and mount points in /etc/default/btrfsmaintenance 
then run ./btrfsmaintenance-refresh-cron.sh to update cron symlinks
-"      
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/dist-install.sh 
new/btrfsmaintenance-0.3.1/dist-install.sh
--- old/btrfsmaintenance-0.2/dist-install.sh    1970-01-01 01:00:00.000000000 
+0100
+++ new/btrfsmaintenance-0.3.1/dist-install.sh  2017-04-07 14:41:46.279278798 
+0200
@@ -0,0 +1,33 @@
+#!/bin/sh
+# usage: $0 [sysconfdir]
+#
+# Install configuration template, documentation and scripts. Target path is
+# autodetected or can be overriden by the first argument.
+#
+# Common values of sysconfdir:
+# - /etc/sysconfig
+# - /etc/default
+
+sysconfdir="$1"
+
+if [ -z "$1" ]; then
+       if [ -d /etc/sysconfig ]; then
+               sysconfdir=/etc/sysconfig
+       elif [ -d /etc/default ]; then
+               sysconfdir=/etc/default
+       else
+               echo "Cannot detect sysconfig directory, please specify 
manually"
+               exit 1
+       fi
+else
+       sysconfdir="$1"
+fi
+
+install -oroot -groot -m644 sysconfig.btrfsmaintenance 
"$sysconfdir"/btrfsmaintenance
+install -d -oroot -groot -m755 /usr/share/btrfsmaintenance
+install -oroot -groot -m755 btrfs-*.sh /usr/share/btrfsmaintenance/
+install -oroot -groot -m644 btrfsmaintenance-functions 
/usr/share/btrfsmaintenance/
+
+echo "Installation path: $sysconfdir"
+echo "Now edit cron periods and mount points in $sysconfdir/btrfsmaintenance 
then run ./btrfsmaintenance-refresh-cron.sh to update cron symlinks
+"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/btrfsmaintenance-0.2/sysconfig.btrfsmaintenance 
new/btrfsmaintenance-0.3.1/sysconfig.btrfsmaintenance
--- old/btrfsmaintenance-0.2/sysconfig.btrfsmaintenance 2016-03-04 
18:03:27.000000000 +0100
+++ new/btrfsmaintenance-0.3.1/sysconfig.btrfsmaintenance       2017-04-07 
14:41:46.291279180 +0200
@@ -1,8 +1,8 @@
 ## Path:        System/File systems/btrfs
-## Type:        string(none,stdout,journal)
+## Type:        string(none,stdout,journal,syslog)
 ## Default:     "stdout"
 #
-# Output target for messages. Journal messages are tagged by the task name like
+# Output target for messages. Journal and syslog messages are tagged by the 
task name like
 # 'btrfs-scrub' etc.
 BTRFS_LOG_OUTPUT="stdout"
 
@@ -36,6 +36,7 @@
 # Which mountpoints/filesystems to balance periodically. This may reclaim 
unused
 # portions of the filesystem and make the rest more compact.
 # (Colon separated paths)
+# The special word/mountpoint "auto" will evaluate all mounted btrfs 
filesystems at runtime
 BTRFS_BALANCE_MOUNTPOINTS="/"
 
 ## Path:           System/File systems/btrfs
@@ -61,7 +62,8 @@
 ## Type:        string
 ## Default:     "1 5 10 20 30"
 #
-# The usage percent for balancing metadata block groups.
+# The usage percent for balancing metadata block groups. The values are also
+# used in case the filesystem has mixed blockgroups.
 #
 # Note: default values should not disturb normal work but may not reclaim
 # enough block groups. If you observe that, add higher values but beware that
@@ -74,6 +76,7 @@
 #
 # Which mountpoints/filesystems to scrub periodically.
 # (Colon separated paths)
+# The special word/mountpoint "auto" will evaluate all mounted btrfs 
filesystems at runtime
 BTRFS_SCRUB_MOUNTPOINTS="/"
 
 ## Path:        System/File systems/btrfs
@@ -117,4 +120,5 @@
 #
 # Which mountpoints/filesystems to trim periodically.
 # (Colon separated paths)
+# The special word/mountpoint "auto" will evaluate all mounted btrfs 
filesystems at runtime
 BTRFS_TRIM_MOUNTPOINTS="/"


Reply via email to