xfs
[Top] [All Lists]

Re: [PATCH 11/71] xfs: define the on-disk refcount btree format

To: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>
Subject: Re: [PATCH 11/71] xfs: define the on-disk refcount btree format
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue, 6 Sep 2016 08:06:15 -0700
Cc: david@xxxxxxxxxxxxx, linux-xfs@xxxxxxxxxxxxxxx, Christoph Hellwig <hch@xxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <147216798906.867.6348942755846510156.stgit@xxxxxxxxxxxxxxxx>
References: <147216791538.867.12413509832420924168.stgit@xxxxxxxxxxxxxxxx> <147216798906.867.6348942755846510156.stgit@xxxxxxxxxxxxxxxx>
User-agent: Mutt/1.6.1 (2016-04-27)
On Thu, Aug 25, 2016 at 04:33:09PM -0700, Darrick J. Wong wrote:
> [hch: allocate the cursor with KM_NOFS to quiet lockdep]
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

feel free to drop mentioning this little fixlet..

> +/* Per-AG btree private information. */
> +union xfs_btree_cur_private {
> +     struct {
> +             unsigned long   nr_ops;         /* # record updates */
> +             int             shape_changes;  /* # of extent splits */
> +     } refc;
>  };
>  
>  /*
> @@ -247,6 +258,7 @@ typedef struct xfs_btree_cur
>                       struct xfs_buf  *agbp;  /* agf/agi buffer pointer */
>                       struct xfs_defer_ops *dfops;    /* deferred updates */
>                       xfs_agnumber_t  agno;   /* ag number */
> +                     union xfs_btree_cur_private     priv;
>               } a;

So we have a struct in a union in a struct in a union in a struct.
But I don't really see a good way around this..

But in general this looks fine:

Reviewed-by: Christoph Hellwig <hch@xxxxxx>

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [PATCH 11/71] xfs: define the on-disk refcount btree format, Christoph Hellwig <=