Add sample notification program
authorDavid Howells <dhowells@redhat.com>
Tue, 14 Jan 2020 17:07:11 +0000 (17:07 +0000)
committerDavid Howells <dhowells@redhat.com>
Tue, 19 May 2020 14:38:07 +0000 (15:38 +0100)
commitf5b5a164f9a11aab5b225f082b33a8f03c07516c
tree2e8495c9715765006985d2309312bcf2db0f462d
parentf7e47677e39a03057dcced2016c92a9c868693ec
Add sample notification program

The sample program is run like:

./samples/watch_queue/watch_test

and watches "/" for mount changes and the current session keyring for key
changes:

# keyctl add user a a @s
1035096409
# keyctl unlink 1035096409 @s

producing:

# ./watch_test
read() = 16
NOTIFY[000]: ty=000001 sy=02 i=00000110
KEY 2ffc2e5d change=2[linked] aux=1035096409
read() = 16
NOTIFY[000]: ty=000001 sy=02 i=00000110
KEY 2ffc2e5d change=3[unlinked] aux=1035096409

Other events may be produced, such as with a failing disk:

read() = 22
NOTIFY[000]: ty=000003 sy=02 i=00000416
USB 3-7.7 dev-reset e=0 r=0
read() = 24
NOTIFY[000]: ty=000002 sy=06 i=00000418
BLOCK 00800050 e=6[critical medium] s=64000ef8

This corresponds to:

blk_update_request: critical medium error, dev sdf, sector 1677725432 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0

in dmesg.

Signed-off-by: David Howells <dhowells@redhat.com>
samples/Kconfig
samples/Makefile
samples/watch_queue/Makefile [new file with mode: 0644]
samples/watch_queue/watch_test.c [new file with mode: 0644]