[PATCH 03/37] libext2fs: create sockets when populating filesystem

Darrick J. Wong
2014-05-01T23:12:48Z

Since the code to copy-in a socket when creating a filesystem is
fairly simple, just do it here.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
misc/create_inode.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/misc/create_inode.c b/misc/create_inode.c
index 4bb5e5b..e7faab1 100644
--- a/misc/create_inode.c
+++ b/misc/create_inode.c
@@ -114,6 +114,9 @@ errcode_t do_mknod_internal(ext2_filsys fs, ext2_ino_t cwd, const char *name,
mode = LINUX_S_IFIFO;
filetype = EXT2_FT_FIFO;
break;
+ case S_IFSOCK:
+ mode = LINUX_S_IFSOCK;
+ filetype = EXT2_FT_SOCK;
default:
abort();
/* NOTREACHED */
@@ -516,6 +519,7 @@ static errcode_t __populate_fs(ext2_filsys fs, ext2_ino_t parent_ino,
case S_IFCHR:
case S_IFBLK:
case S_IFIFO:
+ case S_IFSOCK:
retval = do_mknod_internal(fs, parent_ino, name, &st);
if (retval) {
com_err(__func__, retval,
@@ -524,11 +528,6 @@ static errcode_t __populate_fs(ext2_filsys fs, ext2_ino_t parent_ino,
goto out;
}
break;
- case S_IFSOCK:
- /* FIXME: there is no make socket function atm. */
- com_err(__func__, 0,
- _("ignoring socket file \"%s\""), name);
- continue;
case S_IFLNK:
read_cnt = readlink(name, ln_target,
sizeof(ln_target) - 1);