On Wed, Nov 08, 2017 at 09:59:39AM +0200, Nikolay Borisov wrote:
> 
> 
> On  8.11.2017 02:54, Qu Wenruo wrote:
> > Add checker for dir item, for key types DIR_ITEM, DIR_INDEX and
> > XATTR_ITEM.
> > 
> > This checker does comprehensive check for:
> > 1) dir_item header and its data size
> >    Against item boundary and maximum name/xattr length.
> >    This part is mostly the same as old verify_dir_item().
> > 
> > 2) dir_type
> >    Against maximum file types, and against key type.
> >    Since XATTR key should only have FT_XATTR dir item, and normal dir
> >    item type should not have XATTR key.
> > 
> >    The check between key->type and dir_type is newly introduced by this
> >    patch.
> > 
> > 3) name hash
> >    For XATTR and DIR_ITEM key, key->offset is name hash (crc32).
> >    Check the hash of name against key to ensure it's correct.
> > 
> >    The name hash check is only found in btrfs-progs before this patch.
> > 
> > Signed-off-by: Qu Wenruo <w...@suse.com>
> > ---
> >  fs/btrfs/tree-checker.c | 141 
> > ++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 141 insertions(+)
> > 
> 
> 
> I'm gonna 'hijack' this patch to discuss something  - we do return the
> correct EUCLEAN status from the leaf checker, however the only place
> where it's called is in btree_readpage_end_io_hook and if the check
> fails we only return -EIO. I wonder whether want to propagate the
> EUCLEAN from there, any thoughts?

The @ret from readpage_end_io_hook won't go upper layer as it's
wrapped in end_bio_extent_readpage().

The readpage/readpages will just check page's uptodate bit and error
bit.

Thanks,

-liubo
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to