mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
7a1618ced3
This patch adds the capability for the VFS graphdriver to use XFS project quotas. It reuses the existing quota management code that was created by overlay2 on XFS. It doesn't rely on a filesystem whitelist, but instead the quota-capability detection code. Signed-off-by: Sargun Dhillon <sargun@sargun.me>
27 lines
554 B
Go
27 lines
554 B
Go
// +build linux
|
|
|
|
package vfs
|
|
|
|
import "github.com/docker/docker/daemon/graphdriver/quota"
|
|
|
|
type driverQuota struct {
|
|
quotaCtl *quota.Control
|
|
}
|
|
|
|
func setupDriverQuota(driver *Driver) error {
|
|
if quotaCtl, err := quota.NewControl(driver.home); err == nil {
|
|
driver.quotaCtl = quotaCtl
|
|
} else if err != quota.ErrQuotaNotSupported {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (d *Driver) setupQuota(dir string, size uint64) error {
|
|
return d.quotaCtl.SetQuota(dir, quota.Quota{Size: size})
|
|
}
|
|
|
|
func (d *Driver) quotaSupported() bool {
|
|
return d.quotaCtl != nil
|
|
}
|