Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var MountParseRegexp = regexp.MustCompilePOSIX("^([^ ]*)[ \t]*([^ ]*)[ \t]*([^ ]*)") // Ignore options etc.
MountParseRegexp parses out /proc/sys/self/mounts
View Source
var MountsFile = "/proc/self/mounts"
MountsFile is the location of the system mount data
Functions ¶
Types ¶
type LinuxVolumeQuotaApplier ¶
type LinuxVolumeQuotaApplier interface { // GetQuotaOnDir gets the quota ID (if any) that applies to // this directory GetQuotaOnDir(path string) (QuotaID, error) // SetQuotaOnDir applies the specified quota ID to a directory. // Negative value for bytes means that a non-enforcing quota // should be applied (perhaps by setting a quota too large to // be hit) SetQuotaOnDir(path string, id QuotaID, bytes int64) error // QuotaIDIsInUse determines whether the quota ID is in use. // Implementations should not check /etc/project or /etc/projid, // only whether their underlying mechanism already has the ID in // use. // Return value of false with no error means that the ID is not // in use; true means that it is already in use. An error // return means that any quota ID will fail. QuotaIDIsInUse(id QuotaID) (bool, error) // GetConsumption returns the consumption (in bytes) of the // directory, determined by the implementation's quota-based // mechanism. If it is unable to do so using that mechanism, // it should return an error and allow higher layers to // enumerate the directory. GetConsumption(path string, id QuotaID) (int64, error) // GetInodes returns the number of inodes used by the // directory, determined by the implementation's quota-based // mechanism. If it is unable to do so using that mechanism, // it should return an error and allow higher layers to // enumerate the directory. GetInodes(path string, id QuotaID) (int64, error) }
LinuxVolumeQuotaApplier is a generic interface to any quota mechanism supported by Linux
type LinuxVolumeQuotaProvider ¶
type LinuxVolumeQuotaProvider interface { // GetQuotaApplier retrieves an object that can apply // quotas (or nil if this provider cannot support quotas // on the device) GetQuotaApplier(mountpoint string, backingDev string) LinuxVolumeQuotaApplier }
LinuxVolumeQuotaProvider returns an appropriate quota applier object if we can support quotas on this device
type QuotaID ¶
type QuotaID int32
QuotaID is generic quota identifier. Data type based on quotactl(2).
var FirstQuota QuotaID = 1048577
FirstQuota is the quota ID we start with. XXXXXXX Need a better way of doing this...
type VolumeProvider ¶
type VolumeProvider struct { }
VolumeProvider supplies a quota applier to the generic code.
func (*VolumeProvider) GetQuotaApplier ¶
func (*VolumeProvider) GetQuotaApplier(mountpoint string, backingDev string) LinuxVolumeQuotaApplier
GetQuotaApplier -- does this backing device support quotas that can be applied to directories?
Click to show internal directories.
Click to hide internal directories.