Hello Andi, I changed the sys32_quotactl into sys_quotactl in ia32entry.S, now the 32bit quotactl() works. I get the correct quota free space within a 32 bit application as well within a 64 bit application. I tested the quotactl call using QCMD(Q_GETQUOTA, USRQUOTA). Thank you for your help. best regards / mit freundlichen Gruessen, Helmut Tschemernjak HELIOS Software GmbH Steinriede 3 30827 Garbsen Phone: +49-5131-709320 Fax: +49-5131-709325 Internet Mail: helmut@helios.de Internet Web: http://www.helios.de # Linux amd64 2.6.9 diff -u # of /usr/src/linux/arch/x86_64/ia32/ia32entry.S --- ia32entry.S.SAVE 2004-10-18 23:54:07.000000000 +0200 +++ ia32entry.S 2004-11-23 18:40:42.000000000 +0100 @@ -433,7 +433,7 @@ .quad sys_init_module .quad sys_delete_module .quad quiet_ni_syscall /* 130 get_kernel_syms */ - .quad sys32_quotactl /* quotactl */ + .quad sys_quotactl /* quotactl */ .quad sys_getpgid .quad sys_fchdir .quad quiet_ni_syscall /* bdflush */ Andi Kleen wrote:
On Fri, Oct 22, 2004 at 10:21:37AM +0200, Helmut Tschemernjak wrote:
Hello,
we are getting error messages using our server process on Suse 9.1:
kernel: afpsrv: 32bit quotactl not supported on 64 bit kernel
Does somebody now if the quota 32 bit API cannot be mapped into 64 bit or is it just a missing translation.
Missing translation:
long sys32_quotactl(void) { struct task_struct *me = current; static char lastcomm[8]; if (strcmp(lastcomm, me->comm)) { printk(KERN_INFO "%s: 32bit quotactl not supported on 64 bit kernel\n", me->comm); strcpy(lastcomm, me->comm); } return -ENOSYS; }
Actually the call may just be compatible, it could work if you replace it with sys_quotactl in ia32entry.S (or that is at least what ppc64 did). If it works please report and I can change it.
-Andi