You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Patches (see [#1](https://github.com/astrada/ocamlfuse/pull/1) and [#3](https://github.com/astrada/ocamlfuse/pull/3)) to make it compile on Mac OS X.
7
7
* Fix for a race condition in multi-threaded mode (see [#4](https://github.com/astrada/ocamlfuse/issue/4)).
8
8
*[dune](https://github.com/ocaml/dune) support (see [#12](https://github.com/astrada/ocamlfuse/pull/12)).
9
+
* See all the merged [PR](https://github.com/astrada/ocamlfuse/pulls?q=is%3Apr+is%3Aclosed)
9
10
10
11
INTRODUCTION
11
12
12
-
This is a binding to fuse for the ocaml programming language, enabling
13
-
you to write multithreaded filesystems in the ocaml language. It has
13
+
This is a binding to `fuse` for the OCaml programming language, enabling
14
+
you to write multithreaded filesystems with the OCaml language. It has
14
15
been designed with simplicity as a goal, as you can see by looking at
15
-
example/fusexmp.ml. Efficiency has also been a separate goal. The
16
-
Bigarray library is used for read and writes, allowing the library to
17
-
do zero-copy in ocaml land.
16
+
`example/fusexmp.ml`. Efficiency has also been a separate goal. The
17
+
`Bigarray` library is used for read and writes, allowing the library to
18
+
do zero-copy in OCaml land.
18
19
19
20
REQUIREMENTS
20
21
21
-
You need fuse (version 2.7 or greater)
22
+
You need `fuse` (version 2.7 or greater)
22
23
23
-
http://www.sourceforge.net/projects/fuse
24
+
https://www.sourceforge.net/projects/fuse
24
25
25
-
You also need ocaml >= 4.02.3 and camlidl >= 1.05.
26
+
You also need `OCaml >= 4.02.3` and `camlidl >= 1.05`.
26
27
27
28
GETTING STARTED
28
29
29
-
The reccomended way to install this library is using
30
-
[OPAM](http://opam.ocaml.org/).
30
+
The recommended way to install this library is with
31
+
[opam](https://opam.ocaml.org/).
31
32
32
33
opam install ocamlfuse
33
34
34
35
35
36
INSTALLATION
36
37
37
-
If you don't want to install OPAM, you need to manually install this
38
+
If you don't want to install `opam`, you need to manually install this
38
39
prerequisites:
39
40
40
41
1) Prerequisites
@@ -49,17 +50,17 @@ prerequisites:
49
50
50
51
- OCaml >= 4.02.3
51
52
52
-
Should be there in the major linux distributions, but is also available at
53
+
Should be in the major linux distributions, but is also available at
53
54
54
-
https://www.ocaml.org
55
+
https://ocaml.org
55
56
56
57
- CamlIDL >= 1.05
57
58
58
59
present at least in ubuntu, also available at
59
60
60
61
https://github.com/xavierleroy/camlidl
61
62
62
-
- dune >= 1.6
63
+
- dune >= 3.7
63
64
64
65
available at
65
66
@@ -73,7 +74,7 @@ prerequisites:
73
74
make install
74
75
75
76
This will install ocamlfuse in your ocaml library directory. To uninstall
76
-
it you can use "make uninstall"
77
+
it you can run `make uninstall`.
77
78
78
79
TESTING
79
80
@@ -91,24 +92,24 @@ KNOWN PROBLEMS (if you can help, please do)
91
92
92
93
- The stateful interface for readdir is not implemented
93
94
94
-
- There is a stub in Fuse_util.c regarding st_blocks - if one
95
+
- There is a stub in `Fuse_util.c` regarding `st_blocks` - if one
95
96
implements statfs with a block size different
96
97
than 512 "du" will not work on the filesystem.
97
98
98
99
- many ocaml exceptions are reported as 127
99
100
100
-
- we should add non-blocking lstat64 and statfs,*xattr implementations for
101
-
ocaml in Unix_util
101
+
- we should add non-blocking `lstat64` and `statfs`, `*xattr` implementations
102
+
for ocaml in `Unix_util`
102
103
103
104
- translation between ocaml unix errors and C unix error is dependent
104
105
on the order of constructor names in ocaml. There should be a way to
105
106
get error names from caml and create a translation table.
106
107
107
-
- the Unix_util library uses unsafe coercions between unix file
108
+
- the `Unix_util` library uses unsafe coercions between unix file
108
109
handles (which are defined as ints) and ints. Even if this works, in
109
110
the future it might stop working.
110
111
111
-
- IMPORTANT: Unix_util.read and write operations have not been tested
112
+
- IMPORTANT: `Unix_util.read` and `write` operations have not been tested
112
113
in case of errors. Error code conversion might be incorrect but I
113
114
don't have test cases (maybe the easy way is to modify fusexmp to
114
115
return various errors).
@@ -119,7 +120,7 @@ KNOWN PROBLEMS (if you can help, please do)
119
120
120
121
- Some errors are missing in the unix module (e.g. ENOTSUP,ENOATTR,
121
122
see man lsxattr). We could solve all these problems with errors using
122
-
a custom error type instead of unix_error but this would create
123
+
a custom error type instead of `unix_error` but this would create
123
124
troubles.
124
125
125
126
- deadlock (and consequent necessity to kill -KILL the program) if
@@ -153,7 +154,7 @@ encouraged to post feedback there and in general to subscribe if you use ocamlfu
0 commit comments