From: Miklos Szeredi Date: Fri, 8 Feb 2013 07:03:02 +0000 (+0100) Subject: libfuse: remove deprecated fuse_operations.getdir() X-Git-Tag: fuse-3.0.0pre0~138 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0e4c55c3fb0900e6ab54ea64edb5a6f371deebbc;p=qemu-gpiodev%2Flibfuse.git libfuse: remove deprecated fuse_operations.getdir() --- diff --git a/ChangeLog b/ChangeLog index a2ddbb0..b102d7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,7 @@ - fuse_teardown() - fuse_exited() - fuse_lowlevel_is_lib_option() + - fuse_operations.getdir() 2013-02-06 Miklos Szeredi diff --git a/include/fuse.h b/include/fuse.h index fe8a331..dfad371 100644 --- a/include/fuse.h +++ b/include/fuse.h @@ -51,11 +51,6 @@ struct fuse_cmd; typedef int (*fuse_fill_dir_t) (void *buf, const char *name, const struct stat *stbuf, off_t off); -/* Used by deprecated getdir() method */ -typedef struct fuse_dirhandle *fuse_dirh_t; -typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type, - ino_t ino); - /** * The file system operations: * @@ -121,9 +116,6 @@ struct fuse_operations { */ int (*readlink) (const char *, char *, size_t); - /* Deprecated, use readdir() instead */ - int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t); - /** Create a file node * * This is called for creation of all non-directory, non-symlink @@ -298,17 +290,13 @@ struct fuse_operations { int (*opendir) (const char *, struct fuse_file_info *); /** Read directory - * - * This supersedes the old getdir() interface. New applications - * should use this. * * The filesystem may choose between two modes of operation: * * 1) The readdir implementation ignores the offset parameter, and * passes zero to the filler function's offset. The filler * function will not return '1' (unless an error happens), so the - * whole directory is read in a single readdir operation. This - * works just like the old getdir() method. + * whole directory is read in a single readdir operation. * * 2) The readdir implementation keeps track of the offsets of the * directory entries. It uses the offset parameter and always diff --git a/lib/fuse.c b/lib/fuse.c index 76e98b1..6360cb9 100644 --- a/lib/fuse.c +++ b/lib/fuse.c @@ -203,12 +203,6 @@ struct fuse_dh { fuse_ino_t nodeid; }; -/* old dir handle */ -struct fuse_dirhandle { - fuse_fill_dir_t filler; - void *buf; -}; - struct fuse_context_i { struct fuse_context ctx; fuse_req_t req; @@ -1853,20 +1847,6 @@ int fuse_fs_releasedir(struct fuse_fs *fs, const char *path, } } -static int fill_dir_old(struct fuse_dirhandle *dh, const char *name, int type, - ino_t ino) -{ - int res; - struct stat stbuf; - - memset(&stbuf, 0, sizeof(stbuf)); - stbuf.st_mode = type << 12; - stbuf.st_ino = ino; - - res = dh->filler(dh->buf, name, &stbuf, 0); - return res ? -ENOMEM : 0; -} - int fuse_fs_readdir(struct fuse_fs *fs, const char *path, void *buf, fuse_fill_dir_t filler, off_t off, struct fuse_file_info *fi) @@ -1879,16 +1859,6 @@ int fuse_fs_readdir(struct fuse_fs *fs, const char *path, void *buf, (unsigned long long) off); return fs->op.readdir(path, buf, filler, off, fi); - } else if (fs->op.getdir) { - struct fuse_dirhandle dh; - - if (fs->debug) - fprintf(stderr, "getdir[%llu]\n", - (unsigned long long) fi->fh); - - dh.filler = filler; - dh.buf = buf; - return fs->op.getdir(path, &dh, fill_dir_old); } else { return -ENOSYS; }