Re: [PATCH 4/5] xfs_repair: don't ASSERT on corrupt ftype

Dave Chinner
2014-09-08T00:10:53Z

On Sun, Sep 07, 2014 at 11:41:04AM -0500, Eric Sandeen wrote:
> xfs_dir3_dirent_get_ftype() gets the file type
> off disk, but ASSERTs if it's invalid:
>
> ASSERT(type < XFS_DIR3_FT_MAX);
>
> This might be cut & paste from
> xfs_dir3_dirent_put_ftype which should be checking
> that it's not been passed bad values, but we
> shouldn't ASSERT on bad values read from disk.
>
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
> ---
> include/xfs_da_format.h | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/include/xfs_da_format.h b/include/xfs_da_format.h
> index 89a1a21..11f1420 100644
> --- a/include/xfs_da_format.h
> +++ b/include/xfs_da_format.h
> @@ -561,7 +561,6 @@ xfs_dir3_dirent_get_ftype(
> if (xfs_sb_version_hasftype(&mp->m_sb)) {
> __uint8_t type = dep->name[dep->namelen];
>
> - ASSERT(type < XFS_DIR3_FT_MAX);
> if (type < XFS_DIR3_FT_MAX)
> return type;

Needs to be fixed kernel-side first.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com