Skip to content
Snippets Groups Projects
Commit fdadf6fd authored by Andrew Perepechko's avatar Andrew Perepechko
Browse files

Branch b1_6

b=15754
i=Johann(johann)
i=ZhiYong(tianzy)

llapi_quotactl manual page
parent 40951145
No related branches found
No related tags found
No related merge requests found
.TH LLAPI_QUOTACTL 3
.SH NAME
llapi_quotactl \- manipulate disk quotas on a Lustre filesystem
.SH SYNOPSIS
.nf
.B #include <liblustre.h>
.B #include <lustre/lustre_idl.h>
.B #include <lustre/liblustreapi.h>
.B #include <lustre/lustre_user.h>
.sp
.BI "int llapi_quotactl(char" " *mnt," " struct if_quotactl" " *qctl)
.sp
\fBstruct if_quotactl {
__u32 qc_cmd;
__u32 qc_type;
__u32 qc_id;
__u32 qc_stat;
struct obd_dqinfo qc_dqinfo;
struct obd_dqblk qc_dqblk;
char obd_type[16];
struct obd_uuid obd_uuid;
};
.sp
\fBstruct obd_dqblk {
__u64 dqb_bhardlimit;
__u64 dqb_bsoftlimit;
__u64 dqb_curspace;
__u64 dqb_ihardlimit;
__u64 dqb_isoftlimit;
__u64 dqb_curinodes;
__u64 dqb_btime;
__u64 dqb_itime;
__u32 dqb_valid;
__u32 padding;
};
.sp
\fBstruct obd_dqinfo {
__u64 dqi_bgrace;
__u64 dqi_igrace;
__u32 dqi_flags;
__u32 dqi_valid;
};
.sp
\fBstruct obd_uuid {
char uuid[40];
};
.fi
.SH DESCRIPTION
.LP
.IX "filesystem" "quotactl() disk quotas" "" "\fLquotactl()\fP \(em disk quotas"
.IX "quotactl() disk quotas" "" "\fLquotactl()\fP \(em disk quotas"
.IX "disk quotas quotactl()" "" "disk quotas \(em \fLquotactl()\fP"
.LP
The
.B llapi_quotactl(\|)
function manipulates disk quotas on a Lustre filesystem
.I mnt.
.I qc_cmd
indicates a command to be applied to
.SM UID
.IR qc_id
or
.SM GID
.IR qc_id .
.TP 15
.SB LUSTRE_Q_QUOTAON
Turn on quotas for a Lustre filesystem.
.I qc_type
is USRQUOTA, GRPQUOTA or UGQUOTA (both user and group quotas).
The quota files must exist; they are normally created with the
.BR llapi_quotacheck (3)
call. This call is restricted to the super-user.
.TP
.SB LUSTRE_Q_QUOTAOFF
Turn off quotas for a Lustre filesystem.
.I qc_type
is USRQUOTA, GRPQUOTA or UGQUOTA (both user and group quotas).
This call is restricted to the super-user.
.TP
.SB LUSTRE_Q_GETQUOTA
Get disk quota limits and current usage for user or group
.IR qc_id .
.I qc_type
is USRQUOTA or GRPQUOTA.
.I uuid
may be filled with OBD UUID string to query quota information from a specific node.
.I dqb_valid
may be set nonzero to query information only from MDS. If
.I uuid
is an empty string and
.I dqb_valid
is zero then clusterwide limits and usage are returned. On return
.I obd_dqblk
contains the requested information (block limits unit is kilobyte).
Quotas must be turned on before using this command.
.TP
.SB LUSTRE_Q_SETQUOTA
Set disk quota limits for user or group
.IR qc_id .
.I qc_type
is USRQUOTA or GRPQUOTA.
.I dqb_valid
must be set to QIF_ILIMITS, QIF_BLIMITS or QIF_LIMITS (both inode limits and block limits) dependent on updating limits.
.I obd_dqblk
must be filled with limits values (as set in
.I dqb_valid
, block limits unit is kilobyte).
Quotas must be turned on before using this command.
.TP
.SB LUSTRE_Q_GETINFO
Get information about quotas.
.I qc_type
is either USRQUOTA or GRPQUOTA. On return
.I dqi_igrace
is inode grace time (in seconds),
.I dqi_bgrace
is block grace time (in seconds),
.I dqi_flags
is not used by the current Lustre version.
.TP
.SB LUSTRE_Q_SETINFO
Set quota information (like grace times).
.I qc_type
is either USRQUOTA or GRPQUOTA.
.I dqi_igrace
is inode grace time (in seconds),
.I dqi_bgrace
is block grace time (in seconds),
.I dqi_flags
is not used by the current Lustre version and must be zeroed.
.SH RETURN VALUES
.LP
.B llapi_quotactl(\|)
returns:
.TP
0
on success.
.TP
\-1
on failure and sets
.B errno
to indicate the error.
.SH ERRORS
.TP 15
.SM EFAULT
.I qctl
is invalid.
.TP
.SM ENOSYS
The kernel or Lustre modules have not been compiled with the
.SB QUOTA
option.
.TP
.SM ENOMEM
Insufficient memory to complete operation.
.TP
.SM ENOTTY
.I qc_cmd
is invalid.
.TP
.SM EBUSY
Cannot process during quotacheck.
.TP
.SM ENOENT
.I uuid
does not correspond to OBD or
.I mnt
does not exist
.TP
.SM EPERM
The call is privileged and the caller was not the super-user.
.TP
.SM ESRCH
No disc quota is found for the indicated user.
.IP
Quotas have not been turned on for this filesystem.
.SH "SEE ALSO"
.BR lfs (1),
.BR lustre (7)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment