From 1bf9bbec4cd8c82985effddd5acdd0fba083b63b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 4 Nov 2015 16:26:21 -0400 Subject: parallel fsck (yes, these changes are all it takes now!) --- Command/Fsck.hs | 4 ++-- debian/changelog | 4 +++- doc/git-annex-fsck.mdwn | 4 ++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Command/Fsck.hs b/Command/Fsck.hs index dbbb0e67f..0e0d37acf 100644 --- a/Command/Fsck.hs +++ b/Command/Fsck.hs @@ -44,7 +44,7 @@ import Data.Time.Clock.POSIX import System.Posix.Types (EpochTime) cmd :: Command -cmd = withGlobalOptions annexedMatchingOptions $ +cmd = withGlobalOptions (jobsOption : annexedMatchingOptions) $ command "fsck" SectionMaintenance "find and fix problems" paramPaths (seek <$$> optParser) @@ -87,7 +87,7 @@ optParser desc = FsckOptions )) seek :: FsckOptions -> CommandSeek -seek o = do +seek o = allowConcurrentOutput $ do from <- maybe (pure Nothing) (Just <$$> getParsed) (fsckFromOption o) u <- maybe getUUID (pure . Remote.uuid) from i <- prepIncremental u (incrementalOpt o) diff --git a/debian/changelog b/debian/changelog index 66f3af186..db157e0ce 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ git-annex (5.20151102.2) UNRELEASED; urgency=medium - * Use concurrent-output library for -Jn mode. + * Use concurrent-output library. + * Additional commands now suppport the -J flag for running multiple + actions concurrently with nicely displayed messages: fsck -- Joey Hess Wed, 04 Nov 2015 12:50:20 -0400 diff --git a/doc/git-annex-fsck.mdwn b/doc/git-annex-fsck.mdwn index 68c824c91..4b3b51040 100644 --- a/doc/git-annex-fsck.mdwn +++ b/doc/git-annex-fsck.mdwn @@ -85,6 +85,10 @@ With parameters, only the specified files are checked. The [[git-annex-matching-options]](1) can be used to specify files to fsck. +* `--jobs=N` `-JN` + + Runs multiple fsck jobs in parallel. For example: `-J4` + # OPTIONS # SEE ALSO -- cgit v1.2.3