]> git.baikalelectronics.ru Git - kernel.git/commit
dm ioctl: add a new DM_DEV_ARM_POLL ioctl
authorMikulas Patocka <mpatocka@redhat.com>
Fri, 5 May 2017 18:12:52 +0000 (11:12 -0700)
committerMike Snitzer <snitzer@redhat.com>
Mon, 19 Jun 2017 15:03:49 +0000 (11:03 -0400)
commita8494da00fe988ef8e33eff44763046214410495
tree33ef078dc10f73ad9eff20777fdcbad88742a6c1
parent5d71d13f1e0ba64e2572a31e000fec520796ac73
dm ioctl: add a new DM_DEV_ARM_POLL ioctl

This ioctl will record the current global event number in the structure
dm_file, so that next select or poll call will wait until new events
arrived since this ioctl.

The DM_DEV_ARM_POLL ioctl has the same effect as closing and reopening
the handle.

Using the DM_DEV_ARM_POLL ioctl is optional - if the userspace is OK
with closing and reopening the /dev/mapper/control handle after select
or poll, there is no need to re-arm via ioctl.

Usage:
1. open the /dev/mapper/control device
2. send the DM_DEV_ARM_POLL ioctl
3. scan the event numbers of all devices we are interested in and process
   them
4. call select, poll or epoll on the handle (it waits until some new event
   happens since the DM_DEV_ARM_POLL ioctl)
5. go to step 2

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-ioctl.c
include/uapi/linux/dm-ioctl.h