Mercurial > nomad
changeset 811:13df67029f94
fs: implement mknod
This reimplements mkdir as a special case of mknod.
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Sun, 05 Apr 2020 16:04:28 -0400 |
parents | fb7d3a533c5a |
children | 987c34feb31b |
files | src/fs/nomadfs.c |
diffstat | 1 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fs/nomadfs.c Sun Apr 05 16:09:33 2020 -0400 +++ b/src/fs/nomadfs.c Sun Apr 05 16:04:28 2020 -0400 @@ -258,15 +258,15 @@ fuse_reply_err(req, -nerr_to_errno(ret)); } -static void nomadfs_mkdir(fuse_req_t req, fuse_ino_t parent, const char *name, - mode_t mode) +static void nomadfs_mknod(fuse_req_t req, fuse_ino_t parent, const char *name, + mode_t mode, dev_t dev) { struct fuse_entry_param e; struct noid child_oid; struct nattr nattr; int ret; - ret = __create(req, parent, name, mode_to_nmode(mode), 0, &child_oid); + ret = __create(req, parent, name, mode_to_nmode(mode), dev, &child_oid); if (ret) goto err; @@ -288,6 +288,12 @@ fuse_reply_err(req, -nerr_to_errno(ret)); } +static void nomadfs_mkdir(fuse_req_t req, fuse_ino_t parent, const char *name, + mode_t mode) +{ + nomadfs_mknod(req, parent, name, mode, 0); +} + static void nomadfs_unlink(fuse_req_t req, fuse_ino_t parent, const char *name) { uint32_t dir_ohandle; @@ -519,6 +525,7 @@ .getattr = nomadfs_getattr, .setattr = nomadfs_setattr, .lookup = nomadfs_lookup, + .mknod = nomadfs_mknod, .mkdir = nomadfs_mkdir, .unlink = nomadfs_unlink, .readdir = nomadfs_readdir,