There already is a uevent by default when closing a device upon connect
of the device. However, the same isn't true on disconnect.

This makes it hard for userspace to keep track of whether a device is
connected, since we are notified when the connection is created, but not
when it is removed again.

Explicitly issue a "change" uevent to remedy.

Signed-off-by: Wouter Verhelst <w...@uter.be>
---
 drivers/block/nbd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index e4c5cc1..43dcc12 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -438,6 +438,7 @@ static int nbd_thread_recv(struct nbd_device *nbd)
        }
 
        device_remove_file(disk_to_dev(nbd->disk), &pid_attr);
+       kobject_uevent(&disk_to_dev(nbd->disk)->kobj, KOBJ_CHANGE);
 
        spin_lock_irqsave(&nbd->tasks_lock, flags);
        nbd->task_recv = NULL;
-- 
2.7.0

Reply via email to