Re: [PATCH 4/6] libfrog: create online fs geometry converters

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 20, 2019 at 01:30:57PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> 
> Create helper functions to perform unit conversions against a runtime
> filesystem, then remove the open-coded versions in scrub.

.... and there they are...

> +/* Convert fs block number into bytes */
> +static inline uint64_t
> +xfrog_fsb_to_b(
> +	const struct xfs_fd	*xfd,
> +	uint64_t		fsb)
> +{
> +	return fsb << xfd->blocklog;
> +}

FWIW, this is for converting linear offsets in fsb /units/, not the
sparse fsbno (= agno | agbno) to bytes. I've always found it a bit
nasty that this distinction is not clearly made in the core FSB
conversion macros.

perhaps off_fsb_to_b?

> +/* Convert bytes into (rounded down) fs block number */
> +static inline uint64_t
> +xfrog_b_to_fsbt(
> +	const struct xfs_fd	*xfd,
> +	uint64_t		bytes)
> +{
> +	return bytes >> xfd->blocklog;
> +}

Ditto.

Otherwise looks ok.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux