blob: 1d230508b84466973180ce56c359f70da5fd691b [file] [log] [blame]
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +000012005-11-17 Miklos Szeredi <miklos@szeredi.hu>
2
3 * More FreeBSD merge
4
Miklos Szeredi832ee442005-11-18 21:02:36 +00005 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
6 them, because it corrupts /etc/mtab. Found by Thomas Biege
7
8 * libfuse: don't use system() to invoke 'fusermount -u ...'
9 because it breaks mountpoints with spaces in them into multiple
10 arguments
11
Miklos Szeredib3f99722005-11-16 13:00:24 +0000122005-11-16 Miklos Szeredi <miklos@szeredi.hu>
13
14 * Merge library part of FreeBSD port. Patch by Csaba Henk
15
Miklos Szeredi3a770472005-11-11 21:32:42 +0000162005-11-11 Miklos Szeredi <miklos@szeredi.hu>
17
18 * Use 64bit type for file handle, so the full range supported by
19 the kernel interface is available to applications
20
Miklos Szeredibcc53852005-11-10 09:54:41 +0000212005-11-10 Miklos Szeredi <miklos@szeredi.hu>
22
23 * Moved mountpoint argument checking from fuse_parse_cmdline() to
24 fuse_mount() in preparation to FreeBSD merge.
25
Miklos Szeredi4ec06812005-11-08 13:04:27 +0000262005-11-08 Miklos Szeredi <miklos@szeredi.hu>
27
28 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
29 Henk.
30
Miklos Szeredic706ad92005-11-07 15:30:48 +0000312005-11-07 Miklos Szeredi <miklos@szeredi.hu>
32
33 * Make the statfs change backwards compatible.
34
Miklos Szeredi52cb09d2005-11-07 11:59:00 +0000352005-11-06 Miklos Szeredi <miklos@szeredi.hu>
36
37 * Change ->statfs() method to use 'struct statvfs' instead of
38 'struct statfs'. This makes the API more portable since statvfs()
39 is defined by POSIX.
40
Miklos Szeredif7eec032005-10-28 13:09:50 +0000412005-10-28 Miklos Szeredi <miklos@szeredi.hu>
42
43 * Add fgetattr() method, which currently will only be called after
44 a successful call to a create() method.
45
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000462005-10-26 Miklos Szeredi <miklos@szeredi.hu>
47
Miklos Szeredi11509ce2005-10-26 16:04:04 +000048 * Change kernel ABI version to 7.3
49
Miklos Szeredib0b13d12005-10-26 12:53:25 +000050 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +000051 call if 'default_permissions' mount option is not given, and is
52 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +000053
Miklos Szeredid9079a72005-10-26 15:29:06 +000054 * Add atomic CREATE+OPEN operation. This will only work with
55 2.6.15 (presumably) or later Linux kernels.
56
Miklos Szeredi11509ce2005-10-26 16:04:04 +000057 * Add ftruncate() method. This will only work with 2.6.15
58 (presumably) or later Linux kernels.
59
60 * Fix kernel module compile if kernel source and build directories
61 differ. Report and initial patch by John Eastman
62
Miklos Szeredic4c12ae2005-10-20 14:48:50 +0000632005-10-18 Miklos Szeredi <miklos@szeredi.hu>
64
65 * lib: optimize buffer reallocation in fill_dir.
66
Miklos Szeredic9daeb12005-10-17 10:19:21 +0000672005-10-17 Miklos Szeredi <miklos@szeredi.hu>
68
69 * Released 2.4.1
70
Miklos Szeredif412d072005-10-14 21:24:32 +0000712005-10-14 Miklos Szeredi <miklos@szeredi.hu>
72
Miklos Szeredi062f0e52005-10-14 21:28:21 +000073 * libfuse: add debug for write result (by Shaun Jackman) and
74 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +000075
Miklos Szeredib75d4b92005-10-11 10:12:08 +0000762005-10-11 Miklos Szeredi <miklos@szeredi.hu>
77
78 * Spelling fixes, thanks to Ioannis Barkas
79
Miklos Szeredibaab5872005-10-10 08:41:14 +0000802005-10-10 Miklos Szeredi <miklos@szeredi.hu>
81
82 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
83 patch
84
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +0000852005-10-07 Miklos Szeredi <miklos@szeredi.hu>
86
87 * highlevel-lib: init() and destroy() methods didn't have an
88 initialized fuse_context. Bug reported by Tim Stoakes
89
Miklos Szeredif2491122005-10-04 10:10:41 +0000902005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +000091
92 * Released 2.4.0
93
Miklos Szeredi836ab712005-10-03 14:11:59 +0000942005-10-03 Miklos Szeredi <miklos@szeredi.hu>
95
96 * Add documentation to fuse_lowlevel.h
97
98 * API cleanups:
99
100 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
101
102 * Move fuse_mount() and fuse_unmount() to fuse_common.h
103
104 * Change the return type of fuse_reply_none() from int to void.
105
Miklos Szerediaf138742005-09-30 08:49:59 +00001062005-09-30 Miklos Szeredi <miklos@szeredi.hu>
107
108 * kernel: NFS exporting leaked dentries. Bug found and fixed by
109 Akshat Aranya.
110
Miklos Szeredidb016e02005-09-29 10:06:27 +00001112005-09-29 Miklos Szeredi <miklos@szeredi.hu>
112
113 * fusermount: fix error message, when unable to open /dev/fuse.
114 Report by Balázs Pozsár
115
Miklos Szeredi35200932005-09-28 14:50:49 +00001162005-09-28 Miklos Szeredi <miklos@szeredi.hu>
117
118 * UClibc fixes from Christian Magnusson
119
Miklos Szeredi8eddf642005-09-27 08:58:26 +00001202005-09-27 Miklos Szeredi <miklos@szeredi.hu>
121
122 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
123
Miklos Szerediedec95c2005-09-26 10:22:22 +00001242005-09-26 Miklos Szeredi <miklos@szeredi.hu>
125
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000126 * Released 2.4.0-rc1
127
1282005-09-26 Miklos Szeredi <miklos@szeredi.hu>
129
Miklos Szerediedec95c2005-09-26 10:22:22 +0000130 * fusermount: allow user umount in the case when /etc/mtab is a
131 symlink to /proc/mounts. Reported by Balázs Pozsár.
132
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00001332005-09-23 Miklos Szeredi <miklos@szeredi.hu>
134
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000135 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000136
Miklos Szeredif45f3c12005-09-22 15:14:27 +00001372005-09-22 Miklos Szeredi <miklos@szeredi.hu>
138
139 * Slight optimization in returning EINVAL error in case of an open
140 with O_DIRECT flag.
141
Miklos Szeredi670d07a2005-09-20 11:36:32 +00001422005-09-20 Miklos Szeredi <miklos@szeredi.hu>
143
144 * Remove '--enable-auto-modprobe' configure flag. Module
145 auto-loading is now handled by the kernel.
146
Miklos Szeredid51fca12005-09-15 12:51:00 +00001472005-09-15 Miklos Szeredi <miklos@szeredi.hu>
148
149 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
150 Help from Jens M. Noedler.
151
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00001522005-09-14 Miklos Szeredi <miklos@szeredi.hu>
153
154 * Add memory cleanup on thread exit
155
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00001562005-09-13 Miklos Szeredi <miklos@szeredi.hu>
157
158 * Set umask to zero in fusexmp and fusexmp_fh, so that
159 files/directories are created with the requested mode.
160
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00001612005-09-12 Miklos Szeredi <miklos@szeredi.hu>
162
163 * Don't ignore read error in multithreaded loop
164
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00001652005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000166
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000167 * Released 2.4.0-pre2
168
1692005-09-08 Miklos Szeredi <miklos@szeredi.hu>
170
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000171 * Revert lock and access operations. Postpone these until 2.5.
172
1732005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000174
175 * Fix compile warning on 2.6.13 and later
176
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000177 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000178
Miklos Szeredi77ccf652005-08-19 14:40:27 +00001792005-08-19 Miklos Szeredi <miklos@szeredi.hu>
180
181 * lib: always refresh directory contents after rewinddir() to
182 conform to SUS. Bug found by John Muir.
183
Miklos Szeredia1482422005-08-14 23:00:27 +00001842005-08-15 Miklos Szeredi <miklos@szeredi.hu>
185
Miklos Szeredic43f9412005-08-15 15:10:48 +0000186 * Released 2.4.0-pre1
187
1882005-08-14 Miklos Szeredi <miklos@szeredi.hu>
189
Miklos Szeredia1482422005-08-14 23:00:27 +0000190 * lib: cleaned up (or messed up, depending on your POV) the low
191 level library API. Hopefully this is close to the final form.
192
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00001932005-08-05 Miklos Szeredi <miklos@szeredi.hu>
194
195 * fusermount: don't allow empty mountpoint argument, which defeats
196 automatic umounting in fuse_main(). Bugreport by Václav Jůza
197
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00001982005-08-03 Miklos Szeredi <miklos@szeredi.hu>
199
200 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
201 option is used (Paul Alfille).
202
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00002032005-08-02 Miklos Szeredi <miklos@szeredi.hu>
204
205 * highlevel-lib: added mount options "attr_timeout" and
206 "entry_timeout". These options control the length of time file
207 attributes and entries (names) are cached. Both default to 1.0
208 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000209
210 * kernel: correctly handle zero timeout for attributes and entries
211
Miklos Szeredi56a61f02005-08-01 10:42:25 +00002122005-08-01 Miklos Szeredi <miklos@szeredi.hu>
213
214 * Added missing symbols to versionscript (Joshua J. Berry)
215
Miklos Szeredie77cc072005-08-01 11:58:51 +0000216 * kernel: implement two flags, open can set: 'direct_io' and
217 'keep_cache'. These correspond exactly to mount options
218 'direct_io' and 'kernel_cache', but allow a per-open setting.
219
220 * Move 'direct_io' and 'kernel_cache' mount option handling to
221 userspace. For both mount options, if the option is given, then
222 the respective open flag is set, otherwise the open flag is left
223 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000224
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000225 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000226
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00002272005-07-28 Miklos Szeredi <miklos@szeredi.hu>
228
229 * kernel: invalidate attributes for read/readdir/readlink
230 operations
231
232 * kernel: detect newer UML kernels
233
Miklos Szeredibfb99462005-07-26 11:07:55 +00002342005-07-26 Miklos Szeredi <miklos@szeredi.hu>
235
236 * Make the installation path of fuse.ko and mount.fuse
237 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
238 environment variables. Requirement and help from Csaba Henk.
239
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00002402005-07-22 Miklos Szeredi <miklos@szeredi.hu>
241
242 * Fix bug, that causes filesystem requests to hang when unique
243 request counter becomes negative. This happens after
244 2,147,483,648 operations, so most people won't care. Thanks to
245 Franco Broi for the report and testing.
246
Miklos Szeredi9b813af2005-07-21 07:59:37 +00002472005-07-21 Miklos Szeredi <miklos@szeredi.hu>
248
249 * Don't change mtime/ctime/atime to local time on read/write.
250 Bug reported by Ben Grimm
251
252 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
253 Magnusson
254
255 * fusermount: use getopt_long() for option parsing. It allows the
256 use of '--' to stop argument scanning, so fusermount can now
257 operate on directories whose names begin with a '-'. Patch by
258 Adam Connell
259
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00002602005-07-15 Miklos Szeredi <miklos@szeredi.hu>
261
262 * fusermount: add '-v', '--version' and '--help' options
263
264 * add inode based API
265
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00002662005-07-12 Miklos Szeredi <miklos@szeredi.hu>
267
268 * lib: don't block signals in worker threads. Problem noticed by
269 Usarin Heininga
270
Miklos Szeredic902a852005-07-07 12:35:37 +00002712005-07-07 Miklos Szeredi <miklos@szeredi.hu>
272
273 * lib: don't allow both 'allow_other' and 'allow_root' options to
274 be given
275
Miklos Szeredi437d8112005-07-06 09:14:20 +00002762005-07-06 Miklos Szeredi <miklos@szeredi.hu>
277
278 * fusermount: check if mountpoint is empty (only '.' and '..' for
279 directories, and size = 0 for regular files). If "nonempty"
280 option is given, omit this check. This is useful, so users don't
281 accidentally hide data (e.g. from backup programs). Thanks to
282 Frank van Maarseveen for pointing this out.
283
284 * kernel: check if mandatory mount options ('fd', 'rootmode',
285 'user_id', 'group_id') are all given
286
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000287 * lib: simplify 'readdir_ino' handling
288
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000289 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
290
Miklos Szeredibb9f5172005-07-03 18:03:11 +00002912005-07-03 Miklos Szeredi <miklos@szeredi.hu>
292
293 * kernel: clean up 'direct_io' code
294
Miklos Szeredie1bcece2005-06-28 10:37:06 +00002952005-06-28 Miklos Szeredi <miklos@szeredi.hu>
296
297 * Add 'mount.fuse' written by Petr Klima
298
Miklos Szeredi866826d2005-06-28 12:22:57 +0000299 * '/dev/fuse' is created by 'make install' if does not yet exist
300
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00003012005-06-20 Miklos Szeredi <miklos@szeredi.hu>
302
303 * Fix UCLIBC compile error. Patch by Christian Magnusson
304
Miklos Szerediec12fad2005-06-08 10:26:34 +00003052005-06-08 Miklos Szeredi <miklos@szeredi.hu>
306
307 * Enable the auto-loading of the module via access to the
308 corresponding device file. Patch by Takashi Iwai.
309
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000310 * Allow mounting a regular file (over a regular file) for
311 unprivleged users.
312
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000313 * Do not create temporary device file. Require "/dev/fuse" to
314 exist, and be readable/writable by the mounting user.
315
Miklos Szeredi46960ce2005-06-02 09:05:00 +00003162005-06-02 Miklos Szeredi <miklos@szeredi.hu>
317
Miklos Szeredi56478552005-06-02 10:29:00 +0000318 * Released 2.3.0
319
3202005-06-02 Miklos Szeredi <miklos@szeredi.hu>
321
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000322 * Fix serious information leak: if the filesystem returns a short
323 byte count to a read request, and there are non-zero number of
324 pages which are not filled at all, these pages will not be zeroed.
325 Hence the user can read out previous memory contents. Found by
326 Sven Tantau.
327
Miklos Szeredi33be22d2005-05-27 09:12:43 +00003282005-05-27 Miklos Szeredi <miklos@szeredi.hu>
329
330 * Add "readdir_ino" mount option, which tries to fill in the d_ino
331 field in struct dirent. This mount option is ignored if "use_ino"
332 is used. It helps some programs (e.g. 'pwd' used over NFS from a
333 non-Linux OS). Patch by David Shaw.
334
Miklos Szeredif94e0102005-05-12 14:56:34 +00003352005-05-12 Miklos Szeredi <miklos@szeredi.hu>
336
Miklos Szeredieb009c42005-05-12 15:01:17 +0000337 * Released 2.3-rc1
338
3392005-05-12 Miklos Szeredi <miklos@szeredi.hu>
340
Miklos Szeredif94e0102005-05-12 14:56:34 +0000341 * File save in krusader and other editors doesn't work with sshfs,
342 because open() is interrupted by a periodic signal, and open()
343 restarts forever, without any progress. This could just be fixed
344 in open(), but the problem is more generic: if signals are
345 received more often than the filesystem can get the request to
346 userspace, it will never finish. This is probably only a
347 theoretical problem, nevertheless I'm removing the possibility to
348 interrupt requests with anything other than SIGKILL, even before
349 being sent to userspace. Bugreport by Eduard Czimbalmos.
350
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00003512005-05-09 Miklos Szeredi <miklos@szeredi.hu>
352
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000353 * libfuse: add "tree_lock" rwlock, that is locked for write in
354 rename, unlink and rmdir, and locked for read in all other
355 operations. This should fix the rename/release race reported by
356 Valient Gough and others. The solution is very coarse, a finer
357 grained locking scheme could be implemented, but it would be much
358 more complex. Let's see whether this is good enough.
359
3602005-05-09 Miklos Szeredi <miklos@szeredi.hu>
361
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000362 * Released 2.3-pre7
363
Miklos Szeredi38009022005-05-08 19:47:22 +00003642005-05-08 Miklos Szeredi <miklos@szeredi.hu>
365
366 * Better fix for out of order FORGET messages. Now the
367 LOOKUP/FORGET messages are balanced exactly (one FORGET can
368 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000369 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000370 compatible.
371
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00003722005-05-06 Miklos Szeredi <miklos@szeredi.hu>
373
374 * Fix abort for out of order FORGET messages. Again. Spotted by
375 Franco Broi again. Sorry :)
376
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00003772005-04-29 Miklos Szeredi <miklos@szeredi.hu>
378
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000379 * Released 2.3-pre6
380
3812005-04-29 Miklos Szeredi <miklos@szeredi.hu>
382
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000383 * Make fusermount work with fuse kernel modules not yet supporting
384 the "group_id" option (added for the purpose of stricter
385 permission checking).
386
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00003872005-04-28 Miklos Szeredi <miklos@szeredi.hu>
388
389 * Check for hard-linked directories in lookup. This could cause
390 problems in the VFS, which assumes that such objects never exist.
391
392 * Make checking of permission for other users more strict. Now
393 the same privilege is required for the mount owner as for ptrace
394 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000395
Miklos Szeredi3efcb562005-04-23 13:34:29 +00003962005-04-23 Miklos Szeredi <miklos@szeredi.hu>
397
398 * Released 2.3-pre5
399
Miklos Szeredid001bf92005-04-22 07:54:11 +00004002005-04-22 Miklos Szeredi <miklos@szeredi.hu>
401
402 * Add -msoft-float to kernel module compile flags for 2.4.X. This
403 is needed on certain architectures. Report from Chris Kirby
404
405 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
406 Reported by David Shaw
407
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000408 * Remove "allow_root" option from kernel module, and implement
409 it's functionality in the library
410
411 * Fix Oops caused by premature release of fuse_conn. Clean up
412 related code, to be more readable
413
Miklos Szeredif9137452005-04-23 10:59:44 +0000414 * Sendfile should not use page cache if "direct_io" mount option
415 is given
416
Miklos Szeredib7640d22005-04-08 15:15:28 +00004172005-04-08 Miklos Szeredi <miklos@szeredi.hu>
418
419 * Fix Oops in case of nfs export. Spotted by David Shaw
420
Miklos Szeredi89814a12005-04-08 16:39:09 +0000421 * Fix another Oops in case of write over nfs with direct_io turned
422 on. Again spotted by David Shaw
423
Miklos Szerediab974562005-04-07 15:40:21 +00004242005-04-07 Miklos Szeredi <miklos@szeredi.hu>
425
Miklos Szeredi432d6182005-04-07 15:56:13 +0000426 * Released 2.3-pre4
427
4282005-04-07 Miklos Szeredi <miklos@szeredi.hu>
429
Miklos Szerediab974562005-04-07 15:40:21 +0000430 * lib: finalized new readdir() interface, which now supersedes the
431 getdir() method.
432
Miklos Szeredi30e093a2005-04-03 17:44:54 +00004332005-04-03 Miklos Szeredi <miklos@szeredi.hu>
434
435 * Released 2.3-pre3
436
4372005-04-03 Miklos Szeredi <miklos@szeredi.hu>
438
439 * Implement backward compatibility with version 5 kernel ABI
440
Miklos Szeredi18fce982005-04-01 21:07:35 +00004412005-04-01 Miklos Szeredi <miklos@szeredi.hu>
442
443 * Released 2.3-pre2
444
4452005-04-01 Miklos Szeredi <miklos@szeredi.hu>
446
447 * kernel: fix dirent offset handling
448
449 * lib: add readdir and releasedir methods
450
451 * lib: use fh field of fuse_file_info in opendir, readdir,
452 releasedir and fsyncdir methods
453
454 * lib: check kernel API version and bail out of it's old. This
455 will be properly fixed in the next release
456
4572005-03-31 Miklos Szeredi <miklos@szeredi.hu>
458
459 * Released 2.3-pre1
460
Miklos Szeredieab72ef2005-03-31 19:59:12 +00004612005-03-31 Miklos Szeredi <miklos@szeredi.hu>
462
463 * kernel API: add padding to structures, so 64bit and 32bit
464 compiler will return the same size
465
466 * kernel API: add offset field to fuse_dirent. This will allow
467 more sophisticated readdir interface for userspace
468
469 * kernel API: change major number to 6
470
471 * kernel: fix warnings on 64bit archs
472
473 * kernel: in case of API version mismatch, return ECONNREFUSED
474
Miklos Szeredi407e6a72005-03-25 12:19:43 +00004752005-03-24 Miklos Szeredi <miklos@szeredi.hu>
476
477 * kernel: trivial cleanups
478
Miklos Szeredi4283ee72005-03-21 12:09:04 +00004792005-03-21 Miklos Szeredi <miklos@szeredi.hu>
480
481 * Add fsyncdir() operation
482
Miklos Szeredid17da462005-03-21 11:47:04 +00004832005-03-19 Miklos Szeredi <miklos@szeredi.hu>
484
485 * kernel: add locking to background list (fixes previous fix)
486
4872005-03-18 Miklos Szeredi <miklos@szeredi.hu>
488
489 * kernel: fix bug which could cause leave busy inodes after
490 unmount, and Oops.
491
4922005-03-08 Miklos Szeredi <miklos@szeredi.hu>
493
494 * examples: add -lpthread to link flags to work around valgrind
495 quirk
496
497 * lib: don't exit threads, so cancelation doesn't cause segfault
498
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00004992005-03-04 Miklos Szeredi <miklos@szeredi.hu>
500
501 * kernel: fix nasty bug which could cause an Oops under certain
502 situations. Found by Magnus Johansson
503
Miklos Szeredif43f0632005-02-28 11:46:56 +00005042005-02-28 Miklos Szeredi <miklos@szeredi.hu>
505
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000506 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000507 permission checking in getdir() is too late. Thanks to Usarin
508 Heininga for pointing out this deficiency
509
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000510 * libfuse: added init() and destroy() methods to fuse_operations
511
Miklos Szeredif43f0632005-02-28 11:46:56 +0000512 * kernel: llseek() method for files and directories made explicit
513
514 * kernel: fixed inode leak in NFS export in case of nodeid
515 wrapping
516
Miklos Szeredied3c97c2005-02-15 17:04:50 +00005172005-02-15 Miklos Szeredi <miklos@szeredi.hu>
518
519 * libfuse: clean up some unitialized memory found with valgrind
520
Miklos Szeredi47c52982005-02-23 09:27:38 +0000521 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
522 explicitly linked libpthread for applications
523
Miklos Szeredia7169412005-02-10 07:35:05 +00005242005-02-10 Miklos Szeredi <miklos@szeredi.hu>
525
526 * fusermount: set umask, otherwise /etc/mtab will have
527 unpredictable permission. Spotted by Jindrich Kolorenc
528
529 * fusermount: set owner and group of /etc/mtab to original values
530 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000531
532 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000533
Miklos Szeredib92d9782005-02-07 16:10:49 +00005342005-02-07 Miklos Szeredi <miklos@szeredi.hu>
535
536 * Cleaned up directory reading (temporary file is not used)
537
Miklos Szerediff30a6c2005-02-02 10:53:59 +00005382005-02-02 Miklos Szeredi <miklos@szeredi.hu>
539
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000540 * Released 2.2
541
5422005-02-02 Miklos Szeredi <miklos@szeredi.hu>
543
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000544 * Fix possible race when operation is interrupted
545
Miklos Szeredi7a983952005-01-28 09:58:19 +00005462005-01-28 Miklos Szeredi <miklos@szeredi.hu>
547
Miklos Szeredie5183742005-02-02 11:14:04 +0000548 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000549
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00005502005-01-26 Miklos Szeredi <miklos@szeredi.hu>
551
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000552 * Released 2.2-pre6
553
5542005-01-26 Miklos Szeredi <miklos@szeredi.hu>
555
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000556 * Fix bug in link() operation which caused the wrong path to be
557 passed as the first argument. Found by Anton Altaparmakov
558
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00005592005-01-21 Miklos Szeredi <miklos@szeredi.hu>
560
561 * LIB: fix double reply in readdir operation
562
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000563 * fusermount: fix uid checking bug. Patch by Adam Connell
564
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000565 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000566 Patch by Keshava Gowda
567
Miklos Szeredi64074142005-01-20 08:48:11 +00005682005-01-20 Miklos Szeredi <miklos@szeredi.hu>
569
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000570 * KERNEL: provide correct llseek semantics for fuse device (fixes
571 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
572
5732005-01-20 Miklos Szeredi <miklos@szeredi.hu>
574
Miklos Szeredi64074142005-01-20 08:48:11 +0000575 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
576
Miklos Szeredi1adb2272005-01-18 21:19:58 +00005772005-01-18 Miklos Szeredi <miklos@szeredi.hu>
578
579 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
580 and RELEASEDIR. This ends the ugly hack of passing a file
581 descriptor to the kernel, and actually makes the code simpler.
582
Miklos Szeredi7db35c02005-01-17 09:46:28 +00005832005-01-17 Miklos Szeredi <miklos@szeredi.hu>
584
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000585 * Released 2.2-pre4
586
5872005-01-17 Miklos Szeredi <miklos@szeredi.hu>
588
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000589 * fusermount: remove capability setting, which was the cause of
590 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000591 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000592
Miklos Szeredidbe0f652005-01-15 14:32:56 +00005932005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000594
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000595 * fix compilation on 2.4 kernels (reported by Valient Gough)
596
597 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000598
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000599 * fusermount: improve parsing of /etc/fuse.conf
600
6012005-01-13 Miklos Szeredi <miklos@szeredi.hu>
602
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000603 * Remove 'mount_max' and 'user_allow_other' module options. These
604 are now checked by fusermount, and can be set in /etc/fuse.conf
605
606 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
607
Miklos Szeredi81394522005-01-11 14:24:18 +00006082005-01-11 Miklos Szeredi <miklos@szeredi.hu>
609
610 * KERNEL: fix possible inode allocation problem, where
611 sizeof(struct inode) is not aligned (found by Mike Waychison)
612
613 * KERNEL: use new follow_link/put_link methods
614
615 * KERNEL: cosmetic fixes
616
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00006172005-01-10 Miklos Szeredi <miklos@szeredi.hu>
618
619 * Released 2.2-pre3
620
6212005-01-10 Miklos Szeredi <miklos@szeredi.hu>
622
623 * Add missing code that was accidently left out
624
Miklos Szeredi8c7da232005-01-09 12:27:41 +00006252005-01-09 Miklos Szeredi <miklos@szeredi.hu>
626
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000627 * Released 2.2-pre2
628
6292005-01-09 Miklos Szeredi <miklos@szeredi.hu>
630
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000631 * Change "uid" mount option to "user_id" to avoid confusion with a
632 mount option "uid" commonly used by many filesystems
633
6342005-01-09 Miklos Szeredi <miklos@szeredi.hu>
635
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000636 * Released 2.2-pre1
637
6382005-01-09 Miklos Szeredi <miklos@szeredi.hu>
639
640 * If FUSE is configured in the kernel, don't build it by default
641
Miklos Szeredi2a927272005-01-07 11:14:15 +00006422005-01-07 Miklos Szeredi <miklos@szeredi.hu>
643
644 * Compile fix by Christian Magnusson
645
Miklos Szeredib6220192005-01-05 16:19:10 +00006462005-01-05 Miklos Szeredi <miklos@szeredi.hu>
647
648 * Fix compilation for 2.6.{0-5} kernels
649
Miklos Szeredi0f62d722005-01-04 12:45:54 +00006502005-01-04 Miklos Szeredi <miklos@szeredi.hu>
651
652 * KERNEL: if request is interrupted, still keep reference to used
653 inode(s) and file, so that FORGET and RELEASE are not sent until
654 userspace finishes the request.
655
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000656 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
657 request with the same information, which is more flexible,
658 simpler, works on embedded systems.
659
Miklos Szeredi0f62d722005-01-04 12:45:54 +00006602004-12-16 Miklos Szeredi <miklos@szeredi.hu>
661
662 * KERNEL ABI: update interface to make it independent of type
663 sizes. This will help on 64 bit architectures which can run
664 legacy 32 bit applications.
665
666 * KERNEL ABI: add "len" field to request headers. This will allow
667 sending/receiving requests in multiple chunks.
668
669 * KERNEL: handle file type change more intelligently
670
671 * LIB: "-o debug" option should disable backgrounding (fix by
672 Fabien Reygrobellet)
673
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00006742004-12-13 Miklos Szeredi <miklos@szeredi.hu>
675
676 * KERNEL: invalidate dentry/attributes if interrupted request
677 could leave filesystem in an unknown state.
678
Miklos Szeredie56818b2004-12-12 11:45:24 +00006792004-12-12 Miklos Szeredi <miklos@szeredi.hu>
680
681 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
682 These will cause some regressions, but stability is considered
683 more important. If any of these features turns out to be
684 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000685
Miklos Szeredie56818b2004-12-12 11:45:24 +0000686 * Make all requests interruptible (only with SIGKILL currently).
687 This can be used to break any deadlock produced by the userspace
688 filesystem accessing it's own exported files. The RELEASE request
689 is special, because if it's interrupted before sending it to
690 userspace it is still sent, but the reply is not awaited.
691
692 * If request is interrupted before being sent to userspace, and if
693 it hasn't yet got any side effects, it is always restarted,
694 regardless of the SA_RESTART flag. This makes these interruptions
695 transparent to the process.
696
697 * Remove shared-writable mmap support, which was prone to an
698 out-of-memory deadlock situation
699
700 * Remove INVALIDATE userspace initiated request
701
702 * Make readpages() synchronous. Asynchronous requests are
703 deadlock prone, since they cannot be interrupted.
704
705 * Add readv/writev support to fuse device operations
706
707 * Remove some printks, which userspace FS can use for a DoS
708 against syslog
709
710 * Remove 'large_read' mount option from 2.6 in kernel, check it in
711 fusermount instead
712
713 * LIB: improve compatibility with a fuse.h header installed in
714 ${prefix}/include which in turn includes the real header.
715
716 * LIB: improve compatibility by defining fuse_main() (which is now
717 not used), so old configure scripts find it.
718
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00007192004-12-10 Miklos Szeredi <miklos@szeredi.hu>
720
721 * When mounting on a subdirectory of / don't duplicate slashes at
722 the beggining of path (spotted by David Shaw)
723
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00007242004-12-09 Miklos Szeredi <miklos@szeredi.hu>
725
726 * Fix bug causing garbage in mount options (spotted by David Shaw)
727
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00007282004-12-07 Miklos Szeredi <miklos@szeredi.hu>
729
730 * Add 'writepage' flag to 'fuse_file_info'.
731
732 * More comments in fuse.h
733
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000734 * Get rid of double underscores
735
Miklos Szeredi799993c2004-12-04 21:20:05 +00007362004-12-04 Miklos Szeredi <miklos@szeredi.hu>
737
738 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
739
740 * helper.c: add -ho option, which only displays the options not
741 the usage header. This can be used by filesystems which have
742 their own options.
743
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00007442004-12-03 Miklos Szeredi <miklos@szeredi.hu>
745
746 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
747 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
748 including the fuse header
749
750 * Add binary compatibility to 2.1 version of library with symbol
751 versioning
752
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00007532004-12-03 Miklos Szeredi <miklos@szeredi.hu>
754
755 * Released 2.1
756
Miklos Szeredi039322d2004-12-01 18:39:12 +00007572004-12-01 Miklos Szeredi <miklos@szeredi.hu>
758
759 * kernel: clean up writing functions
760
761 * kernel: no allocation on write in direct_io mode
762
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000763 * move linux/fuse.h to fuse_kernel.h
764
Miklos Szeredi83a07442004-11-30 18:25:20 +00007652004-11-30 Miklos Szeredi <miklos@szeredi.hu>
766
767 * kernel: clean up reading functions
768
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00007692004-11-29 Miklos Szeredi <miklos@szeredi.hu>
770
771 * kernel: make readpage() uninterruptible
772
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000773 * kernel: check readonly filesystem flag in fuse_permission
774
775 * lib: don't die if version file not found and new style device
776 exists
777
778 * lib: add '-r' option, which is short for '-o ro'
779
780 * fusermount: simplify device opening
781
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000782 * kernel: when direct_io is turend on, copy data directly to
783 destination without itermediate buffer. More efficient and safer,
784 since no allocation is done.
785
786 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000787
788 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000789
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00007902004-11-26 Miklos Szeredi <miklos@szeredi.hu>
791
792 * libfuse API change: open, read, write, flush, fsync and release
793 are passed a 'struct fuse_file_info' pointer containing the open
794 flags (open and release), and the file handle. Verion changed to
795 3.0.
796
Miklos Szeredia25d4c22004-11-23 22:32:16 +00007972004-11-23 Miklos Szeredi <miklos@szeredi.hu>
798
799 * More cleanups in the kernel
800
801 * The 10,229 charater device number has been assigned for FUSE
802
803 * Version file checking fix (reported by Christian Magnusson)
804
805 * fusermount: opening the fuse device now doesn't need /sys.
806
807 * Optimize reading by controlling the maximum readahead based on
808 the 'max_read' mount option
809
810 * fixes for UCLIBC (Christian Magnusson)
811
Miklos Szeredi13ed4822004-11-20 11:12:21 +00008122004-11-19 Miklos Szeredi <miklos@szeredi.hu>
813
814 * Cleaned up kernel in preparation for merge into mainline:
815
816 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
817
818 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
819
820 * __user annotations for sparse
821
822 * allocate individual pages instead of kmalloc in fuse_readdir,
823 fuse_read and fuse_write.
824
825 * Fix NFS export in case "use_ino" mount option is given
826
Miklos Szeredif3845c42004-11-20 11:18:34 +0000827 * Make libfuse and fusermount compatible with future versions
828
829 * fusermount: properly add mount options to /etc/mtab
830
8312004-11-15 Miklos Szeredi <miklos@szeredi.hu>
832
833 * fusermount: do not resolve last component of mountpoint on if it
834 is '.' or '..'. This new path resolvation is now done on mount as
835 well as unmount. This enables relative paths to work on unmount.
836
837 * fusermount: parse common mount options like "ro", "rw", etc...
838
839 * Allow module params to be changed through sysfs
840
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00008412004-11-14 Miklos Szeredi <miklos@szeredi.hu>
842
843 * Released 2.1-pre1
844
8452004-11-14 Miklos Szeredi <miklos@szeredi.hu>
846
847 * Fix bug in fuse_readpages() causing Oops in certain situations.
848 Bug found by Vincenzo Ciancia.
849
850 * Fix compilation with kernels versions > 2.6.9.
851
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00008522004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000853
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000854 * Check kernel interface version in fusermount to prevent
855 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000856
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000857 * No need to allocate fuse_conn until actual mount happens
858
859 * Fix potential race between umount and fuse_invalidate
860
861 * Check superblock of proc file in addition to inode number
862
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000863 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000864
Miklos Szeredi51ec1032004-11-10 11:52:26 +00008652004-11-10 Miklos Szeredi <miklos@szeredi.hu>
866
867 * Separate configure for the kernel directory
868
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000869 * Don't allow write to return more than 'count'
870
871 * Extend kernel interface for future use
872
Miklos Szeredi51ec1032004-11-10 11:52:26 +00008732004-11-09 Miklos Szeredi <miklos@szeredi.hu>
874
875 * Fix 'makeconf.sh' to use autoreconf if available
876
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00008772004-11-08 Miklos Szeredi <miklos@szeredi.hu>
878
Miklos Szeredid507c732004-11-08 17:32:25 +0000879 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
880 compatibility with earlier versions. To compile earier versions
881 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
882 Do not use the "use_ino" mount flag with filesystems compiled with
883 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000884
885 * Add pkg-config support. To compile a FUSE based filesystem you
886 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
887 or similar. Note, that the PKG_CONFIG_PATH environment variable
888 usually needs to be set to "/usr/local/lib/pkgconfig".
889
890 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000891
Miklos Szeredia13d9002004-11-02 17:32:03 +00008922004-11-02 Miklos Szeredi <miklos@szeredi.hu>
893
894 * Added "use_ino" mount option. This enables the filesystems to
895 set the st_ino field on files
896
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00008972004-11-01 Miklos Szeredi <miklos@szeredi.hu>
898
899 * Fix compile problems with ancient (<=2.4.18) kernels (reported
900 by Jeremy Smith)
901
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000902 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
903
904 * Clear the 'exited' flag when mail loop is finished
905
Miklos Szeredie989f0d2004-10-28 20:24:58 +00009062004-10-28 Miklos Szeredi <miklos@szeredi.hu>
907
908 * Make xattr functions work under 2.6 (bug found by Vincenzo
909 Ciancia)
910
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00009112004-10-26 Miklos Szeredi <miklos@szeredi.hu>
912
913 * Reset request in fuse_flush() (bugreport by David Shaw)
914
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00009152004-10-21 Miklos Szeredi <miklos@szeredi.hu>
916
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000917 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000918 error code
919
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000920 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000921 make it easier to implement a custom event loop.
922
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000923 * Use daemon() call to background the filesystem after mounting.
924 This function closes the standard input, output and error and
925 changes the current working directory to "/".
926
Miklos Szeredi127d49b2004-10-14 13:33:39 +00009272004-10-14 Miklos Szeredi <miklos@szeredi.hu>
928
929 * Released 1.9
930
Miklos Szeredid45baf42004-10-10 07:56:12 +00009312004-10-09 Miklos Szeredi <miklos@szeredi.hu>
932
933 * Don't allow fuse_flush() to be interrupted (bug found by David
934 Shaw)
935
Miklos Szeredi1f18db52004-09-27 06:54:49 +00009362004-09-27 Miklos Szeredi <miklos@szeredi.hu>
937
938 * Add PID to fuse_context. Patch by Steven James
939
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000940 * Change file handle type to 'unsigned long' in kernel interface
941
Miklos Szeredid169f312004-09-22 08:48:26 +00009422004-09-22 Miklos Szeredi <miklos@szeredi.hu>
943
944 * A slight API change: fuse_get_context() doesn't need the "fuse"
945 pointer, but the returned context contains it instead. The
946 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000947
948 * Fix mounting and umounting FUSE filesystem under another FUSE
949 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000950
Miklos Szeredic2309912004-09-21 13:40:38 +00009512004-09-21 Miklos Szeredi <miklos@szeredi.hu>
952
953 * Fix deadlock in case of memory allocation failure. Patch by
954 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000955
Miklos Szeredib2cf9562004-09-16 08:42:40 +00009562004-09-16 Miklos Szeredi <miklos@szeredi.hu>
957
958 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000959
Miklos Szeredi65afea12004-09-14 07:13:45 +00009602004-09-14 Miklos Szeredi <miklos@szeredi.hu>
961
962 * Check temporary file creation failure in do_getdir(). Bug
963 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000964
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00009652004-09-13 Miklos Szeredi <miklos@szeredi.hu>
966
967 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000968
969 * Make requests non-interruptible so race with FORGET is avoided.
970 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000971
972 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000973
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00009742004-09-09 Miklos Szeredi <miklos@szeredi.hu>
975
976 * Fix bug in case two FORGETs for the same node are executed in
977 the wrong order. Bug spotted and endured for months by Franco
978 Broi, and logfile for solution provided by Terje Oseberg
979
Miklos Szeredi12085102004-09-02 18:13:57 +00009802004-09-01 Miklos Szeredi <miklos@szeredi.hu>
981
982 * Add -D_REENTRANT to the compile flags
983
984 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000985
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00009862004-08-16 Miklos Szeredi <miklos@szeredi.hu>
987
988 * Change release method to be non-interruptible. Fixes bug
989 causing missing release() call when program which has opened files
990 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000991
Miklos Szeredi891b8742004-07-29 09:27:49 +00009922004-07-29 Miklos Szeredi <miklos@szeredi.hu>
993
994 * Add fuse_invalidate() to library API
995
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00009962004-07-26 Miklos Szeredi <miklos@szeredi.hu>
997
998 * Check permissions in setattr if 'default_permissions' flag is
999 set. Bug spotted by Damjan Lango
1000
Miklos Szeredid66d3942004-07-24 13:47:44 +000010012004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1002
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001003 * 'large_read' mount option removed for 2.6 kernels, since the
1004 default (dynamic read size) is better
1005
1006 * Extend kernel API with file handles. A file handle is returned
1007 by open, and passed to read, write, flush, fsync and release.
1008 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001009
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001010 * Security changes:
1011
1012 * Change the current directory to the mountpoint before checking
1013 the permissions and mount filesystem on "."
1014
1015 * By default don't modprobe the fuse module for non-root. The old
1016 behavior can be restored with the '--enable-auto-modprobe' flag of
1017 ./configure
1018
1019 * By default don't allow shared writable mappings for non-root.
1020 The old behavior can be restored with the 'user_mmap=1' module
1021 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001022
Miklos Szeredibd7661b2004-07-23 17:16:29 +000010232004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1024
1025 * Clean up mount option passing to fusermount and to fuse_new()
1026 BEWARE: this changes the userspace API slightly, and the command
1027 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001028
Miklos Szeredi58865372004-07-20 14:22:26 +000010292004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1030
1031 * Optimize reading under 2.6 kernels by issuing multiple page
1032 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001033
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000010342004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1035
1036 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001037
Miklos Szeredi069c9502004-07-16 16:17:02 +000010382004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1039
1040 * Separate directory entry and inode attribute validity timer
1041
1042 * New write semaphore to stop page writeback during truncate
1043
1044 * Fsync now waits for all writes to complete before sending the
1045 request
1046
1047 * Optimization: if a page is completely written by
1048 fuse_commit_write(), clear the dirty flag and set the uptodate
1049 flag for that page
1050
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001051 * Some memory cleanup at exit
1052
Miklos Szeredi2529ca22004-07-13 15:36:52 +000010532004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1054
1055 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001056 disable the "hide if open" behavior of unlink/rename.
1057
1058 * If temporary buffer allocation fails in raw read, fall back to a
1059 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001060
Miklos Szeredi73798f92004-07-12 15:55:11 +000010612004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1062
1063 * Fix bug in do_open() in libfuse: open count was incremented
1064 after the reply is sent so it could race with unlink/forget and
1065 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001066
Miklos Szeredi015fe702004-07-12 11:52:24 +000010672004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1068
1069 * When performing create or remove operation, refresh the parent's
1070 attributes on next revalidate, as i_nlink (and maybe size/time)
1071 could be inacurate.
1072
1073 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1074 pages (2.6 only)
1075
1076 * Set set_page_dirty address space operation (2.6 only)
1077
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010782004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001079
1080 * Minor fix in read: print debug info even if read size is zero
1081
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010822004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001083
1084 * Fix race between truncate and writepage (fsx-linux now runs
1085 without error)
1086
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010872004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001088
1089 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1090 by Mattias Wadman)
1091
1092 * Added option for direct read/write (-r)
1093
1094 * Fix revalidate time setting for newly created inodes
1095
Miklos Szerediacb4d362004-07-02 16:20:45 +00001096 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1097 this)
1098
1099 * fuse_main() only installs handlers for signals (out of INT, HUP,
1100 TERM, PIPE), for which no handler has yet been installed
1101
1102 * Add module option 'user_allow_other' which if set to non-zero
1103 will allow non root user to specify the 'allow_other' mount option
1104 ('-x' option of fusermount)
1105
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001106 * Fix deadlock between page writeback completion and truncate
1107 (bug found by Valient Gough with the fsx-linux utility)
1108
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011092004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001110
1111 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001112 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1113 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001114
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011152004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001116
1117 * Acquire inode->i_sem before open and release methods to prevent
1118 concurrent rename or unlink operations.
1119
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001120 * Make __fuse_read_cmd() read only one command. This allows
1121 multiplexing the fuse file descriptor with other event sources
1122 using select() or poll() (patch by Jeff Harris)
1123
1124 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1125
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011262004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001127
1128 * Fix file offset wrap around at 4G when doing large reads
1129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011302004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001131
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001132 * Fix memory leak in open (Valient Gough)
1133
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011342004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001135
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001136 * Add "close after delete" support to libfuse (patch by Valient
1137 Gough)
1138
1139 * Cancel all worker threads before exit in multithreaded mode
1140
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011412004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001142
1143 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001144
1145 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001146
1147 * Work with newer libtool (1.5a)
1148
1149 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001150
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011512004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001152
1153 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001154
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011552004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001156
1157 * Fix possible inode leak in userspace in case of unfinished
1158 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001159
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011602004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001161
1162 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001163
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011642004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001165
1166 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001167
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011682004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001169
1170 * Build shared library as well as static (using libtool)
1171
1172 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1173 there has not been a release with the previous minor number, and I
1174 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001175
1176 * Change fuse_main(), so that default behavior is to go into
1177 background if mount is successful. '-f' and '-d' options disable
1178 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1179 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001180
1181 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1182 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001183
1184 * Don't call getdir method from open() only from first readdir().
1185 Open is sometimes just used to store the current directory
1186 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001187
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011882004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001189
1190 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001191
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011922004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001193
1194 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001195
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011962004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001197
1198 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001199
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012002004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001201
1202 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001203
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012042004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001205
1206 * Replaced binary mount data with text options
1207
1208 * Show FUSE specific mount options in /proc/mounts
1209
1210 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1211
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012122004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001213
1214 * Check some limits so userspace won't get too big requests
1215
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012162004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001217
1218 * Kill compile warning
1219
1220 * Upgraded user-mount patch for 2.6.5
1221
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012222004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001223
1224 * Add detection of user-mode-linux to configure
1225
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012262004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001227
1228 * fixed zero size case for getxattr and listxattr
1229
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012302004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001231
1232 * new fusermount flag '-z': lazy unmount, default is not lazy
1233
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001234 * Extended attributes operations added (getxattr, setxattr,
1235 listxattr, removexattr)
1236
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012372004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001238
1239 * If filesystem doesn't define a statfs operation, then an
1240 all-zero default statfs is returned instead of ENOSYS
1241
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012422004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001243
1244 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012462004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001247
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001248 * Fix for uClinux (Christian Magnusson)
1249
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012502004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001251
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001252 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001253
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001254 * More kernel interface changes:
1255
1256 * Lookup/getattr return cache timeout values
1257
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012582004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001259
1260 * Clean up option parsing in fuse_main()
1261
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001262 * Added fuse_get() function which returns the fuse object created
1263 by fuse_main()
1264
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012652004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001266
Miklos Szeredic40748a2004-02-20 16:38:45 +00001267 * removed old way of mounting (fusermount mountpoint program)
1268
Miklos Szeredib5958612004-02-20 14:10:49 +00001269 * more kernel interface changes:
1270
1271 * added nanosecond precision to file times
1272
Miklos Szeredic40748a2004-02-20 16:38:45 +00001273 * removed interface version from mount data
1274
1275 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1276
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012772004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001278
1279 * statfs library API changed to match other methods. Since this
1280 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1281
Miklos Szeredi76f65782004-02-19 16:55:40 +00001282 * kernel interface changes follow:
1283
1284 * statfs changed to 64 bits, added 'bavail' field
1285
1286 * add generation number to lookup result
1287
1288 * optimized mknod/mkdir/symlink/link (no separate lookup is
1289 needed)
1290
1291 * rdev size increased to 32 bits for mknod
1292
1293 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001294
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012952004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001296
1297 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001298
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012992004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001300
1301 * Added user-mount.2.6.2-rc3.patch
1302
1303 * Add FS_SAFE flag to fuse filesystem
1304
1305 * fusermount should allow (un)mounting for non-root even if not
1306 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001307
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013082004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001309
1310 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001311
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013122004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001313
1314 * Added check for i_size_read/write functions to configure.in
1315 (patch by Valient Gough)
1316
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013172004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001318
1319 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001320
1321 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001322
1323 * Readpage calls flush_dcache_page() after storing data
1324
1325 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001326
1327 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001328
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013292004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001330
1331 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001332
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013332004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001334
1335 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001336
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013372004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001338
1339 * Added -q option for fusermount
1340
1341 * fuse_unmount() now uses -q option of fusermount, so no error is
1342 printed if the cause of the program exit is that the filesystem
1343 has already been unmounted
1344
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001345 * Fix i_nlink correctness after rmdir/unlink
1346
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013472004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001348
Miklos Szeredib1158392004-01-26 14:43:12 +00001349 * Released 1.1-pre2
1350
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013512004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001352
Miklos Szeredi307242f2004-01-26 11:28:44 +00001353 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001354
1355 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001356
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013572004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001358
1359 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001360
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013612004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001362
1363 * Write all pending data before a RELEASE operation
1364
1365 * Suppress 'Bad file descriptor' warning on exit
1366
1367 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001368 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001369
Miklos Szeredib1158392004-01-26 14:43:12 +00001370 * New fusermount option '-l' which enables big reads. Big reads
1371 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001372
1373 * fuse_main() can accept fusermount arguments after a '--'
1374
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013752004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001376
1377 * Support for exporting filesystem over NFS (see README.NFS)
1378
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013792004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001380
1381 * Support non-blocking writepage on 2.6. This makes FUSE behave
1382 much more nicely in low-memory situations
1383
1384 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1385 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001386
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013872004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001388
1389 * Code cleanups
1390
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013912004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001392
1393 * Released 1.1-pre1
1394
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013952004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001396
1397 * Integrated 2.6 kernel support patch by Michael Grigoriev
1398
1399 * Improvements and cleanups for 2.6 kernels
1400
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014012004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001402
Miklos Szeredie5183742005-02-02 11:14:04 +00001403 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001404
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014052003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001406
1407 * Added major+minor version to library API, and minor version to
1408 kernel API
1409
David McNab7a19caf2003-12-13 02:05:46 +000014102003-12-13 David McNab <david@rebirthing.co.nz>
1411
1412 * Implemented fsync support in examples/example.py
1413
1414 * Implemented 'fsync' and 'statfs' methods in python
1415 interface
1416
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014172003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001418
Miklos Szeredie5183742005-02-02 11:14:04 +00001419 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001420
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001421 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001422
David McNab8bf62632003-12-11 22:49:22 +000014232003-12-12 David McNab <david@rebirthing.co.nz>
1424
1425 * Added distutils support to the python module, as per standard
1426 python development practice
1427
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014282003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001429
1430 * Add file locking for mount/unmount (based on patch by Valient
1431 Gough)
1432
14332003-12-11 David McNab <david@rebirthing.co.nz>
1434
1435 * Python filesystem - was broken with python2.3, now fixed:
1436 - changed PyTuple_* calls to PySequence_*, because os.lstat
1437 is no longer returning a pure tuple
1438 - changed PyInt_Check() calls to also call PyLong_Check,
1439 to cover for cases (eg os.lstat) where longs are returned
1440 - Added support for file 'release' handling, which IMO is
1441 essential since this signals to a FS that writes to a file
1442 are complete (and therefore the file can now be disposed of
1443 meaningfully at the python filesystem's discretion)
1444 - Added '__init__' handler to base Fuse class, which allows
1445 your Python class to know the mountpoint and mount args,
1446 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001447
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001448 * General:
1449 - added 'mount.fuse' script (in util/ dir), which is meant to be
1450 symlinked from /sbin, and which allows FUSE filesystems to
1451 be mounted with the 'mount' command, and listed in fstab;
1452 also, mount arguments get passed to your filesystem
1453
1454
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014552003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001456
1457 * Fix kernel version detection (again). Bugreport by Peter Levart
1458
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014592003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001460
1461 * Applied read combining patch by Michael Grigoriev (tested by
1462 Valient Gough and Vincent Wagelaar)
1463
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014642003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001465
1466 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1467 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001468
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014692003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001470
1471 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001472
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014732003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001474
1475 * kernel version detection fix
1476
1477 * fusermount now uses "lazy" umount option
1478
1479 * fusermount can use modprobe with module-init-tools
1480
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014812003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001482
1483 * Integrated caching patch by Michael Grigoriev
1484
Miklos Szeredida4e4862003-09-08 11:14:11 +00001485 * Added "Filesystems" file with descriptions of projects using
1486 FUSE
1487
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001488 * Added patch by Michael Grigoriev to allow compliation of FUSE
1489 kernel module for 2.6 kernels
1490
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014912003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001492
1493 * And another spec-file fix by Achim Settelmeier
1494
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014952003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001496
1497 * Spec-file fix by Achim Settelmeier
1498
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014992003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001500
Miklos Szerediac361172004-11-02 19:14:14 +00001501 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001502
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015032003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001504
1505 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1506
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015072003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001508
1509 * Updated fuse.spec file (Achim Settelmeier)
1510
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015112003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001512
1513 * Version 1.0 released
1514
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015152003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001516
1517 * SuSE compilation fix by Juan-Mariano de Goyeneche
1518
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015192002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001520
1521 * The release() VFS call is now exported to the FUSE interface
1522
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015232002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001524
1525 * 64 bit file offset fixes in the fuse kernel module
1526
1527 * Added function 'fuse_exit()' which can be used to exit the main
1528 loop
1529
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015302002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001531
1532 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1533 an incompatible interface change.
1534
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015352002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001536
1537 * Portablility fix (bug reported by C. Chris Erway)
1538
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015392002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001540
1541 * Use Mark Glines' fd passing method for default operation instead
1542 of old reexec
1543
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015442002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001545
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001546 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1547
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015482002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001549
Miklos Szeredi60c23522002-10-24 09:19:43 +00001550 * fix incompatiblity with Red Hat kernels, with help from Nathan
1551 Thompson-Amato.
1552
Mark Glines65ba2192002-04-18 14:41:48 +000015532002-04-18 Mark Glines <mark@glines.org>
1554
1555 * added an alternative to fuse_mount(), called
1556 fuse_mount_ioslave(), which does not need to reexec the
1557 FUSE program.
1558 * added a small helper util needed by fuse_mount_ioslave().
1559
Mark Glines220635a2002-03-17 07:01:14 +000015602002-03-16 Mark Glines <mark@glines.org>
1561
1562 * use struct fuse_statfs everywhere possible to avoid problems
1563 with the headerfiles changing struct statfs member sizes
1564
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015652002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001566
1567 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1568
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015692002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001570
1571 * RPM support by Achim Settelmeier
1572
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015732002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001574
Miklos Szerediddc862a2002-01-09 13:46:10 +00001575 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001576
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015772002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001578
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001579 * Revaidate all path components not just the last, this means a
1580 very small performance penalty for being more up-to-date.
1581
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015822002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001583
1584 * Update and fix python interface
1585
Mark Glinesd84b39a2002-01-07 16:32:02 +000015862002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001587
Mark Glinesd84b39a2002-01-07 16:32:02 +00001588 * Added statfs() support to kernel, lib, examples, and perl!
1589
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015902001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001591
1592 * Better cross compilation support
1593
1594 * Ported to Compaq IPAQ
1595
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015962001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001597
Miklos Szeredife25def2001-12-20 15:38:05 +00001598 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001599 patch from Matt Ryan)
1600
Miklos Szeredife25def2001-12-20 15:38:05 +00001601 * Added flags to fusermount and to kernel interface to control
1602 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001603
Miklos Szeredife25def2001-12-20 15:38:05 +00001604 * Integrated fuse_set_operations() into fuse_new()
1605
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016062001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001607
1608 * Applied header protection + extern "C" patch by Roland
1609 Bauerschmidt
1610
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016112001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001612
Miklos Szeredie5183742005-02-02 11:14:04 +00001613 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001614
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016152001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001616
1617 * Cleaned up way of mounting simple filesystems.
1618
1619 * fuse_main() helper function added
1620
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016212001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001622
Miklos Szeredife25def2001-12-20 15:38:05 +00001623 * Optimized read/write operations, so that minimal copying of data
1624 is done
1625
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016262001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001627
1628 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001629
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016302001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001631
1632 * Fixed vfsmount reference leak in fuse_follow_link
1633
1634 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1635 userspace is ignored
1636
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016372001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001638
Miklos Szeredife25def2001-12-20 15:38:05 +00001639 * Started ChangeLog