Bug#725284: Bug#779412: block devices loosing state after resume: trigger udev rules to re-apply settings

2015-04-21 Thread Michael Biebl
Am 28.02.2015 um 09:30 schrieb Chris:

 A draft for such a central systemd unit file:
 
 [Unit]
 Description=Trigger all block device udev rules on resume, to re-apply all 
 non-permanent device settings (e.g. smartctl and hdparm rules).
 After=suspend.target After=hibernate.target
 After=hybrid-sleep.target

This does not work. Ordering After=foo.target does *not* guarantee that
the service is run on resume.
I already mentioned that, when a similar file was added to anacron [1].
Unfortunately it was applied anyway and now this file is copied over and
over again and posted to various bug reports.

Michael


[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744753#124
-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?



signature.asc
Description: OpenPGP digital signature


Bug#725284: Bug#779412: block devices loosing state after resume: trigger udev rules to re-apply settings

2015-02-28 Thread Michael Biebl
Am 28.02.2015 um 09:30 schrieb Chris:
 (http://bugs.debian.org/779412 explanation)
 
 There is a general problem with non-permanent block devices settings
 (hard disks, optical disks, usb storage, ...), that are not restored 
 when resuming from suspend (instead using factory defaults and 
 loosing all pre-suspend settings).
 
 And as long as the ata/scsi command set drivers can not save and
 restore every state register a device may have (impossible?),
 systemd may ship a viable workaround for this:
 
 A systemd unit file could trigger an udev change action upon resume for
 block devices. This way the same udev rules that set up the devices when
 they are first plugged, will re-apply their settings after resume.
 
 Providing this centrally with the systemd package could avoid that 
 multiple packages ship their own files, resulting in multiple change 
 events triggerd on each resume.
 
 Examples for very important (non-permanent) settings are with
 hdparm (i.e. the important -B hard disk wear settings)
 https://bugs.debian.org/725284
 smartctl/mdadm/lvm/btrfs/zfs/... (i.e. set error recovery timeouts to
 prevent controller resets and data loss)
 http://sourceforge.net/p/smartmontools/mailman/message/33501936/
 

I don't think working around this in udev/systemd is a good idea.
After all, most of those custom settings aren't applied via udev rules
anyway. This should be fixed in the kernel properly (or the individual
services) and not be papered over in systemd.

Marco, what do you think?

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?



signature.asc
Description: OpenPGP digital signature


Bug#725284: Bug#779412: block devices loosing state after resume: trigger udev rules to re-apply settings

2015-02-28 Thread Chris
Am Sat, 28 Feb 2015 09:38:27 +0100
schrieb Michael Biebl bi...@debian.org:

 I don't think working around this in udev/systemd is a good idea.

Idealy and in the long run, the kernel drivers should keep state, yes.
But until then, better not to make releases with default configurations
that deliver serious problems (excessive hardware wear, data loss) to
the users. 

I believe before things stadardized around systemd and udev, packages
like hdparm, laptop-mode-tools, pm-utils, acpi-support,
gnome-power-manager, and more, all tried to work around problems with
block devices loosing state. Unfortunately, accumulating a large mess
and interferences resuling in releases with many bugs in this regard.

Now the situation can improve a lot, if we can say packages are safe if
they use udev rules to initialize devices. (As the kernel keeps
state, or systemd centrally triggers a udev change event where this is
not (yet) the case.)

 most of those custom settings aren't applied via udev rules
 anyway.

Which settings were you refering to?
With current versions hdparm, mdadm, etc. all seem to ship udev rules.
And that seems to be the proper way to configure the standard
hot-pluggable systems of today. (leaving aside embedded, non-systemd,
non udev systems)


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org