libfuse: clean up struct fuse_file_info
authorMiklos Szeredi <mszeredi@suse.cz>
Thu, 18 Jul 2013 13:45:58 +0000 (15:45 +0200)
committerMiklos Szeredi <mszeredi@suse.cz>
Thu, 18 Jul 2013 13:45:58 +0000 (15:45 +0200)
Remove 'fh_old' which was an ABI compatibility field for a long time.

Make 'writepage' a bitfield.

include/fuse_common.h
lib/fuse.c
lib/fuse_lowlevel.c

index 35706cb27f7c139c61b07ae09918a794165d4875..765e0a35ca7077c97a157b3a625036d7bd769dc0 100644 (file)
@@ -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 */
index d859482adb47d1dea4c12a0d451cf86534742007..d8e2d45a5bcd15984cbe36256be7dc8c8ea9f1b6 100644 (file)
@@ -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;
 }
 
index 76cb7b7947269d53199d95b4a44203c6a8009b39..6a26e5f2f83580af7a57b9da6aec84ca31930402 100755 (executable)
@@ -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) {