Hi all,
After merging the xfs tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:
ld: fs/xfs/xfs_buf_item.o: in function `.xfs_buf_dquot_iodone':
xfs_buf_item.c:(.text+0x21a0): undefined reference to `.xfs_dquot_done'
Caused by commit
018dc1667913 ("xfs: use direct calls for dquot IO completion")
# CONFIG_XFS_QUOTA is not set
I have used the xfs tree from next-20200706 for today.
--
Cheers,
Stephen Rothwell
From: Dave Chinner <[email protected]>
Oops, I forgot that you can config out quotas because nobody
ever does that when they build XFS anymore.
Fixes: 018dc1667913 ("xfs: use direct calls for dquot IO completion")
Signed-off-by: Dave Chinner <[email protected]>
---
fs/xfs/xfs_dquot.h | 1 -
fs/xfs/xfs_quota.h | 9 +++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/fs/xfs/xfs_dquot.h b/fs/xfs/xfs_dquot.h
index fe9cc3e08ed6..71e36c85e20b 100644
--- a/fs/xfs/xfs_dquot.h
+++ b/fs/xfs/xfs_dquot.h
@@ -174,7 +174,6 @@ void xfs_qm_dqput(struct xfs_dquot *dqp);
void xfs_dqlock2(struct xfs_dquot *, struct xfs_dquot *);
void xfs_dquot_set_prealloc_limits(struct xfs_dquot *);
-void xfs_dquot_done(struct xfs_buf *);
static inline struct xfs_dquot *xfs_qm_dqhold(struct xfs_dquot *dqp)
{
diff --git a/fs/xfs/xfs_quota.h b/fs/xfs/xfs_quota.h
index aa8fc1f55fbd..c92ae5e02ce8 100644
--- a/fs/xfs/xfs_quota.h
+++ b/fs/xfs/xfs_quota.h
@@ -13,6 +13,7 @@
*/
struct xfs_trans;
+struct xfs_buf;
/*
* This check is done typically without holding the inode lock;
@@ -107,6 +108,8 @@ extern void xfs_qm_mount_quotas(struct xfs_mount *);
extern void xfs_qm_unmount(struct xfs_mount *);
extern void xfs_qm_unmount_quotas(struct xfs_mount *);
+void xfs_dquot_done(struct xfs_buf *);
+
#else
static inline int
xfs_qm_vop_dqalloc(struct xfs_inode *ip, kuid_t kuid, kgid_t kgid,
@@ -148,6 +151,12 @@ static inline int xfs_trans_reserve_quota_bydquots(struct xfs_trans *tp,
#define xfs_qm_mount_quotas(mp)
#define xfs_qm_unmount(mp)
#define xfs_qm_unmount_quotas(mp)
+
+static inline void xfs_dquot_done(struct xfs_buf *bp)
+{
+ return;
+}
+
#endif /* CONFIG_XFS_QUOTA */
#define xfs_trans_unreserve_quota_nblks(tp, ip, nblks, ninos, flags) \
On Tue, Jul 07, 2020 at 12:28:25PM +1000, Dave Chinner wrote:
>
> From: Dave Chinner <[email protected]>
>
> Oops, I forgot that you can config out quotas because nobody
> ever does that when they build XFS anymore.
>
> Fixes: 018dc1667913 ("xfs: use direct calls for dquot IO completion")
>
> Signed-off-by: Dave Chinner <[email protected]>
Looks ok,
Reviewed-by: Darrick J. Wong <[email protected]>
--D
> ---
> fs/xfs/xfs_dquot.h | 1 -
> fs/xfs/xfs_quota.h | 9 +++++++++
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/fs/xfs/xfs_dquot.h b/fs/xfs/xfs_dquot.h
> index fe9cc3e08ed6..71e36c85e20b 100644
> --- a/fs/xfs/xfs_dquot.h
> +++ b/fs/xfs/xfs_dquot.h
> @@ -174,7 +174,6 @@ void xfs_qm_dqput(struct xfs_dquot *dqp);
> void xfs_dqlock2(struct xfs_dquot *, struct xfs_dquot *);
>
> void xfs_dquot_set_prealloc_limits(struct xfs_dquot *);
> -void xfs_dquot_done(struct xfs_buf *);
>
> static inline struct xfs_dquot *xfs_qm_dqhold(struct xfs_dquot *dqp)
> {
> diff --git a/fs/xfs/xfs_quota.h b/fs/xfs/xfs_quota.h
> index aa8fc1f55fbd..c92ae5e02ce8 100644
> --- a/fs/xfs/xfs_quota.h
> +++ b/fs/xfs/xfs_quota.h
> @@ -13,6 +13,7 @@
> */
>
> struct xfs_trans;
> +struct xfs_buf;
>
> /*
> * This check is done typically without holding the inode lock;
> @@ -107,6 +108,8 @@ extern void xfs_qm_mount_quotas(struct xfs_mount *);
> extern void xfs_qm_unmount(struct xfs_mount *);
> extern void xfs_qm_unmount_quotas(struct xfs_mount *);
>
> +void xfs_dquot_done(struct xfs_buf *);
> +
> #else
> static inline int
> xfs_qm_vop_dqalloc(struct xfs_inode *ip, kuid_t kuid, kgid_t kgid,
> @@ -148,6 +151,12 @@ static inline int xfs_trans_reserve_quota_bydquots(struct xfs_trans *tp,
> #define xfs_qm_mount_quotas(mp)
> #define xfs_qm_unmount(mp)
> #define xfs_qm_unmount_quotas(mp)
> +
> +static inline void xfs_dquot_done(struct xfs_buf *bp)
> +{
> + return;
> +}
> +
> #endif /* CONFIG_XFS_QUOTA */
>
> #define xfs_trans_unreserve_quota_nblks(tp, ip, nblks, ninos, flags) \