| What: /sys/.../uevent | |
| Date: May 2017 | |
| KernelVersion: 4.13 | |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> | |
| Description: | |
| Enable passing additional variables for synthetic uevents that | |
| are generated by writing /sys/.../uevent file. | |
| Recognized extended format is ACTION [UUID [KEY=VALUE ...]. | |
| The ACTION is compulsory - it is the name of the uevent action | |
| ("add", "change", "remove"). There is no change compared to | |
| previous functionality here. The rest of the extended format | |
| is optional. | |
| You need to pass UUID first before any KEY=VALUE pairs. | |
| The UUID must be in "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" | |
| format where 'x' is a hex digit. The UUID is considered to be | |
| a transaction identifier so it's possible to use the same UUID | |
| value for one or more synthetic uevents in which case we | |
| logically group these uevents together for any userspace | |
| listeners. The UUID value appears in uevent as | |
| "SYNTH_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" environment | |
| variable. | |
| If UUID is not passed in, the generated synthetic uevent gains | |
| "SYNTH_UUID=0" environment variable automatically. | |
| The KEY=VALUE pairs can contain alphanumeric characters only. | |
| It's possible to define zero or more pairs - each pair is then | |
| delimited by a space character ' '. Each pair appears in | |
| synthetic uevent as "SYNTH_ARG_KEY=VALUE". That means the KEY | |
| name gains "SYNTH_ARG_" prefix to avoid possible collisions | |
| with existing variables. | |
| Example of valid sequence written to the uevent file: | |
| add fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed A=1 B=abc | |
| This generates synthetic uevent including these variables: | |
| ACTION=add | |
| SYNTH_ARG_A=1 | |
| SYNTH_ARG_B=abc | |
| SYNTH_UUID=fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed | |
| Users: | |
| udev, userspace tools generating synthetic uevents |