xfs
[Top] [All Lists]

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

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH 01/10] libxfs: readahead of dir3 data blocks should use the read verifier
From: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>
Date: Mon, 17 Aug 2015 13:30:30 -0700
Cc: david@xxxxxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <55D2287B.9060900@xxxxxxxxxxx>
References: <20150815014338.1839.37405.stgit@xxxxxxxxxxxxxxxx> <20150815014344.1839.12045.stgit@xxxxxxxxxxxxxxxx> <55D2287B.9060900@xxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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@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 ?

D'oh.  Yep, good catch.

--D

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

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