From 2c00a5c4483bbd38b56f4bc4af3dd5e8859484af Mon Sep 17 00:00:00 2001 From: Shi Xue Date: Fri, 21 Jun 2024 13:36:42 +0800 Subject: [PATCH] Fix the issue where compiling containers-storage with exclude_disk_quota enabled on the Linux CGO platform results in an error indicating that d.quotaCtl.GetDiskUsage is not defined. Signed-off-by: Shi Xue Fix the issue where compiling containers-storage with exclude_disk_quota enabled on the Linux CGO platform results in an error indicating that d.quotaCtl.GetDiskUsage is not defined. Signed-off-by: Shi Xue --- .../{overlay_cgo.go => overlay_disk_quota.go} | 4 ++-- .../overlay/overlay_disk_quota_unsupported.go | 18 ++++++++++++++++++ drivers/overlay/overlay_nocgo.go | 10 ---------- 3 files changed, 20 insertions(+), 12 deletions(-) rename drivers/overlay/{overlay_cgo.go => overlay_disk_quota.go} (86%) create mode 100644 drivers/overlay/overlay_disk_quota_unsupported.go diff --git a/drivers/overlay/overlay_cgo.go b/drivers/overlay/overlay_disk_quota.go similarity index 86% rename from drivers/overlay/overlay_cgo.go rename to drivers/overlay/overlay_disk_quota.go index 88bfbf9c74..bc80301d49 100644 --- a/drivers/overlay/overlay_cgo.go +++ b/drivers/overlay/overlay_disk_quota.go @@ -1,5 +1,5 @@ -//go:build linux && cgo -// +build linux,cgo +//go:build linux && cgo && !exclude_disk_quota +// +build linux,cgo,!exclude_disk_quota package overlay diff --git a/drivers/overlay/overlay_disk_quota_unsupported.go b/drivers/overlay/overlay_disk_quota_unsupported.go new file mode 100644 index 0000000000..1340c45b33 --- /dev/null +++ b/drivers/overlay/overlay_disk_quota_unsupported.go @@ -0,0 +1,18 @@ +//go:build linux && (!cgo || exclude_disk_quota) +// +build linux +// +build !cgo exclude_disk_quota + +package overlay + +import ( + "path" + + "github.com/containers/storage/pkg/directory" +) + +// ReadWriteDiskUsage returns the disk usage of the writable directory for the ID. +// For Overlay, it attempts to check the XFS quota for size, and falls back to +// finding the size of the "diff" directory. +func (d *Driver) ReadWriteDiskUsage(id string) (*directory.DiskUsage, error) { + return directory.Usage(path.Join(d.dir(id), "diff")) +} diff --git a/drivers/overlay/overlay_nocgo.go b/drivers/overlay/overlay_nocgo.go index d4f540c9cc..0577711b3d 100644 --- a/drivers/overlay/overlay_nocgo.go +++ b/drivers/overlay/overlay_nocgo.go @@ -5,18 +5,8 @@ package overlay import ( "fmt" - "path" - - "github.com/containers/storage/pkg/directory" ) -// ReadWriteDiskUsage returns the disk usage of the writable directory for the ID. -// For Overlay, it attempts to check the XFS quota for size, and falls back to -// finding the size of the "diff" directory. -func (d *Driver) ReadWriteDiskUsage(id string) (*directory.DiskUsage, error) { - return directory.Usage(path.Join(d.dir(id), "diff")) -} - func getComposeFsHelper() (string, error) { return "", fmt.Errorf("composefs not supported on this build") }