VxFS quotas broken in 2.2.x?

Andrew Morgan morgan at orst.edu
Wed Jun 12 19:09:02 GMT 2002


We upgraded our samba installation from 2.0.7 to 2.2.3a several months
ago, and then upgraded to 2.2.4 when that came out.  Our system is a Sun
E450 running Solaris 8 and a T3 disk array storing home directories.  We
use Veritas File System version 3.3.3p1 on the T3.

It appears that upgrading to samba 2.2.x broke the VxFS quota detection.
I can't pin down exactly when the change happened in CVS, but it seems to
have been working at 2.0.10 and was broken in 2.2.0.

The configure script correctly finds sys/fs/vx_quota.h and sets:

#define HAVE_SYS_FS_VX_QUOTA_H 1

in source/includes/config.h.


In samba 2.0.7, source/includes/includes.h had the lines:

/*
 * Veritas File System.  Often in addition to native.
 * Quotas different.
 */
#if defined(HAVE_SYS_FS_VX_QUOTA_H)
#define VXFS_QUOTA
#endif

These lines are missing in samba 2.2.x.  In source/smbd/quotas.c, it
checks that VXFS_QUOTA is defined to call the VxFS quota checking
routines.

I have run samba 2.2.4 at debuglevel 5 to see if it checks the VxFS
quotas, but this is all I get:

Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.info] [2002/06/12 18:12:17, 3] smbd/trans2.c:call_trans2qfsinfo(1315)
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.info]   call_trans2qfsinfo: level = 259
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.debug] [2002/06/12 18:12:17, 5] smbd/quotas.c:disk_quotas(540)
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.debug]   disk_quotas: looking for path "." devno=2b01770
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.debug] [2002/06/12 18:12:17, 5] smbd/quotas.c:disk_quotas(602)
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.debug]   disk_quotas: looking for quotas file "/users/u1/quotas"
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.debug] [2002/06/12 18:12:17, 5] smbd/quotas.c:disk_quotas(620)
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.debug]   disk_quotas ioctl (Solaris) failed. Error = Inappropriate ioctl for device
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.debug] [2002/06/12 18:12:17, 4] smbd/trans2.c:call_trans2qfsinfo(1492)
Jun 12 18:12:17 raven smbd[22938]: [ID 702911 local7.debug]   SMBtrans2 info_level = 259

There should be more debug output according to source/smbd/quotas.c:

#if defined(SUNOS5) && defined(VXFS_QUOTA)
                /* If normal quotactl() fails, try vxfs private calls */
                set_effective_uid(euser_id);
                DEBUG(5,("disk_quotas: mount type \"%s\"\n", mnt.mnt_fstype));
...



Is this a simple oversight in Samba?  I haven't tried adding back in the
lines from the 2.0.7 includes.h file yet (I've got an active system with
users connected -- finals week!).

I also notice that the release notes for VxFS version 3.4 say that you can
get the quotas using standard solaris quotactl ioctl's, so maybe someone
removed the Veritas specific ioctl's?  Obviously, this doesn't work so hot
if you have an older version of VxFS...  :)

Thanks,
	Andy





More information about the samba-technical mailing list