#!/bin/bash
# SPDX-License-Identifier: GPL-3.0+
# Copyright (C) 2018 Jeremy Cline <jeremy@jcline.org>
#
# Regression test for commit 20bd1d026aac ("scsi: sd: Keep disk read-only when
# re-reading partition").

. tests/scsi/rc

DESCRIPTION="ensure re-reading the partition table keeps its read-only flag"
QUICK=1

test_device() {
	echo "Running ${TEST_NAME}"

	blockdev --setro "$TEST_DEV"
	blockdev --getro "$TEST_DEV"
	blockdev --rereadpt "$TEST_DEV"
	blockdev --getro "$TEST_DEV"
	dd if=/dev/zero of="$TEST_DEV" count=1024 |& grep -o "Operation not permitted"

	blockdev --setrw "$TEST_DEV"
	blockdev --getro "$TEST_DEV"
	blockdev --rereadpt "$TEST_DEV"
	blockdev --getro "$TEST_DEV"
	dd if=/dev/zero of="$TEST_DEV" count=1024 |& grep -o "Operation not permitted"

	echo "Test complete"
}
