Skip to contentSkip to conversation

e2fsprogs: fix build w/o quota

PATCH In review Eric Sandeen 3 participants 9 messages Oct 18, 2013 – Oct 24, 2013 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 e2fsprogs: fix build w/o quota

The next branch fails a few ways if quota isn't enabled; for starters, libquota build was turned off after commit

43075b4 quota: fix disabling quota, add quota tests

because now we don't build libquota, but still depend on it.

Using @QUOTA_CMT@ to comment out those libs fixes things as far as deps, but then all calls to quota functions fail, of course.

So this is a very quick & dirty stab at providing stubs for those functions when quota is disabled.

---

Note - Compile-tested only, with & without quota.

MCONFIG.in +6 -6
index fa2b03e..e6be05c 100644
@@ -93,13 +93,13 @@ LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@
 LIBE2P = $(LIB)/libe2p@LIB_EXT@
 LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@
 LIBUUID = @LIBUUID@ @SOCKET_LIB@
-LIBQUOTA = @STATIC_LIBQUOTA@
+@QUOTA_CMT@LIBQUOTA = @STATIC_LIBQUOTA@
 LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID)
 LIBINTL = @LIBINTL@
 DEPLIBSS = $(LIB)/libss@LIB_EXT@
 DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@
 DEPLIBUUID = @DEPLIBUUID@
-DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@
+@QUOTA_CMT@DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@
 DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID)
 
 STATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ @DLOPEN_LIB@
@@ -107,12 +107,12 @@ STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@
 STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@
 STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@
 STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@
-STATIC_LIBQUOTA = @STATIC_LIBQUOTA@
+@QUOTA_CMT@STATIC_LIBQUOTA = @STATIC_LIBQUOTA@
 STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID)
 DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@
 DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@
 DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@
-DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@
+@QUOTA_CMT@DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@
 DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID)
 
 PROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ @DLOPEN_LIB@
@@ -120,12 +120,12 @@ PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@
 PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@
 PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@
 PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@
-PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
+@QUOTA_CMT@PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
 PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID)
 DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@
 DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@
 DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@
-DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
+@QUOTA_CMT@DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
 DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID)
 
 #
lib/quota/mkquota.h +77 -0

88 lines not on this page · raw message

lib/quota/quotaio.h +16 -0
index 1c062f1..c2d7a41 100644
@@ -158,8 +158,24 @@ void update_grace_times(struct dquot *q);
    than maxlen of extensions[] and fmtnames[] (plus 2) found in quotaio.c */
 #define QUOTA_NAME_LEN 16
 
+#ifdef CONFIG_QUOTA
 const char *quota_get_qf_name(int type, int fmt, char *buf);
 const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt,
 			      char *path_buf, size_t path_buf_size);
+#else
+static inline
+const char *quota_get_qf_name(int type, int fmt, char *buf)
+{
+	return NULL;
+}
+
+static inline
+const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt,
+			      char *path_buf, size_t path_buf_size)
+{
+	return NULL;
+}
+#endif
+
 
 #endif /* GUARD_QUOTAIO_H */
#1 lore raw
Quoted 6 lines · Eric Sandeen

The next branch fails a few ways if quota isn't enabled; for starters, libquota build was turned off after commit

43075b4 quota: fix disabling quota, add quota tests

because now we don't build libquota, but still depend on it.

Any thoughts on this? Would be super-great to have the git tree buildable again. ;)

-Eric

Quoted 191 lines

Using @QUOTA_CMT@ to comment out those libs fixes things as far as deps, but then all calls to quota functions fail, of course.

So this is a very quick & dirty stab at providing stubs for those functions when quota is disabled.

---

Note - Compile-tested only, with & without quota.

MCONFIG.in +6 -6
index fa2b03e..e6be05c 100644
@@ -93,13 +93,13 @@ LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@
 LIBE2P = $(LIB)/libe2p@LIB_EXT@
 LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@
 LIBUUID = @LIBUUID@ @SOCKET_LIB@
