<feed xmlns='http://www.w3.org/2005/Atom'>
<title>9line.git/fw/lib/svc/mntfw, branch master</title>
<subtitle>random plan9 experiements
</subtitle>
<id>https://git.ceux.org/9line.git/atom?h=master</id>
<link rel='self' href='https://git.ceux.org/9line.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.ceux.org/9line.git/'/>
<updated>2026-08-19T17:00:26+00:00</updated>
<entry>
<title>svc: /mnt/fw/ether0 needs an mntgen of its own</title>
<updated>2026-08-19T17:00:26+00:00</updated>
<author>
<name>Calvin Morrison</name>
<email>calvin@pobox.com</email>
</author>
<published>2026-08-19T17:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ceux.org/9line.git/commit/?id=4ecaf11844d819c587d9440358df66d8259809d2'/>
<id>urn:sha1:4ecaf11844d819c587d9440358df66d8259809d2</id>
<content type='text'>
The service file said -m /mnt/fw/ether0 and nothing made that name.
mntgen invents names one level deep, so the one over /mnt gives /mnt/fw
and stops there:

	one mntgen over /mnt makes /mnt/fw                        yes
	but not /mnt/fw/ether0, which is where fw is told to mount no
	a second one over /mnt/fw does                            yes

So a second mntgen over /mnt/fw, as its own service, and every fw needs
it.  It is a file server like the rest -- posts its name, lets the
process that started it exit -- so ready=srv:mntfw, the same shape fw
uses.

fwstart already does this imperatively, which is why the boot path
worked and the supervised path would not have.  Four checks now pin the
premise both rest on, ending with fw actually mounting its control
files under the second mntgen.

The finding and the service file are Calvin's; the checks are mine.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
