:: Re: [DNG] vdev status update in chi…
Top Page
Delete this message
Reply to this message
Author: aitor
Date:  
To: dng
Subject: Re: [DNG] vdev status update in chimaera
Hi,

On 10/3/23 2:06, Joel Roth via Dng wrote:
> Thanks for that awesome work, aitor. I'm glad to hear that vdev will
> be available to devuan and other OSs.
>
> I'm cautiously optimistic that once it's easier to install,
> we'll see more distributions and users opting for this
> simpler, more focused and portable alterative to udev.
>
> with cheers and appreciation,


I've upgraded the versions of vdev and libudev-compat after the the eventfs integration.
Most changes have been done in the files listed below:

1) Modified files in libudev-compat:

   - src/libudev/libudev-fs.c

   - src/libudev/libudev-monitor.c


2) Modified files in vdev:

   - vdevd/helpers/LINUX/event-put.c

   - vdevd/helpers/LINUX/event-push.sh

   - vdevd/helpers/LINUX/udev-compat.sh

   - vdevd/helpers/LINUX/dev-setup.sh

The event queue directory is mounted in the last script (dev-setup.sh) by the following way:


if [ "$(stat -f -c '%T' $VDEV_MOUNTPOINT/metadata/udev/events/serial)" != "fuseblk" ]; then
   /bin/eventfs -o nonempty -c /etc/eventfs/eventfs.conf "$VDEV_MOUNTPOINT/metadata/udev/events/serial"
fi

If you want to give it a try, you can download the new live images of gnuinos chimaera and build the
example "test-libudevfs" at the end of the article:

https://www.gnuinos.org/libudev-compat/

I have split "/dev/metadata/udev/events" in two subfolders "global" and "serial". The first one is the
global queue, and the second one is the per-process specific directory containing the underlying folders.
When you run the program, a new directory (named libudev-$CLIENT_PID-0) is created in "serial", which is
visible only for root. Once the program terminates, the directory vanishes as explained in the README.md
file of eventfs, written by Jude Nelson:

https://github.com/jcnelson/eventfs

However, my approach as it stands is far from perfect and suggestions are very welcome :)

Cheers,

Aitor.