-LIBQUOTA = @STATIC_LIBQUOTA@
+@QUOTA_CMT@LIBQUOTA = @STATIC_LIBQUOTA@
 LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID)
 LIBINTL = @LIBINTL@
 DEPLIBSS = $(LIB)/libss@LIB_EXT@
 DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@
 DEPLIBUUID = @DEPLIBUUID@
-DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@
+@QUOTA_CMT@DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@
 DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID)
 
 STATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ @DLOPEN_LIB@
@@ -107,12 +107,12 @@ STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@
 STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@
 STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@
 STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@
-STATIC_LIBQUOTA = @STATIC_LIBQUOTA@
+@QUOTA_CMT@STATIC_LIBQUOTA = @STATIC_LIBQUOTA@
 STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID)
 DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@
 DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@
 DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@
-DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@
+@QUOTA_CMT@DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@
 DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID)
 
 PROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ @DLOPEN_LIB@
@@ -120,12 +120,12 @@ PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@
 PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@
 PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@
 PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@
-PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
+@QUOTA_CMT@PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
 PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID)
 DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@
 DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@
 DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@
-DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
+@QUOTA_CMT@DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
 DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID)
 
 #
lib/quota/mkquota.h +77 -0
index ee15071..2d5d927 100644
@@ -43,6 +43,7 @@ struct quota_ctx {
 };
 
 /* In mkquota.c */
+#ifdef CONFIG_QUOTA
 errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype);
 void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
 		int adjust);
@@ -60,5 +61,81 @@ int quota_file_exists(ext2_filsys fs, int qtype, int fmt);
 void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype);
 errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype,
 				   int *usage_inconsistent);
+#else
+static inline
+errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype)
+{
+	return 0;
+}
 
+static inline
+void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
+		int adjust)
+{
+	return; 
+}
+
+static inline
+void quota_data_add(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
+		    qsize_t space)
+{
+	return;
+}
+
+static inline
+void quota_data_sub(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
+		    qsize_t space)
+{
+	return;
+}
+
+static inline
+errcode_t quota_write_inode(quota_ctx_t qctx, int qtype)
+{
+	return 0;
+}
+
+static inline
+errcode_t quota_update_limits(quota_ctx_t qctx, ext2_ino_t qf_ino, int type)
+{
+	return 0;
+}
+
+static inline
+errcode_t quota_compute_usage(quota_ctx_t qctx)
+{
+	return 0;
+}
+
+static inline
+void quota_release_context(quota_ctx_t *qctx)
+{
+	return;
+}
+
+static inline
+errcode_t quota_remove_inode(ext2_filsys fs, int qtype)
+{
+	return 0;
+}
+
+static inline
+int quota_file_exists(ext2_filsys fs, int qtype, int fmt)
+{
+	return 0;
+}
+
+static inline
+void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype)
+{
+	return;
+}
+
+static inline
+errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype,
+				   int *usage_inconsistent)
+{
+	return 0;
+}
+#endif
 #endif  /* __QUOTA_QUOTAIO_H__ */
lib/quota/quotaio.h +16 -1
index 1c062f1..c2d7a41 100644
@@ -158,8 +158,24 @@ void update_grace_times(struct dquot *q);
    than maxlen of extensions[] and fmtnames[] (plus 2) found in quotaio.c */
 #define QUOTA_NAME_LEN 16
 
+#ifdef CONFIG_QUOTA
 const char *quota_get_qf_name(int type, int fmt, char *buf);
 const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt,
 			      char *path_buf, size_t path_buf_size);
+#else
+static inline
+const char *quota_get_qf_name(int type, int fmt, char *buf)
+{
+	return NULL;
+}
+
+static inline
+const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt,
+			      char *path_buf, size_t path_buf_size)
+{
+	return NULL;
+}
+#endif
+
 
 #endif /* GUARD_QUOTAIO_H */
 
