On Tue, 18 Aug 2015 10:48:07 PM Chris Samuel wrote:
On Tue, 18 Aug 2015 09:47:48 PM Tim Connors wrote:
Why the fuck would init be doing anything other
than wait()ing for zombie
processes?
syslog
*** telinit q - reread inittab
*** open()s/unlink()s /var/log/initrunlvl
*** open()s/lstat()s /etc/initrunlvl (reopens on SIGUSR1 for example)
*** write to utmp/wtmp
access /dev/initctl FIFO for telinit commands
*** will access /var/run/powerstatus on SIGPWR
that's all in sysvinit
I've put asterisks next to the items that could cause init to get stuck in D
state.
The X server has significant access to the hardware and if something goes wrong
(either with X, the kernel code it talks to, or the hardware) then there is no
real limit to the scope of the damage. If something goes wrong to the stage
that it hangs up the core filesystem code then everything on that filesystem can
block.
Now you could reasonably complain that systemd causes people to not have a
separate filesystem for /usr which means that anything affecting /usr also
affects the root filesystem. However in Debian there is work on addressing that
issue. Also there are many other factors than systemd leading to people using
the same filesystem for root and /usr (including large disks and filesystems
such as BTRFS that encourage putting it all in one filesystem).
Also in recent versions of Debian /var/run is a symlink to /run which is a
tmpfs. Tmpfs is less likely to block than most filesystems unless you have
heavy swapping load, and even then /run is unlikely to be paged out.
--
My Main Blog
http://etbe.coker.com.au/
My Documents Blog
http://doc.coker.com.au/