Talk:Fs.c
From Organic Design wiki
Was just looking through Fs.c. If you skip to the bottom it has a jump table to bind the funtions implemented above. Will we need to implement all of these for the p2p fs? So which ones are the important ones? --Rob 21:55, 28 Dec 2006 (NZST)
- those seem like pretty standard requirements for an FS probably all would have to be implemented, but for testing many could have fairly null content which just returns the correct kinds of info. --Nad 00:02, 29 Dec 2006 (NZST)
This example forms the basis of our peer-to-peer file system. How this links into Communications needs to be worked out. --Rob 14:52, 12 Nov 2006 (NZDT)
See also:
There is a wikipedia filesystem.
This example is taken from the fuse user space file system package.
Here is a summary of the API calls in this example.
static int xmp_getattr(const char *path, struct stat *stbuf) static int xmp_access(const char *path, int mask) static int xmp_readlink(const char *path, char *buf, size_t size) static int xmp_readdir(const char *path, void *buf, fuse_fill_dir_t filler, static int xmp_mknod(const char *path, mode_t mode, dev_t rdev) static int xmp_mkdir(const char *path, mode_t mode) static int xmp_unlink(const char *path) static int xmp_rmdir(const char *path) static int xmp_symlink(const char *from, const char *to) static int xmp_rename(const char *from, const char *to) static int xmp_link(const char *from, const char *to) static int xmp_chmod(const char *path, mode_t mode) static int xmp_chown(const char *path, uid_t uid, gid_t gid) static int xmp_truncate(const char *path, off_t size) static int xmp_utimens(const char *path, const struct timespec ts[2]) static int xmp_open(const char *path, struct fuse_file_info *fi) static int xmp_read(const char *path, char *buf, size_t size, off_t offset, static int xmp_write(const char *path, const char *buf, size_t size, static int xmp_statfs(const char *path, struct statvfs *stbuf) static int xmp_release(const char *path, struct fuse_file_info *fi) static int xmp_fsync(const char *path, int isdatasync, static int xmp_setxattr(const char *path, const char *name, const char *value, static int xmp_getxattr(const char *path, const char *name, char *value, static int xmp_listxattr(const char *path, char *list, size_t size) static int xmp_removexattr(const char *path, const char *name) |