diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-08 17:32:25 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-11-08 17:32:25 +0000 |
commit | d507c73e8fda72305b3e172ac7686c05d2dd73da (patch) | |
tree | 877c6bbe1c1c01b695bfb46b8c026996b531ee9c | |
parent | 8fb48feb5024d2aa9083690e472f1b1072cb8169 (diff) | |
download | fuse-d507c73e8fda72305b3e172ac7686c05d2dd73da.tar.gz |
fix
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | example/fusexmp.c | 2 | ||||
-rw-r--r-- | example/hello.c | 2 | ||||
-rw-r--r-- | include/fuse.h | 19 |
4 files changed, 21 insertions, 13 deletions
@@ -1,10 +1,11 @@ 2004-11-08 Miklos Szeredi <miklos@szeredi.hu> - * Add ino argument to 'fuse_dirfil_t'. NOTE: this is a backward - compatible change (if "use_ino" mount option is not specified), - but causes a warning when compiling filesystems not converted to - the new type. - + * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source + compatibility with earlier versions. To compile earier versions + just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source. + Do not use the "use_ino" mount flag with filesystems compiled with + FUSE_DIRFIL_COMPAT. + 2004-11-02 Miklos Szeredi <miklos@szeredi.hu> * Added "use_ino" mount option. This enables the filesystems to diff --git a/example/fusexmp.c b/example/fusexmp.c index 57045be..02d0363 100644 --- a/example/fusexmp.c +++ b/example/fusexmp.c @@ -49,7 +49,7 @@ static int xmp_readlink(const char *path, char *buf, size_t size) } -static int xmp_getdir(const char *path, fuse_dirh_t h, fuse_dirfil2_t filler) +static int xmp_getdir(const char *path, fuse_dirh_t h, fuse_dirfil_t filler) { DIR *dp; struct dirent *de; diff --git a/example/hello.c b/example/hello.c index 37020b2..5065fb7 100644 --- a/example/hello.c +++ b/example/hello.c @@ -35,7 +35,7 @@ static int hello_getattr(const char *path, struct stat *stbuf) return res; } -static int hello_getdir(const char *path, fuse_dirh_t h, fuse_dirfil2_t filler) +static int hello_getdir(const char *path, fuse_dirh_t h, fuse_dirfil_t filler) { if(strcmp(path, "/") != 0) return -ENOENT; diff --git a/include/fuse.h b/include/fuse.h index 8a0fd3c..a5115ee 100644 --- a/include/fuse.h +++ b/include/fuse.h @@ -50,11 +50,8 @@ typedef struct fuse_dirhandle *fuse_dirh_t; * not specified * @return 0 on success, -errno on error */ -typedef int (*fuse_dirfil2_t) (fuse_dirh_t h, const char *name, int type, - ino_t ino); - -/** Obsolete version of the above function */ -typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type); +typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type, + ino_t ino); /** * The file system operations: @@ -116,7 +113,7 @@ typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type); struct fuse_operations { int (*getattr) (const char *, struct stat *); int (*readlink) (const char *, char *, size_t); - int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil2_t); + int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t); int (*mknod) (const char *, mode_t, dev_t); int (*mkdir) (const char *, mode_t); int (*unlink) (const char *); @@ -294,6 +291,16 @@ int __fuse_loop_mt(struct fuse *f, fuse_processor_t proc, void *data); int __fuse_exited(struct fuse* f); void __fuse_set_getcontext_func(struct fuse_context *(*func)(void)); + +/* ----------------------------------------------------------- * + * Compatibility cruft * + * ----------------------------------------------------------- */ + +#ifdef FUSE_DIRFIL_COMPAT +typedef int (*fuse_dirfil_old_t) (fuse_dirh_t h, const char *name, int type); +#define fuse_dirfil_t fuse_dirfil_old_t +#endif + #ifdef __cplusplus } #endif |