All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Pavel Reichl <preichl@redhat.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH v4 1/5] xfs: remove the xfs_disk_dquot_t and xfs_dquot_t
Date: Tue, 12 Nov 2019 20:45:16 -0800	[thread overview]
Message-ID: <20191113044516.GP6219@magnolia> (raw)
In-Reply-To: <20191112213310.212925-2-preichl@redhat.com>

On Tue, Nov 12, 2019 at 10:33:06PM +0100, Pavel Reichl wrote:
> Signed-off-by: Pavel Reichl <preichl@redhat.com>

Woot!  Will test, etc.

Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> ---
>  fs/xfs/libxfs/xfs_dquot_buf.c  |  8 +--
>  fs/xfs/libxfs/xfs_format.h     | 10 ++--
>  fs/xfs/libxfs/xfs_trans_resv.c |  1 -
>  fs/xfs/xfs_dquot.c             | 18 +++----
>  fs/xfs/xfs_dquot.h             | 98 +++++++++++++++++-----------------
>  fs/xfs/xfs_log_recover.c       |  5 +-
>  fs/xfs/xfs_qm.c                | 30 +++++------
>  fs/xfs/xfs_qm_bhv.c            |  6 +--
>  fs/xfs/xfs_trans_dquot.c       | 42 +++++++--------
>  9 files changed, 110 insertions(+), 108 deletions(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_dquot_buf.c b/fs/xfs/libxfs/xfs_dquot_buf.c
> index e8bd688a4073..bedc1e752b60 100644
> --- a/fs/xfs/libxfs/xfs_dquot_buf.c
> +++ b/fs/xfs/libxfs/xfs_dquot_buf.c
> @@ -35,10 +35,10 @@ xfs_calc_dquots_per_chunk(
>  
>  xfs_failaddr_t
>  xfs_dquot_verify(
> -	struct xfs_mount *mp,
> -	xfs_disk_dquot_t *ddq,
> -	xfs_dqid_t	 id,
> -	uint		 type)	  /* used only during quotacheck */
> +	struct xfs_mount	*mp,
> +	struct xfs_disk_dquot	*ddq,
> +	xfs_dqid_t		id,
> +	uint			type)	/* used only during quotacheck */
>  {
>  	/*
>  	 * We can encounter an uninitialized dquot buffer for 2 reasons:
> diff --git a/fs/xfs/libxfs/xfs_format.h b/fs/xfs/libxfs/xfs_format.h
> index c968b60cee15..4cae17f35e94 100644
> --- a/fs/xfs/libxfs/xfs_format.h
> +++ b/fs/xfs/libxfs/xfs_format.h
> @@ -1144,11 +1144,11 @@ static inline void xfs_dinode_put_rdev(struct xfs_dinode *dip, xfs_dev_t rdev)
>  
>  /*
>   * This is the main portion of the on-disk representation of quota
> - * information for a user. This is the q_core of the xfs_dquot_t that
> + * information for a user. This is the q_core of the struct xfs_dquot that
>   * is kept in kernel memory. We pad this with some more expansion room
>   * to construct the on disk structure.
>   */
> -typedef struct	xfs_disk_dquot {
> +struct xfs_disk_dquot {
>  	__be16		d_magic;	/* dquot magic = XFS_DQUOT_MAGIC */
>  	__u8		d_version;	/* dquot version */
>  	__u8		d_flags;	/* XFS_DQ_USER/PROJ/GROUP */
> @@ -1171,15 +1171,15 @@ typedef struct	xfs_disk_dquot {
>  	__be32		d_rtbtimer;	/* similar to above; for RT disk blocks */
>  	__be16		d_rtbwarns;	/* warnings issued wrt RT disk blocks */
>  	__be16		d_pad;
> -} xfs_disk_dquot_t;
> +};
>  
>  /*
>   * This is what goes on disk. This is separated from the xfs_disk_dquot because
>   * carrying the unnecessary padding would be a waste of memory.
>   */
>  typedef struct xfs_dqblk {
> -	xfs_disk_dquot_t  dd_diskdq;	/* portion that lives incore as well */
> -	char		  dd_fill[4];	/* filling for posterity */
> +	struct xfs_disk_dquot	dd_diskdq; /* portion living incore as well */
> +	char			dd_fill[4];/* filling for posterity */
>  
>  	/*
>  	 * These two are only present on filesystems with the CRC bits set.
> diff --git a/fs/xfs/libxfs/xfs_trans_resv.c b/fs/xfs/libxfs/xfs_trans_resv.c
> index d12bbd526e7c..271cca13565b 100644
> --- a/fs/xfs/libxfs/xfs_trans_resv.c
> +++ b/fs/xfs/libxfs/xfs_trans_resv.c
> @@ -718,7 +718,6 @@ xfs_calc_clear_agi_bucket_reservation(
>  
>  /*
>   * Adjusting quota limits.
> - *    the xfs_disk_dquot_t: sizeof(struct xfs_disk_dquot)
>   */
>  STATIC uint
>  xfs_calc_qm_setqlim_reservation(void)
> diff --git a/fs/xfs/xfs_dquot.c b/fs/xfs/xfs_dquot.c
> index bcd4247b5014..5b089afd7087 100644
> --- a/fs/xfs/xfs_dquot.c
> +++ b/fs/xfs/xfs_dquot.c
> @@ -48,7 +48,7 @@ static struct lock_class_key xfs_dquot_project_class;
>   */
>  void
>  xfs_qm_dqdestroy(
> -	xfs_dquot_t	*dqp)
> +	struct xfs_dquot	*dqp)
>  {
>  	ASSERT(list_empty(&dqp->q_lru));
>  
> @@ -113,8 +113,8 @@ xfs_qm_adjust_dqlimits(
>   */
>  void
>  xfs_qm_adjust_dqtimers(
> -	xfs_mount_t		*mp,
> -	xfs_disk_dquot_t	*d)
> +	struct xfs_mount	*mp,
> +	struct xfs_disk_dquot	*d)
>  {
>  	ASSERT(d->d_id);
>  
> @@ -497,7 +497,7 @@ xfs_dquot_from_disk(
>  	struct xfs_disk_dquot	*ddqp = bp->b_addr + dqp->q_bufoffset;
>  
>  	/* copy everything from disk dquot to the incore dquot */
> -	memcpy(&dqp->q_core, ddqp, sizeof(xfs_disk_dquot_t));
> +	memcpy(&dqp->q_core, ddqp, sizeof(struct xfs_disk_dquot));
>  
>  	/*
>  	 * Reservation counters are defined as reservation plus current usage
> @@ -989,7 +989,7 @@ xfs_qm_dqput(
>   */
>  void
>  xfs_qm_dqrele(
> -	xfs_dquot_t	*dqp)
> +	struct xfs_dquot	*dqp)
>  {
>  	if (!dqp)
>  		return;
> @@ -1019,7 +1019,7 @@ xfs_qm_dqflush_done(
>  	struct xfs_log_item	*lip)
>  {
>  	xfs_dq_logitem_t	*qip = (struct xfs_dq_logitem *)lip;
> -	xfs_dquot_t		*dqp = qip->qli_dquot;
> +	struct xfs_dquot	*dqp = qip->qli_dquot;
>  	struct xfs_ail		*ailp = lip->li_ailp;
>  
>  	/*
> @@ -1130,7 +1130,7 @@ xfs_qm_dqflush(
>  	}
>  
>  	/* This is the only portion of data that needs to persist */
> -	memcpy(ddqp, &dqp->q_core, sizeof(xfs_disk_dquot_t));
> +	memcpy(ddqp, &dqp->q_core, sizeof(struct xfs_disk_dquot));
>  
>  	/*
>  	 * Clear the dirty field and remember the flush lsn for later use.
> @@ -1188,8 +1188,8 @@ xfs_qm_dqflush(
>   */
>  void
>  xfs_dqlock2(
> -	xfs_dquot_t	*d1,
> -	xfs_dquot_t	*d2)
> +	struct xfs_dquot	*d1,
> +	struct xfs_dquot	*d2)
>  {
>  	if (d1 && d2) {
>  		ASSERT(d1 != d2);
> diff --git a/fs/xfs/xfs_dquot.h b/fs/xfs/xfs_dquot.h
> index 4fe85709d55d..831e4270cf65 100644
> --- a/fs/xfs/xfs_dquot.h
> +++ b/fs/xfs/xfs_dquot.h
> @@ -30,33 +30,36 @@ enum {
>  /*
>   * The incore dquot structure
>   */
> -typedef struct xfs_dquot {
> -	uint		 dq_flags;	/* various flags (XFS_DQ_*) */
> -	struct list_head q_lru;		/* global free list of dquots */
> -	struct xfs_mount*q_mount;	/* filesystem this relates to */
> -	uint		 q_nrefs;	/* # active refs from inodes */
> -	xfs_daddr_t	 q_blkno;	/* blkno of dquot buffer */
> -	int		 q_bufoffset;	/* off of dq in buffer (# dquots) */
> -	xfs_fileoff_t	 q_fileoffset;	/* offset in quotas file */
> -
> -	xfs_disk_dquot_t q_core;	/* actual usage & quotas */
> -	xfs_dq_logitem_t q_logitem;	/* dquot log item */
> -	xfs_qcnt_t	 q_res_bcount;	/* total regular nblks used+reserved */
> -	xfs_qcnt_t	 q_res_icount;	/* total inos allocd+reserved */
> -	xfs_qcnt_t	 q_res_rtbcount;/* total realtime blks used+reserved */
> -	xfs_qcnt_t	 q_prealloc_lo_wmark;/* prealloc throttle wmark */
> -	xfs_qcnt_t	 q_prealloc_hi_wmark;/* prealloc disabled wmark */
> -	int64_t		 q_low_space[XFS_QLOWSP_MAX];
> -	struct mutex	 q_qlock;	/* quota lock */
> -	struct completion q_flush;	/* flush completion queue */
> -	atomic_t          q_pincount;	/* dquot pin count */
> -	wait_queue_head_t q_pinwait;	/* dquot pinning wait queue */
> -} xfs_dquot_t;
> +struct xfs_dquot {
> +	uint			dq_flags;
> +	struct list_head	q_lru;
> +	struct xfs_mount	*q_mount;
> +	uint			q_nrefs;
> +	xfs_daddr_t		q_blkno;
> +	int			q_bufoffset;
> +	xfs_fileoff_t		q_fileoffset;
> +
> +	struct xfs_disk_dquot	q_core;
> +	xfs_dq_logitem_t	q_logitem;
> +	/* total regular nblks used+reserved */
> +	xfs_qcnt_t		q_res_bcount;
> +	/* total inos allocd+reserved */
> +	xfs_qcnt_t		q_res_icount;
> +	/* total realtime blks used+reserved */
> +	xfs_qcnt_t		q_res_rtbcount;
> +	xfs_qcnt_t		q_prealloc_lo_wmark;
> +	xfs_qcnt_t		q_prealloc_hi_wmark;
> +	int64_t			q_low_space[XFS_QLOWSP_MAX];
> +	struct mutex		q_qlock;
> +	struct completion	q_flush;
> +	atomic_t		q_pincount;
> +	struct wait_queue_head	q_pinwait;
> +};
>  
>  /*
>   * Lock hierarchy for q_qlock:
>   *	XFS_QLOCK_NORMAL is the implicit default,
> - * 	XFS_QLOCK_NESTED is the dquot with the higher id in xfs_dqlock2
> + *	XFS_QLOCK_NESTED is the dquot with the higher id in xfs_dqlock2
>   */
>  enum {
>  	XFS_QLOCK_NORMAL = 0,
> @@ -64,21 +67,21 @@ enum {
>  };
>  
>  /*
> - * Manage the q_flush completion queue embedded in the dquot.  This completion
> + * Manage the q_flush completion queue embedded in the dquot. This completion
>   * queue synchronizes processes attempting to flush the in-core dquot back to
>   * disk.
>   */
> -static inline void xfs_dqflock(xfs_dquot_t *dqp)
> +static inline void xfs_dqflock(struct xfs_dquot *dqp)
>  {
>  	wait_for_completion(&dqp->q_flush);
>  }
>  
> -static inline bool xfs_dqflock_nowait(xfs_dquot_t *dqp)
> +static inline bool xfs_dqflock_nowait(struct xfs_dquot *dqp)
>  {
>  	return try_wait_for_completion(&dqp->q_flush);
>  }
>  
> -static inline void xfs_dqfunlock(xfs_dquot_t *dqp)
> +static inline void xfs_dqfunlock(struct xfs_dquot *dqp)
>  {
>  	complete(&dqp->q_flush);
>  }
> @@ -112,7 +115,7 @@ static inline int xfs_this_quota_on(struct xfs_mount *mp, int type)
>  	}
>  }
>  
> -static inline xfs_dquot_t *xfs_inode_dquot(struct xfs_inode *ip, int type)
> +static inline struct xfs_dquot *xfs_inode_dquot(struct xfs_inode *ip, int type)
>  {
>  	switch (type & XFS_DQ_ALLTYPES) {
>  	case XFS_DQ_USER:
> @@ -147,31 +150,30 @@ static inline bool xfs_dquot_lowsp(struct xfs_dquot *dqp)
>  #define XFS_QM_ISPDQ(dqp)	((dqp)->dq_flags & XFS_DQ_PROJ)
>  #define XFS_QM_ISGDQ(dqp)	((dqp)->dq_flags & XFS_DQ_GROUP)
>  
> -extern void		xfs_qm_dqdestroy(xfs_dquot_t *);
> -extern int		xfs_qm_dqflush(struct xfs_dquot *, struct xfs_buf **);
> -extern void		xfs_qm_dqunpin_wait(xfs_dquot_t *);
> -extern void		xfs_qm_adjust_dqtimers(xfs_mount_t *,
> -					xfs_disk_dquot_t *);
> -extern void		xfs_qm_adjust_dqlimits(struct xfs_mount *,
> -					       struct xfs_dquot *);
> -extern xfs_dqid_t	xfs_qm_id_for_quotatype(struct xfs_inode *ip,
> -					uint type);
> -extern int		xfs_qm_dqget(struct xfs_mount *mp, xfs_dqid_t id,
> +void		xfs_qm_dqdestroy(struct xfs_dquot *dqp);
> +int		xfs_qm_dqflush(struct xfs_dquot *dqp, struct xfs_buf **bpp);
> +void		xfs_qm_dqunpin_wait(struct xfs_dquot *dqp);
> +void		xfs_qm_adjust_dqtimers(struct xfs_mount *mp,
> +						struct xfs_disk_dquot *d);
> +void		xfs_qm_adjust_dqlimits(struct xfs_mount *mp,
> +						struct xfs_dquot *d);
> +xfs_dqid_t	xfs_qm_id_for_quotatype(struct xfs_inode *ip, uint type);
> +int		xfs_qm_dqget(struct xfs_mount *mp, xfs_dqid_t id,
>  					uint type, bool can_alloc,
>  					struct xfs_dquot **dqpp);
> -extern int		xfs_qm_dqget_inode(struct xfs_inode *ip, uint type,
> -					bool can_alloc,
> -					struct xfs_dquot **dqpp);
> -extern int		xfs_qm_dqget_next(struct xfs_mount *mp, xfs_dqid_t id,
> +int		xfs_qm_dqget_inode(struct xfs_inode *ip, uint type,
> +						bool can_alloc,
> +						struct xfs_dquot **dqpp);
> +int		xfs_qm_dqget_next(struct xfs_mount *mp, xfs_dqid_t id,
>  					uint type, struct xfs_dquot **dqpp);
> -extern int		xfs_qm_dqget_uncached(struct xfs_mount *mp,
> -					xfs_dqid_t id, uint type,
> -					struct xfs_dquot **dqpp);
> -extern void		xfs_qm_dqput(xfs_dquot_t *);
> +int		xfs_qm_dqget_uncached(struct xfs_mount *mp,
> +						xfs_dqid_t id, uint type,
> +						struct xfs_dquot **dqpp);
> +void		xfs_qm_dqput(struct xfs_dquot *dqp);
>  
> -extern void		xfs_dqlock2(struct xfs_dquot *, struct xfs_dquot *);
> +void		xfs_dqlock2(struct xfs_dquot *, struct xfs_dquot *);
>  
> -extern void		xfs_dquot_set_prealloc_limits(struct xfs_dquot *);
> +void		xfs_dquot_set_prealloc_limits(struct xfs_dquot *);
>  
>  static inline struct xfs_dquot *xfs_qm_dqhold(struct xfs_dquot *dqp)
>  {
> diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
> index 02f2147952b3..ecea4a1c31bd 100644
> --- a/fs/xfs/xfs_log_recover.c
> +++ b/fs/xfs/xfs_log_recover.c
> @@ -2576,6 +2576,7 @@ xlog_recover_do_reg_buffer(
>  	int			bit;
>  	int			nbits;
>  	xfs_failaddr_t		fa;
> +	const size_t		size_disk_dquot = sizeof(struct xfs_disk_dquot);
>  
>  	trace_xfs_log_recover_buf_reg_buf(mp->m_log, buf_f);
>  
> @@ -2618,7 +2619,7 @@ xlog_recover_do_reg_buffer(
>  					"XFS: NULL dquot in %s.", __func__);
>  				goto next;
>  			}
> -			if (item->ri_buf[i].i_len < sizeof(xfs_disk_dquot_t)) {
> +			if (item->ri_buf[i].i_len < size_disk_dquot) {
>  				xfs_alert(mp,
>  					"XFS: dquot too small (%d) in %s.",
>  					item->ri_buf[i].i_len, __func__);
> @@ -3249,7 +3250,7 @@ xlog_recover_dquot_pass2(
>  		xfs_alert(log->l_mp, "NULL dquot in %s.", __func__);
>  		return -EFSCORRUPTED;
>  	}
> -	if (item->ri_buf[1].i_len < sizeof(xfs_disk_dquot_t)) {
> +	if (item->ri_buf[1].i_len < sizeof(struct xfs_disk_dquot)) {
>  		xfs_alert(log->l_mp, "dquot too small (%d) in %s.",
>  			item->ri_buf[1].i_len, __func__);
>  		return -EFSCORRUPTED;
> diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
> index 66ea8e4fca86..035930a4f0dd 100644
> --- a/fs/xfs/xfs_qm.c
> +++ b/fs/xfs/xfs_qm.c
> @@ -244,14 +244,14 @@ xfs_qm_unmount_quotas(
>  
>  STATIC int
>  xfs_qm_dqattach_one(
> -	xfs_inode_t	*ip,
> -	xfs_dqid_t	id,
> -	uint		type,
> -	bool		doalloc,
> -	xfs_dquot_t	**IO_idqpp)
> +	struct xfs_inode	*ip,
> +	xfs_dqid_t		id,
> +	uint			type,
> +	bool			doalloc,
> +	struct xfs_dquot	**IO_idqpp)
>  {
> -	xfs_dquot_t	*dqp;
> -	int		error;
> +	struct xfs_dquot	*dqp;
> +	int			error;
>  
>  	ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL));
>  	error = 0;
> @@ -544,8 +544,8 @@ xfs_qm_set_defquota(
>  	uint		type,
>  	xfs_quotainfo_t	*qinf)
>  {
> -	xfs_dquot_t		*dqp;
> -	struct xfs_def_quota    *defq;
> +	struct xfs_dquot	*dqp;
> +	struct xfs_def_quota	*defq;
>  	struct xfs_disk_dquot	*ddqp;
>  	int			error;
>  
> @@ -1746,14 +1746,14 @@ xfs_qm_vop_dqalloc(
>   * Actually transfer ownership, and do dquot modifications.
>   * These were already reserved.
>   */
> -xfs_dquot_t *
> +struct xfs_dquot *
>  xfs_qm_vop_chown(
> -	xfs_trans_t	*tp,
> -	xfs_inode_t	*ip,
> -	xfs_dquot_t	**IO_olddq,
> -	xfs_dquot_t	*newdq)
> +	struct xfs_trans	*tp,
> +	struct xfs_inode	*ip,
> +	struct xfs_dquot	**IO_olddq,
> +	struct xfs_dquot	*newdq)
>  {
> -	xfs_dquot_t	*prevdq;
> +	struct xfs_dquot	*prevdq;
>  	uint		bfield = XFS_IS_REALTIME_INODE(ip) ?
>  				 XFS_TRANS_DQ_RTBCOUNT : XFS_TRANS_DQ_BCOUNT;
>  
> diff --git a/fs/xfs/xfs_qm_bhv.c b/fs/xfs/xfs_qm_bhv.c
> index 5d72e88598b4..b784a3751fe2 100644
> --- a/fs/xfs/xfs_qm_bhv.c
> +++ b/fs/xfs/xfs_qm_bhv.c
> @@ -54,11 +54,11 @@ xfs_fill_statvfs_from_dquot(
>   */
>  void
>  xfs_qm_statvfs(
> -	xfs_inode_t		*ip,
> +	struct xfs_inode	*ip,
>  	struct kstatfs		*statp)
>  {
> -	xfs_mount_t		*mp = ip->i_mount;
> -	xfs_dquot_t		*dqp;
> +	struct xfs_mount	*mp = ip->i_mount;
> +	struct xfs_dquot	*dqp;
>  
>  	if (!xfs_qm_dqget(mp, xfs_get_projid(ip), XFS_DQ_PROJ, false, &dqp)) {
>  		xfs_fill_statvfs_from_dquot(statp, dqp);
> diff --git a/fs/xfs/xfs_trans_dquot.c b/fs/xfs/xfs_trans_dquot.c
> index 16457465833b..0b7f6f228662 100644
> --- a/fs/xfs/xfs_trans_dquot.c
> +++ b/fs/xfs/xfs_trans_dquot.c
> @@ -25,8 +25,8 @@ STATIC void	xfs_trans_alloc_dqinfo(xfs_trans_t *);
>   */
>  void
>  xfs_trans_dqjoin(
> -	xfs_trans_t	*tp,
> -	xfs_dquot_t	*dqp)
> +	struct xfs_trans	*tp,
> +	struct xfs_dquot	*dqp)
>  {
>  	ASSERT(XFS_DQ_IS_LOCKED(dqp));
>  	ASSERT(dqp->q_logitem.qli_dquot == dqp);
> @@ -49,8 +49,8 @@ xfs_trans_dqjoin(
>   */
>  void
>  xfs_trans_log_dquot(
> -	xfs_trans_t	*tp,
> -	xfs_dquot_t	*dqp)
> +	struct xfs_trans	*tp,
> +	struct xfs_dquot	*dqp)
>  {
>  	ASSERT(XFS_DQ_IS_LOCKED(dqp));
>  
> @@ -486,12 +486,12 @@ xfs_trans_apply_dquot_deltas(
>   */
>  void
>  xfs_trans_unreserve_and_mod_dquots(
> -	xfs_trans_t		*tp)
> +	struct xfs_trans	*tp)
>  {
>  	int			i, j;
> -	xfs_dquot_t		*dqp;
> +	struct xfs_dquot	*dqp;
>  	struct xfs_dqtrx	*qtrx, *qa;
> -	bool                    locked;
> +	bool			locked;
>  
>  	if (!tp->t_dqinfo || !(tp->t_flags & XFS_TRANS_DQ_DIRTY))
>  		return;
> @@ -571,21 +571,21 @@ xfs_quota_warn(
>   */
>  STATIC int
>  xfs_trans_dqresv(
> -	xfs_trans_t	*tp,
> -	xfs_mount_t	*mp,
> -	xfs_dquot_t	*dqp,
> -	int64_t		nblks,
> -	long		ninos,
> -	uint		flags)
> +	struct xfs_trans	*tp,
> +	struct xfs_mount	*mp,
> +	struct xfs_dquot	*dqp,
> +	int64_t			nblks,
> +	long			ninos,
> +	uint			flags)
>  {
> -	xfs_qcnt_t	hardlimit;
> -	xfs_qcnt_t	softlimit;
> -	time_t		timer;
> -	xfs_qwarncnt_t	warns;
> -	xfs_qwarncnt_t	warnlimit;
> -	xfs_qcnt_t	total_count;
> -	xfs_qcnt_t	*resbcountp;
> -	xfs_quotainfo_t	*q = mp->m_quotainfo;
> +	xfs_qcnt_t		hardlimit;
> +	xfs_qcnt_t		softlimit;
> +	time_t			timer;
> +	xfs_qwarncnt_t		warns;
> +	xfs_qwarncnt_t		warnlimit;
> +	xfs_qcnt_t		total_count;
> +	xfs_qcnt_t		*resbcountp;
> +	xfs_quotainfo_t		*q = mp->m_quotainfo;
>  	struct xfs_def_quota	*defq;
>  
>  
> -- 
> 2.23.0
> 

  reply	other threads:[~2019-11-13  4:47 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-12 21:33 [PATCH v4 0/5] xfs: remove several typedefs in quota code Pavel Reichl
2019-11-12 21:33 ` [PATCH v4 1/5] xfs: remove the xfs_disk_dquot_t and xfs_dquot_t Pavel Reichl
2019-11-13  4:45   ` Darrick J. Wong [this message]
2019-11-14  1:29   ` Dave Chinner
2019-11-12 21:33 ` [PATCH v4 2/5] xfs: remove the xfs_quotainfo_t typedef Pavel Reichl
2019-11-13  4:44   ` Darrick J. Wong
2019-11-12 21:33 ` [PATCH v4 3/5] xfs: remove the xfs_dq_logitem_t typedef Pavel Reichl
2019-11-13  4:44   ` Darrick J. Wong
2019-11-14  1:30   ` Dave Chinner
2019-11-14  5:30     ` Pavel Reichl
2019-11-14 22:20       ` Dave Chinner
2019-11-12 21:33 ` [PATCH v4 4/5] xfs: remove the xfs_qoff_logitem_t typedef Pavel Reichl
2019-11-13  4:44   ` Darrick J. Wong
2019-11-14  1:38   ` Dave Chinner
2019-11-14  4:02     ` Darrick J. Wong
2019-11-12 21:33 ` [PATCH v4 5/5] Replace function declartion by actual definition Pavel Reichl
2019-11-13  4:43   ` Darrick J. Wong
2019-11-14  1:40   ` Dave Chinner
2019-11-14  1:28 ` [PATCH v4 0/5] xfs: remove several typedefs in quota code Dave Chinner
2019-11-14  5:25   ` Pavel Reichl
2019-11-15  0:21     ` Dave Chinner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191113044516.GP6219@magnolia \
    --to=darrick.wong@oracle.com \
    --cc=linux-xfs@vger.kernel.org \
    --cc=preichl@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.