xfs: remove the data_dotdot_offset field in struct xfs_dir_ops

The data_dotdot_offset value is always equal to data_entry_offset plus
the fixed size of the "." entry.  Right now calculating that fixed size
requires an indirect call, but by the end of this series it will be
an inline function that can be constant folded.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
Christoph Hellwig
2019-11-08 15:05:30 -08:00
committed by Darrick J. Wong
parent 1682310474
commit 2eb68a5d36
3 changed files with 2 additions and 8 deletions

View File

@@ -77,7 +77,8 @@ xfs_dir2_sf_getdents(
dot_offset = xfs_dir2_db_off_to_dataptr(geo, geo->datablk,
dp->d_ops->data_entry_offset);
dotdot_offset = xfs_dir2_db_off_to_dataptr(geo, geo->datablk,
dp->d_ops->data_dotdot_offset);
dp->d_ops->data_entry_offset +
dp->d_ops->data_entsize(sizeof(".") - 1));
/*
* Put . entry unless we're starting past it.