[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 13/15] systemd: add xen systemd service and module files
On 05/12/14 16:11, Ian Jackson wrote: > Thanks for pursuing this. I have some comments: > > Luis R. Rodriguez writes ("[PATCH v4 13/15] systemd: add xen systemd service > and module files"): > ... >> diff --git a/tools/hotplug/Linux/systemd/proc-xen.mount.in >> b/tools/hotplug/Linux/systemd/proc-xen.mount.in >> new file mode 100644 >> index 0000000..6eb61b2 >> --- /dev/null >> +++ b/tools/hotplug/Linux/systemd/proc-xen.mount.in >> @@ -0,0 +1,9 @@ >> +[Unit] >> +Description=Mount /proc/xen files >> +ConditionPathIsDirectory=/proc/xen >> +RefuseManualStop=true >> + >> +[Mount] >> +What=xenfs >> +Where=/proc/xen >> +Type=xenfs > > Blimey. All of this to replace one line in a shell script. > > Can you explain why this needs to be broken out into a separate > systemd service ? Because that is how mount points are configured in systemd. One could drop /etc/fstab all together and use a shell script to mount every file system. Would that be better? In fact mounting /proc/xen from within a script instead of using fstab entry is hack required because /etc/fstab cannot be reliably updated on Xen install or activation. The systemd mount units seem verbose, but they contain not much more than an /etc/fstab line and allow more flexibility (conditions and ordering). > Could it be bundled into some script which is already being run ? No. Scripts are bad way for configuring mounts. Doing it in the script is the necessary evil in systems without drop-in configuration like systemd provides. >> diff --git a/tools/hotplug/Linux/systemd/xenconsoled.service.in >> b/tools/hotplug/Linux/systemd/xenconsoled.service.in >> +[Service] >> +Type=simple >> +Environment=XENCONSOLED_ARGS= >> +Environment=XENCONSOLED_LOG=none >> +Environment=XENCONSOLED_LOG_DIR=@XEN_LOG_DIR@/console >> +EnvironmentFile=-/etc/default/xenconsoled >> +EnvironmentFile=-/etc/sysconfig/xenconsoled >> +PIDFile=@XEN_RUN_DIR@/xenconsoled.pid >> +ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities >> +ExecStartPre=/bin/mkdir -p @XEN_RUN_DIR@> +ExecStart=@SBINDIR@/xenconsoled >> --pid-file @XEN_RUN_DIR@/xenconsoled.pid --log=${XENCONSOLED_LOG} >> --log-dir=${XENCONSOLED_LOG_DIR} $XENCONSOLED_ARGS > > This should use a non-forking startup protocol, rather than pid files. I would say more: it seems weird to use both 'Type=simple' and 'PIDFile=' â PIDFile seems unnecessary here. sd_notify support (Type=notify) would be the best option here, but it must be implemented in the daemon. > xenstore isn't a file system. The /var/run area it uses is just > something it needs for its private data. > >> diff --git a/tools/hotplug/Linux/systemd/xenstored.socket.in >> b/tools/hotplug/Linux/systemd/xenstored.socket.in >> +[Socket] >> +ListenStream=/var/run/xenstored/socket >> +ListenStream=/var/run/xenstored/socket_ro > > AIUI the systemd socket activation protocol requires the systemd > config and the daemon code/configuration to correspond. The daemon may have no own configuration when the systemd-provided sockets are used â the daemon does not need to know the paths, just that the first socked is read-write, and the other is read-only. > There should be a comment explaining where the corresponding > configuration in xenstored is (ie referring to the code in both > daemons listing the sockets). Comment about the expected sockets would not hurt, I guess. Jacek _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |