From 19accdfbda12d04fe2175ad1d7baf90e841af373 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Thu, 18 Jul 2013 15:45:58 +0200 Subject: [PATCH] libfuse: clean up struct fuse_file_info Remove 'fh_old' which was an ABI compatibility field for a long time. Make 'writepage' a bitfield. --- include/fuse_common.h | 7 ++----- lib/fuse.c | 1 - lib/fuse_lowlevel.c | 16 +--------------- 3 files changed, 3 insertions(+), 21 deletions(-) diff --git a/include/fuse_common.h b/include/fuse_common.h index 35706cb..765e0a3 100644 --- a/include/fuse_common.h +++ b/include/fuse_common.h @@ -34,18 +34,15 @@ extern "C" { /** * Information about open files * - * Changed in version 2.5 + * Changed in version 3.0 */ struct fuse_file_info { /** Open flags. Available in open() and release() */ int flags; - /** Old file handle, don't use */ - unsigned long fh_old; - /** In case of a write operation indicates if this was caused by a writepage */ - int writepage; + unsigned int writepage : 1; /** Can be filled in by open, to use direct I/O on this file. Introduced in version 2.4 */ diff --git a/lib/fuse.c b/lib/fuse.c index d859482..d8e2d45 100644 --- a/lib/fuse.c +++ b/lib/fuse.c @@ -3143,7 +3143,6 @@ static struct fuse_dh *get_dirhandle(const struct fuse_file_info *llfi, struct fuse_dh *dh = (struct fuse_dh *) (uintptr_t) llfi->fh; memset(fi, 0, sizeof(struct fuse_file_info)); fi->fh = dh->fh; - fi->fh_old = dh->fh; return dh; } diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c index 76cb7b7..6a26e5f 100755 --- a/lib/fuse_lowlevel.c +++ b/lib/fuse_lowlevel.c @@ -1141,7 +1141,6 @@ static void do_getattr(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) if (arg->getattr_flags & FUSE_GETATTR_FH) { memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; fip = &fi; } } @@ -1167,7 +1166,6 @@ static void do_setattr(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi_store, 0, sizeof(fi_store)); fi = &fi_store; fi->fh = arg->fh; - fi->fh_old = fi->fh; } arg->valid &= FUSE_SET_ATTR_MODE | @@ -1330,7 +1328,6 @@ static void do_read(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; if (req->f->conn.proto_minor >= 9) { fi.lock_owner = arg->lock_owner; fi.flags = arg->flags; @@ -1348,8 +1345,7 @@ static void do_write(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; - fi.writepage = arg->write_flags & 1; + fi.writepage = (arg->write_flags & 1) != 0; if (req->f->conn.proto_minor < 9) { param = ((char *) arg) + FUSE_COMPAT_WRITE_IN_SIZE; @@ -1379,7 +1375,6 @@ static void do_write_buf(fuse_req_t req, fuse_ino_t nodeid, const void *inarg, memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; fi.writepage = arg->write_flags & 1; if (req->f->conn.proto_minor < 9) { @@ -1418,7 +1413,6 @@ static void do_flush(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; fi.flush = 1; if (req->f->conn.proto_minor >= 7) fi.lock_owner = arg->lock_owner; @@ -1437,7 +1431,6 @@ static void do_release(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.flags = arg->flags; fi.fh = arg->fh; - fi.fh_old = fi.fh; if (req->f->conn.proto_minor >= 8) { fi.flush = (arg->release_flags & FUSE_RELEASE_FLUSH) ? 1 : 0; fi.lock_owner = arg->lock_owner; @@ -1460,7 +1453,6 @@ static void do_fsync(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; if (req->f->op.fsync) req->f->op.fsync(req, nodeid, arg->fsync_flags & 1, &fi); @@ -1489,7 +1481,6 @@ static void do_readdir(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; if (req->f->op.readdir) req->f->op.readdir(req, nodeid, arg->size, arg->offset, &fi); @@ -1504,7 +1495,6 @@ static void do_readdirplus(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; if (req->f->op.readdirplus) req->f->op.readdirplus(req, nodeid, arg->size, arg->offset, &fi); @@ -1520,7 +1510,6 @@ static void do_releasedir(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.flags = arg->flags; fi.fh = arg->fh; - fi.fh_old = fi.fh; if (req->f->op.releasedir) req->f->op.releasedir(req, nodeid, &fi); @@ -1535,7 +1524,6 @@ static void do_fsyncdir(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; if (req->f->op.fsyncdir) req->f->op.fsyncdir(req, nodeid, arg->fsync_flags & 1, &fi); @@ -1790,7 +1778,6 @@ static void do_ioctl(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; if (sizeof(void *) == 4 && req->f->conn.proto_minor >= 16 && !(flags & FUSE_IOCTL_32BIT)) { @@ -1817,7 +1804,6 @@ static void do_poll(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) memset(&fi, 0, sizeof(fi)); fi.fh = arg->fh; - fi.fh_old = fi.fh; fi.poll_events = arg->events; if (req->f->op.poll) { -- 2.30.2