blob: 37b13d8c22906621b52a1bb65899eef412f07555 [file] [log] [blame]
Miklos Szeredi56a61f02005-08-01 10:42:25 +000012005-08-01 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Added missing symbols to versionscript (Joshua J. Berry)
4
Miklos Szeredicac54702005-08-01 10:44:45 +00005 * Do not limit number of file locks being waited upon
6
Miklos Szeredie77cc072005-08-01 11:58:51 +00007 * kernel: implement two flags, open can set: 'direct_io' and
8 'keep_cache'. These correspond exactly to mount options
9 'direct_io' and 'kernel_cache', but allow a per-open setting.
10
11 * Move 'direct_io' and 'kernel_cache' mount option handling to
12 userspace. For both mount options, if the option is given, then
13 the respective open flag is set, otherwise the open flag is left
14 unmodified (so the filesystem can set it).
15
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +0000162005-07-28 Miklos Szeredi <miklos@szeredi.hu>
17
18 * kernel: invalidate attributes for read/readdir/readlink
19 operations
20
21 * kernel: detect newer UML kernels
22
Miklos Szeredibfb99462005-07-26 11:07:55 +0000232005-07-26 Miklos Szeredi <miklos@szeredi.hu>
24
25 * Make the installation path of fuse.ko and mount.fuse
26 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
27 environment variables. Requirement and help from Csaba Henk.
28
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +0000292005-07-22 Miklos Szeredi <miklos@szeredi.hu>
30
31 * Fix bug, that causes filesystem requests to hang when unique
32 request counter becomes negative. This happens after
33 2,147,483,648 operations, so most people won't care. Thanks to
34 Franco Broi for the report and testing.
35
Miklos Szeredie3b83092005-07-22 17:24:30 +000036 * Added file locking methods to kernel and low-level API.
37
Miklos Szeredi9b813af2005-07-21 07:59:37 +0000382005-07-21 Miklos Szeredi <miklos@szeredi.hu>
39
40 * Don't change mtime/ctime/atime to local time on read/write.
41 Bug reported by Ben Grimm
42
43 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
44 Magnusson
45
46 * fusermount: use getopt_long() for option parsing. It allows the
47 use of '--' to stop argument scanning, so fusermount can now
48 operate on directories whose names begin with a '-'. Patch by
49 Adam Connell
50
Miklos Szeredibd10a7b2005-07-15 09:59:59 +0000512005-07-15 Miklos Szeredi <miklos@szeredi.hu>
52
53 * fusermount: add '-v', '--version' and '--help' options
54
55 * add inode based API
56
Miklos Szeredi2482fdb2005-07-12 13:23:53 +0000572005-07-12 Miklos Szeredi <miklos@szeredi.hu>
58
59 * lib: don't block signals in worker threads. Problem noticed by
60 Usarin Heininga
61
Miklos Szeredic902a852005-07-07 12:35:37 +0000622005-07-07 Miklos Szeredi <miklos@szeredi.hu>
63
64 * lib: don't allow both 'allow_other' and 'allow_root' options to
65 be given
66
Miklos Szeredi437d8112005-07-06 09:14:20 +0000672005-07-06 Miklos Szeredi <miklos@szeredi.hu>
68
69 * fusermount: check if mountpoint is empty (only '.' and '..' for
70 directories, and size = 0 for regular files). If "nonempty"
71 option is given, omit this check. This is useful, so users don't
72 accidentally hide data (e.g. from backup programs). Thanks to
73 Frank van Maarseveen for pointing this out.
74
75 * kernel: check if mandatory mount options ('fd', 'rootmode',
76 'user_id', 'group_id') are all given
77
Miklos Szeredi340d21f2005-07-06 10:07:52 +000078 * lib: simplify 'readdir_ino' handling
79
Miklos Szeredie331c4b2005-07-06 13:34:02 +000080 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
81
Miklos Szeredibb9f5172005-07-03 18:03:11 +0000822005-07-03 Miklos Szeredi <miklos@szeredi.hu>
83
84 * kernel: clean up 'direct_io' code
85
Miklos Szeredie1bcece2005-06-28 10:37:06 +0000862005-06-28 Miklos Szeredi <miklos@szeredi.hu>
87
88 * Add 'mount.fuse' written by Petr Klima
89
Miklos Szeredi866826d2005-06-28 12:22:57 +000090 * '/dev/fuse' is created by 'make install' if does not yet exist
91
Miklos Szeredi129ef8f2005-06-20 13:48:42 +0000922005-06-20 Miklos Szeredi <miklos@szeredi.hu>
93
94 * Fix UCLIBC compile error. Patch by Christian Magnusson
95
Miklos Szerediec12fad2005-06-08 10:26:34 +0000962005-06-08 Miklos Szeredi <miklos@szeredi.hu>
97
98 * Enable the auto-loading of the module via access to the
99 corresponding device file. Patch by Takashi Iwai.
100
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000101 * Allow mounting a regular file (over a regular file) for
102 unprivleged users.
103
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000104 * Do not create temporary device file. Require "/dev/fuse" to
105 exist, and be readable/writable by the mounting user.
106
Miklos Szeredi46960ce2005-06-02 09:05:00 +00001072005-06-02 Miklos Szeredi <miklos@szeredi.hu>
108
Miklos Szeredi56478552005-06-02 10:29:00 +0000109 * Released 2.3.0
110
1112005-06-02 Miklos Szeredi <miklos@szeredi.hu>
112
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000113 * Fix serious information leak: if the filesystem returns a short
114 byte count to a read request, and there are non-zero number of
115 pages which are not filled at all, these pages will not be zeroed.
116 Hence the user can read out previous memory contents. Found by
117 Sven Tantau.
118
Miklos Szeredi33be22d2005-05-27 09:12:43 +00001192005-05-27 Miklos Szeredi <miklos@szeredi.hu>
120
121 * Add "readdir_ino" mount option, which tries to fill in the d_ino
122 field in struct dirent. This mount option is ignored if "use_ino"
123 is used. It helps some programs (e.g. 'pwd' used over NFS from a
124 non-Linux OS). Patch by David Shaw.
125
Miklos Szeredif94e0102005-05-12 14:56:34 +00001262005-05-12 Miklos Szeredi <miklos@szeredi.hu>
127
Miklos Szeredieb009c42005-05-12 15:01:17 +0000128 * Released 2.3-rc1
129
1302005-05-12 Miklos Szeredi <miklos@szeredi.hu>
131
Miklos Szeredif94e0102005-05-12 14:56:34 +0000132 * File save in krusader and other editors doesn't work with sshfs,
133 because open() is interrupted by a periodic signal, and open()
134 restarts forever, without any progress. This could just be fixed
135 in open(), but the problem is more generic: if signals are
136 received more often than the filesystem can get the request to
137 userspace, it will never finish. This is probably only a
138 theoretical problem, nevertheless I'm removing the possibility to
139 interrupt requests with anything other than SIGKILL, even before
140 being sent to userspace. Bugreport by Eduard Czimbalmos.
141
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001422005-05-09 Miklos Szeredi <miklos@szeredi.hu>
143
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000144 * libfuse: add "tree_lock" rwlock, that is locked for write in
145 rename, unlink and rmdir, and locked for read in all other
146 operations. This should fix the rename/release race reported by
147 Valient Gough and others. The solution is very coarse, a finer
148 grained locking scheme could be implemented, but it would be much
149 more complex. Let's see whether this is good enough.
150
1512005-05-09 Miklos Szeredi <miklos@szeredi.hu>
152
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000153 * Released 2.3-pre7
154
Miklos Szeredi38009022005-05-08 19:47:22 +00001552005-05-08 Miklos Szeredi <miklos@szeredi.hu>
156
157 * Better fix for out of order FORGET messages. Now the
158 LOOKUP/FORGET messages are balanced exactly (one FORGET can
159 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000160 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000161 compatible.
162
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00001632005-05-06 Miklos Szeredi <miklos@szeredi.hu>
164
165 * Fix abort for out of order FORGET messages. Again. Spotted by
166 Franco Broi again. Sorry :)
167
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00001682005-04-29 Miklos Szeredi <miklos@szeredi.hu>
169
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000170 * Released 2.3-pre6
171
1722005-04-29 Miklos Szeredi <miklos@szeredi.hu>
173
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000174 * Make fusermount work with fuse kernel modules not yet supporting
175 the "group_id" option (added for the purpose of stricter
176 permission checking).
177
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00001782005-04-28 Miklos Szeredi <miklos@szeredi.hu>
179
180 * Check for hard-linked directories in lookup. This could cause
181 problems in the VFS, which assumes that such objects never exist.
182
183 * Make checking of permission for other users more strict. Now
184 the same privilege is required for the mount owner as for ptrace
185 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000186
Miklos Szeredi3efcb562005-04-23 13:34:29 +00001872005-04-23 Miklos Szeredi <miklos@szeredi.hu>
188
189 * Released 2.3-pre5
190
Miklos Szeredid001bf92005-04-22 07:54:11 +00001912005-04-22 Miklos Szeredi <miklos@szeredi.hu>
192
193 * Add -msoft-float to kernel module compile flags for 2.4.X. This
194 is needed on certain architectures. Report from Chris Kirby
195
196 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
197 Reported by David Shaw
198
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000199 * Remove "allow_root" option from kernel module, and implement
200 it's functionality in the library
201
202 * Fix Oops caused by premature release of fuse_conn. Clean up
203 related code, to be more readable
204
Miklos Szeredif9137452005-04-23 10:59:44 +0000205 * Sendfile should not use page cache if "direct_io" mount option
206 is given
207
Miklos Szeredib7640d22005-04-08 15:15:28 +00002082005-04-08 Miklos Szeredi <miklos@szeredi.hu>
209
210 * Fix Oops in case of nfs export. Spotted by David Shaw
211
Miklos Szeredi89814a12005-04-08 16:39:09 +0000212 * Fix another Oops in case of write over nfs with direct_io turned
213 on. Again spotted by David Shaw
214
Miklos Szerediab974562005-04-07 15:40:21 +00002152005-04-07 Miklos Szeredi <miklos@szeredi.hu>
216
Miklos Szeredi432d6182005-04-07 15:56:13 +0000217 * Released 2.3-pre4
218
2192005-04-07 Miklos Szeredi <miklos@szeredi.hu>
220
Miklos Szerediab974562005-04-07 15:40:21 +0000221 * lib: finalized new readdir() interface, which now supersedes the
222 getdir() method.
223
Miklos Szeredi30e093a2005-04-03 17:44:54 +00002242005-04-03 Miklos Szeredi <miklos@szeredi.hu>
225
226 * Released 2.3-pre3
227
2282005-04-03 Miklos Szeredi <miklos@szeredi.hu>
229
230 * Implement backward compatibility with version 5 kernel ABI
231
Miklos Szeredi18fce982005-04-01 21:07:35 +00002322005-04-01 Miklos Szeredi <miklos@szeredi.hu>
233
234 * Released 2.3-pre2
235
2362005-04-01 Miklos Szeredi <miklos@szeredi.hu>
237
238 * kernel: fix dirent offset handling
239
240 * lib: add readdir and releasedir methods
241
242 * lib: use fh field of fuse_file_info in opendir, readdir,
243 releasedir and fsyncdir methods
244
245 * lib: check kernel API version and bail out of it's old. This
246 will be properly fixed in the next release
247
2482005-03-31 Miklos Szeredi <miklos@szeredi.hu>
249
250 * Released 2.3-pre1
251
Miklos Szeredieab72ef2005-03-31 19:59:12 +00002522005-03-31 Miklos Szeredi <miklos@szeredi.hu>
253
254 * kernel API: add padding to structures, so 64bit and 32bit
255 compiler will return the same size
256
257 * kernel API: add offset field to fuse_dirent. This will allow
258 more sophisticated readdir interface for userspace
259
260 * kernel API: change major number to 6
261
262 * kernel: fix warnings on 64bit archs
263
264 * kernel: in case of API version mismatch, return ECONNREFUSED
265
Miklos Szeredi407e6a72005-03-25 12:19:43 +00002662005-03-24 Miklos Szeredi <miklos@szeredi.hu>
267
268 * kernel: trivial cleanups
269
Miklos Szeredi4283ee72005-03-21 12:09:04 +00002702005-03-21 Miklos Szeredi <miklos@szeredi.hu>
271
272 * Add fsyncdir() operation
273
Miklos Szeredid17da462005-03-21 11:47:04 +00002742005-03-19 Miklos Szeredi <miklos@szeredi.hu>
275
276 * kernel: add locking to background list (fixes previous fix)
277
2782005-03-18 Miklos Szeredi <miklos@szeredi.hu>
279
280 * kernel: fix bug which could cause leave busy inodes after
281 unmount, and Oops.
282
2832005-03-08 Miklos Szeredi <miklos@szeredi.hu>
284
285 * examples: add -lpthread to link flags to work around valgrind
286 quirk
287
288 * lib: don't exit threads, so cancelation doesn't cause segfault
289
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00002902005-03-04 Miklos Szeredi <miklos@szeredi.hu>
291
292 * kernel: fix nasty bug which could cause an Oops under certain
293 situations. Found by Magnus Johansson
294
Miklos Szeredif43f0632005-02-28 11:46:56 +00002952005-02-28 Miklos Szeredi <miklos@szeredi.hu>
296
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000297 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000298 permission checking in getdir() is too late. Thanks to Usarin
299 Heininga for pointing out this deficiency
300
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000301 * libfuse: added init() and destroy() methods to fuse_operations
302
Miklos Szeredif43f0632005-02-28 11:46:56 +0000303 * kernel: llseek() method for files and directories made explicit
304
305 * kernel: fixed inode leak in NFS export in case of nodeid
306 wrapping
307
Miklos Szeredied3c97c2005-02-15 17:04:50 +00003082005-02-15 Miklos Szeredi <miklos@szeredi.hu>
309
310 * libfuse: clean up some unitialized memory found with valgrind
311
Miklos Szeredi47c52982005-02-23 09:27:38 +0000312 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
313 explicitly linked libpthread for applications
314
Miklos Szeredia7169412005-02-10 07:35:05 +00003152005-02-10 Miklos Szeredi <miklos@szeredi.hu>
316
317 * fusermount: set umask, otherwise /etc/mtab will have
318 unpredictable permission. Spotted by Jindrich Kolorenc
319
320 * fusermount: set owner and group of /etc/mtab to original values
321 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000322
323 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000324
Miklos Szeredib92d9782005-02-07 16:10:49 +00003252005-02-07 Miklos Szeredi <miklos@szeredi.hu>
326
327 * Cleaned up directory reading (temporary file is not used)
328
Miklos Szerediff30a6c2005-02-02 10:53:59 +00003292005-02-02 Miklos Szeredi <miklos@szeredi.hu>
330
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000331 * Released 2.2
332
3332005-02-02 Miklos Szeredi <miklos@szeredi.hu>
334
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000335 * Fix possible race when operation is interrupted
336
Miklos Szeredi7a983952005-01-28 09:58:19 +00003372005-01-28 Miklos Szeredi <miklos@szeredi.hu>
338
Miklos Szeredie5183742005-02-02 11:14:04 +0000339 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000340
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00003412005-01-26 Miklos Szeredi <miklos@szeredi.hu>
342
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000343 * Released 2.2-pre6
344
3452005-01-26 Miklos Szeredi <miklos@szeredi.hu>
346
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000347 * Fix bug in link() operation which caused the wrong path to be
348 passed as the first argument. Found by Anton Altaparmakov
349
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00003502005-01-21 Miklos Szeredi <miklos@szeredi.hu>
351
352 * LIB: fix double reply in readdir operation
353
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000354 * fusermount: fix uid checking bug. Patch by Adam Connell
355
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000356 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000357 Patch by Keshava Gowda
358
Miklos Szeredi64074142005-01-20 08:48:11 +00003592005-01-20 Miklos Szeredi <miklos@szeredi.hu>
360
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000361 * KERNEL: provide correct llseek semantics for fuse device (fixes
362 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
363
3642005-01-20 Miklos Szeredi <miklos@szeredi.hu>
365
Miklos Szeredi64074142005-01-20 08:48:11 +0000366 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
367
Miklos Szeredi1adb2272005-01-18 21:19:58 +00003682005-01-18 Miklos Szeredi <miklos@szeredi.hu>
369
370 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
371 and RELEASEDIR. This ends the ugly hack of passing a file
372 descriptor to the kernel, and actually makes the code simpler.
373
Miklos Szeredi7db35c02005-01-17 09:46:28 +00003742005-01-17 Miklos Szeredi <miklos@szeredi.hu>
375
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000376 * Released 2.2-pre4
377
3782005-01-17 Miklos Szeredi <miklos@szeredi.hu>
379
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000380 * fusermount: remove capability setting, which was the cause of
381 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000382 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000383
Miklos Szeredidbe0f652005-01-15 14:32:56 +00003842005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000385
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000386 * fix compilation on 2.4 kernels (reported by Valient Gough)
387
388 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000389
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000390 * fusermount: improve parsing of /etc/fuse.conf
391
3922005-01-13 Miklos Szeredi <miklos@szeredi.hu>
393
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000394 * Remove 'mount_max' and 'user_allow_other' module options. These
395 are now checked by fusermount, and can be set in /etc/fuse.conf
396
397 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
398
Miklos Szeredi81394522005-01-11 14:24:18 +00003992005-01-11 Miklos Szeredi <miklos@szeredi.hu>
400
401 * KERNEL: fix possible inode allocation problem, where
402 sizeof(struct inode) is not aligned (found by Mike Waychison)
403
404 * KERNEL: use new follow_link/put_link methods
405
406 * KERNEL: cosmetic fixes
407
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00004082005-01-10 Miklos Szeredi <miklos@szeredi.hu>
409
410 * Released 2.2-pre3
411
4122005-01-10 Miklos Szeredi <miklos@szeredi.hu>
413
414 * Add missing code that was accidently left out
415
Miklos Szeredi8c7da232005-01-09 12:27:41 +00004162005-01-09 Miklos Szeredi <miklos@szeredi.hu>
417
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000418 * Released 2.2-pre2
419
4202005-01-09 Miklos Szeredi <miklos@szeredi.hu>
421
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000422 * Change "uid" mount option to "user_id" to avoid confusion with a
423 mount option "uid" commonly used by many filesystems
424
4252005-01-09 Miklos Szeredi <miklos@szeredi.hu>
426
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000427 * Released 2.2-pre1
428
4292005-01-09 Miklos Szeredi <miklos@szeredi.hu>
430
431 * If FUSE is configured in the kernel, don't build it by default
432
Miklos Szeredi2a927272005-01-07 11:14:15 +00004332005-01-07 Miklos Szeredi <miklos@szeredi.hu>
434
435 * Compile fix by Christian Magnusson
436
Miklos Szeredib6220192005-01-05 16:19:10 +00004372005-01-05 Miklos Szeredi <miklos@szeredi.hu>
438
439 * Fix compilation for 2.6.{0-5} kernels
440
Miklos Szeredi0f62d722005-01-04 12:45:54 +00004412005-01-04 Miklos Szeredi <miklos@szeredi.hu>
442
443 * KERNEL: if request is interrupted, still keep reference to used
444 inode(s) and file, so that FORGET and RELEASE are not sent until
445 userspace finishes the request.
446
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000447 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
448 request with the same information, which is more flexible,
449 simpler, works on embedded systems.
450
Miklos Szeredi0f62d722005-01-04 12:45:54 +00004512004-12-16 Miklos Szeredi <miklos@szeredi.hu>
452
453 * KERNEL ABI: update interface to make it independent of type
454 sizes. This will help on 64 bit architectures which can run
455 legacy 32 bit applications.
456
457 * KERNEL ABI: add "len" field to request headers. This will allow
458 sending/receiving requests in multiple chunks.
459
460 * KERNEL: handle file type change more intelligently
461
462 * LIB: "-o debug" option should disable backgrounding (fix by
463 Fabien Reygrobellet)
464
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00004652004-12-13 Miklos Szeredi <miklos@szeredi.hu>
466
467 * KERNEL: invalidate dentry/attributes if interrupted request
468 could leave filesystem in an unknown state.
469
Miklos Szeredie56818b2004-12-12 11:45:24 +00004702004-12-12 Miklos Szeredi <miklos@szeredi.hu>
471
472 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
473 These will cause some regressions, but stability is considered
474 more important. If any of these features turns out to be
475 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000476
Miklos Szeredie56818b2004-12-12 11:45:24 +0000477 * Make all requests interruptible (only with SIGKILL currently).
478 This can be used to break any deadlock produced by the userspace
479 filesystem accessing it's own exported files. The RELEASE request
480 is special, because if it's interrupted before sending it to
481 userspace it is still sent, but the reply is not awaited.
482
483 * If request is interrupted before being sent to userspace, and if
484 it hasn't yet got any side effects, it is always restarted,
485 regardless of the SA_RESTART flag. This makes these interruptions
486 transparent to the process.
487
488 * Remove shared-writable mmap support, which was prone to an
489 out-of-memory deadlock situation
490
491 * Remove INVALIDATE userspace initiated request
492
493 * Make readpages() synchronous. Asynchronous requests are
494 deadlock prone, since they cannot be interrupted.
495
496 * Add readv/writev support to fuse device operations
497
498 * Remove some printks, which userspace FS can use for a DoS
499 against syslog
500
501 * Remove 'large_read' mount option from 2.6 in kernel, check it in
502 fusermount instead
503
504 * LIB: improve compatibility with a fuse.h header installed in
505 ${prefix}/include which in turn includes the real header.
506
507 * LIB: improve compatibility by defining fuse_main() (which is now
508 not used), so old configure scripts find it.
509
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00005102004-12-10 Miklos Szeredi <miklos@szeredi.hu>
511
512 * When mounting on a subdirectory of / don't duplicate slashes at
513 the beggining of path (spotted by David Shaw)
514
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00005152004-12-09 Miklos Szeredi <miklos@szeredi.hu>
516
517 * Fix bug causing garbage in mount options (spotted by David Shaw)
518
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00005192004-12-07 Miklos Szeredi <miklos@szeredi.hu>
520
521 * Add 'writepage' flag to 'fuse_file_info'.
522
523 * More comments in fuse.h
524
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000525 * Get rid of double underscores
526
Miklos Szeredi799993c2004-12-04 21:20:05 +00005272004-12-04 Miklos Szeredi <miklos@szeredi.hu>
528
529 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
530
531 * helper.c: add -ho option, which only displays the options not
532 the usage header. This can be used by filesystems which have
533 their own options.
534
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00005352004-12-03 Miklos Szeredi <miklos@szeredi.hu>
536
537 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
538 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
539 including the fuse header
540
541 * Add binary compatibility to 2.1 version of library with symbol
542 versioning
543
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00005442004-12-03 Miklos Szeredi <miklos@szeredi.hu>
545
546 * Released 2.1
547
Miklos Szeredi039322d2004-12-01 18:39:12 +00005482004-12-01 Miklos Szeredi <miklos@szeredi.hu>
549
550 * kernel: clean up writing functions
551
552 * kernel: no allocation on write in direct_io mode
553
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000554 * move linux/fuse.h to fuse_kernel.h
555
Miklos Szeredi83a07442004-11-30 18:25:20 +00005562004-11-30 Miklos Szeredi <miklos@szeredi.hu>
557
558 * kernel: clean up reading functions
559
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00005602004-11-29 Miklos Szeredi <miklos@szeredi.hu>
561
562 * kernel: make readpage() uninterruptible
563
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000564 * kernel: check readonly filesystem flag in fuse_permission
565
566 * lib: don't die if version file not found and new style device
567 exists
568
569 * lib: add '-r' option, which is short for '-o ro'
570
571 * fusermount: simplify device opening
572
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000573 * kernel: when direct_io is turend on, copy data directly to
574 destination without itermediate buffer. More efficient and safer,
575 since no allocation is done.
576
577 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000578
579 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000580
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00005812004-11-26 Miklos Szeredi <miklos@szeredi.hu>
582
583 * libfuse API change: open, read, write, flush, fsync and release
584 are passed a 'struct fuse_file_info' pointer containing the open
585 flags (open and release), and the file handle. Verion changed to
586 3.0.
587
Miklos Szeredia25d4c22004-11-23 22:32:16 +00005882004-11-23 Miklos Szeredi <miklos@szeredi.hu>
589
590 * More cleanups in the kernel
591
592 * The 10,229 charater device number has been assigned for FUSE
593
594 * Version file checking fix (reported by Christian Magnusson)
595
596 * fusermount: opening the fuse device now doesn't need /sys.
597
598 * Optimize reading by controlling the maximum readahead based on
599 the 'max_read' mount option
600
601 * fixes for UCLIBC (Christian Magnusson)
602
Miklos Szeredi13ed4822004-11-20 11:12:21 +00006032004-11-19 Miklos Szeredi <miklos@szeredi.hu>
604
605 * Cleaned up kernel in preparation for merge into mainline:
606
607 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
608
609 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
610
611 * __user annotations for sparse
612
613 * allocate individual pages instead of kmalloc in fuse_readdir,
614 fuse_read and fuse_write.
615
616 * Fix NFS export in case "use_ino" mount option is given
617
Miklos Szeredif3845c42004-11-20 11:18:34 +0000618 * Make libfuse and fusermount compatible with future versions
619
620 * fusermount: properly add mount options to /etc/mtab
621
6222004-11-15 Miklos Szeredi <miklos@szeredi.hu>
623
624 * fusermount: do not resolve last component of mountpoint on if it
625 is '.' or '..'. This new path resolvation is now done on mount as
626 well as unmount. This enables relative paths to work on unmount.
627
628 * fusermount: parse common mount options like "ro", "rw", etc...
629
630 * Allow module params to be changed through sysfs
631
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00006322004-11-14 Miklos Szeredi <miklos@szeredi.hu>
633
634 * Released 2.1-pre1
635
6362004-11-14 Miklos Szeredi <miklos@szeredi.hu>
637
638 * Fix bug in fuse_readpages() causing Oops in certain situations.
639 Bug found by Vincenzo Ciancia.
640
641 * Fix compilation with kernels versions > 2.6.9.
642
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00006432004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000644
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000645 * Check kernel interface version in fusermount to prevent
646 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000647
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000648 * No need to allocate fuse_conn until actual mount happens
649
650 * Fix potential race between umount and fuse_invalidate
651
652 * Check superblock of proc file in addition to inode number
653
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000654 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000655
Miklos Szeredi51ec1032004-11-10 11:52:26 +00006562004-11-10 Miklos Szeredi <miklos@szeredi.hu>
657
658 * Separate configure for the kernel directory
659
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000660 * Don't allow write to return more than 'count'
661
662 * Extend kernel interface for future use
663
Miklos Szeredi51ec1032004-11-10 11:52:26 +00006642004-11-09 Miklos Szeredi <miklos@szeredi.hu>
665
666 * Fix 'makeconf.sh' to use autoreconf if available
667
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00006682004-11-08 Miklos Szeredi <miklos@szeredi.hu>
669
Miklos Szeredid507c732004-11-08 17:32:25 +0000670 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
671 compatibility with earlier versions. To compile earier versions
672 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
673 Do not use the "use_ino" mount flag with filesystems compiled with
674 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000675
676 * Add pkg-config support. To compile a FUSE based filesystem you
677 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
678 or similar. Note, that the PKG_CONFIG_PATH environment variable
679 usually needs to be set to "/usr/local/lib/pkgconfig".
680
681 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000682
Miklos Szeredia13d9002004-11-02 17:32:03 +00006832004-11-02 Miklos Szeredi <miklos@szeredi.hu>
684
685 * Added "use_ino" mount option. This enables the filesystems to
686 set the st_ino field on files
687
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00006882004-11-01 Miklos Szeredi <miklos@szeredi.hu>
689
690 * Fix compile problems with ancient (<=2.4.18) kernels (reported
691 by Jeremy Smith)
692
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000693 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
694
695 * Clear the 'exited' flag when mail loop is finished
696
Miklos Szeredie989f0d2004-10-28 20:24:58 +00006972004-10-28 Miklos Szeredi <miklos@szeredi.hu>
698
699 * Make xattr functions work under 2.6 (bug found by Vincenzo
700 Ciancia)
701
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00007022004-10-26 Miklos Szeredi <miklos@szeredi.hu>
703
704 * Reset request in fuse_flush() (bugreport by David Shaw)
705
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00007062004-10-21 Miklos Szeredi <miklos@szeredi.hu>
707
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000708 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000709 error code
710
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000711 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000712 make it easier to implement a custom event loop.
713
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000714 * Use daemon() call to background the filesystem after mounting.
715 This function closes the standard input, output and error and
716 changes the current working directory to "/".
717
Miklos Szeredi127d49b2004-10-14 13:33:39 +00007182004-10-14 Miklos Szeredi <miklos@szeredi.hu>
719
720 * Released 1.9
721
Miklos Szeredid45baf42004-10-10 07:56:12 +00007222004-10-09 Miklos Szeredi <miklos@szeredi.hu>
723
724 * Don't allow fuse_flush() to be interrupted (bug found by David
725 Shaw)
726
Miklos Szeredi1f18db52004-09-27 06:54:49 +00007272004-09-27 Miklos Szeredi <miklos@szeredi.hu>
728
729 * Add PID to fuse_context. Patch by Steven James
730
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000731 * Change file handle type to 'unsigned long' in kernel interface
732
Miklos Szeredid169f312004-09-22 08:48:26 +00007332004-09-22 Miklos Szeredi <miklos@szeredi.hu>
734
735 * A slight API change: fuse_get_context() doesn't need the "fuse"
736 pointer, but the returned context contains it instead. The
737 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000738
739 * Fix mounting and umounting FUSE filesystem under another FUSE
740 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000741
Miklos Szeredic2309912004-09-21 13:40:38 +00007422004-09-21 Miklos Szeredi <miklos@szeredi.hu>
743
744 * Fix deadlock in case of memory allocation failure. Patch by
745 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000746
Miklos Szeredib2cf9562004-09-16 08:42:40 +00007472004-09-16 Miklos Szeredi <miklos@szeredi.hu>
748
749 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000750
Miklos Szeredi65afea12004-09-14 07:13:45 +00007512004-09-14 Miklos Szeredi <miklos@szeredi.hu>
752
753 * Check temporary file creation failure in do_getdir(). Bug
754 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000755
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00007562004-09-13 Miklos Szeredi <miklos@szeredi.hu>
757
758 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000759
760 * Make requests non-interruptible so race with FORGET is avoided.
761 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000762
763 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000764
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00007652004-09-09 Miklos Szeredi <miklos@szeredi.hu>
766
767 * Fix bug in case two FORGETs for the same node are executed in
768 the wrong order. Bug spotted and endured for months by Franco
769 Broi, and logfile for solution provided by Terje Oseberg
770
Miklos Szeredi12085102004-09-02 18:13:57 +00007712004-09-01 Miklos Szeredi <miklos@szeredi.hu>
772
773 * Add -D_REENTRANT to the compile flags
774
775 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000776
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00007772004-08-16 Miklos Szeredi <miklos@szeredi.hu>
778
779 * Change release method to be non-interruptible. Fixes bug
780 causing missing release() call when program which has opened files
781 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000782
Miklos Szeredi891b8742004-07-29 09:27:49 +00007832004-07-29 Miklos Szeredi <miklos@szeredi.hu>
784
785 * Add fuse_invalidate() to library API
786
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00007872004-07-26 Miklos Szeredi <miklos@szeredi.hu>
788
789 * Check permissions in setattr if 'default_permissions' flag is
790 set. Bug spotted by Damjan Lango
791
Miklos Szeredid66d3942004-07-24 13:47:44 +00007922004-07-24 Miklos Szeredi <miklos@szeredi.hu>
793
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000794 * 'large_read' mount option removed for 2.6 kernels, since the
795 default (dynamic read size) is better
796
797 * Extend kernel API with file handles. A file handle is returned
798 by open, and passed to read, write, flush, fsync and release.
799 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000800
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000801 * Security changes:
802
803 * Change the current directory to the mountpoint before checking
804 the permissions and mount filesystem on "."
805
806 * By default don't modprobe the fuse module for non-root. The old
807 behavior can be restored with the '--enable-auto-modprobe' flag of
808 ./configure
809
810 * By default don't allow shared writable mappings for non-root.
811 The old behavior can be restored with the 'user_mmap=1' module
812 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000813
Miklos Szeredibd7661b2004-07-23 17:16:29 +00008142004-07-23 Miklos Szeredi <miklos@szeredi.hu>
815
816 * Clean up mount option passing to fusermount and to fuse_new()
817 BEWARE: this changes the userspace API slightly, and the command
818 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000819
Miklos Szeredi58865372004-07-20 14:22:26 +00008202004-07-20 Miklos Szeredi <miklos@szeredi.hu>
821
822 * Optimize reading under 2.6 kernels by issuing multiple page
823 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000824
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00008252004-07-18 Miklos Szeredi <miklos@szeredi.hu>
826
827 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000828
Miklos Szeredi069c9502004-07-16 16:17:02 +00008292004-07-16 Miklos Szeredi <miklos@szeredi.hu>
830
831 * Separate directory entry and inode attribute validity timer
832
833 * New write semaphore to stop page writeback during truncate
834
835 * Fsync now waits for all writes to complete before sending the
836 request
837
838 * Optimization: if a page is completely written by
839 fuse_commit_write(), clear the dirty flag and set the uptodate
840 flag for that page
841
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000842 * Some memory cleanup at exit
843
Miklos Szeredi2529ca22004-07-13 15:36:52 +00008442004-07-13 Miklos Szeredi <miklos@szeredi.hu>
845
846 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000847 disable the "hide if open" behavior of unlink/rename.
848
849 * If temporary buffer allocation fails in raw read, fall back to a
850 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000851
Miklos Szeredi73798f92004-07-12 15:55:11 +00008522004-07-12 Miklos Szeredi <miklos@szeredi.hu>
853
854 * Fix bug in do_open() in libfuse: open count was incremented
855 after the reply is sent so it could race with unlink/forget and
856 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000857
Miklos Szeredi015fe702004-07-12 11:52:24 +00008582004-07-08 Miklos Szeredi <miklos@szeredi.hu>
859
860 * When performing create or remove operation, refresh the parent's
861 attributes on next revalidate, as i_nlink (and maybe size/time)
862 could be inacurate.
863
864 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
865 pages (2.6 only)
866
867 * Set set_page_dirty address space operation (2.6 only)
868
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008692004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000870
871 * Minor fix in read: print debug info even if read size is zero
872
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008732004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000874
875 * Fix race between truncate and writepage (fsx-linux now runs
876 without error)
877
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008782004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000879
880 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
881 by Mattias Wadman)
882
883 * Added option for direct read/write (-r)
884
885 * Fix revalidate time setting for newly created inodes
886
Miklos Szerediacb4d362004-07-02 16:20:45 +0000887 * Remove uid==0 check for '-x' option in fusermount (kernel checks
888 this)
889
890 * fuse_main() only installs handlers for signals (out of INT, HUP,
891 TERM, PIPE), for which no handler has yet been installed
892
893 * Add module option 'user_allow_other' which if set to non-zero
894 will allow non root user to specify the 'allow_other' mount option
895 ('-x' option of fusermount)
896
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000897 * Fix deadlock between page writeback completion and truncate
898 (bug found by Valient Gough with the fsx-linux utility)
899
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009002004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000901
902 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000903 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
904 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009062004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000907
908 * Acquire inode->i_sem before open and release methods to prevent
909 concurrent rename or unlink operations.
910
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000911 * Make __fuse_read_cmd() read only one command. This allows
912 multiplexing the fuse file descriptor with other event sources
913 using select() or poll() (patch by Jeff Harris)
914
915 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
916
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009172004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000918
919 * Fix file offset wrap around at 4G when doing large reads
920
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009212004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000922
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000923 * Fix memory leak in open (Valient Gough)
924
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009252004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000926
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000927 * Add "close after delete" support to libfuse (patch by Valient
928 Gough)
929
930 * Cancel all worker threads before exit in multithreaded mode
931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009322004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000933
934 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000935
936 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000937
938 * Work with newer libtool (1.5a)
939
940 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000941
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009422004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000943
944 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000945
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009462004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000947
948 * Fix possible inode leak in userspace in case of unfinished
949 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000950
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009512004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000952
953 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000954
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009552004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000956
957 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000958
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009592004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000960
961 * Build shared library as well as static (using libtool)
962
963 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
964 there has not been a release with the previous minor number, and I
965 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000966
967 * Change fuse_main(), so that default behavior is to go into
968 background if mount is successful. '-f' and '-d' options disable
969 backgrounding. This fixes the "Why does my FUSE daemon hang?"
970 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000971
972 * Cache ENOSYS (function not implemented) errors on *xattr, flush
973 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000974
975 * Don't call getdir method from open() only from first readdir().
976 Open is sometimes just used to store the current directory
977 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000978
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009792004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000980
981 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000982
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009832004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000984
985 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000986
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009872004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000988
989 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000990
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009912004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000992
993 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000994
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009952004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000996
997 * Replaced binary mount data with text options
998
999 * Show FUSE specific mount options in /proc/mounts
1000
1001 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010032004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001004
1005 * Check some limits so userspace won't get too big requests
1006
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010072004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001008
1009 * Kill compile warning
1010
1011 * Upgraded user-mount patch for 2.6.5
1012
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010132004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001014
1015 * Add detection of user-mode-linux to configure
1016
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010172004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001018
1019 * fixed zero size case for getxattr and listxattr
1020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010212004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001022
1023 * new fusermount flag '-z': lazy unmount, default is not lazy
1024
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001025 * Extended attributes operations added (getxattr, setxattr,
1026 listxattr, removexattr)
1027
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010282004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001029
1030 * If filesystem doesn't define a statfs operation, then an
1031 all-zero default statfs is returned instead of ENOSYS
1032
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010332004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001034
1035 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1036
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010372004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001038
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001039 * Fix for uClinux (Christian Magnusson)
1040
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010412004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001042
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001043 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001044
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001045 * More kernel interface changes:
1046
1047 * Lookup/getattr return cache timeout values
1048
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010492004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001050
1051 * Clean up option parsing in fuse_main()
1052
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001053 * Added fuse_get() function which returns the fuse object created
1054 by fuse_main()
1055
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010562004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001057
Miklos Szeredic40748a2004-02-20 16:38:45 +00001058 * removed old way of mounting (fusermount mountpoint program)
1059
Miklos Szeredib5958612004-02-20 14:10:49 +00001060 * more kernel interface changes:
1061
1062 * added nanosecond precision to file times
1063
Miklos Szeredic40748a2004-02-20 16:38:45 +00001064 * removed interface version from mount data
1065
1066 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1067
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010682004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001069
1070 * statfs library API changed to match other methods. Since this
1071 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1072
Miklos Szeredi76f65782004-02-19 16:55:40 +00001073 * kernel interface changes follow:
1074
1075 * statfs changed to 64 bits, added 'bavail' field
1076
1077 * add generation number to lookup result
1078
1079 * optimized mknod/mkdir/symlink/link (no separate lookup is
1080 needed)
1081
1082 * rdev size increased to 32 bits for mknod
1083
1084 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001085
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010862004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001087
1088 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001089
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010902004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001091
1092 * Added user-mount.2.6.2-rc3.patch
1093
1094 * Add FS_SAFE flag to fuse filesystem
1095
1096 * fusermount should allow (un)mounting for non-root even if not
1097 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001098
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010992004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001100
1101 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001102
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011032004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001104
1105 * Added check for i_size_read/write functions to configure.in
1106 (patch by Valient Gough)
1107
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011082004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001109
1110 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001111
1112 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001113
1114 * Readpage calls flush_dcache_page() after storing data
1115
1116 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001117
1118 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001119
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011202004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001121
1122 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001123
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011242004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001125
1126 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001127
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011282004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001129
1130 * Added -q option for fusermount
1131
1132 * fuse_unmount() now uses -q option of fusermount, so no error is
1133 printed if the cause of the program exit is that the filesystem
1134 has already been unmounted
1135
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001136 * Fix i_nlink correctness after rmdir/unlink
1137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011382004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001139
Miklos Szeredib1158392004-01-26 14:43:12 +00001140 * Released 1.1-pre2
1141
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011422004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001143
Miklos Szeredi307242f2004-01-26 11:28:44 +00001144 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001145
1146 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001147
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011482004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001149
1150 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001151
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011522004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001153
1154 * Write all pending data before a RELEASE operation
1155
1156 * Suppress 'Bad file descriptor' warning on exit
1157
1158 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001159 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001160
Miklos Szeredib1158392004-01-26 14:43:12 +00001161 * New fusermount option '-l' which enables big reads. Big reads
1162 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001163
1164 * fuse_main() can accept fusermount arguments after a '--'
1165
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011662004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001167
1168 * Support for exporting filesystem over NFS (see README.NFS)
1169
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011702004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001171
1172 * Support non-blocking writepage on 2.6. This makes FUSE behave
1173 much more nicely in low-memory situations
1174
1175 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1176 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001177
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011782004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001179
1180 * Code cleanups
1181
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011822004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001183
1184 * Released 1.1-pre1
1185
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011862004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001187
1188 * Integrated 2.6 kernel support patch by Michael Grigoriev
1189
1190 * Improvements and cleanups for 2.6 kernels
1191
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011922004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001193
Miklos Szeredie5183742005-02-02 11:14:04 +00001194 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001195
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011962003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001197
1198 * Added major+minor version to library API, and minor version to
1199 kernel API
1200
David McNab7a19caf2003-12-13 02:05:46 +000012012003-12-13 David McNab <david@rebirthing.co.nz>
1202
1203 * Implemented fsync support in examples/example.py
1204
1205 * Implemented 'fsync' and 'statfs' methods in python
1206 interface
1207
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012082003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001209
Miklos Szeredie5183742005-02-02 11:14:04 +00001210 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001211
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001212 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001213
David McNab8bf62632003-12-11 22:49:22 +000012142003-12-12 David McNab <david@rebirthing.co.nz>
1215
1216 * Added distutils support to the python module, as per standard
1217 python development practice
1218
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012192003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001220
1221 * Add file locking for mount/unmount (based on patch by Valient
1222 Gough)
1223
12242003-12-11 David McNab <david@rebirthing.co.nz>
1225
1226 * Python filesystem - was broken with python2.3, now fixed:
1227 - changed PyTuple_* calls to PySequence_*, because os.lstat
1228 is no longer returning a pure tuple
1229 - changed PyInt_Check() calls to also call PyLong_Check,
1230 to cover for cases (eg os.lstat) where longs are returned
1231 - Added support for file 'release' handling, which IMO is
1232 essential since this signals to a FS that writes to a file
1233 are complete (and therefore the file can now be disposed of
1234 meaningfully at the python filesystem's discretion)
1235 - Added '__init__' handler to base Fuse class, which allows
1236 your Python class to know the mountpoint and mount args,
1237 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001238
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001239 * General:
1240 - added 'mount.fuse' script (in util/ dir), which is meant to be
1241 symlinked from /sbin, and which allows FUSE filesystems to
1242 be mounted with the 'mount' command, and listed in fstab;
1243 also, mount arguments get passed to your filesystem
1244
1245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012462003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001247
1248 * Fix kernel version detection (again). Bugreport by Peter Levart
1249
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012502003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001251
1252 * Applied read combining patch by Michael Grigoriev (tested by
1253 Valient Gough and Vincent Wagelaar)
1254
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012552003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001256
1257 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1258 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001259
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012602003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001261
1262 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001263
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012642003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001265
1266 * kernel version detection fix
1267
1268 * fusermount now uses "lazy" umount option
1269
1270 * fusermount can use modprobe with module-init-tools
1271
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012722003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001273
1274 * Integrated caching patch by Michael Grigoriev
1275
Miklos Szeredida4e4862003-09-08 11:14:11 +00001276 * Added "Filesystems" file with descriptions of projects using
1277 FUSE
1278
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001279 * Added patch by Michael Grigoriev to allow compliation of FUSE
1280 kernel module for 2.6 kernels
1281
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012822003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001283
1284 * And another spec-file fix by Achim Settelmeier
1285
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012862003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001287
1288 * Spec-file fix by Achim Settelmeier
1289
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012902003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001291
Miklos Szerediac361172004-11-02 19:14:14 +00001292 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001293
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012942003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001295
1296 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1297
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012982003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001299
1300 * Updated fuse.spec file (Achim Settelmeier)
1301
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013022003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001303
1304 * Version 1.0 released
1305
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013062003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001307
1308 * SuSE compilation fix by Juan-Mariano de Goyeneche
1309
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013102002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001311
1312 * The release() VFS call is now exported to the FUSE interface
1313
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013142002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001315
1316 * 64 bit file offset fixes in the fuse kernel module
1317
1318 * Added function 'fuse_exit()' which can be used to exit the main
1319 loop
1320
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013212002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001322
1323 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1324 an incompatible interface change.
1325
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013262002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001327
1328 * Portablility fix (bug reported by C. Chris Erway)
1329
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013302002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001331
1332 * Use Mark Glines' fd passing method for default operation instead
1333 of old reexec
1334
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013352002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001336
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001337 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1338
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013392002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001340
Miklos Szeredi60c23522002-10-24 09:19:43 +00001341 * fix incompatiblity with Red Hat kernels, with help from Nathan
1342 Thompson-Amato.
1343
Mark Glines65ba2192002-04-18 14:41:48 +000013442002-04-18 Mark Glines <mark@glines.org>
1345
1346 * added an alternative to fuse_mount(), called
1347 fuse_mount_ioslave(), which does not need to reexec the
1348 FUSE program.
1349 * added a small helper util needed by fuse_mount_ioslave().
1350
Mark Glines220635a2002-03-17 07:01:14 +000013512002-03-16 Mark Glines <mark@glines.org>
1352
1353 * use struct fuse_statfs everywhere possible to avoid problems
1354 with the headerfiles changing struct statfs member sizes
1355
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013562002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001357
1358 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1359
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013602002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001361
1362 * RPM support by Achim Settelmeier
1363
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013642002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001365
Miklos Szerediddc862a2002-01-09 13:46:10 +00001366 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001367
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013682002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001369
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001370 * Revaidate all path components not just the last, this means a
1371 very small performance penalty for being more up-to-date.
1372
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013732002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001374
1375 * Update and fix python interface
1376
Mark Glinesd84b39a2002-01-07 16:32:02 +000013772002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001378
Mark Glinesd84b39a2002-01-07 16:32:02 +00001379 * Added statfs() support to kernel, lib, examples, and perl!
1380
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013812001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001382
1383 * Better cross compilation support
1384
1385 * Ported to Compaq IPAQ
1386
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013872001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001388
Miklos Szeredife25def2001-12-20 15:38:05 +00001389 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001390 patch from Matt Ryan)
1391
Miklos Szeredife25def2001-12-20 15:38:05 +00001392 * Added flags to fusermount and to kernel interface to control
1393 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001394
Miklos Szeredife25def2001-12-20 15:38:05 +00001395 * Integrated fuse_set_operations() into fuse_new()
1396
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013972001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001398
1399 * Applied header protection + extern "C" patch by Roland
1400 Bauerschmidt
1401
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014022001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001403
Miklos Szeredie5183742005-02-02 11:14:04 +00001404 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001405
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014062001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001407
1408 * Cleaned up way of mounting simple filesystems.
1409
1410 * fuse_main() helper function added
1411
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014122001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001413
Miklos Szeredife25def2001-12-20 15:38:05 +00001414 * Optimized read/write operations, so that minimal copying of data
1415 is done
1416
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014172001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001418
1419 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001420
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014212001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001422
1423 * Fixed vfsmount reference leak in fuse_follow_link
1424
1425 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1426 userspace is ignored
1427
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014282001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001429
Miklos Szeredife25def2001-12-20 15:38:05 +00001430 * Started ChangeLog