xfs
[Top] [All Lists]

Re: [PATCH 01/10] libxfs: readahead of dir3 data blocks should use the r

To: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>, david@xxxxxxxxxxxxx
Subject: Re: [PATCH 01/10] libxfs: readahead of dir3 data blocks should use the read verifier
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Mon, 17 Aug 2015 13:31:23 -0500
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20150815014344.1839.12045.stgit@xxxxxxxxxxxxxxxx>
References: <20150815014338.1839.37405.stgit@xxxxxxxxxxxxxxxx> <20150815014344.1839.12045.stgit@xxxxxxxxxxxxxxxx>
On 8/14/15 8:43 PM, Darrick J. Wong wrote:
> In the dir3 data block readahead function, use the regular read
> verifier to check the block's CRC and spot-check the block contents
> instead of calling the spot-checking routine directly.  This prevents
> corrupted directory data blocks from being read into the kernel, which
> can lead to garbage ls output and directory loops (if say one of the
> entries contains invalid characters).
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> ---
>  libxfs/xfs_dir2_data.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> 
> diff --git a/libxfs/xfs_dir2_data.c b/libxfs/xfs_dir2_data.c
> index c475ba8..466e096 100644
> --- a/libxfs/xfs_dir2_data.c
> +++ b/libxfs/xfs_dir2_data.c
> @@ -250,7 +250,8 @@ xfs_dir3_data_reada_verify(
>               return;
>       case cpu_to_be32(XFS_DIR2_DATA_MAGIC):
>       case cpu_to_be32(XFS_DIR3_DATA_MAGIC):
> -             xfs_dir3_data_verify(bp);
> +             bp->b_ops = &xfs_dir3_block_buf_ops;
> +             bp->b_ops->verify_read(bp);

Shouldn't that be xfs_dir3_data_buf_ops ?

-Eric

<Prev in Thread] Current Thread [Next in Thread>