Skip to content
Snippets Groups Projects
Commit bc8ccc95 authored by Yorhel's avatar Yorhel
Browse files

dir_scan.c: Reset directory sizes when excluded by a CACHEDIR.TAG

Tiny bug fix: The size of an excluded directory entry itself should not
be counted, either. This is consistent with what you'd expect: A cache
directory with thousands of files can easily take up several megabytes
for the dir entry - but from the perspective of a backup system that
recognizes cache dirs - the dir is empty, and therefore shouldn't take
any extra space at all.
parent 01f36e1b
No related branches found
No related tags found
No related merge requests found
......@@ -197,8 +197,10 @@ static int dir_scan_item(struct dir *d) {
stat_to_dir(d, &st);
if(cachedir_tags && (d->flags & FF_DIR) && !(d->flags & (FF_ERR|FF_EXL|FF_OTHFS)))
if(has_cachedir_tag(d->name))
if(has_cachedir_tag(d->name)) {
d->flags |= FF_EXL;
d->size = d->asize = 0;
}
/* Recurse into the dir or output the item */
if(d->flags & FF_DIR && !(d->flags & (FF_ERR|FF_EXL|FF_OTHFS)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment