Hi Andy, On 14:00 Wed 21 May , Andy Grover wrote: > Hi Apollon, > > Fedora tgtd pkg maintainer here. > > Better systemd integration seems like a good way to go. BTW I feel deep > shame about the systemd service file that Fedora is currently using > (attached), especially the sleep. Does this or another change perhaps result > in a better way to integrate tgt with systemd? The sleep statement is precisely what I wanted to get rid of when I was writing our own service file[1]. I've currently set it to an aggressive-but-works-for-me value of 0.2 seconds but I really don't like it at all. When the service type is set to `notify', systemd will wait for the main process specified by ExecStart to send a readiness notification before proceeding with any ExecStartPost directives and so it seems to be the "correct" way to solve the race. Since the modifications required to use sd_notify(3) are really minor and the interface very simple, I think it's worth enabling it. A working alternative would be to bind the IPC unix socket in systemd and pass it down to tgtd using socket activation and sd_listen_fds(3), but this requires more extensive patching of tgtd and is IMHO a bit of an ugly workaround, because the IPC interface is meant to be internal to tgt. > Do we need two service files or something? Without readiness notification, systemd assumes that the service is ready as soon as the process has been spawned (and could really make no other assumption in a reliable manner). This means that having two services with a dependency wouldn't solve the race either. Apart from the issue at hand, the two services idea has occurred to me as well, but I see no real advantage in e.g. being able to stop just the targets without stopping tgtd. Do you have a specific use-case in mind? > > It would be great if tgt could use the same service file(s) on all > systemd-enabled distros, and these could be included with tgtd. I totally agree. Seeing that our service files are similar[1] (with the exception of us forcing all targets cleared during shutdown), I don't think that's something impossible to achieve. Regards, Apollon [1] http://anonscm.debian.org/gitweb/?p=collab-maint/tgt.git;a=blob;f=debian/tgt.service;h=00232c4fd308d68288c75d23af515984aca394bf;hb=HEAD -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html