From f92722707795f79b7b3d7d34a649cb7745c9889b Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 25 Oct 2015 23:11:42 +0200 Subject: Store bags in a directory hierachy Previously, they were all stored in one flat directory, resulting in millions upon millions of files in one directory. --- obnamlib/bag_store.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/obnamlib/bag_store.py b/obnamlib/bag_store.py index 5cbc3196..b5ab4dde 100644 --- a/obnamlib/bag_store.py +++ b/obnamlib/bag_store.py @@ -31,7 +31,13 @@ class BagStore(object): self._id_inventor.set_filename_maker(self._make_bag_filename) def _make_bag_filename(self, bag_id): - return os.path.join(self._dirname, '%016x.bag' % bag_id) + basename = '%016x' % bag_id + return os.path.join( + self._dirname, + basename[0:2], + basename[2:4], + basename[4:6], + '%s.bag' % basename) def set_location(self, fs, dirname): self._fs = fs -- cgit v1.2.1