[Dovecot] fs quota - what I am doing wrong?
Václav Hůla
ax at natur.cuni.cz
Thu Mar 1 09:05:43 EET 2007
Timo Sirainen napsal(a):
> On Mon, 2007-02-26 at 15:06 +0100, Václav Hůla wrote:
>> Feb 26 15:02:27 zen dovecot: IMAP(ax): quotactl(Q_GETQUOTA, /dev/sda8)
>> failed: Invalid argument
>> Feb 26 15:02:27 zen dovecot: IMAP(ax): Dovecot was compiled with Linux
>> quota v2 support, try changing it (--with-linux-quota configure option)
>
> Maybe the quota headers aren't matching what the kernel is running. I've
> no idea really, the fs quota code either seems to work or it doesn't..
>
> You could try checking with strace what's the difference between
> Dovecot's quotactl() call and "quota" command's quotactl() call.
The difference:
quota command:
quotactl(Q_GETFMT|USRQUOTA, "/dev/sda8", 0, 0xbffff218) = 0
dovecot:
quotactl(Q_GETQUOTA|USRQUOTA, "/dev/sda8", 506, {0, 135145272,
1075193885, 1075193885, 135145168, 135099456, 3221217528, 134953542}) =
-1 EINVAL (Invalid argument)
I found quotactl in 3 places in /usr/include:
/usr/include/linux/quota.h
long quotactl __P ((unsigned int, const char *, int, caddr_t));
/usr/include/sys/quota.h
extern int quotactl (int __cmd, const char *__special, int __id,
caddr_t __addr) __THROW;
/usr/include/linux/security.h
int (*quotactl) (int cmds, int type, int id, struct super_block * sb);
To me it looks that dovecot uses the linux/security one, but sadly I
have no idea why or how to stop it.
Hula
--
Václav Hůla,
správce unixových serverů
Přírodovědecká fakulta
Univerzita Karlova v Praze
More information about the dovecot
mailing list