linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Brian Foster <bfoster@redhat.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: linux-xfs@vger.kernel.org, "Darrick J. Wong" <djwong@djwong.org>
Subject: Re: [PATCH 5/9] xfs: add a couple of queries to iterate free extents in the rtbitmap
Date: Wed, 1 Mar 2017 11:56:46 -0500	[thread overview]
Message-ID: <20170301165645.GA3312@bfoster.bfoster> (raw)
In-Reply-To: <148830758195.22089.11914775154975299005.stgit@birch.djwong.org>

On Tue, Feb 28, 2017 at 10:46:22AM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> Add _query_range and _query_all functions to the realtime bitmap
> allocator.  These two functions are similar in usage to the btree
> functions with the same name and will be used for getfsmap and scrub.
> 
> Signed-off-by: Darrick J. Wong <djwong@djwong.org>
> ---
>  fs/xfs/libxfs/xfs_rtbitmap.c |   70 ++++++++++++++++++++++++++++++++++++++++++
>  fs/xfs/xfs_rtalloc.h         |   22 ++++++++++++-
>  2 files changed, 90 insertions(+), 2 deletions(-)
> 
> 
> diff --git a/fs/xfs/libxfs/xfs_rtbitmap.c b/fs/xfs/libxfs/xfs_rtbitmap.c
> index ea45584..e47b99e 100644
> --- a/fs/xfs/libxfs/xfs_rtbitmap.c
> +++ b/fs/xfs/libxfs/xfs_rtbitmap.c
...
> diff --git a/fs/xfs/xfs_rtalloc.h b/fs/xfs/xfs_rtalloc.h
> index 355dd9e..b0d2761 100644
> --- a/fs/xfs/xfs_rtalloc.h
> +++ b/fs/xfs/xfs_rtalloc.h
> @@ -23,6 +23,16 @@
>  struct xfs_mount;
>  struct xfs_trans;
>  
> +struct xfs_rtalloc_rec {
> +	xfs_rtblock_t		ar_startblock;
> +	xfs_rtblock_t		ar_blockcount;
> +};
> +
> +typedef int (*xfs_rtalloc_query_range_fn)(
> +	struct xfs_trans	*tp,
> +	struct xfs_rtalloc_rec	*rec,
> +	void			*priv);
> +
>  #ifdef CONFIG_XFS_RT
>  /*
>   * Function prototypes for exported functions.
> @@ -119,13 +129,21 @@ int xfs_rtmodify_summary(struct xfs_mount *mp, struct xfs_trans *tp, int log,

FWIW, this hunk (below) didn't apply cleanly to my for-next branch.
It's straightforward to apply manually, so I'm not sure what the
conflict was. Whitespace perhaps? Just FYI.

Otherwise the rest looks fine to me. I'm not terribly familiar with the
rt stuff, so FWIW:

Reviewed-by: Brian Foster <bfoster@redhat.com>

>  int xfs_rtfree_range(struct xfs_mount *mp, struct xfs_trans *tp,
>  		     xfs_rtblock_t start, xfs_extlen_t len,
>  		     struct xfs_buf **rbpp, xfs_fsblock_t *rsb);
> -
> -
> +int xfs_rtalloc_query_range(struct xfs_trans *tp,
> +			    struct xfs_rtalloc_rec *low_rec,
> +			    struct xfs_rtalloc_rec *high_rec,
> +			    xfs_rtalloc_query_range_fn fn,
> +			    void *priv);
> +int xfs_rtalloc_query_all(struct xfs_trans *tp,
> +			  xfs_rtalloc_query_range_fn fn,
> +			  void *priv);
>  #else
>  # define xfs_rtallocate_extent(t,b,min,max,l,a,f,p,rb)  (ENOSYS)
>  # define xfs_rtfree_extent(t,b,l)                       (ENOSYS)
>  # define xfs_rtpick_extent(m,t,l,rb)                    (ENOSYS)
>  # define xfs_growfs_rt(mp,in)                           (ENOSYS)
> +# define xfs_rtalloc_query_range(t,l,h,f,p)             (ENOSYS)
> +# define xfs_rtalloc_query_all(t,f,p)                   (ENOSYS)
>  static inline int		/* error */
>  xfs_rtmount_init(
>  	xfs_mount_t	*mp)	/* file system mount structure */
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-03-01 16:47 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-28 18:45 [RFC PATCH v7 0/9] vfs/xfs/ext4: GETFSMAP support Darrick J. Wong
2017-02-28 18:45 ` [PATCH 1/9] vfs: add common GETFSMAP ioctl definitions Darrick J. Wong
2017-02-28 18:46 ` [PATCH 2/9] xfs: plumb in needed functions for range querying of the freespace btrees Darrick J. Wong
2017-02-28 18:46 ` [PATCH 3/9] xfs: provide a query_range function for " Darrick J. Wong
2017-02-28 18:46 ` [PATCH 4/9] xfs: create a function to query all records in a btree Darrick J. Wong
2017-02-28 18:46 ` [PATCH 5/9] xfs: add a couple of queries to iterate free extents in the rtbitmap Darrick J. Wong
2017-03-01 16:56   ` Brian Foster [this message]
2017-02-28 18:46 ` [PATCH 6/9] xfs: implement the GETFSMAP ioctl Darrick J. Wong
2017-03-01 16:57   ` Brian Foster
2017-03-01 18:45     ` Darrick J. Wong
2017-03-02  2:29   ` [PATCH v2 " Darrick J. Wong
2017-03-02 15:59     ` Brian Foster
2017-02-28 18:46 ` [PATCH 7/9] xfs: have getfsmap fall back to the freesp btrees when rmap is not present Darrick J. Wong
2017-03-01 17:59   ` Brian Foster
2017-03-01 18:46     ` Darrick J. Wong
2017-03-02  2:29   ` [PATCH v2 " Darrick J. Wong
2017-03-02 15:59     ` Brian Foster
2017-02-28 18:46 ` [PATCH 8/9] xfs: report realtime space information via the rtbitmap Darrick J. Wong
2017-03-01 17:59   ` Brian Foster
2017-02-28 18:46 ` [PATCH 9/9] ext4: support GETFSMAP ioctls Darrick J. Wong
2017-03-01  2:22   ` Andreas Dilger
2017-03-01 20:41     ` Darrick J. Wong
2017-03-02  2:30   ` [PATCH v2 " Darrick J. Wong
  -- strict thread matches above, loose matches on Subject: below --
2017-03-30 15:57 [PATCH v8 0/9] vfs/xfs/ext4: GETFSMAP support Darrick J. Wong
2017-03-30 15:58 ` [PATCH 5/9] xfs: add a couple of queries to iterate free extents in the rtbitmap Darrick J. Wong

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=20170301165645.GA3312@bfoster.bfoster \
    --to=bfoster@redhat.com \
    --cc=darrick.wong@oracle.com \
    --cc=djwong@djwong.org \
    --cc=linux-xfs@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).