summaryrefslogtreecommitdiff
path: root/src/libudev/libudev.h
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2014-04-12 22:35:50 -0700
committerKay Sievers <kay@vrfy.org>2014-04-13 17:12:14 -0700
commit9ea28c55a2488e6cd4a44ac5786f12b71ad5bc9f (patch)
tree3aeccb80e1b72169b8bc4836b5a6d1a76130ebe3 /src/libudev/libudev.h
parenta163b64c4b08e8a4ad39a9a295acf3d1634024a3 (diff)
udev: remove seqnum API and all assumptions about seqnums
The way the kernel namespaces have been implemented breaks assumptions udev made regarding uevent sequence numbers. Creating devices in a namespace "steals" uevents and its sequence numbers from the host. It confuses the "udevadmin settle" logic, which might block until util a timeout is reached, even when no uevent is pending. Remove any assumptions about sequence numbers and deprecate libudev's API exposing these numbers; none of that can reliably be used anymore when namespaces are involved.
Diffstat (limited to 'src/libudev/libudev.h')
-rw-r--r--src/libudev/libudev.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h
index b9b8f13e4..ceb89bd59 100644
--- a/src/libudev/libudev.h
+++ b/src/libudev/libudev.h
@@ -170,14 +170,14 @@ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue);
struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue);
struct udev *udev_queue_get_udev(struct udev_queue *udev_queue);
struct udev_queue *udev_queue_new(struct udev *udev);
-unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue);
-unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue);
+unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated));
+unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated));
int udev_queue_get_udev_is_active(struct udev_queue *udev_queue);
int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue);
-int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum);
+int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated));
int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue,
- unsigned long long int start, unsigned long long int end);
-struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue);
+ unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated));
+struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated));
/*
* udev_hwdb