From c145b618d442c78c7a3bd45923e1ed1a49fcafa1 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 12 Aug 2018 17:51:08 +0200 Subject: [PATCH] Add entry to changelog --- changelog/unreleased/issue-1909 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 changelog/unreleased/issue-1909 diff --git a/changelog/unreleased/issue-1909 b/changelog/unreleased/issue-1909 new file mode 100644 index 000000000..869d532bf --- /dev/null +++ b/changelog/unreleased/issue-1909 @@ -0,0 +1,14 @@ +Enhancement: Reject files/dirs by name first + +The current scanner/archiver code had an architectural limitation: it always +ran the `lstat()` system call on all files and directories before a decision to +include/exclude the file/dir was made. This lead to a lot of unnecessary system +calls for items that could have been rejected by their name or path only. + +We've changed the archiver/scanner implementation so that it now first rejects +by name/path, and only runs the system call on the remaining items. This +reduces the number of `lstat()` system calls a lot (depending on the exclude +settings). + +https://github.com/restic/restic/issues/1909 +https://github.com/restic/restic/pull/1912