From: Nikolaus Rath Date: Tue, 11 Oct 2016 02:41:34 +0000 (-0700) Subject: Mention atomic_o_trunc capability in description of open() handler. X-Git-Tag: fuse-3.0.0rc1~52 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fcc7eb01914ffdec3b83ec4fb77f71fa08284a36;p=qemu-gpiodev%2Flibfuse.git Mention atomic_o_trunc capability in description of open() handler. --- diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index bad1d45..0f8c030 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -420,12 +420,18 @@ struct fuse_lowlevel_ops { /** * Open a file * - * Open flags (with the exception of O_CREAT, O_EXCL, O_NOCTTY and - * O_TRUNC) are available in fi->flags. - * - * Filesystem may store an arbitrary file handle (pointer, index, - * etc) in fi->fh, and use this in other all other file operations - * (read, write, flush, release, fsync). + * Open flags are available in fi->flags. Creation (O_CREAT, + * O_EXCL, O_NOCTTY) and by default also truncation (O_TRUNC) + * flags will be filtered out. If an application specifies + * O_TRUNC, fuse first calls truncate() and then open(). + * + * If filesystem is able to handle O_TRUNC directly, the + * init() handler should set the `FUSE_CAP_ATOMIC_O_TRUNC` bit + * in ``conn->want``. + * + * Filesystem may store an arbitrary file handle (pointer, + * index, etc) in fi->fh, and use this in other all other file + * operations (read, write, flush, release, fsync). * * Filesystem may also implement stateless file I/O and not store * anything in fi->fh.