diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-02-16 15:08:29 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-02-16 15:35:26 -0400 |
commit | 28e6e6f71d6c7c64225cbfa65dcdf5db8c8e22e8 (patch) | |
tree | 15d4db01af8f722b0ef05cc3e0bae9ed8668946c /Locations.hs | |
parent | bd0c83bf21d6ebd646576e60bedd0444b33468c7 (diff) |
convert incremental fsck to using sqlite database
Did not keep backwards compat for sticky bit records. An incremental fsck
that is already in progress will start over on upgrade to this version.
This is not yet ready for merging. The autobuilders need to have sqlite
installed.
Also, interrupting a fsck --incremental does not commit the database.
So, resuming with fsck --more restarts from beginning.
Memory: Constant during a fsck of tens of thousands of files.
(But, it does seem to buffer whole transation in memory, so
may really scale with number of files.)
CPU: ?
Diffstat (limited to 'Locations.hs')
-rw-r--r-- | Locations.hs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Locations.hs b/Locations.hs index 02995ee4a..0cd57aa98 100644 --- a/Locations.hs +++ b/Locations.hs @@ -57,6 +57,7 @@ module Locations ( gitAnnexSshDir, gitAnnexRemotesDir, gitAnnexAssistantDefaultDir, + gitAnnexFsckDb, isLinkToAnnex, HashLevels(..), hashDirMixed, @@ -340,6 +341,10 @@ gitAnnexRemotesDir r = addTrailingPathSeparator $ gitAnnexDir r </> "remotes" gitAnnexAssistantDefaultDir :: FilePath gitAnnexAssistantDefaultDir = "annex" +{- Database used to record fsck info. -} +gitAnnexFsckDb :: Git.Repo -> FilePath +gitAnnexFsckDb r = gitAnnexDir r </> "fsck.db" + {- Checks a symlink target to see if it appears to point to annexed content. - - We only look at paths inside the .git directory, and not at the .git |