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

Darrick J. Wong
2015-08-17T20:30:36Z

On Mon, Aug 17, 2015 at 01:31:23PM -0500, Eric Sandeen wrote:
> 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@oracle.com>
> > ---
> > 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 ?

D'oh. Yep, good catch.

--D

>
> -Eric
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs