static-nodes: tmpfiles - also create parents directories of device nodes

Before:

c /dev/cpu/microcode 0600 - - - 10:184
c /dev/fuse 0600 - - - 10:229
c /dev/btrfs-control 0600 - - - 10:234
c /dev/loop-control 0600 - - - 10:237
c /dev/snd/timer 0600 - - - 116:33

After:

d /dev/cpu 0755 - - -
c /dev/cpu/microcode 0600 - - - 10:184
c /dev/fuse 0600 - - - 10:229
c /dev/btrfs-control 0600 - - - 10:234
c /dev/loop-control 0600 - - - 10:237
d /dev/snd 0755 - - -
c /dev/snd/timer 0600 - - - 116:33
This commit is contained in:
Tom Gundersen 2013-04-19 23:53:35 +02:00 committed by Lucas De Marchi
parent 279b177de6
commit 4905769de7

View File

@ -84,13 +84,21 @@ static const struct static_nodes_format static_nodes_format_human = {
static int write_tmpfiles(FILE *out, char modname[], char devname[], char type, unsigned int maj, unsigned int min)
{
const char *dir;
int ret;
dir = strrchr(devname, '/');
if (dir) {
ret = fprintf(out, "d /dev/%.*s 0755 - - -\n", (int)(dir - devname), devname);
if (ret < 0)
return EXIT_FAILURE;
}
ret = fprintf(out, "%c /dev/%s 0600 - - - %u:%u\n", type, devname, maj, min);
if (ret >= 0)
return EXIT_SUCCESS;
else
if (ret < 0)
return EXIT_FAILURE;
return EXIT_SUCCESS;
}
static const struct static_nodes_format static_nodes_format_tmpfiles = {