Re: [PATCH v2 1/2] common/dmlogwrites: Extend _log_writes_init() to accept the specified length

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



On 2022/11/14 22:56, Zorro Lang wrote:
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>
---

Darrick has given his RVB [1]:

Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx>

I think you can keep it in this V2 patch.

Hi Zorro,

Thanks for your reminder.

As Darrick suggested, I actually added a comment to explain the blkdev and length arguments. So I hope Darrick can review it again.

Fortunately, Darrick has added reviewed-by on the v2 patch set. ^_^

Best Regards,
Xiao Yang

Thanks,
Zorro

[1]
https://lore.kernel.org/fstests/Y3EvUgtux4tP1tdY@magnolia/T/#m83b97790ba6570874f36cd0601747e1b6b155de2

  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





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux