#!/bin/bash
# SPDX-License-Identifier: GPL-3.0+
# Copyright (C) 2018 Josef Bacik
#
# Test nbd device resizing. Regression test for patches "nbd: update size when
# connected" and "nbd: use bd_set_size when updating disk size".

. tests/nbd/rc

DESCRIPTION="resize a connected nbd device"
QUICK=1

requires() {
	_have_nbd && _have_program parted && _have_src_program nbdsetsize
}

test() {
	echo "Running ${TEST_NAME}"
	_start_nbd_server
	nbd-client -L -N export localhost /dev/nbd0 >> "$FULL" 2>&1
	parted -s /dev/nbd0 print 2>> "$FULL" | grep 'Disk /dev/nbd0'
	lsblk -n /dev/nbd0

	echo "Setting size to 1gib"
	src/nbdsetsize /dev/nbd0 1073741824

	lsblk -n /dev/nbd0
	parted -s /dev/nbd0 print 2>> "$FULL" | grep 'Disk /dev/nbd0'

	nbd-client -d /dev/nbd0 >> "$FULL" 2>&1
	_stop_nbd_server
}
