From: Steven J. <py...@li...> - 2004-11-15 04:02:52
|
Greetings, That's a fairly radical change I submitted recently. It's more or less what it sounds like, the inode->path translation is moved to an optional middle layer making the inode number based API directly accessible to a filesystem daemon. It includes a Python binding. With the recent changes , I need to re-synchronize with the CVS (the price of progress :-) I should have the re-synced version in a few days. G'day, sjames The callbacks are: struct ifuse_operations { int (*getattr) (void *user, fino_t ino, struct stat *); int (*readlink) (void *user, fino_t ino, char *, size_t); int (*getdir) (void *user, fino_t ino, ifuse_dirh_t, ifuse_dirfil_t); int (*mknod) (void *user, fino_t ino, const char *name, mode_t, dev_t); int (*mkdir) (void *user, fino_t ino, const char *name, mode_t); int (*unlink) (void *user, fino_t ino, const char *name); int (*rmdir) (void *user, fino_t ino, const char *name); int (*symlink) (void *user, fino_t ino, const char *name, const char *link); int (*rename) (void *user, fino_t ino, const char *name, fino_t nino, const char *newname); int (*link) (void *user, fino_t ino, fino_t dino, const char *name); int (*chmod) (void *user, fino_t ino, mode_t); int (*chown) (void *user, fino_t ino, uid_t, gid_t); int (*truncate) (void *user, fino_t ino, off_t); int (*utime) (void *user, fino_t ino, struct utimbuf *); int (*open) (void *user, fino_t ino, int); int (*read) (void *user, fino_t ino, char *, size_t, off_t); int (*write) (void *user, fino_t ino, const char *, size_t, off_t); int (*statfs) (void *user, struct statfs *); int (*flush) (void *user, fino_t ino); int (*release) (void *user, fino_t ino, int); int (*fsync) (void *user, fino_t ino, int); int (*setxattr) (void *user, fino_t ino, const char *, const char *, size_t, int); int (*getxattr) (void *user, fino_t ino, const char *, char *, size_t); int (*listxattr) (void *user, fino_t ino, char *, size_t); int (*removexattr) (void *user, fino_t ino, const char *); int (*lookup) (void *user, fino_t ino, const char *name, struct stat *buf, int *generation); int (*forget) (void *user, fino_t ino, int version); }; G'day, sjames On Wed, 10 Nov 2004, Johan Rydberg wrote: > Miklos Szeredi <mi...@sz...> writes: > > > The rest of the TODO list (inode based API etc.) is left for 3.0, but > > I hope to release that soon too. [...] > > Could you elaborate a bit on the inode based API? This is exactly > what I need for a project of mine, since the API based on path names > is way to limiting and, frankly, just makes things more complex. > > ~j > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: > Sybase ASE Linux Express Edition - download now for FREE > LinuxWorld Reader's Choice Award Winner for best database on Linux. > http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click > _______________________________________________ > fuse-devel mailing list > fus...@li... > https://lists.sourceforge.net/lists/listinfo/fuse-devel > ||||| |||| ||||||||||||| ||| by Linux Labs International, Inc. Steven James, CTO 55 Marietta Street Suite 1830 Atlanta, Ga 30303 866 824 9737 support |