On 18 April 2017 at 12:49, bugproxy <[email protected]> wrote:
> ------- Comment From [email protected] 2017-04-18 07:41 EDT-------
> (In reply to comment #14)
>> Hi Vasant,
>>
>> > Aug 9 01:28:43 abc systemd-udevd[19870]: Process '/bin/touch 
>> > /var/lib/lsvpd/run.vpdupdate' failed with exit code 1.
>>
>> What does the filesystem layout look like on this system? Is it possible
>> that you see this failing because it's running before /var/lib is mounted?
>
> Its default Ubuntu installation and I see message even after booting the
> system.
>
>>
>> Alternatively, is it possible that it's being run while the root filesystem
>> is still mounted read only?
>
> Its possible during early boot.. But we see message even after booting
> the system.
>
>>
>> If you need to write a file during early boot before the filesystem is
>> guaranteed to be set up, it would be better to use /run for this instead of
>> /var/lib.
>
> Ok.. Our requirement is :
> We have static vpd.db file under /var/lib/lsvpd which contains system VPD. We 
> use udev script to detect change in devices so that next time someone 
> requests to read from vpd.db we can refresh the database and get upto date 
> information.
> Is /run recommended for this kind of usage?
>

Yes.

Note that /run doesn't persist across reboots, so I hope the udev rule
in question is triggered on every boot; and thereafter when relevant
things change.


> -Vasant
>
> ------- Comment From [email protected] 2017-04-18 07:47 EDT-------
> (In reply to comment #15)
>> This udev rule is shipped by libvpd package, changing package assignment.
>
> Correct. Its shipped by libvpd.. but we wanted to understand from
> systemd-udevd point of view.
>

systemd-udevd allows executing arbitrary shell code, and it did so,
and it's out of udev's control to guarantee success or failure of
those commands.

The bug is in the udev rules themself, or rather the code that makes
assumptions that are not guaranteed during udev rule triggering.
Usually, one would start a systemd unit file to check / update things
on boot, with correct file dependencies that e.g. certain directory is
mounted and is writable;
and make udev rules trigger that unit e.g. with SYSTEMD_WANTS=. But
this is just a general advice, I have not looked into libvpd package
specifics.

There is no systemd-udevd bug here, as far as I can tell.

Regards,

Dimitri.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1682774

Title:
  [systemd-udevd] Process '/bin/touch /var/lib/lsvpd/run.vpdupdate'
  failed with exit code 1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvpd/+bug/1682774/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to