Dear all,

based on discussions on this mailing list [1], and a request that
reached me via the OpenMainframeProject mailing list [2], I've
implemented the functionality of generating a kernel uevent that can be
used as a trigger e.g. for processing newly arrived VM reader files in
Linux.

This function has now been added into the upstream Linux kernel source
repository as commits [3][4]

  bf18140d3054 ("s390/vmur: generate uevent on unsolicited device end")
  f3e59ff348c0 ("s390/vmur: remove unnecessary BUG statement")

and is queued for integration into Linux kernel v6.1. From there it will
likely be picked up by future Linux distribution versions that will be
based on that kernel level. Note that there are currently no plans by
IBM to back-port this feature to older distribution versions.

For your reference, here's the associated commit message containing some
usage details. Please let me know if you have additional questions, or
comments. Thanks!

==
s390/vmur: generate uevent on unsolicited device end

When a traditional channel-attached device transitions from not-ready to
ready state, an unsolicited DEVICE END I/O interrupt is raised. This
happens for example when a new file arrives in the z/VM virtual reader
device.

Change the Linux kernel to generate a change uevent when such an
interrupt occurs for any online unit record devices supported by the
vmur driver. This can be useful to automatically trigger processing of
files as they arrive in the reader device.

A sample udev rule for running a program when this event occurs looks as
follows:

  ENV{DRIVER}=="vmur", ACTION=="change", ENV{EVENT}=="unsol_de", \
    RUN{program}="/path/to/program"

The rule can be tested using the following steps:

1. Set reader device online (assuming default reader device number 000c)

   $ chzdev -ea 0.0.000c

2. Force a ready-state transition using z/VM's READY CP command

   $ vmcp ready 000c
==

Regards,
  Peter

[1] http://www2.marist.edu/htbin/wlvtype?LINUX-VM.97664
[2] https://lists.openmainframeproject.org/g/wg-linux-distros/message/59
[3]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/s390/char/vmur.c?id=bf18140d30541c2c1e5c0f57879634f3d0d04912
[4]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/s390/char/vmur.c?id=f3e59ff348c077a6afd4edb23d7e69e9cba62fdc

--
Peter Oberparleiter
Linux on IBM Z Development - IBM Germany R&D

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to