Samba 3.0.1pre3 builds find on SLES8 SP3, but rc1 fails for me... I had
no bites on the samba-list so was hoping someone here might have ideas
about what is going on.

Any configure statement that had --with-quotas failed to bulid.

./autogen.sh ; ./configure --with-quotas; make

During make:

Compiling smbd/quotas.c
smbd/quotas.c: In function `get_smb_linux_vfs_quota':
smbd/quotas.c:135: storage size of `D' isn't known
make: *** [smbd/quotas.o] Error 1

Pre3 doesn't complain, during the configure they both report:

checking whether to try disk-quotas support... yes
checking whether to try the new lib/sysquotas.c interface... auto
checking whether to try the lib/sysquotas.c interface on linux-gnu...
yes
checking sys/fs/vx_quota.h usability... no
checking sys/fs/vx_quota.h presence... no
checking for sys/fs/vx_quota.h... no
checking sys/quota.h usability... yes
checking sys/quota.h presence... yes
checking for sys/quota.h... yes
checking asm/types.h usability... yes
checking asm/types.h presence... yes
checking for asm/types.h... yes
checking linux/quota.h usability... no
checking linux/quota.h presence... yes
configure: WARNING: linux/quota.h: present but cannot be compiled
configure: WARNING: linux/quota.h: check for missing prerequisite
headers?
configure: WARNING: linux/quota.h: proceeding with the preprocessor's
result
checking for linux/quota.h... Yes

There are few changes in smbd/quotas.c, and I don't understand what's
causing it to fail now.  Any ideas?

Here are the portions of each version of that function:

Rc1:

static int get_smb_linux_vfs_quota(char *path, uid_t euser_id,
LINUX_SMB_DISK_QUOTA *dp)
{
        int ret = 0;
#ifdef LINUX_QUOTAS_1
        struct dqblk D;
        ZERO_STRUCT(D);
        dp->bsize = (SMB_BIG_UINT)1024;
#else /* LINUX_QUOTAS_2 */
        struct mem_dqblk D;  //<---- this is line 135
        ZERO_STRUCT(D);
#ifndef QUOTABLOCK_SIZE
#define QUOTABLOCK_SIZE 1024
#endif
        dp->bsize = (SMB_BIG_UINT)QUOTABLOCK_SIZE;
#endif
...



Pre 3

static int get_smb_linux_vfs_quota(char *path, uid_t euser_id,
LINUX_SMB_DISK_QUOTA *dp)
{
        int ret;
#ifdef LINUX_QUOTAS_1
        struct dqblk D;
        ZERO_STRUCT(D);
        dp->bsize = (SMB_BIG_UINT)1024;
#else /* LINUX_QUOTAS_2 */
        struct mem_dqblk D;
        ZERO_STRUCT(D);
#ifndef QUOTABLOCK_SIZE
#define QUOTABLOCK_SIZE 1024
#endif
        dp->bsize = (SMB_BIG_UINT)QUOTABLOCK_SIZE;
#endif
...


Thank you for any pointers,
~ Daniel





-----------------------------------------------------------------------

This message is the property of Time Inc. or its affiliates. It may be
legally privileged and/or confidential and is intended only for the use
of the addressee(s). No addressee should forward, print, copy, or
otherwise reproduce this message in any manner that would allow it to be
viewed by any individual not originally listed as a recipient. If the
reader of this message is not the intended recipient, you are hereby
notified that any unauthorized disclosure, dissemination, distribution,
copying or the taking of any action in reliance on the information
herein is strictly prohibited. If you have received this communication
in error, please immediately notify the sender and delete this message.
Thank you.

Reply via email to