Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / src / doc / lazy_posix.txt
1
2 http://www.usenix.org/events/fast05/wips/slides/welch.pdf
3
4
5
6 -- STATLITE
7   statlite(const char *filename, struct statlite *buf);
8   fstatlite(int fd, struct statlite *buf);
9   lstatlite(const char *filename, struct statlite *buf);
10
11   * file size, mtime are optionally not guaranteed to be correct
12   * mask field to specify which fields you need to be correct
13
14
15 -- READDIR+
16
17   struct dirent_plus *readdirplus(DIR *dirp);
18   int readdirplus_r(DIR *dirp, struct dirent_plus *entry, struct dirent_plus **result);
19   struct dirent_lite *readdirlite(DIR *dirp);
20   int readdirlite_r(DIR *dirp, struct dirent_lite *entry, struct dirent_lite **result);
21
22   * plus returns lstat
23   * lite returns lstatlite
24
25
26 -- lazy i/o integrity
27
28   FIXME: currently missing call to flag an Fd/file has lazy.  used to be O_LAZY on open, but no more.
29
30   * relax data coherency
31   * writes may not be visible until lazyio_propagate, fsync, close
32
33   lazyio_propagate(int fd, off_t offset, size_t count);
34    * my writes are safe
35
36   lazyio_synchronize(int fd, off_t offset, size_t count);
37    * i will see everyone else's propagated writes
38
39 -- read/write non-serial vectors
40
41   ssize_t readx(int fd, const struct iovec *iov, size_t iov_count, struct xtvec *xtv, size_t xtv_count);
42   ssize_t writex(int fd, const struct iovec *iov, size_t iov_count, struct xtvec *xtv, size_t xtv_count);
43
44  * like readv/writev, but serial
45  * 
46
47
48 int lockg(int fd, int cmd, lgid_t *lgid)
49    group locks
50
51 int openg(char *path, int mode, fh_t *handle);
52    portable file handle
53 int sutoc(fh_t *fh);