quota_linux.go 591 B

1234567891011121314151617181920212223242526
  1. package vfs
  2. import (
  3. "github.com/docker/docker/daemon/graphdriver/quota"
  4. "github.com/sirupsen/logrus"
  5. )
  6. type driverQuota struct {
  7. quotaCtl *quota.Control
  8. }
  9. func setupDriverQuota(driver *Driver) {
  10. if quotaCtl, err := quota.NewControl(driver.home); err == nil {
  11. driver.quotaCtl = quotaCtl
  12. } else if err != quota.ErrQuotaNotSupported {
  13. logrus.Warnf("Unable to setup quota: %v\n", err)
  14. }
  15. }
  16. func (d *Driver) setupQuota(dir string, size uint64) error {
  17. return d.quotaCtl.SetQuota(dir, quota.Quota{Size: size})
  18. }
  19. func (d *Driver) quotaSupported() bool {
  20. return d.quotaCtl != nil
  21. }