libext2fs: support the BLKZEROOUT2 ioctl

Support the new BLKZEROOUT2 ioctl, which allows us to ask for
discard-based block zeroing and guarantees that the page cache is
invalidated after issuing the zero-out.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
tune2fs: disable csum verification before resizing inode

When we're turning on metadata checksumming /and/ resizing the inode
at the same time, disable checksum verification during the
resize_inode() call because the subroutines it calls will try to
verify the checksums (which have not yet been set), causing the
operation to fail unnecessarily.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
libext2fs: don't report garbage inodes with really large inodes

If the inode size is large enough that there are fewer than two inodes
per block, don't report an inode checksum failure as a garbage inode
during the scan because the "more than half are broken" criteria that
we use to decide if a block of inodes is garbage doesn't really apply.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
e2fsck: remove 'invalid' wording from error when extent block fails checksum

Don't say the physical block number is invalid if an extent block
fails only the checksum.  It passes checks, so it's not invalid.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>