mirror of https://github.com/mkerrisk/man-pages
fuse.4: Address FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
ac3c78bdde
commit
4085d7ab46
86
man4/fuse.4
86
man4/fuse.4
|
@ -177,9 +177,6 @@ of the minor versions provided by the daemon and the kernel and
|
||||||
both parties should use the protocol corresponding to said minor version.
|
both parties should use the protocol corresponding to said minor version.
|
||||||
.TP
|
.TP
|
||||||
.BR FUSE_GETATTR
|
.BR FUSE_GETATTR
|
||||||
.\" FIXME It looks like this is for implementing a stat(2) type of
|
|
||||||
.\" operation. There needs to be a sentence here describing what
|
|
||||||
.\" this option does.
|
|
||||||
|
|
||||||
.in +4n
|
.in +4n
|
||||||
.nf
|
.nf
|
||||||
|
@ -192,47 +189,58 @@ struct fuse_getattr_in {
|
||||||
.fi
|
.fi
|
||||||
.in
|
.in
|
||||||
|
|
||||||
As usual, the filesystem object operated on is indicated by
|
The requested operation is to compute the attributes to be returned
|
||||||
.IR header\->nodeid .
|
by
|
||||||
The daemon should compute the attributes
|
.BR stat(2)
|
||||||
of this object and reply with the following message:
|
and similar operations for the given file system object.
|
||||||
|
The object for which the attributes should be computed is indicated
|
||||||
|
either by
|
||||||
|
.IR header\->nodeid
|
||||||
|
or, if the
|
||||||
|
.IR FUSE_GETATTR_FH
|
||||||
|
flag is set, by the file handle
|
||||||
|
.IR fh.
|
||||||
|
The latter case of operation is analogous to
|
||||||
|
.BR fstat(2).
|
||||||
|
|
||||||
|
For performance reasons, these attributes may be cached in the kernel for
|
||||||
|
a specified duration of time. While the cache timeout has not been exceeded,
|
||||||
|
the attributes will be served from the cache and will not cause additional
|
||||||
|
.B FUSE_GETATTR
|
||||||
|
requests.
|
||||||
|
|
||||||
|
The computed attributes and the requested
|
||||||
|
cache timeout should then be returned in the following structure:
|
||||||
|
|
||||||
.in +4n
|
.in +4n
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
struct fuse_attr {
|
|
||||||
uint64_t ino;
|
|
||||||
uint64_t size;
|
|
||||||
uint64_t blocks;
|
|
||||||
uint64_t atime;
|
|
||||||
uint64_t mtime;
|
|
||||||
uint64_t ctime;
|
|
||||||
uint32_t atimensec;
|
|
||||||
uint32_t mtimensec;
|
|
||||||
uint32_t ctimensec;
|
|
||||||
uint32_t mode;
|
|
||||||
uint32_t nlink;
|
|
||||||
uint32_t uid;
|
|
||||||
uint32_t gid;
|
|
||||||
uint32_t rdev;
|
|
||||||
uint32_t blksize;
|
|
||||||
uint32_t padding;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct fuse_attr_out {
|
struct fuse_attr_out {
|
||||||
/* Attribute cache duration (seconds + nanoseconds) */
|
/* Attribute cache duration (seconds + nanoseconds) */
|
||||||
uint64_t attr_valid;
|
uint64_t attr_valid;
|
||||||
uint32_t attr_valid_nsec;
|
uint32_t attr_valid_nsec;
|
||||||
uint32_t dummy;
|
uint32_t dummy;
|
||||||
struct fuse_attr attr;
|
struct fuse_attr {
|
||||||
|
uint64_t ino;
|
||||||
|
uint64_t size;
|
||||||
|
uint64_t blocks;
|
||||||
|
uint64_t atime;
|
||||||
|
uint64_t mtime;
|
||||||
|
uint64_t ctime;
|
||||||
|
uint32_t atimensec;
|
||||||
|
uint32_t mtimensec;
|
||||||
|
uint32_t ctimensec;
|
||||||
|
uint32_t mode;
|
||||||
|
uint32_t nlink;
|
||||||
|
uint32_t uid;
|
||||||
|
uint32_t gid;
|
||||||
|
uint32_t rdev;
|
||||||
|
uint32_t blksize;
|
||||||
|
uint32_t padding;
|
||||||
|
} attr;
|
||||||
};
|
};
|
||||||
.fi
|
.fi
|
||||||
.in
|
.in
|
||||||
|
|
||||||
The fields of
|
|
||||||
.I struct fuse_attr
|
|
||||||
describe the attributes of the required file.
|
|
||||||
For the interpretation of these fields, see
|
|
||||||
.BR stat (2).
|
|
||||||
.TP
|
.TP
|
||||||
.BR FUSE_ACCESS
|
.BR FUSE_ACCESS
|
||||||
|
|
||||||
|
@ -249,9 +257,10 @@ If the
|
||||||
.I default_permissions
|
.I default_permissions
|
||||||
mount options is not used, this request may be used for permissions checking.
|
mount options is not used, this request may be used for permissions checking.
|
||||||
No reply data is expected, but errors may be indicated
|
No reply data is expected, but errors may be indicated
|
||||||
as usual in the reply header (in particular, access denied errors
|
as usual by setting the
|
||||||
may be indicated, by setting such field to
|
.I error
|
||||||
.\" FIXME What does "such field" mean? The 'error' field?
|
field in the reply header (in particular, access denied errors
|
||||||
|
may be indicated by returning
|
||||||
.BR \-EACCES ).
|
.BR \-EACCES ).
|
||||||
.TP
|
.TP
|
||||||
.BR FUSE_OPEN " and " FUSE_OPENDIR
|
.BR FUSE_OPEN " and " FUSE_OPENDIR
|
||||||
|
@ -328,10 +337,7 @@ The requested action is to read up to
|
||||||
.I size
|
.I size
|
||||||
bytes of the file or directory, starting at
|
bytes of the file or directory, starting at
|
||||||
.IR offset .
|
.IR offset .
|
||||||
.\" FIXME
|
The bytes should be returned directly following the usual reply header.
|
||||||
.\" In the following, what are "out header" and "out structure"?
|
|
||||||
The bytes should be returned directly following the out header,
|
|
||||||
with no further special out structure.
|
|
||||||
.TP
|
.TP
|
||||||
.BR FUSE_INTERRUPT
|
.BR FUSE_INTERRUPT
|
||||||
.in +4n
|
.in +4n
|
||||||
|
|
Loading…
Reference in New Issue