mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
Move sysquotas autoconf tests to a seperate file.
Patch by Stefan Metzmacher <metze@metzemix.de>
(This used to be commit 9f6cd8177d
)
This commit is contained in:
parent
ed0721787b
commit
9759adc4ff
@ -3083,7 +3083,7 @@ AC_TRY_RUN_STRICT([
|
|||||||
#define HAVE_QUOTACTL_4A 1
|
#define HAVE_QUOTACTL_4A 1
|
||||||
#define AUTOCONF_TEST 1
|
#define AUTOCONF_TEST 1
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include "${srcdir-.}/lib/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
|
#include "${srcdir-.}/tests/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
|
||||||
samba_cv_HAVE_QUOTACTL_4A=yes,samba_cv_HAVE_QUOTACTL_4A=no,samba_cv_HAVE_QUOTACTL_4A=cross)])
|
samba_cv_HAVE_QUOTACTL_4A=yes,samba_cv_HAVE_QUOTACTL_4A=no,samba_cv_HAVE_QUOTACTL_4A=cross)])
|
||||||
if test x"$samba_cv_HAVE_QUOTACTL_4A" = x"yes"; then
|
if test x"$samba_cv_HAVE_QUOTACTL_4A" = x"yes"; then
|
||||||
samba_cv_SYSQUOTA_FOUND=yes;AC_DEFINE(HAVE_QUOTACTL_4A,1,[Whether long quotactl(int cmd, char *special, qid_t id, caddr_t addr) is available])
|
samba_cv_SYSQUOTA_FOUND=yes;AC_DEFINE(HAVE_QUOTACTL_4A,1,[Whether long quotactl(int cmd, char *special, qid_t id, caddr_t addr) is available])
|
||||||
@ -3096,7 +3096,7 @@ AC_TRY_RUN_STRICT([
|
|||||||
#define HAVE_QUOTACTL_4B 1
|
#define HAVE_QUOTACTL_4B 1
|
||||||
#define AUTOCONF_TEST 1
|
#define AUTOCONF_TEST 1
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include "${srcdir-.}/lib/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
|
#include "${srcdir-.}/tests/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
|
||||||
samba_cv_HAVE_QUOTACTL_4B=yes,samba_cv_HAVE_QUOTACTL_4B=no,samba_cv_HAVE_QUOTACTL_4B=cross)])
|
samba_cv_HAVE_QUOTACTL_4B=yes,samba_cv_HAVE_QUOTACTL_4B=no,samba_cv_HAVE_QUOTACTL_4B=cross)])
|
||||||
if test x"$samba_cv_HAVE_QUOTACTL_4B" = x"yes"; then
|
if test x"$samba_cv_HAVE_QUOTACTL_4B" = x"yes"; then
|
||||||
echo "int quotactl(const char *path, int cmd, int id, char *addr) is not reworked for the new sys_quota api"
|
echo "int quotactl(const char *path, int cmd, int id, char *addr) is not reworked for the new sys_quota api"
|
||||||
@ -3110,7 +3110,7 @@ AC_TRY_RUN_STRICT([
|
|||||||
#define HAVE_QUOTACTL_3 1
|
#define HAVE_QUOTACTL_3 1
|
||||||
#define AUTOCONF_TEST 1
|
#define AUTOCONF_TEST 1
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include "${srcdir-.}/lib/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
|
#include "${srcdir-.}/tests/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
|
||||||
samba_cv_HAVE_QUOTACTL_3=yes,samba_cv_HAVE_QUOTACTL_3=no,samba_cv_HAVE_QUOTACTL_3=cross)])
|
samba_cv_HAVE_QUOTACTL_3=yes,samba_cv_HAVE_QUOTACTL_3=no,samba_cv_HAVE_QUOTACTL_3=cross)])
|
||||||
if test x"$samba_cv_HAVE_QUOTACTL_3" = x"yes"; then
|
if test x"$samba_cv_HAVE_QUOTACTL_3" = x"yes"; then
|
||||||
echo "CRAY int quotactl (char *spec, int request, char *arg) is NOT reworked for the sys_quota api"
|
echo "CRAY int quotactl (char *spec, int request, char *arg) is NOT reworked for the sys_quota api"
|
||||||
|
@ -19,8 +19,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef AUTOCONF_TEST
|
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#ifdef HAVE_SYS_QUOTAS
|
#ifdef HAVE_SYS_QUOTAS
|
||||||
@ -742,7 +740,7 @@ static int command_get_quota(const char *path, enum SMB_QUOTA_TYPE qtype, unid_t
|
|||||||
if (lines) {
|
if (lines) {
|
||||||
char *line = lines[0];
|
char *line = lines[0];
|
||||||
|
|
||||||
DEBUG (3, ("Read output from get_quota, \"r%s\"\n", line));
|
DEBUG (3, ("Read output from get_quota, \"%s\"\n", line));
|
||||||
|
|
||||||
/* we need to deal with long long unsigned here, if supported */
|
/* we need to deal with long long unsigned here, if supported */
|
||||||
|
|
||||||
@ -1011,99 +1009,3 @@ int sys_set_quota(const char *path, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DI
|
|||||||
}
|
}
|
||||||
#endif /* HAVE_SYS_QUOTAS */
|
#endif /* HAVE_SYS_QUOTAS */
|
||||||
|
|
||||||
#else /* ! AUTOCONF_TEST */
|
|
||||||
/* this is the autoconf driver to test witch quota system we should use */
|
|
||||||
|
|
||||||
#if defined(HAVE_QUOTACTL_4A)
|
|
||||||
/* long quotactl(int cmd, char *special, qid_t id, caddr_t addr) */
|
|
||||||
|
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_ASM_TYPES_H
|
|
||||||
#include <asm/types.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(HAVE_LINUX_QUOTA_H)
|
|
||||||
# include <linux/quota.h>
|
|
||||||
# if defined(HAVE_STRUCT_IF_DQBLK)
|
|
||||||
# define SYS_DQBLK if_dqblk
|
|
||||||
# elif defined(HAVE_STRUCT_MEM_DQBLK)
|
|
||||||
# define SYS_DQBLK mem_dqblk
|
|
||||||
# endif
|
|
||||||
#elif defined(HAVE_SYS_QUOTA_H)
|
|
||||||
# include <sys/quota.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef SYS_DQBLK
|
|
||||||
#define SYS_DQBLK dqblk
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int autoconf_quota(void)
|
|
||||||
{
|
|
||||||
int ret = -1;
|
|
||||||
struct SYS_DQBLK D;
|
|
||||||
|
|
||||||
ret = quotactl(Q_GETQUOTA,"/dev/hda1",0,(void *)&D);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(HAVE_QUOTACTL_4B)
|
|
||||||
/* int quotactl(const char *path, int cmd, int id, char *addr); */
|
|
||||||
|
|
||||||
#ifdef HAVE_SYS_QUOTA_H
|
|
||||||
#include <sys/quota.h>
|
|
||||||
#else /* *BSD */
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <ufs/ufs/quota.h>
|
|
||||||
#include <machine/param.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int autoconf_quota(void)
|
|
||||||
{
|
|
||||||
int ret = -1;
|
|
||||||
struct dqblk D;
|
|
||||||
|
|
||||||
ret = quotactl("/",Q_GETQUOTA,0,(char *) &D);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(HAVE_QUOTACTL_3)
|
|
||||||
/* int quotactl (char *spec, int request, char *arg); */
|
|
||||||
|
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_QUOTA_H
|
|
||||||
#include <sys/quota.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int autoconf_quota(void)
|
|
||||||
{
|
|
||||||
int ret = -1;
|
|
||||||
struct q_request request;
|
|
||||||
|
|
||||||
ret = quotactl("/", Q_GETQUOTA, &request);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(HAVE_QUOTACTL_2)
|
|
||||||
|
|
||||||
#error HAVE_QUOTACTL_2 not implemented
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#error Unknow QUOTACTL prototype
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
autoconf_quota();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif /* AUTOCONF_TEST */
|
|
||||||
|
94
source3/tests/sysquotas.c
Normal file
94
source3/tests/sysquotas.c
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
/* this test should find out what quota api is available on the os */
|
||||||
|
|
||||||
|
#if defined(HAVE_QUOTACTL_4A)
|
||||||
|
/* long quotactl(int cmd, char *special, qid_t id, caddr_t addr) */
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_TYPES_H
|
||||||
|
#include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_ASM_TYPES_H
|
||||||
|
#include <asm/types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_LINUX_QUOTA_H)
|
||||||
|
# include <linux/quota.h>
|
||||||
|
# if defined(HAVE_STRUCT_IF_DQBLK)
|
||||||
|
# define SYS_DQBLK if_dqblk
|
||||||
|
# elif defined(HAVE_STRUCT_MEM_DQBLK)
|
||||||
|
# define SYS_DQBLK mem_dqblk
|
||||||
|
# endif
|
||||||
|
#elif defined(HAVE_SYS_QUOTA_H)
|
||||||
|
# include <sys/quota.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef SYS_DQBLK
|
||||||
|
#define SYS_DQBLK dqblk
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int autoconf_quota(void)
|
||||||
|
{
|
||||||
|
int ret = -1;
|
||||||
|
struct SYS_DQBLK D;
|
||||||
|
|
||||||
|
ret = quotactl(Q_GETQUOTA,"/dev/hda1",0,(void *)&D);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(HAVE_QUOTACTL_4B)
|
||||||
|
/* int quotactl(const char *path, int cmd, int id, char *addr); */
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_QUOTA_H
|
||||||
|
#include <sys/quota.h>
|
||||||
|
#else /* *BSD */
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <ufs/ufs/quota.h>
|
||||||
|
#include <machine/param.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int autoconf_quota(void)
|
||||||
|
{
|
||||||
|
int ret = -1;
|
||||||
|
struct dqblk D;
|
||||||
|
|
||||||
|
ret = quotactl("/",Q_GETQUOTA,0,(char *) &D);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(HAVE_QUOTACTL_3)
|
||||||
|
/* int quotactl (char *spec, int request, char *arg); */
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_TYPES_H
|
||||||
|
#include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_QUOTA_H
|
||||||
|
#include <sys/quota.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int autoconf_quota(void)
|
||||||
|
{
|
||||||
|
int ret = -1;
|
||||||
|
struct q_request request;
|
||||||
|
|
||||||
|
ret = quotactl("/", Q_GETQUOTA, &request);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(HAVE_QUOTACTL_2)
|
||||||
|
|
||||||
|
#error HAVE_QUOTACTL_2 not implemented
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#error Unknow QUOTACTL prototype
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
autoconf_quota();
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user