xfs: expose the number of open zones in sysfs

Add a sysfs attribute for the current number of open zones so that it
can be trivially read from userspace in monitoring or testing software.

Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Hans Holmberg <[email protected]>
Reviewed-by: Damien Le Moal <[email protected]>
Signed-off-by: Carlos Maiolino <[email protected]>
This commit is contained in:
Christoph Hellwig authored and Carlos Maiolino committed 2026-04-07 13:28:47 +02:00
1 parent 1d0d9e9459
commit 62c89988dc
2 files changed
+17

No files matched your search

+4
View File
@@ -550,6 +550,10 @@ For zoned file systems, the following attributes are exposed in:
is limited by the capabilities of the backing zoned device, file system
size and the max_open_zones mount option.
nr_open_zones (Min: 0 Default: Varies Max: UINTMAX)
This read-only attribute exposes the current number of open zones
used by the file system.
zonegc_low_space (Min: 0 Default: 0 Max: 100)
Define a percentage for how much of the unused space that GC should keep
available for writing. A high value will reclaim more of the space
+13
View File
@@ -13,6 +13,7 @@
#include "xfs_log.h"
#include "xfs_log_priv.h"
#include "xfs_mount.h"
#include "xfs_zone_priv.h"
#include "xfs_zones.h"
#include "xfs_zone_alloc.h"
@@ -719,6 +720,17 @@ max_open_zones_show(
}
XFS_SYSFS_ATTR_RO(max_open_zones);
static ssize_t
nr_open_zones_show(
struct kobject *kobj,
char *buf)
{
struct xfs_zone_info *zi = zoned_to_mp(kobj)->m_zone_info;
return sysfs_emit(buf, "%u\n", READ_ONCE(zi->zi_nr_open_zones));
}
XFS_SYSFS_ATTR_RO(nr_open_zones);
static ssize_t
zonegc_low_space_store(
struct kobject *kobj,
@@ -756,6 +768,7 @@ XFS_SYSFS_ATTR_RW(zonegc_low_space);
static struct attribute *xfs_zoned_attrs[] = {
ATTR_LIST(max_open_zones),
ATTR_LIST(nr_open_zones),
ATTR_LIST(zonegc_low_space),
NULL,
};