commit:     a36a635b016a7427dd1739a26c951fedf22f0dec
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 14 01:25:33 2015 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Jun 25 05:40:35 2015 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=a36a635b

tmpfiles: Recognize type 'v' (create btrfs subvol)

This change does NOT implement btrfs subvol creation.  Instead, it
treats 'v' the same as 'd', which is an acceptable fallback
according to the manual.

Fixes #58

 sh/tmpfiles.sh.in | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/sh/tmpfiles.sh.in b/sh/tmpfiles.sh.in
index 046bf9f..89bd03e 100644
--- a/sh/tmpfiles.sh.in
+++ b/sh/tmpfiles.sh.in
@@ -141,6 +141,13 @@ _D() {
        fi
 }
 
+_v() {
+       # Create a subvolume if the path does not exist yet and the file system
+       # supports this (btrfs). Otherwise create a normal directory.
+       # TODO: Implement btrfs subvol creation.
+       _d "$@"
+}
+
 _L() {
        # Create a symlink if it doesn't exist yet
        local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6
@@ -336,7 +343,7 @@ for FILE in $tmpfiles_d ; do
 
                # whine about invalid entries
                case $cmd in
-                       f|F|w|d|D|p|L|c|C|b|x|X|r|R|z|Z) ;;
+                       f|F|w|d|D|v|p|L|c|C|b|x|X|r|R|z|Z) ;;
                        *) warninvalid ; continue ;;
                esac
 
@@ -344,7 +351,7 @@ for FILE in $tmpfiles_d ; do
                if [ "$mode" = '-' -o "$mode" = '' ]; then
                        case "$cmd" in
                                p|f|F) mode=0644 ;;
-                               d|D) mode=0755 ;;
+                               d|D|v) mode=0755 ;;
                                C|z|Z|x|r|R|L) ;;
                        esac
                fi

Reply via email to