[PATCH 37/37] xfs: make XBF_MAPPED the default behaviour

Mark Tinguely tinguely at sgi.com
Wed Apr 25 15:09:05 CDT 2012


PS.
On 04/23/12 00:59, Dave Chinner wrote:
> From: Dave Chinner<dchinner at redhat.com>
>
> Rather than specifying XBF_MAPPED for almost all buffers, introduce
> XBF_UNMAPPED for the couple of users that use unmapped buffers.
>
> Signed-off-by: Dave Chinner<dchinner at redhat.com>
> ---
>   fs/xfs/xfs_buf.c         |   28 +++++++++++++---------------
>   fs/xfs/xfs_buf.h         |    4 ++--
>   fs/xfs/xfs_fsops.c       |   10 +++++-----
>   fs/xfs/xfs_inode.c       |    1 +
>   fs/xfs/xfs_log_recover.c |    4 ++--
>   fs/xfs/xfs_trans_buf.c   |    6 ------
>   fs/xfs/xfs_vnodeops.c    |    3 +--
>   7 files changed, 24 insertions(+), 32 deletions(-)
>
> diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
> @@ -707,7 +707,6 @@ xfs_buf_set_empty(
>   	bp->b_length = numblks;
>   	bp->b_io_length = numblks;
>   	bp->b_bn = XFS_BUF_DADDR_NULL;
> -	bp->b_flags&= ~XBF_MAPPED;
>   }
>

I know that bp->baddr is set to NULL and denotes that this is not
mapped, but why not set the XBF_UNMAPPED?

>   static inline struct page *
> @@ -759,7 +758,6 @@ xfs_buf_associate_memory(
>
>   	bp->b_io_length = BTOBB(len);
>   	bp->b_length = BTOBB(buflen);
> -	bp->b_flags |= XBF_MAPPED;
>
>   	return 0;
>   }

I think the answer is no, but can XBF_UNMAPPED be set and leaked here?

Thanks

--Mark Tinguely



More information about the xfs mailing list