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.
Этот коммит содержится в:
родитель
01f36e1beb
Коммит
bc8ccc959d
@ -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)))
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user