diff options
author | Andrew Tridgell <tridge@samba.org> | 2007-07-10 01:15:57 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:28:24 -0500 |
commit | ef591178d08089494f45ab49870a7aaa4f12bed1 (patch) | |
tree | 9c6e98012d6177c49d215895e2f9337517809088 /source3/include | |
parent | 58e9534300430fa4f2bcb50fb2d1d2990bdbe636 (diff) | |
download | samba-ef591178d08089494f45ab49870a7aaa4f12bed1.tar.gz samba-ef591178d08089494f45ab49870a7aaa4f12bed1.tar.bz2 samba-ef591178d08089494f45ab49870a7aaa4f12bed1.zip |
r23786: Use linux/dqblk_xfs.h rather than a private copy of this header in the
Samba3 tree.
This is neater, plus it avoids the need to get legal approval from SGI
to use their GPLv2-only code under GPLv3.
If/when SGI legal sort things out, we could consider adding back this
header for very old systems where linux/dqblk_xfs.h is not available.
(This used to be commit cb435543f84955be75368a3294bc6b627414d876)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/samba_xfs_quota.h | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/source3/include/samba_xfs_quota.h b/source3/include/samba_xfs_quota.h deleted file mode 100644 index 1db435064a..0000000000 --- a/source3/include/samba_xfs_quota.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef _SAMBA_LINUX_XFS_H_ -#define _SAMBA_LINUX_XFS_H_ - -#ifndef _QUOTAIO_LINUX_XFS -#define _QUOTAIO_LINUX_XFS - -/* - * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Further, this software is distributed without any warranty that it is - * free of the rightful claim of any third person regarding infringement - * or the like. Any license provided herein, whether implied or - * otherwise, applies only to this software file. Patent licenses, if - * any, provided herein do not apply to combinations of this program with - * other software, or any other product whatsoever. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write the Free Software Foundation, Inc., 59 - * Temple Place - Suite 330, Boston MA 02111-1307, USA. - * - * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, - * Mountain View, CA 94043, or: - * - * http://www.sgi.com - * - * For further information regarding this notice, see: - * - * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ - */ - -#include <linux/types.h> - -#define XQM_CMD(cmd) ( ('X'<<8)+(cmd) ) -#define IS_XQM_CMD(cmd) ( ((int)(cmd)>>8) == 'X' ) - -/* - * Disk quota - quotactl(2) commands for XFS Quota Manager (XQM). - */ -#define Q_XQUOTAON XQM_CMD(0x1) /* enable quota accounting/enforcement */ -#define Q_XQUOTAOFF XQM_CMD(0x2) /* disable quota accounting/enforcement */ -#define Q_XGETQUOTA XQM_CMD(0x3) /* get disk limits & usage */ -#define Q_XSETQLIM XQM_CMD(0x4) /* set disk limits only */ -#define Q_XGETQSTAT XQM_CMD(0x5) /* returns fs_quota_stat_t struct */ -#define Q_XQUOTARM XQM_CMD(0x6) /* free quota files' space */ - -/* - * fs_disk_quota structure: - * - * This contains the current quota information regarding a user/proj/group. - * It is 64-bit aligned, and all the blk units are in BBs (Basic Blocks) of - * 512 bytes. - */ -#define FS_DQUOT_VERSION 1 /* fs_disk_quota.d_version */ -typedef struct fs_disk_quota { - u_int8_t d_version; /* version of this structure */ - u_int8_t d_flags; /* XFS_{USER,PROJ,GROUP}_QUOTA */ - u_int16_t d_fieldmask; /* field specifier */ - u_int32_t d_id; /* user, project, or group ID */ - u_int64_t d_blk_hardlimit; /* absolute limit on disk blks */ - u_int64_t d_blk_softlimit; /* preferred limit on disk blks */ - u_int64_t d_ino_hardlimit; /* maximum # allocated inodes */ - u_int64_t d_ino_softlimit; /* preferred inode limit */ - u_int64_t d_bcount; /* # disk blocks owned by the user */ - u_int64_t d_icount; /* # inodes owned by the user */ - int32_t d_itimer; /* zero if within inode limits */ - /* if not, we refuse service */ - int32_t d_btimer; /* similar to above; for disk blocks */ - u_int16_t d_iwarns; /* # warnings issued wrt num inodes */ - u_int16_t d_bwarns; /* # warnings issued wrt disk blocks */ - int32_t d_padding2; /* padding2 - for future use */ - u_int64_t d_rtb_hardlimit; /* absolute limit on realtime blks */ - u_int64_t d_rtb_softlimit; /* preferred limit on RT disk blks */ - u_int64_t d_rtbcount; /* # realtime blocks owned */ - int32_t d_rtbtimer; /* similar to above; for RT disk blks */ - u_int16_t d_rtbwarns; /* # warnings issued wrt RT disk blks */ - int16_t d_padding3; /* padding3 - for future use */ - char d_padding4[8]; /* yet more padding */ -} fs_disk_quota_t; - -/* - * These fields are sent to Q_XSETQLIM to specify fields that need to change. - */ -#define FS_DQ_ISOFT (1<<0) -#define FS_DQ_IHARD (1<<1) -#define FS_DQ_BSOFT (1<<2) -#define FS_DQ_BHARD (1<<3) -#define FS_DQ_RTBSOFT (1<<4) -#define FS_DQ_RTBHARD (1<<5) -#define FS_DQ_LIMIT_MASK (FS_DQ_ISOFT | FS_DQ_IHARD | FS_DQ_BSOFT | \ - FS_DQ_BHARD | FS_DQ_RTBSOFT | FS_DQ_RTBHARD) -/* - * These timers can only be set in super user's dquot. For others, timers are - * automatically started and stopped. Superusers timer values set the limits - * for the rest. In case these values are zero, the DQ_{F,B}TIMELIMIT values - * defined below are used. - * These values also apply only to the d_fieldmask field for Q_XSETQLIM. - */ -#define FS_DQ_BTIMER (1<<6) -#define FS_DQ_ITIMER (1<<7) -#define FS_DQ_RTBTIMER (1<<8) -#define FS_DQ_TIMER_MASK (FS_DQ_BTIMER | FS_DQ_ITIMER | FS_DQ_RTBTIMER) - -/* - * The following constants define the default amount of time given a user - * before the soft limits are treated as hard limits (usually resulting - * in an allocation failure). These may be modified by the quotactl(2) - * system call with the Q_XSETQLIM command. - */ -#define DQ_FTIMELIMIT (7 * 24*60*60) /* 1 week */ -#define DQ_BTIMELIMIT (7 * 24*60*60) /* 1 week */ - -/* - * Various flags related to quotactl(2). Only relevant to XFS filesystems. - */ -#define XFS_QUOTA_UDQ_ACCT (1<<0) /* user quota accounting */ -#define XFS_QUOTA_UDQ_ENFD (1<<1) /* user quota limits enforcement */ -#define XFS_QUOTA_GDQ_ACCT (1<<2) /* group quota accounting */ -#define XFS_QUOTA_GDQ_ENFD (1<<3) /* group quota limits enforcement */ - -#define XFS_USER_QUOTA (1<<0) /* user quota type */ -#define XFS_PROJ_QUOTA (1<<1) /* (IRIX) project quota type */ -#define XFS_GROUP_QUOTA (1<<2) /* group quota type */ - -/* - * fs_quota_stat is the struct returned in Q_XGETQSTAT for a given file system. - * Provides a centralized way to get meta infomation about the quota subsystem. - * eg. space taken up for user and group quotas, number of dquots currently - * incore. - */ -#define FS_QSTAT_VERSION 1 /* fs_quota_stat.qs_version */ - -/* - * Some basic infomation about 'quota files'. - */ -typedef struct fs_qfilestat { - u_int64_t qfs_ino; /* inode number */ - u_int64_t qfs_nblks; /* number of BBs 512-byte-blks */ - u_int32_t qfs_nextents; /* number of extents */ -} fs_qfilestat_t; - -typedef struct fs_quota_stat { - u_int8_t qs_version; /* version number for future changes */ - u_int16_t qs_flags; /* XFS_QUOTA_{U,P,G}DQ_{ACCT,ENFD} */ - u_int8_t qs_pad; /* unused */ - fs_qfilestat_t qs_uquota; /* user quota storage information */ - fs_qfilestat_t qs_gquota; /* group quota storage information */ - u_int32_t qs_incoredqs; /* number of dquots incore */ - int32_t qs_btimelimit; /* limit for blks timer */ - int32_t qs_itimelimit; /* limit for inodes timer */ - int32_t qs_rtbtimelimit; /* limit for rt blks timer */ - u_int16_t qs_bwarnlimit; /* limit for num warnings */ - u_int16_t qs_iwarnlimit; /* limit for num warnings */ -} fs_quota_stat_t; - -#endif /* _QUOTAIO_LINUX_XFS */ - -#endif /* _SAMBA_LINUX_XFS_H_ */ |