--

To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
In reply to Eric Sandeen

Hey Eric,

I did a test here building the e2fsprogs -next tree without quota support and I didn't have any problems configuring and compiling it. Can you share the test you did and failed?

just as a matter of information, my 'next' branch should be up2date:

[cem@orion misc]$ git log --pretty=oneline -2 1586850bcd716e7e99825bd0a9a138f8618e2305 Merge branch 'maint' into next 43075b42bdff509cc567bd870a32072edf05d04c quota: fix disabling quota, add quota tests

Cheers,

The latest commit on the tree is

Quoted 197 lines · Eric Sandeen

The next branch fails a few ways if quota isn't enabled; for starters, libquota build was turned off after commit

43075b4 quota: fix disabling quota, add quota tests

because now we don't build libquota, but still depend on it.

Using @QUOTA_CMT@ to comment out those libs fixes things as far as deps, but then all calls to quota functions fail, of course.

So this is a very quick & dirty stab at providing stubs for those functions when quota is disabled.

---

Note - Compile-tested only, with & without quota.

MCONFIG.in +6 -6
index fa2b03e..e6be05c 100644
@@ -93,13 +93,13 @@ LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@
 LIBE2P = $(LIB)/libe2p@LIB_EXT@
 LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@
 LIBUUID = @LIBUUID@ @SOCKET_LIB@
-LIBQUOTA = @STATIC_LIBQUOTA@
+@QUOTA_CMT@LIBQUOTA = @STATIC_LIBQUOTA@
 LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID)
 LIBINTL = @LIBINTL@
 DEPLIBSS = $(LIB)/libss@LIB_EXT@
 DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@
 DEPLIBUUID = @DEPLIBUUID@
-DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@
+@QUOTA_CMT@DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@
 DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID)
 
 STATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ @DLOPEN_LIB@
@@ -107,12 +107,12 @@ STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@
 STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@
 STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@
 STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@
-STATIC_LIBQUOTA = @STATIC_LIBQUOTA@
+@QUOTA_CMT@STATIC_LIBQUOTA = @STATIC_LIBQUOTA@
 STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID)
 DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@
 DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@
 DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@
-DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@
+@QUOTA_CMT@DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@
 DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID)
 
 PROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ @DLOPEN_LIB@
@@ -120,12 +120,12 @@ PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@
 PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@
 PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@
 PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@
-PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
+@QUOTA_CMT@PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
 PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID)
 DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@
 DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@
 DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@
-DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
+@QUOTA_CMT@DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@
 DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID)
 
 #
lib/quota/mkquota.h +77 -0
index ee15071..2d5d927 100644
@@ -43,6 +43,7 @@ struct quota_ctx {
 };
 
 /* In mkquota.c */
+#ifdef CONFIG_QUOTA
 errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype);
 void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
 		int adjust);
@@ -60,5 +61,81 @@ int quota_file_exists(ext2_filsys fs, int qtype, int fmt);
 void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype);
 errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype,
 				   int *usage_inconsistent);
+#else
+static inline
+errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype)
+{
+	return 0;
+}
 
+static inline
+void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
+		int adjust)
+{
+	return; 
+}
+
+static inline
+void quota_data_add(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
+		    qsize_t space)
+{
+	return;
+}
+
+static inline
+void quota_data_sub(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
+		    qsize_t space)
+{
+	return;
+}
+
+static inline
+errcode_t quota_write_inode(quota_ctx_t qctx, int qtype)
+{
+	return 0;
+}
+
+static inline
+errcode_t quota_update_limits(quota_ctx_t qctx, ext2_ino_t qf_ino, int type)
+{
+	return 0;
+}
+
+static inline
+errcode_t quota_compute_usage(quota_ctx_t qctx)
+{
+	return 0;
+}
+
+static inline
+void quota_release_context(quota_ctx_t *qctx)
+{
+	return;
+}
+
+static inline
+errcode_t quota_remove_inode(ext2_filsys fs, int qtype)
+{
+	return 0;
+}
+
+static inline
+int quota_file_exists(ext2_filsys fs, int qtype, int fmt)
+{
+	return 0;
+}
+
+static inline
+void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype)
+{
+	return;
+}
+
+static inline
+errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype,
+				   int *usage_inconsistent)
+{
+	return 0;
+}
+#endif
 #endif  /* __QUOTA_QUOTAIO_H__ */
