From: Miklos Szeredi Date: Mon, 25 May 2009 15:02:52 +0000 (+0000) Subject: Add FUSE_CAP_EXPORT_SUPPORT to fuse_common.h X-Git-Tag: fuse_2_8_0~14 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=78cbfe5972209b0a32453f127dcc9f652eedeeaa;p=qemu-gpiodev%2Flibfuse.git Add FUSE_CAP_EXPORT_SUPPORT to fuse_common.h --- diff --git a/ChangeLog b/ChangeLog index cb34571..b976a70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-05-25 Miklos Szeredi + + * Add FUSE_CAP_EXPORT_SUPPORT to fuse_common.h + 2009-05-08 Miklos Szeredi * Fix missing newlines in some printfs diff --git a/include/fuse_common.h b/include/fuse_common.h index b05ed21..ba341b3 100644 --- a/include/fuse_common.h +++ b/include/fuse_common.h @@ -86,11 +86,13 @@ struct fuse_file_info { * FUSE_CAP_ASYNC_READ: filesystem supports asynchronous read requests * FUSE_CAP_POSIX_LOCKS: filesystem supports "remote" locking * FUSE_CAP_ATOMIC_O_TRUNC: filesystem handles the O_TRUNC open flag + * FUSE_CAP_EXPORT_SUPPORT: filesystem handles lookups of "." and ".." * FUSE_CAP_BIG_WRITES: filesystem can handle write size larger than 4kB */ #define FUSE_CAP_ASYNC_READ (1 << 0) #define FUSE_CAP_POSIX_LOCKS (1 << 1) #define FUSE_CAP_ATOMIC_O_TRUNC (1 << 3) +#define FUSE_CAP_EXPORT_SUPPORT (1 << 4) #define FUSE_CAP_BIG_WRITES (1 << 5) /** diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c index e62e358..63a0668 100644 --- a/lib/fuse_lowlevel.c +++ b/lib/fuse_lowlevel.c @@ -1174,6 +1174,8 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) f->conn.capable |= FUSE_CAP_POSIX_LOCKS; if (arg->flags & FUSE_ATOMIC_O_TRUNC) f->conn.capable |= FUSE_CAP_ATOMIC_O_TRUNC; + if (arg->flags & FUSE_EXPORT_SUPPORT) + f->conn.capable |= FUSE_CAP_EXPORT_SUPPORT; if (arg->flags & FUSE_BIG_WRITES) f->conn.capable |= FUSE_CAP_BIG_WRITES; } else { @@ -1211,6 +1213,8 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) outarg.flags |= FUSE_POSIX_LOCKS; if (f->conn.want & FUSE_CAP_ATOMIC_O_TRUNC) outarg.flags |= FUSE_ATOMIC_O_TRUNC; + if (f->conn.want & FUSE_CAP_EXPORT_SUPPORT) + outarg.flags |= FUSE_EXPORT_SUPPORT; if (f->conn.want & FUSE_CAP_BIG_WRITES) outarg.flags |= FUSE_BIG_WRITES; outarg.max_readahead = f->conn.max_readahead;