mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 18:59:33 +03:00
Fix arc_meta_max accounting
The arc_meta_max value should be increased when space it consumed not when it is returned. This ensure's that arc_meta_max is always up to date. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Pavel Snajdr <snajpa@snajpa.net> Issue #3160
This commit is contained in:
parent
5c3f61eb49
commit
596a8935a1
@ -1275,8 +1275,11 @@ arc_space_consume(uint64_t space, arc_space_type_t type)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type != ARC_SPACE_DATA)
|
if (type != ARC_SPACE_DATA) {
|
||||||
ARCSTAT_INCR(arcstat_meta_used, space);
|
ARCSTAT_INCR(arcstat_meta_used, space);
|
||||||
|
if (arc_meta_max < arc_meta_used)
|
||||||
|
arc_meta_max = arc_meta_used;
|
||||||
|
}
|
||||||
|
|
||||||
atomic_add_64(&arc_size, space);
|
atomic_add_64(&arc_size, space);
|
||||||
}
|
}
|
||||||
@ -1308,8 +1311,6 @@ arc_space_return(uint64_t space, arc_space_type_t type)
|
|||||||
|
|
||||||
if (type != ARC_SPACE_DATA) {
|
if (type != ARC_SPACE_DATA) {
|
||||||
ASSERT(arc_meta_used >= space);
|
ASSERT(arc_meta_used >= space);
|
||||||
if (arc_meta_max < arc_meta_used)
|
|
||||||
arc_meta_max = arc_meta_used;
|
|
||||||
ARCSTAT_INCR(arcstat_meta_used, -space);
|
ARCSTAT_INCR(arcstat_meta_used, -space);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user