Niklas Edmundsson
2007-Oct-10 09:34 UTC
[Lustre-discuss] Lustre 1.6.2 and --enable-quota broken
On Lustre 1.6.2, 2.6.18 kernel with quotas enabled I seem to be unable to compile lustre with quotas enabled. It seems to be the same problem as: http://groups.google.com/group/lustre-discuss-list/browse_thread/thread/96d5e0bd61435326/b6eca1f86cfed4bc?lnk=gst&q=enable-quota&rnum=2#b6eca1f86cfed4bc Looking in lustre/quota/quota_ctl.c I see that quota.h is only included within __KERNEL__, but Q_QUOTAON is used in lov_quota_ctl() which is always compiled in. So any of these fixes might apply: - Include sys/quota.h when not in __KERNEL__ - Only compile lov_quota_ctl() in __KERNEL__ - Something else. In any case it''s obviously broken, and determining the correct fix requires some knowledge of the code involved. Meanwhile I''ll try various stuff and see what happens. /Nikke -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se | nikke at hpc2n.umu.se --------------------------------------------------------------------------- Dramatize: What well dressed RAM chips wear. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Niklas Edmundsson
2007-Oct-10 11:01 UTC
[Lustre-discuss] Lustre 1.6.2 and --enable-quota broken
On Wed, 10 Oct 2007, Niklas Edmundsson wrote:> So any of these fixes might apply: > - Include sys/quota.h when not in __KERNEL__ > - Only compile lov_quota_ctl() in __KERNEL__ > - Something else.The following patch seems to solve the problem: -----------------------8<---------------------- --- ./lustre/include/liblustre.h 2007-08-13 19:31:56.000000000 +0200 +++ ./lustre/include/liblustre.h 2007-10-10 11:38:20.071254030 +0200 @@ -50,6 +50,7 @@ #ifndef _IOWR # include "ioctl.h" #endif +#include <sys/quota.h> #include <stdio.h> #include <sys/ioctl.h> -----------------------8<---------------------- However, the configure script seems to be seriously braindamaged when it comes to do the right thing when only building the utilities by doing: ./configure --disable-dependency-tracking --disable-modules --enable-snmp --disable-tests --disable-client --disable-server --enable-quota=yes The problem is that the resulting lfs binary isn''t quota enabled, and it took a while to figure out why since the reason was that the configure checks for enabling quotas are only run if module-build is enabled! This is easily seen in aclocal.m4 if you start by looking at LC_CONFIG_QUOTA, and then find it only to be called from LC_PROG_LINUX which in turn is only called if modules are enabled on Linux... It seems to me that LC_CONFIG_QUOTA should always be called... I''ll do some local ugly-hack around it, but someone should really clean up that configure mess... /Nikke -- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Niklas Edmundsson, Admin @ {acc,hpc2n}.umu.se | nikke at hpc2n.umu.se --------------------------------------------------------------------------- Modem.... A deterrent to phone solicitors. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=