On Mon, Nov 14, 2022 at 08:35:02AM +0000, Xiao Yang wrote: > It is unnecssary to always create a dm-log-writes device > based on the entire size of the target/underlying device. > > Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxx> Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > common/dmlogwrites | 18 ++++++++++++++++-- > 1 file changed, 16 insertions(+), 2 deletions(-) > > diff --git a/common/dmlogwrites b/common/dmlogwrites > index 9fa1c977..c1c85de9 100644 > --- a/common/dmlogwrites > +++ b/common/dmlogwrites > @@ -59,14 +59,28 @@ _require_log_writes_dax_mountopt() > fi > } > > +# Set up a dm-log-writes device > +# > +# blkdev: the specified target device > +# length(optional): the mapped length in bytes > +# Note that the entire size of the target device will be used > +# if length is not specified. > _log_writes_init() > { > - blkdev=$1 > + local blkdev=$1 > + local length=$2 > + local BLK_DEV_SIZE > > [ -z "$blkdev" ] && _fail \ > "block dev must be specified for _log_writes_init" > > - local BLK_DEV_SIZE=`blockdev --getsz $blkdev` > + if [ -z "$length" ]; then > + BLK_DEV_SIZE=`blockdev --getsz $blkdev` > + else > + local blksz=`blockdev --getss $blkdev` > + BLK_DEV_SIZE=$((length / blksz)) > + fi > + > LOGWRITES_NAME=logwrites-test > LOGWRITES_DMDEV=/dev/mapper/$LOGWRITES_NAME > LOGWRITES_TABLE="0 $BLK_DEV_SIZE log-writes $blkdev $LOGWRITES_DEV" > -- > 2.34.1 >