[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAGr1F2E98=CDrLR5Qb5X8_qYOSHZ-YTKg890BP26dkRZnow9nQ@mail.gmail.com>
Date: Wed, 11 Jan 2012 10:58:12 -0800
From: Aditya Kali <adityakali@...gle.com>
To: Jan Kara <jack@...e.cz>
Cc: Ted Tso <tytso@....edu>, linux-ext4@...r.kernel.org
Subject: Re: [PATCH] libquota: Do not build libquota when disabled
On Tue, Jan 10, 2012 at 4:13 PM, Jan Kara <jack@...e.cz> wrote:
> On Tue 10-01-12 13:50:06, Aditya Kali wrote:
>> Libquota is supposed to be internal library of e2fsprogs. Initially I
>> added the code thinking that it would be an independent library, but
>> it depends too much on libext2fs and should be part of libext2fs
>> itself. The quota header files should not be installed.
> Thanks for clarification! Do you plan to work on fixing this or should I
> have a look at it?
>
I have planned to work on fixing this. But I wasn't able to give time
for quota stuff recently. I will try to look at this asap.
>> Also, e2fsck should compile even without quota support. This needs to be
>> fixed.
> Hum, but why would anyone want to compile e2fsprogs without quota
> support? We also don't provide a way to switch off for example indexed
> directories support. So why would be quota different?
>
The quota support isn't fully baked-in yet. There are still some
e2fsck changes needed (currently, we simply recreate quota files after
e2fsck and do not check if the previous quota information was correct
or not). Also, the kernel side changes are not yet accepted. Since
this code has not been tested much, it would be better for people to
have an option to exclude it out. That was the reasoning behind adding
that option. Eventually we might want to remove it though.
Thanks,
--
Aditya
> Honza
>
>> On Tue, Jan 10, 2012 at 11:38 AM, Jan Kara <jack@...e.cz> wrote:
>> > On Tue 10-01-12 17:46:36, Jan Kara wrote:
>> >> Due to missing QUOTA_CMT definition in configure.in, libquota was built
>> >> (and e.g. include file was installed) even when quota support was disabled.
>> >> Fix it. Also fix help text of the configure option when we are at it.
>> > Hum, but after this e2fsck does not compile because of missing
>> > libquota.a. So should it be possible to disable quota support (and thus
>> > e2fsck should be fixed) or not (and then config option should be removed)?
>> >
>> > Also I've also noticed that libquota is generated as a static library even
>> > if --enable-elf-shlibs is specified. Bug? Or is libquota supposed to be
>> > internal library of e2fsprogs and never used outside of e2fsprogs? But then
>> > why is it and its header files installed?
>> >
>> > BTW, since the library is tied to ext4 anyway, won't it be more logical for
>> > external developpers to make it part of libext2fs?
>> >
>> > Honza
>> >>
>> >> Signed-off-by: Jan Kara <jack@...e.cz>
>> >> ---
>> >> configure | 11 ++++++-----
>> >> configure.in | 4 +++-
>> >> 2 files changed, 9 insertions(+), 6 deletions(-)
>> >>
>> >> diff --git a/configure b/configure
>> >> index 9f5eeb5..965f7cf 100755
>> >> --- a/configure
>> >> +++ b/configure
>> >> @@ -1462,7 +1462,7 @@ Optional Features:
>> >> --disable-testio-debug disable the use of the test I/O manager for debugging
>> >> --disable-libuuid do not build private uuid library
>> >> --disable-libblkid do not build private blkid library
>> >> - --enable-libquota enable quota support
>> >> + --enable-quota enable quota support
>> >> --disable-debugfs disable support of debugfs program
>> >> --disable-imager disable support of e2image program
>> >> --disable-resizer disable support of e2resize program
>> >> @@ -5209,11 +5209,13 @@ fi
>> >> if test "${enable_quota+set}" = set; then :
>> >> enableval=$enable_quota; if test "$enableval" = "no"
>> >> then
>> >> + QUOTA_CMT="#"
>> >> { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling quota support" >&5
>> >> $as_echo "Disabling quota support" >&6; }
>> >> else
>> >> $as_echo "#define CONFIG_QUOTA 1" >>confdefs.h
>> >>
>> >> + QUOTA_CMT=""
>> >> { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling quota support" >&5
>> >> $as_echo "Enabling quota support" >&6; }
>> >> fi
>> >> @@ -7127,7 +7129,6 @@ int
>> >> main ()
>> >> {
>> >> char *data, *data2, *data3;
>> >> - const char *cdata2;
>> >> int i, pagesize;
>> >> int fd, fd2;
>> >>
>> >> @@ -7152,10 +7153,10 @@ main ()
>> >> fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
>> >> if (fd2 < 0)
>> >> return 4;
>> >> - cdata2 = "";
>> >> - if (write (fd2, cdata2, 1) != 1)
>> >> + data2 = "";
>> >> + if (write (fd2, data2, 1) != 1)
>> >> return 5;
>> >> - data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
>> >> + data2 = mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
>> >> if (data2 == MAP_FAILED)
>> >> return 6;
>> >> for (i = 0; i < pagesize; ++i)
>> >> diff --git a/configure.in b/configure.in
>> >> index c304a8d..94e7c21 100644
>> >> --- a/configure.in
>> >> +++ b/configure.in
>> >> @@ -531,12 +531,14 @@ dnl
>> >> PKG_PROG_PKG_CONFIG
>> >> AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
>> >> AC_ARG_ENABLE([quota],
>> >> -[ --enable-libquota enable quota support],
>> >> +[ --enable-quota enable quota support],
>> >> if test "$enableval" = "no"
>> >> then
>> >> + QUOTA_CMT="#"
>> >> AC_MSG_RESULT([Disabling quota support])
>> >> else
>> >> AC_DEFINE(CONFIG_QUOTA, 1)
>> >> + QUOTA_CMT=""
>> >> AC_MSG_RESULT([Enabling quota support])
>> >> fi
>> >> ,
>> >> --
>> >> 1.7.1
>> >>
>> > --
>> > Jan Kara <jack@...e.cz>
>> > SUSE Labs, CR
> --
> Jan Kara <jack@...e.cz>
> SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists