From 78c2cc25d5537063ae3a6f94578e1db2bb9ba0b6 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Fri, 20 Jul 2012 09:45:09 +0200 Subject: Remove compatibility path handling This means that now NULL is a valid path for operations that take a file descriptor if the file was unlinked and hard_remove option is specified. --- lib/fuse.c | 21 +++------------------ lib/modules/iconv.c | 1 - lib/modules/subdir.c | 1 - 3 files changed, 3 insertions(+), 20 deletions(-) (limited to 'lib') diff --git a/lib/fuse.c b/lib/fuse.c index a0c4183..9294822 100644 --- a/lib/fuse.c +++ b/lib/fuse.c @@ -128,7 +128,6 @@ struct fuse { struct fuse_config conf; int intr_installed; struct fuse_fs *fs; - int nullpath_ok; int utime_omit_ok; int curr_ticket; struct lock_queue_element *lockq; @@ -1124,7 +1123,7 @@ static int get_path_nullok(struct fuse *f, fuse_ino_t nodeid, char **path) *path = NULL; } else { err = get_path_common(f, nodeid, NULL, path, NULL); - if (err == -ENOENT && f->nullpath_ok) + if (err == -ENOENT) err = 0; } @@ -2896,14 +2895,8 @@ static void fuse_do_release(struct fuse *f, fuse_ino_t ino, const char *path, { struct node *node; int unlink_hidden = 0; - const char *compatpath; - if (path != NULL || f->nullpath_ok || f->conf.nopath) - compatpath = path; - else - compatpath = "-"; - - fuse_fs_release(f->fs, compatpath, fi); + fuse_fs_release(f->fs, path, fi); pthread_mutex_lock(&f->lock); node = get_node(f, ino); @@ -3334,16 +3327,11 @@ static void fuse_lib_releasedir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info fi; struct fuse_dh *dh = get_dirhandle(llfi, &fi); char *path; - const char *compatpath; get_path_nullok(f, ino, &path); - if (path != NULL || f->nullpath_ok || f->conf.nopath) - compatpath = path; - else - compatpath = "-"; fuse_prepare_interrupt(f, req, &d); - fuse_fs_releasedir(f->fs, compatpath, &fi); + fuse_fs_releasedir(f->fs, path, &fi); fuse_finish_interrupt(f, req, &d); free_path(f, ino, path); @@ -4321,7 +4309,6 @@ static int fuse_push_module(struct fuse *f, const char *module, } newfs->m = m; f->fs = newfs; - f->nullpath_ok = newfs->op.flag_nullpath_ok && f->nullpath_ok; f->conf.nopath = newfs->op.flag_nopath && f->conf.nopath; f->utime_omit_ok = newfs->op.flag_utime_omit_ok && f->utime_omit_ok; return 0; @@ -4416,7 +4403,6 @@ struct fuse *fuse_new(struct fuse_chan *ch, struct fuse_args *args, goto out_free; f->fs = fs; - f->nullpath_ok = fs->op.flag_nullpath_ok; f->conf.nopath = fs->op.flag_nopath; f->utime_omit_ok = fs->op.flag_utime_omit_ok; @@ -4476,7 +4462,6 @@ struct fuse *fuse_new(struct fuse_chan *ch, struct fuse_args *args, fuse_session_add_chan(f->se, ch); if (f->conf.debug) { - fprintf(stderr, "nullpath_ok: %i\n", f->nullpath_ok); fprintf(stderr, "nopath: %i\n", f->conf.nopath); fprintf(stderr, "utime_omit_ok: %i\n", f->utime_omit_ok); } diff --git a/lib/modules/iconv.c b/lib/modules/iconv.c index 33923f3..bc3694e 100644 --- a/lib/modules/iconv.c +++ b/lib/modules/iconv.c @@ -631,7 +631,6 @@ static const struct fuse_operations iconv_oper = { .flock = iconv_flock, .bmap = iconv_bmap, - .flag_nullpath_ok = 1, .flag_nopath = 1, }; diff --git a/lib/modules/subdir.c b/lib/modules/subdir.c index 3a76cbb..52b91e1 100644 --- a/lib/modules/subdir.c +++ b/lib/modules/subdir.c @@ -614,7 +614,6 @@ static const struct fuse_operations subdir_oper = { .flock = subdir_flock, .bmap = subdir_bmap, - .flag_nullpath_ok = 1, .flag_nopath = 1, }; -- cgit v1.2.3