parse total/free/used from volflag

This commit is contained in:
Rabid 2025-12-17 22:51:08 +01:00
parent 519bfe1f0b
commit 532be05de5

View file

@ -117,6 +117,7 @@ from .util import (
undot, undot,
unescape_cookie, unescape_cookie,
unquotep, unquotep,
unhumanize,
vjoin, vjoin,
vol_san, vol_san,
vroots, vroots,
@ -1831,7 +1832,17 @@ class HttpCli(object):
or (zi == 4 and self.can_write and self.can_read) or (zi == 4 and self.can_write and self.can_read)
or (zi == 3 and self.can_admin) or (zi == 3 and self.can_admin)
): ):
vmaxb_value = unhumanize(vn.flags.get("vmaxb") or "0")
if vmaxb_value:
try:
bused, _ = self.conn.hsrv.broker.ask("up2k.get_volsizes", [vn.realpath]).get()[0]
bfree = max(0, vmaxb_value - bused)
btot = vmaxb_value
except:
bfree, btot, _ = get_df(vn.realpath, False) bfree, btot, _ = get_df(vn.realpath, False)
else:
bfree, btot, _ = get_df(vn.realpath, False)
if btot: if btot:
df = { df = {
"quota-available-bytes": str(bfree), "quota-available-bytes": str(bfree),