summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2015-03-13 08:35:59 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-03-16 09:21:57 -0400
commit496068a8288084ab3ecf8b179a8403ecff1a6be8 (patch)
treeb3a090d69c15b459ae10d152cdb5666ba6ee942b /src/core
parent84a122a008e06901ce2d1d3941864afce8fd5d15 (diff)
core: don't change removed devices to state "tentative"
Commit 628c89c introduced the "tentative" device state, which caused devices to go from "plugged" to "tentative" on a remove uevent. This breaks the cleanup of stale mounts (see commit 3b48ce4), as that only applies to "dead" devices. The "tentative" state only really makes sense on adding a device when we don't know where it was coming from (i. e. not from udev). But when we get a device removal from udev we definitively know that it's gone, so change the device state back to "dead" as before 628c89c.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/device.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/device.c b/src/core/device.c
index 4bfd71f479..b5d9d827e2 100644
--- a/src/core/device.c
+++ b/src/core/device.c
@@ -419,7 +419,7 @@ static void device_update_found_one(Device *d, bool add, DeviceFound found, bool
if (now) {
if (d->found & DEVICE_FOUND_UDEV)
device_set_state(d, DEVICE_PLUGGED);
- else if (d->found != DEVICE_NOT_FOUND)
+ else if (add && d->found != DEVICE_NOT_FOUND)
device_set_state(d, DEVICE_TENTATIVE);
else
device_set_state(d, DEVICE_DEAD);