Blob Blame History Raw
From 3e073f5ac0b1d8d930615cd3fbb1401b56ceb848 Mon Sep 17 00:00:00 2001
From: Martin Wilck <mwilck@suse.com>
Date: Thu, 26 Oct 2017 14:31:04 +0200
Subject: [PATCH] remove partitions with O_RDONLY

It's not necessary to use O_RDWR to use BLKPG_DEL_PARTITION.
It's actually harmful, because closing the device will cause
an IN_CLOSE_WRITE inotify event, which will trigger a BLKRRPART
from systemd, which will reinstate all partitions just deleted.
---
 lib/device/partition.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/device/partition.c b/lib/device/partition.c
index 99e92f6a66cd..bcc8de819eb4 100644
--- a/lib/device/partition.c
+++ b/lib/device/partition.c
@@ -22,8 +22,7 @@ _remove_subset_partitions(struct lib_context *lc, struct raid_set *rs)
 	};
 
 	list_for_each_entry(rd, &rs->devs, devs) {
-		int fd = open(rd->di->path, O_RDWR);
-
+		int fd = open(rd->di->path, O_RDONLY);
 		if (fd < 0)
 			LOG_ERR(lc, 0, "opening %s: %s\n", rd->di->path,
 				strerror(errno));
-- 
2.14.2