fsck: make sure we unmount in all cases

This commit is contained in:
Jakob Unterwurzacher 2020-10-17 23:03:58 +02:00
parent 83a324a46b
commit 95ea7383f9
2 changed files with 6 additions and 6 deletions

View File

@ -253,7 +253,7 @@ func (ck *fsckObj) xattrs(relPath string) {
} }
} }
func fsck(args *argContainer) { func fsck(args *argContainer) (exitcode int) {
if args.reverse { if args.reverse {
tlog.Fatal.Printf("Running -fsck with -reverse is not supported") tlog.Fatal.Printf("Running -fsck with -reverse is not supported")
os.Exit(exitcodes.Usage) os.Exit(exitcodes.Usage)
@ -296,17 +296,17 @@ func fsck(args *argContainer) {
wipeKeys() wipeKeys()
if ck.abort { if ck.abort {
tlog.Info.Printf("fsck: aborted") tlog.Info.Printf("fsck: aborted")
return return exitcodes.Other
} }
if len(ck.corruptList) == 0 && len(ck.skippedList) == 0 { if len(ck.corruptList) == 0 && len(ck.skippedList) == 0 {
tlog.Info.Printf("fsck summary: no problems found\n") tlog.Info.Printf("fsck summary: no problems found\n")
return return 0
} }
if len(ck.skippedList) > 0 { if len(ck.skippedList) > 0 {
tlog.Warn.Printf("fsck: re-run this program as root to check all files!\n") tlog.Warn.Printf("fsck: re-run this program as root to check all files!\n")
} }
fmt.Printf("fsck summary: %d corrupt files, %d files skipped\n", len(ck.corruptList), len(ck.skippedList)) fmt.Printf("fsck summary: %d corrupt files, %d files skipped\n", len(ck.corruptList), len(ck.skippedList))
os.Exit(exitcodes.FsckErrors) return exitcodes.FsckErrors
} }
type sortableDirEntries []fuse.DirEntry type sortableDirEntries []fuse.DirEntry

View File

@ -329,7 +329,7 @@ func main() {
} }
// "-fsck" // "-fsck"
if args.fsck { if args.fsck {
fsck(&args) code := fsck(&args)
os.Exit(0) os.Exit(code)
} }
} }