diff options
author | Mikulas Patocka <mpatocka@redhat.com> | 2017-01-16 16:05:59 -0500 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2017-06-19 11:03:49 -0400 |
commit | 93e6442c76a0d26ad028c5df9b4a1e3096d9c36b (patch) | |
tree | 50cb9b89d834e3b3c4e65189d0a3f1f85303cb0b /drivers/md/dm-core.h | |
parent | 443bd90f2cca9dec3db9ef9460a9c2a6f095f789 (diff) | |
download | linux-stable-93e6442c76a0d26ad028c5df9b4a1e3096d9c36b.tar.gz linux-stable-93e6442c76a0d26ad028c5df9b4a1e3096d9c36b.tar.bz2 linux-stable-93e6442c76a0d26ad028c5df9b4a1e3096d9c36b.zip |
dm: add basic support for using the select or poll function
Add the ability to poll on the /dev/mapper/control device. The select
or poll function waits until any event happens on any dm device since
opening the /dev/mapper/control device. When select or poll returns the
device as readable, we must close and reopen the device to wait for new
dm events.
Usage:
1. open the /dev/mapper/control device
2. scan the event numbers of all devices we are interested in and process
them
3. call select, poll or epoll on the handle (it waits until some new event
happens since opening the device)
4. close the /dev/mapper/control handle
5. go to step 1
The next commit allows to re-arm the polling without closing and
reopening the device.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-core.h')
-rw-r--r-- | drivers/md/dm-core.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/dm-core.h b/drivers/md/dm-core.h index 52ca8d059e82..24eddbdf2ab4 100644 --- a/drivers/md/dm-core.h +++ b/drivers/md/dm-core.h @@ -147,4 +147,7 @@ static inline bool dm_message_test_buffer_overflow(char *result, unsigned maxlen return !maxlen || strlen(result) + 1 >= maxlen; } +extern atomic_t dm_global_event_nr; +extern wait_queue_head_t dm_global_eventq; + #endif |