diff options
author | Jeremy Allison <jra@samba.org> | 2004-01-05 19:36:02 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2004-01-05 19:36:02 +0000 |
commit | 31876a8478fc16dc7ac62ca835714098398f56e4 (patch) | |
tree | 12dd193cb5ee71e775d4b56f87386305225fab5e /source3/include | |
parent | 2ed5a1a340598374a61e9eec9221598c26e749db (diff) | |
download | samba-31876a8478fc16dc7ac62ca835714098398f56e4.tar.gz samba-31876a8478fc16dc7ac62ca835714098398f56e4.tar.bz2 samba-31876a8478fc16dc7ac62ca835714098398f56e4.zip |
Patch from Stefan (metze) Metzmacher <metze at metzemix.de> to revert to 2.2.x quota methods.
:-).
"here's a patch which ports the samba 2.2 samba_linux_quota.h stuff to 3_0.
This is needed because of so many broken quota files outthere.
Please, test this with old, new kernels
(strucr dqblk, struct mem_dqblk, and struct if_dqblk)
, quota.user, aquota.user formats
what is when a user is over soft quota and over hard quotas..."
Jeremy.
(This used to be commit 4350aa6ce6cfdaf71cdcfd2aebcdc9560fa7efcf)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/sysquotas.h | 152 |
1 files changed, 4 insertions, 148 deletions
diff --git a/source3/include/sysquotas.h b/source3/include/sysquotas.h index b803e6277a..bfb9466b39 100644 --- a/source3/include/sysquotas.h +++ b/source3/include/sysquotas.h @@ -23,150 +23,6 @@ #ifdef HAVE_SYS_QUOTAS -/* Sometimes we need this on linux for linux/quota.h */ -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -#ifdef HAVE_ASM_TYPES_H -#include <asm/types.h> -#endif - -/* - * This shouldn't be neccessary - it should be /usr/include/sys/quota.h - * Unfortunately, RH7.1 ships with a different quota system using struct mem_dqblk - * rather than the struct dqblk defined in /usr/include/sys/quota.h. - * This means we must include linux/quota.h to have a hope of working on - * RH7.1 systems. And it also means this breaks if the kernel is upgraded - * to a Linus 2.4.x (where x > the minor number shipped with RH7.1) until - * Linus synchronises with the AC patches. Sometimes I *hate* Linux :-). JRA. - */ -#ifdef HAVE_LINUX_QUOTA_H -#include <linux/quota.h> -#elif defined(HAVE_SYS_QUOTA_H) -#include <sys/quota.h> -#endif - -#if defined(HAVE_STRUCT_IF_DQBLK) -# define SYS_DQBLK if_dqblk -# define dqb_curblocks dqb_curspace/bsize -#elif defined(HAVE_STRUCT_MEM_DQBLK) -# define SYS_DQBLK mem_dqblk -# define dqb_curblocks dqb_curspace/bsize -#else /* STRUCT_DQBLK */ -# define SYS_DQBLK dqblk -#endif - -#ifndef Q_SETQLIM -#define Q_SETQLIM Q_SETQUOTA -#endif - -/********************************************* - check for XFS QUOTA MANAGER - *********************************************/ -/* on linux */ -#ifdef HAVE_LINUX_XQM_H -# include <linux/xqm.h> -# define HAVE_XFS_QUOTA -#else -# ifdef HAVE_XFS_XQM_H -# include <xfs/xqm.h> -# define HAVE_XFS_QUOTA -# else -# ifdef HAVE_LINUX_DQBLK_XFS_H -# include <linux/dqblk_xfs.h> -# define HAVE_XFS_QUOTA -# endif -# endif -#endif -/* on IRIX */ -#ifdef Q_XGETQUOTA -# ifndef HAVE_XFS_QUOTA -# define HAVE_XFS_QUOTA -# ifndef Q_XQUOTAON -# define Q_XQUOTAON Q_QUOTAON -# endif /* Q_XQUOTAON */ -# ifndef Q_XQUOTAOFF -# define Q_XQUOTAOFF Q_QUOTAOFF -# endif /* Q_XQUOTAOFF */ -# ifndef Q_XGETQSTAT -# define Q_XGETQSTAT Q_GETQSTAT -# endif /* Q_XGETQSTAT */ -# endif /* HAVE_XFS_QUOTA */ -#endif /* Q_XGETQUOTA */ - -#ifdef HAVE_XFS_QUOTA -/* Linux has BBSIZE in <linux/xfs_fs.h> - * or <xfs/xfs_fs.h> - * IRIX has BBSIZE in <sys/param.h> - */ -#ifdef HAVE_LINUX_XFS_FS_H -#include <linux/xfs_fs.h> -#elif defined(HAVE_XFS_XFS_FS_H) -#include <xfs/xfs_fs.h> -#endif /* *_XFS_FS_H */ - -#ifndef BBSHIFT -#define BBSHIFT 9 -#endif /* BBSHIFT */ -#ifndef BBSIZE -#define BBSIZE (1<<BBSHIFT) -#endif /* BBSIZE */ - -#endif /* HAVE_XFS_QUOTA */ - -#ifdef LINUX -# ifndef QUOTABLOCK_SIZE -# define QUOTABLOCK_SIZE 1024 -# endif -/* end LINUX */ -#elif defined(IRIX6) -# ifndef QUOTABLOCK_SIZE -# define QUOTABLOCK_SIZE BBSIZE -# endif -/* end IRIX6 */ -#else /* HPUP,... */ -# ifndef QUOTABLOCK_SIZE -# define QUOTABLOCK_SIZE DEV_BSIZE -# endif -#endif /* HPUP,... */ - -#if !defined(QUOTAFILENAME) && defined(QFILENAME) -#define QUOTAFILENAME QFILENAME -#endif - -#ifdef INITQFNAMES -#define USERQUOTAFILE_EXTENSION ".user" -#else -#define USERQUOTAFILE_EXTENSION "" -#endif - -/* this check should be before the QCMD fake! */ -#if defined(QCMD)&&defined(GRPQUOTA) -#define HAVE_GROUP_QUOTA -#endif - -/* on some systems we have to fake this up ...*/ -#ifndef QCMD -#define QCMD(cmd,type) (cmd) -#endif /* QCMD */ - - -#ifdef HAVE_DQB_FSOFTLIMIT -#define dqb_isoftlimit dqb_fsoftlimit -#define dqb_ihardlimit dqb_fhardlimit -#define dqb_curinodes dqb_curfiles -#endif - -/* maybe we can add a configure test for HAVE_CADDR_T, - * but it's not needed - */ -#ifdef HAVE_CADDR_T -#define CADDR_T caddr_t -#else /* CADDR_T */ -#define CADDR_T void* -#endif /* CADDR_T */ - #if defined(HAVE_MNTENT_H)&&defined(HAVE_SETMNTENT)&&defined(HAVE_GETMNTENT)&&defined(HAVE_ENDMNTENT) #include <mntent.h> #define HAVE_MNTENT 1 @@ -178,10 +34,6 @@ #endif /* HAVE_SYS_QUOTAS */ -#ifndef QUOTABLOCK_SIZE -#define QUOTABLOCK_SIZE 1024 -#endif - /************************************************** Some stuff for the sys_quota api. **************************************************/ @@ -217,4 +69,8 @@ typedef struct _SMB_DISK_QUOTA { uint32 qflags; } SMB_DISK_QUOTA; +#ifndef QUOTABLOCK_SIZE +#define QUOTABLOCK_SIZE 1024 +#endif + #endif /*_SYSQUOTAS_H */ |