Commit af5b8861 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: Update /dev/disk/by-uuid on device add



Invalidate pagecache after we write the new superblock and send a
uevent.

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent b76cce12
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -1995,6 +1995,22 @@ int bch2_dev_add(struct bch_fs *c, const char *path)
			goto err_late;
	}

	/*
	 * We just changed the superblock UUID, invalidate cache and send a
	 * uevent to update /dev/disk/by-uuid
	 */
	invalidate_bdev(ca->disk_sb.bdev);

	char uuid_str[37];
	snprintf(uuid_str, sizeof(uuid_str), "UUID=%pUb", &c->sb.uuid);

	char *envp[] = {
		"CHANGE=uuid",
		uuid_str,
		NULL,
	};
	kobject_uevent_env(&ca->disk_sb.bdev->bd_device.kobj, KOBJ_CHANGE, envp);

	up_write(&c->state_lock);
out:
	printbuf_exit(&label);