use same hash directories for chunked key as are used for its parent
This avoids a proliferation of hash directories when using new-style chunking, and should improve performance since chunks are accessed in sequence and so should have a common locality. Of course, when a chunked key is encrypted, its hash directories have no relation to the parent key. This commit was sponsored by Christian Kellermann.
This commit is contained in:
parent
1755c5de40
commit
8f93982df6
3 changed files with 20 additions and 2 deletions
12
Types/Key.hs
12
Types/Key.hs
|
@ -13,6 +13,8 @@ module Types.Key (
|
|||
stubKey,
|
||||
key2file,
|
||||
file2key,
|
||||
isChunkKey,
|
||||
nonChunkKey,
|
||||
|
||||
prop_idempotent_key_encode,
|
||||
prop_idempotent_key_decode
|
||||
|
@ -47,6 +49,16 @@ stubKey = Key
|
|||
, keyChunkNum = Nothing
|
||||
}
|
||||
|
||||
isChunkKey :: Key -> Bool
|
||||
isChunkKey k = isJust (keyChunkSize k) && isJust (keyChunkNum k)
|
||||
|
||||
-- Gets the parent of a chunk key.
|
||||
nonChunkKey :: Key -> Key
|
||||
nonChunkKey k = k
|
||||
{ keyChunkSize = Nothing
|
||||
, keyChunkNum = Nothing
|
||||
}
|
||||
|
||||
fieldSep :: Char
|
||||
fieldSep = '-'
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue