1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #
- # Copyright (C) 2005-2009 Junjiro Okajima
- #
- # This program, aufs is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- # library functions for aufs shell scripts
- # path in canonical representation
- SetDir() # var dir
- {
- cd "$2"
- eval "$1=\"$PWD\""
- cd "$OLDPWD"
- }
- # escape the unprintable characters, mainly for grep-ping /proc/mounts
- Esc() # [-e]
- {
- sed -r -e '
- s/\\/\\134/g
- s/$/\\012/
- ' |
- tr -d '\n' |
- sed -r -e '
- s/ /\\040/g
- s/\t/\\011/g
- s/\r/\\015/g
- s/\\012$//
- ' |
- { test $# -eq 1 &&
- test "$1" = "-e" &&
- sed -r -e 's/\\/\\\\/g' ||
- cat; }
- echo
- }
- # find a mount-entry by its mount-point
- FindMntEnt() # mntpnt
- {
- proc_mounts=/proc/self/mounts
- test ! -e $proc_mounts && proc_mounts=/proc/$$/mounts
- test ! -e $proc_mounts && proc_mounts=/proc/mounts
- fgrep \ $(echo "$1" | Esc)\ aufs\ $proc_mounts |
- tail -n 1
- }
- # current mount options
- MntOpts() # mntpnt
- {
- FindMntEnt "$1" |
- cut -f4 -d' '
- }
- ########################################
- AuDebug() # 1 | 0 [sec]
- {
- test $1 -eq 0 && set +x
- aufs_debug=/sys/module/aufs/parameters/debug
- if [ -f $aufs_debug ]
- then
- echo $1 | sudo dd of=$aufs_debug 2> /dev/null
- test $# -eq 2 && sleep $2
- fi
- test $1 -eq 1 && set -x
- true
- }
- # Local variables: ;
- # mode: text;
- # End: ;
|