itfix is_valid_tomb check for already mounted tombs - tomb - the crypto undertaker Err parazyd.org 70 hgit clone git://parazyd.org/tomb.git URL:git://parazyd.org/tomb.git parazyd.org 70 1Log /git/tomb/log.gph parazyd.org 70 1Files /git/tomb/files.gph parazyd.org 70 1Refs /git/tomb/refs.gph parazyd.org 70 1README /git/tomb/file/README.md.gph parazyd.org 70 1LICENSE /git/tomb/file/COPYING.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 14cba81f6e97d1a1fa8ffcf2d34fc96d13d79d63 /git/tomb/commit/14cba81f6e97d1a1fa8ffcf2d34fc96d13d79d63.gph parazyd.org 70 1parent db976a521029c5991d8316f6d0572e5d6e9b482e /git/tomb/commit/db976a521029c5991d8316f6d0572e5d6e9b482e.gph parazyd.org 70 hAuthor: Jaromil URL:mailto:jaromil@dyne.org parazyd.org 70 iDate: Mon, 26 Dec 2016 20:40:23 +0100 Err parazyd.org 70 i Err parazyd.org 70 ifix is_valid_tomb check for already mounted tombs Err parazyd.org 70 i Err parazyd.org 70 ialso added some more verbosity on debug Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M tomb | 12 +++++++++++- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 11 insertions(+), 1 deletion(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/tomb b/tomb /git/tomb/file/tomb.gph parazyd.org 70 it@@ -507,20 +507,27 @@ is_valid_tomb() { Err parazyd.org 70 i _warning "Tomb file is not writable: ::1 tomb file::" $1 Err parazyd.org 70 i _fail=1 Err parazyd.org 70 i } Err parazyd.org 70 i+ _verbose "tomb file is readable" Err parazyd.org 70 i+ Err parazyd.org 70 i [[ ! -f "$1" ]] && { Err parazyd.org 70 i _warning "Tomb file is not a regular file: ::1 tomb file::" $1 Err parazyd.org 70 i _fail=1 Err parazyd.org 70 i } Err parazyd.org 70 i+ _verbose "tomb file is a regular file" Err parazyd.org 70 i+ Err parazyd.org 70 i [[ ! -s "$1" ]] && { Err parazyd.org 70 i _warning "Tomb file is empty (zero length): ::1 tomb file::" $1 Err parazyd.org 70 i _fail=1 Err parazyd.org 70 i } Err parazyd.org 70 i+ _verbose "tomb file is not empty" Err parazyd.org 70 i Err parazyd.org 70 i _uid="`zstat +uid $1`" Err parazyd.org 70 i [[ "$_uid" = "$UID" ]] || { Err parazyd.org 70 i _user="`zstat -s +uid $1`" Err parazyd.org 70 i _warning "Tomb file is owned by another user: ::1 tomb owner::" $_user Err parazyd.org 70 i } Err parazyd.org 70 i+ _verbose "tomb is not owned by another user" Err parazyd.org 70 i+ Err parazyd.org 70 i [[ $_fail = 1 ]] && { Err parazyd.org 70 i _failure "Tomb command failed: ::1 command name::" $subcommand Err parazyd.org 70 i } Err parazyd.org 70 it@@ -536,9 +543,12 @@ is_valid_tomb() { Err parazyd.org 70 i _plot $1 # Set TOMB{PATH,DIR,FILE,NAME} Err parazyd.org 70 i Err parazyd.org 70 i # Tomb already mounted (or we cannot alter it) Err parazyd.org 70 i- [[ "`mount -l`" -regex-match "${TOMBFILE}.*\[$TOMBNAME\]$" ]] && { Err parazyd.org 70 i+ [[ "`mount -l | Err parazyd.org 70 i+ awk -vtomb="[$TOMBNAME]" ' Err parazyd.org 70 i+/^\/dev\/mapper\/tomb/ { if($7==tomb) print $1 }'`" = "" ]] || { Err parazyd.org 70 i _failure "Tomb is currently in use: ::1 tomb name::" $TOMBNAME Err parazyd.org 70 i } Err parazyd.org 70 i+ _verbose "tomb file is not currently in use" Err parazyd.org 70 i Err parazyd.org 70 i _message "Valid tomb file found: ::1 tomb path::" $TOMBPATH Err parazyd.org 70 i Err parazyd.org 70 .