lib/quota/quotaio.h +16 -1
index 1c062f1..c2d7a41 100644
@@ -158,8 +158,24 @@ void update_grace_times(struct dquot *q);
    than maxlen of extensions[] and fmtnames[] (plus 2) found in quotaio.c */
 #define QUOTA_NAME_LEN 16
 
+#ifdef CONFIG_QUOTA
 const char *quota_get_qf_name(int type, int fmt, char *buf);
 const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt,
 			      char *path_buf, size_t path_buf_size);
+#else
+static inline
+const char *quota_get_qf_name(int type, int fmt, char *buf)
+{
+	return NULL;
+}
+
+static inline
+const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt,
+			      char *path_buf, size_t path_buf_size)
+{
+	return NULL;
+}
+#endif
+
 
 #endif /* GUARD_QUOTAIO_H */
 
--

To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Carlos
#3 lore raw
Quoted 6 lines · Carlos Maiolino

Hey Eric,

I did a test here building the e2fsprogs -next tree without quota support and I didn't have any problems configuring and compiling it. Can you share the test you did and failed?

I've been able to replicate the problem. You may need to rm -rf your build directory and then run from scratch to see it.

Sorry for not responding sooner; I'm in Edinburgh this week and in conference mode.

The reason why we have continud building libquota even when libsupport is not defined is because the plan is to rename libquota to libsupport once 1.42.x is released. Libquota/libsupport is desinged to never be built as a shared library, and the idea is to move things like e2fsck/profile.c which is used by e2fsck and mke2fs, into libsupport. The rational for that is that the functions in libquota are already horribly e2fsprogs specific and aren't really set up to be usable as a generic quota support library. So we might as well make it be a standardized place for internal support functions used by multiple e2fsprogs programs.

I'll try to find a fix that minimizes deltas between the maint branch and the next branch.

Cheers,

- Ted

#4 lore raw
Quoted 10 lines · Theodore Ts'o
Quoted 6 lines · Carlos Maiolino

Hey Eric,

I did a test here building the e2fsprogs -next tree without quota support and I didn't have any problems configuring and compiling it. Can you share the test you did and failed?

I've been able to replicate the problem. You may need to rm -rf your build directory and then run from scratch to see it.

yes, make clean doesn't remove it, even git clean doesn't; it's in .gitignore (why?)

Quoted 2 lines

Sorry for not responding sooner; I'm in Edinburgh this week and in conference mode.

no problem, I guess that's why I asked :)

Quoted 11 lines

The reason why we have continud building libquota even when libsupport is not defined is because the plan is to rename libquota to libsupport once 1.42.x is released. Libquota/libsupport is desinged to never be built as a shared library, and the idea is to move things like e2fsck/profile.c which is used by e2fsck and mke2fs, into libsupport. The rational for that is that the functions in libquota are already horribly e2fsprogs specific and aren't really set up to be usable as a generic quota support library. So we might as well make it be a standardized place for internal support functions used by multiple e2fsprogs programs.

Quoted 2 lines

I'll try to find a fix that minimizes deltas between the maint branch and the next branch.

Maybe just revert part of "quota: fix disabling quota, add quota tests" ?

Did that actually do more good than harm?

-Eric

Quoted 8 lines

Cheers,

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw

PATCH 1/1 Fix noquota build

We need to build libquota even if the quota code is disabled. This fixes a build regression introduced by commit 43075b42bd: 'quota: fix disabling quota, add quota tests".

