All of lore.kernel.org
 help / color / mirror / Atom feed
* main - devices: don't use deleted loop backing file for device id
@ 2021-06-08 17:18 David Teigland
  0 siblings, 0 replies; only message in thread
From: David Teigland @ 2021-06-08 17:18 UTC (permalink / raw)
  To: lvm-devel

Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=ca930bd936de2e7d4a83fa64add800baf6cfd116
Commit:        ca930bd936de2e7d4a83fa64add800baf6cfd116
Parent:        5e17203ff5dd4296760e5dad683e4cc84df2801d
Author:        David Teigland <teigland@redhat.com>
AuthorDate:    Tue Jun 8 12:16:06 2021 -0500
Committer:     David Teigland <teigland@redhat.com>
CommitterDate: Tue Jun 8 12:16:06 2021 -0500

devices: don't use deleted loop backing file for device id

check for "(deleted)" in the backing_file string and
fall back to devname for id.

$ cat /sys/block/loop0/loop/backing_file
/root/looptmp (deleted)
---
 lib/device/device_id.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/device/device_id.c b/lib/device/device_id.c
index 67f72e51b..1b98487ab 100644
--- a/lib/device/device_id.c
+++ b/lib/device/device_id.c
@@ -325,8 +325,12 @@ const char *device_id_system_read(struct cmd_context *cmd, struct device *dev, u
 	else if (idtype == DEV_ID_TYPE_MD_UUID)
 		_read_sys_block(cmd, dev, "md/uuid", sysbuf, sizeof(sysbuf));
 
-	else if (idtype == DEV_ID_TYPE_LOOP_FILE)
+	else if (idtype == DEV_ID_TYPE_LOOP_FILE) {
 		_read_sys_block(cmd, dev, "loop/backing_file", sysbuf, sizeof(sysbuf));
+		/* if backing file is deleted, fall back to devname */
+		if (strstr(sysbuf, "(deleted)"))
+			sysbuf[0] = '\0';
+	}
 
 	else if (idtype == DEV_ID_TYPE_DEVNAME) {
 		if (!(idname = strdup(dev_name(dev))))



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-08 17:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-08 17:18 main - devices: don't use deleted loop backing file for device id David Teigland

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.