---
 Makefile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Makefile.in +1 -1
index 95cbf1b..ef79482 100644
@@ -26,7 +26,7 @@ export CHECK_CMD
 @DEBUGFS_CMT@DEBUGFS_DIR= debugfs
 @UUID_CMT@UUID_LIB_SUBDIR= lib/uuid
 @BLKID_CMT@BLKID_LIB_SUBDIR= lib/blkid
-@QUOTA_CMT@QUOTA_LIB_SUBDIR= lib/quota
+QUOTA_LIB_SUBDIR= lib/quota
 
 LIB_SUBDIRS=lib/et lib/ss lib/e2p $(UUID_LIB_SUBDIR) lib/ext2fs $(BLKID_LIB_SUBDIR) $(QUOTA_LIB_SUBDIR) intl
 PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs po
Signature · 1 line
1.7.12.rc0.22.gcdd159b
author Reviewed-by on v1 1/1
#6 lore raw

Re: [PATCH] Fix noquota build

Quoted 5 lines · Theodore Ts'o

We need to build libquota even if the quota code is disabled. This fixes a build regression introduced by commit 43075b42bd: 'quota: fix disabling quota, add quota tests".

Should work. Thanks Ted.

(if you want to push it out, I'll do a coverity scan so we can make sure we're not going backwards there, too; this bug has been preventing those for the past week or so).

-Eric

Quoted 18 lines
---
 Makefile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Makefile.in +1 -1
index 95cbf1b..ef79482 100644
@@ -26,7 +26,7 @@ export CHECK_CMD
 @DEBUGFS_CMT@DEBUGFS_DIR= debugfs
 @UUID_CMT@UUID_LIB_SUBDIR= lib/uuid
 @BLKID_CMT@BLKID_LIB_SUBDIR= lib/blkid
-@QUOTA_CMT@QUOTA_LIB_SUBDIR= lib/quota
+QUOTA_LIB_SUBDIR= lib/quota
 
 LIB_SUBDIRS=lib/et lib/ss lib/e2p $(UUID_LIB_SUBDIR) lib/ext2fs $(BLKID_LIB_SUBDIR) $(QUOTA_LIB_SUBDIR) intl
 PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs po
#7 lore raw

Re: [PATCH] Fix noquota build

I've pushed out the fixups to the e2fsprogs tree.

- Ted

#8 lore raw
In reply to Eric Sandeen
Quoted 9 lines · Eric Sandeen
Quoted 8 lines · Theodore Ts'o
Quoted 6 lines · Carlos Maiolino

Hey Eric,

I did a test here building the e2fsprogs -next tree without quota support and I didn't have any problems configuring and compiling it. Can you share the test you did and failed?

Quoted 6 lines
Quoted 2 lines

I've been able to replicate the problem. You may need to rm -rf your build directory and then run from scratch to see it.

yes, make clean doesn't remove it, even git clean doesn't; it's in .gitignore (why?)

Yes, that's why it wasn't failing :)

Thanks guys

Quoted 38 lines
Quoted 2 lines

Sorry for not responding sooner; I'm in Edinburgh this week and in conference mode.

no problem, I guess that's why I asked :)

Quoted 11 lines

The reason why we have continud building libquota even when libsupport is not defined is because the plan is to rename libquota to libsupport once 1.42.x is released. Libquota/libsupport is desinged to never be built as a shared library, and the idea is to move things like e2fsck/profile.c which is used by e2fsck and mke2fs, into libsupport. The rational for that is that the functions in libquota are already horribly e2fsprogs specific and aren't really set up to be usable as a generic quota support library. So we might as well make it be a standardized place for internal support functions used by multiple e2fsprogs programs.

Quoted 2 lines

I'll try to find a fix that minimizes deltas between the maint branch and the next branch.

Maybe just revert part of "quota: fix disabling quota, add quota tests" ?

Did that actually do more good than harm?

-Eric

Quoted 8 lines

Cheers,

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Carlos