blob: a14f3019008947b4a034d5f8c19823daa5e0f047 [file] [log] [blame]
Miklos Szeredi6cf952a2006-09-30 07:39:33 +000012006-09-30 Miklos Szeredi <miklos@szeredi.hu>
2
Miklos Szeredid93a4292006-09-30 12:21:49 +00003 * kernel changes:
4
Miklos Szeredi6cf952a2006-09-30 07:39:33 +00005 * Drop support for kernels earlier than 2.6.9. Kernel module from
6 previous (2.5.x) release can be used with library from this
7 release
8
Miklos Szeredid93a4292006-09-30 12:21:49 +00009 * In fuse_dentry_revalidate() use dget_parent() instead of
10 dereferencing d_parent, since there's no protection against parent
11 changing and going away
12
13 * Protect nlookup from concurrent updates
14
15 * In lookup if a directory alias exists but is unused,
16 then get rid of it, otherwise return -EBUSY.
17
18 * In mkdir if a directory alias exists, return success, but leave
19 dentry negative. In reality this could happen if a remote rename
20 immediately followed the mkdir.
21
22 * Don't BUG in fuse_iget() if multiple retries are needed to get a
23 good inode. This could happen if several lookups are racing for
24 the same inode.
25
Miklos Szeredi40ec1752006-09-30 06:17:31 +0000262006-09-29 Miklos Szeredi <miklos@szeredi.hu>
27
28 * Fix compilation on 2.6.9. Report from Troy Ayers
29
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000302006-09-27 Miklos Szeredi <miklos@szeredi.hu>
31
32 * Fix Oops in fuse_readpages(). Reported by David Shaw
33
Csaba Henk3e3a1252006-09-24 14:53:29 +0000342006-09-24 Csaba Henk <csaba.henk@creo.hu>
35
36 * Add support for nanosec times on FreeBSD
37
38 * Fix FreeBSD compatibility issues
39
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000402006-09-23 Miklos Szeredi <miklos@szeredi.hu>
41
42 * Fix one more compatibility bug. Thanks to Ricardo Correia
43
44 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
45
Miklos Szeredieafdf422006-09-22 19:30:17 +0000462006-09-22 Miklos Szeredi <miklos@szeredi.hu>
47
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +000048 * Fixed several compatibility bugs in low level interface.
49 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +000050
51 * Add workaround for ARM caching bug
52
Miklos Szeredic3b76812006-09-16 08:52:09 +0000532006-09-16 Miklos Szeredi <miklos@szeredi.hu>
54
55 * Rename new utimes() method to more logical utimens()
56
572006-09-14 Miklos Szeredi <miklos@szeredi.hu>
58
59 * Fuse tried to unlink already unlinked hidden files. Bug
60 reported by Milan Svoboda
61
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +0000622006-09-10 Miklos Szeredi <miklos@szeredi.hu>
63
64 * Released 2.6.0-rc1
65
662006-09-10 Miklos Szeredi <miklos@szeredi.hu>
67
68 * kernel: Fix unlock on close for kernels < 2.6.18
69
70 * Add ulockmgr library & server. This can be used for handling
71 file locking requests either directly from libfuse or over a
72 network, etc. This first version is not optimized and the number
73 of file descriptors it uses may get out of hand
74
Miklos Szeredi288ed4e2006-09-07 06:02:44 +0000752006-09-07 Miklos Szeredi <miklos@szeredi.hu>
76
77 * lib: Add interrupt support to high level library, which may be
78 enabled with the 'intr' mount option.
79
80 * When an operation is interrupted the thread handling that
81 operation will receive SIGUSR1 (or other signal specified with the
82 'intr_signal=N' option). The library installs a no-op signal
83 handler for this signal, unless there's already a handler
84 installed.
85
86 * The filesystem may query interrupt status (regardless of 'intr')
87 with the fuse_interrupted() function.
88
Miklos Szeredid8588412006-09-07 06:08:56 +000089 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
90
Miklos Szeredi38f152c2006-09-03 18:28:52 +0000912006-09-03 Miklos Szeredi <miklos@szeredi.hu>
92
93 * lib: Multithreaded loop now allows unlimited number of threads.
94 This is needed for locking operations which may block
95 indefinitely. Also the kernel now doesn't limit the number of
96 outstanding requests so the library shouldn't do so either.
97
Miklos Szeredifa440772006-09-02 09:51:08 +0000982006-09-01 Miklos Szeredi <miklos@szeredi.hu>
99
100 * Fix recursive lock bug in interrupt handling
101
102 * Add utimes() method to highlevel interface, which supports
103 setting times with nanosecond resolution
104
Miklos Szeredi63d3c402006-08-18 16:38:08 +00001052006-08-18 Miklos Szeredi <miklos@szeredi.hu>
106
107 * kernel: fix page leak if fuse_readpages() failed in it's
108 initialization. Bug found and original patch from Alexander
109 Zarochentsev
110
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000111 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
112 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000113 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000114
Miklos Szeredi543087d2006-08-18 19:26:23 +0000115 * fusermount: try to modprobe fuse module if invoked by root and
116 unable to open device. This is needed with udev, since the device
117 node will be created only when the module is inserted, hence
118 module autoloading won't work. Reported by Szakacsits Szabolcs
119
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00001202006-07-30 Miklos Szeredi <miklos@szeredi.hu>
121
122 * fusermount: if selinux is active, restore the original file's
123 security context in unmount_rename(). Redhat bugzilla id 188561.
124 Patch from Yves Perrenoud
125
126 * Add POSIX file locking operation to high level library
127
Miklos Szerediad519562006-07-31 11:07:40 +0000128 * Initialize context for unlink of hidden files on umount. Bug
129 reported by Tim Stoakes
130
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00001312006-07-14 Miklos Szeredi <miklos@szeredi.hu>
132
133 * Multiple release() calls can race with each other, resulting in
134 the hidden file being deleted before the last release finishes.
135 Bug found and patch tested by Mark Huijgen
136
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00001372006-07-05 Miklos Szeredi <miklos@szeredi.hu>
138
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000139 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
140 this makes sense on systems using udev. Reported by Szakacsits
141 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000142
Miklos Szeredi91762cd2006-06-29 14:38:35 +00001432006-06-29 Miklos Szeredi <miklos@szeredi.hu>
144
145 * Released 2.6.0-pre3
146
1472006-06-29 Miklos Szeredi <miklos@szeredi.hu>
148
149 * Support in kernel module for file locking and interruption. The
150 same functionality is available in official kernels >= 2.6.18
151
Miklos Szeredib052a1a2006-06-28 14:51:20 +00001522006-06-28 Miklos Szeredi <miklos@szeredi.hu>
153
154 * Add POSIX file locking support
155
156 * Add request interruption
157
Miklos Szeredi55a84102006-06-06 10:16:38 +00001582006-06-06 Miklos Szeredi <miklos@szeredi.hu>
159
160 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
161
Miklos Szeredi9dedb702006-06-06 09:48:30 +00001622006-06-05 Remy Blank <remy.blank@pobox.com>
163
164 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
165 unmounting succeeds even if mount point was relative.
166
Csaba Henkd021ce42006-06-03 23:04:18 +00001672006-06-04 Csaba Henk <csaba.henk@creo.hu>
168
169 * lib: fix emergency umount in helper.c when malloc fails.
170 (The way it was done would end up in a segfault.)
171
Csaba Henk4f5c7b42006-06-01 14:19:17 +00001722006-06-01 Csaba Henk <csaba.henk@creo.hu>
173
174 * lib: adjust threading related compiler flags.
175 Switch to "-pthread" from "-lpthread" as that's the preferred
176 one on several platforms. Consulted with Terrence Cole and
177 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000178
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00001792006-05-08 Miklos Szeredi <miklos@szeredi.hu>
180
181 * lib: search fusermount in installation directory (bindir) as
182 well as in PATH.
183
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00001842006-05-03 Miklos Szeredi <miklos@szeredi.hu>
185
186 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
187 Reported by Christian Magnusson
188
Csaba Henk2efe48f2006-04-22 22:46:52 +00001892006-04-23 Csaba Henk <csaba.henk@creo.hu>
190
191 * lib: make FreeBSD mount routine recognize if kernel features
192 backgrounded init and if it does, run the mount util in foreground
193 (similarly to Linux)
194
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00001952006-04-21 Miklos Szeredi <miklos@szeredi.hu>
196
197 * kernel: fix fput deadlock fix, the lockless solution could lead
198 to "VFS: busy inodes after umount..."
199
200 * kernel: fix race between checking and setting file->private_data
201 for the device. Found by Al Viro
202
2032006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000204
205 * kernel: remove request pool, instead allocate requests on
206 demand. Account the number of background requests, and if they go
207 over a limit, block the allocation of new requests.
208
209 * kernel: fix deadlock if backgrounded request holds the last
210 reference to the super block
211
212 * kernel: don't use fuse_reset_request() during direct I/O
213
Csaba Henkbaa49d22006-04-06 00:12:44 +00002142006-04-06 Csaba Henk <csaba.henk@creo.hu>
215
216 * lib: Let FreeBSD mount option parsing routine recognize "no"
217 prefixes for FUSE specific options as well
218
Miklos Szeredid0a777a2006-04-05 07:18:00 +00002192006-04-01 Miklos Szeredi <miklos@szeredi.hu>
220
221 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
222
Miklos Szeredi6f385412006-03-17 15:05:40 +00002232006-03-17 Miklos Szeredi <miklos@szeredi.hu>
224
225 * API changes:
226
227 * fuse_main(), fuse_setup() and fuse_new() have an additionl
228 user_data parameter
229
230 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
231 file descriptor
232
233 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
234 destroys the given channel
235
236 * fuse_teardown() no longer has a file descriptor parameter
237
238 * new exported functions: fuse_session_remove_chan(),
239 fuse_get_session(), fuse_daemonize()
240
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000241 * fuse_chan_recv() may now return a new channel which will be used
242 to send the reply
243
Miklos Szeredif51e43f2006-03-16 14:19:25 +00002442006-03-16 Miklos Szeredi <miklos@szeredi.hu>
245
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000246 * Released 2.6.0-pre2
247
2482006-03-16 Miklos Szeredi <miklos@szeredi.hu>
249
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000250 * Don't unmount if already unmounted. This fixes a problem seen
251 in the following situation: Lazy unmount a busy filesystem; Mount
252 a new one in top; When the first finally unmounts, the second also
253 unmounts. Reported by Franco Broi
254
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00002552006-03-15 Miklos Szeredi <miklos@szeredi.hu>
256
257 * lowlevel lib: use indirect function calls instead of a
258 switch/case construct. Besides increased efficiency it helps
259 maintainability & readability too. Patch from Florin Malita
260
Miklos Szeredi67d26d42006-03-13 17:39:56 +00002612006-03-13 Miklos Szeredi <miklos@szeredi.hu>
262
263 * kernel: replace global spinlock with a per-connection spinlock
264
Miklos Szeredi87c77932006-03-10 10:18:20 +00002652006-03-10 Miklos Szeredi <miklos@szeredi.hu>
266
267 * Fix source compatibility breakage for fuse_unmount(). Report
268 from Yura Pakhuchiy
269
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00002702006-03-02 Miklos Szeredi <miklos@szeredi.hu>
271
272 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
273
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00002742006-03-01 Miklos Szeredi <miklos@szeredi.hu>
275
276 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
277 Jeff Dike
278
279 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
280 interface to return -errno in case of error.
281
Csaba Henkee588c02006-03-01 09:40:35 +00002822006-03-01 Csaba Henk <csaba.henk@creo.hu>
283
284 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
285 FreeBSD implementation so that it uses libc (sysctl backed) instead
286 of an embdedded script (kmem backed). Adjust the control flow of
287 hello_ll so that device doesn't get closed before unmount attempt.
288
Miklos Szerediaa8258e2006-02-25 14:42:03 +00002892006-02-25 Miklos Szeredi <miklos@szeredi.hu>
290
291 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
292 implement method. This is needed on FreeBSD, and nicer on Linux
293 too. Highlevel lib already did this. Reported by Csaba Henk
294
295 * Fix negative entry handling. There was a bug, that negative
296 lookups with timeouts (nodeid == 0) returned -EIO.
297
2982006-02-23 Miklos Szeredi <miklos@szeredi.hu>
299
300 * Fix race between RELEASE and UNLINK, which might leave
301 .fuse_hidden* files around
302
Miklos Szeredi6bab4802006-02-21 18:31:29 +00003032006-02-21 Miklos Szeredi <miklos@szeredi.hu>
304
305 * fusexmp_fh: implement flush() method and call close() on the
306 open file descriptor. This is needed if used on an NFS
307 filesystem, which buffers data until file is closed. Franco Broi
308 spotted the situation when 'cp -p' failed to set the modification
309 time because of this.
310
Miklos Szeredie109e282006-02-20 11:06:20 +00003112006-02-20 Miklos Szeredi <miklos@szeredi.hu>
312
313 * Released 2.6.0-pre1
314
Miklos Szeredib67f2162006-02-20 10:55:33 +00003152006-02-19 Miklos Szeredi <miklos@szeredi.hu>
316
317 * libfuse: fix use-after-free bug in interruptred reply_entry().
318 Patch from John Muir
319
320 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
321 ID: 352631. Found by Stéphane Rosi
322
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00003232006-02-17 Miklos Szeredi <miklos@szeredi.hu>
324
325 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
326 into a single function fuse_add_direntry(). This cleans up the
327 interface and makes it possible to do stacking.
328
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00003292006-02-16 Miklos Szeredi <miklos@szeredi.hu>
330
331 * Fix rare race betweeen abort and release caused by failed iget()
332 in fuse_create_open().
333
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000334 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
335 own attribute caching.
336
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00003372006-02-15 Miklos Szeredi <miklos@szeredi.hu>
338
339 * Work around FreeBSD runtime linker "feature" which binds an old
340 version of a symbol to internal references if the symbol has more
341 than one version. This resulted in infinite recursion in
342 fuse_lowlevel_new_compat25().
343
Csaba Henkdcce3e52006-02-10 06:22:15 +00003442006-02-10 Csaba Henk <csaba.henk@creo.hu>
345
346 * Refine clock_gettime() querying so that linker options
347 shall be set as it's appropriate for the target platform.
348
Miklos Szeredi390ae312006-02-10 16:44:34 +00003492006-02-09 Miklos Szeredi <miklos@szeredi.hu>
350
351 * Fix udev rule syntax. Reported by Nix
352
Miklos Szeredieb643582006-02-08 10:54:02 +00003532006-02-08 Miklos Szeredi <miklos@szeredi.hu>
354
355 * In some cases udev rule seems to be ineffective when installed
356 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
357
Miklos Szeredi357529c2006-02-03 09:20:31 +00003582006-02-03 Miklos Szeredi <miklos@szeredi.hu>
359
360 * Fix compilation when build directory is different from source
361 directory. Reported by Frédéric L. W. Meunier
362
Miklos Szeredice28c7e2006-02-02 14:59:05 +00003632006-02-02 Miklos Szeredi <miklos@szeredi.hu>
364
365 * Fix even bigger bug introduced in fix for request_end() on
366 2006-01-14. Reported by Gal Rosen
367
Miklos Szeredi320abe42006-01-30 18:14:51 +00003682006-01-30 Miklos Szeredi <miklos@szeredi.hu>
369
370 * highlevel-lib: add 'auto_cache' option. This caches file data
371 based on modification time and size
372
Miklos Szeredi065f2222006-01-20 15:15:21 +00003732006-01-20 Miklos Szeredi <miklos@szeredi.hu>
374
Miklos Szeredid66b7282006-02-02 15:15:21 +0000375 * Sanitize storage type and help message in mount_bsd.c. Patch
376 from Csaba Henk
377
Miklos Szeredi065f2222006-01-20 15:15:21 +0000378 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
379 FUSE_OPT_KEY_DISCARD
380
381 * Add options 'max_readahead', 'sync_read' and 'async_read'
382
383 * Kernel ABI version 7.6:
384
385 * Negotiate the 'max_readahead' value and 'async_read' flags with
386 userspace in the INIT method
387
388 * Add connection info to ->init() methods to both lowlevel and
389 highlevel API
390
391 * Fall back to synchronous read() behavior if either library or
392 userspace filesystem is using the old interface version. This is
393 needed so non-updated filesystems won't be confused by the
394 different read() behavior
395
3962006-01-19 Miklos Szeredi <miklos@szeredi.hu>
397
398 * lib: if "fsname=" option was given, pass it to fusermount
399
400 * fuse_opt: add new fuse_opt_insert_arg() function, which is
401 needed by filesystems to implement some argument manipulations
402 correctly
403
404 * fuse_opt: fix memory leak in handling "--" option
405
4062006-01-18 Miklos Szeredi <miklos@szeredi.hu>
407
408 * kernel: fix detection of case when fuse is not configured into
409 the kernel either as module or built-in
410
411 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
412 'template' structure member to 'templ'. Reported by Takashi Iwai
413
414 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
415
416 * kernel: support version 2.6.16 (i_sem -> i_mutex)
417
Miklos Szeredi15af1b82006-01-16 17:52:24 +00004182006-01-16 Miklos Szeredi <miklos@szeredi.hu>
419
420 * Added (again) asynchronous readpages support
421
422 * Each connection now shows up under /sys/fs/fuse/connections
423
424 * Connection attributes exported to sysfs: 'waiting' number of
425 waiting requests; 'abort' abort the connection
426
427 * Connection may be aborted through either the sysfs interface or
428 with 'umount -f mountpoint'
429
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00004302006-01-14 Miklos Szeredi <miklos@szeredi.hu>
431
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000432 * Released 2.5.0
433
4342006-01-14 Miklos Szeredi <miklos@szeredi.hu>
435
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000436 * kernel: fix a couple of bugs
437
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000438 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000439 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000440 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000441
442 * request_end() used request pointer after decrementing refcount
443
444 * Clearing ->connected or ->mounted connection flags could race
445 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000446
Miklos Szeredia9820342006-01-10 10:54:11 +00004472006-01-10 Miklos Szeredi <miklos@szeredi.hu>
448
449 * kernel: add necessary compile flags for 2.4.X/x86_64.
450 Report from Sean Ziegeler
451
Miklos Szeredi35676b02006-01-09 10:13:28 +00004522006-01-09 Miklos Szeredi <miklos@szeredi.hu>
453
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000454 * Released 2.5.0-pre2
455
4562006-01-09 Miklos Szeredi <miklos@szeredi.hu>
457
Miklos Szeredi35676b02006-01-09 10:13:28 +0000458 * Applied patch from Csaba Henk, to update mount_bsd to new
459 fuse_mount() semantics
460
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000461 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
462 Steiner and Don Taber
463
Miklos Szeredicb075c82006-01-09 11:33:04 +0000464 * fusermount: add 'dirsync' mount option
465
Miklos Szerediad005972006-01-07 10:14:34 +00004662006-01-07 Miklos Szeredi <miklos@szeredi.hu>
467
468 * Improved help reporting and added version reporting to library
469
Miklos Szeredi0af762a2006-01-06 09:47:54 +00004702006-01-06 Miklos Szeredi <miklos@szeredi.hu>
471
472 * Change working directory to "/" even if running in the
473 foreground. Patch from Jonathan Brandmeyer
474
Miklos Szeredi95da8602006-01-06 18:29:40 +0000475 * Changed lots of functions to use 'struct fuse_args' instead of
476 separate argc and argv
477
478 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
479 fuse_remove_signal_handlers() functions, so that it's now pretty
480 easy to get all the functionality of fuse_main() with a filesystem
481 using the lowlevel API.
482
Miklos Szeredib8638182006-01-02 12:52:24 +00004832006-01-02 Miklos Szeredi <miklos@szeredi.hu>
484
Miklos Szeredif1941472006-01-02 16:27:48 +0000485 * mount.fuse: the 'user' option should be ignored. Report and
486 solution from Mattd.
487
488 * mount.fuse: export PATH in the right place. Report and patch
489 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000490
Miklos Szeredi73f41392005-12-16 11:12:16 +00004912005-12-16 Miklos Szeredi <miklos@szeredi.hu>
492
493 * Clean up the option parsing interface slightly, by creating an
494 "argument list" structure, that contains the argument vector and
495 count
496
Miklos Szeredi4e829092005-12-15 16:13:49 +00004972005-12-15 Miklos Szeredi <miklos@szeredi.hu>
498
499 * fusermount: check if /mnt/mtab is a symlink and don't modify it
500 in that case
501
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000502 * kernel: simplify request size limiting. INIT only contains
503 maximum write size, maximum path component size remains fixed at
504 1024 bytes, and maximum xattr size depends on read buffer.
505
Miklos Szeredie248e4b2005-12-14 16:18:32 +00005062005-12-14 Miklos Szeredi <miklos@szeredi.hu>
507
508 * Fix readdir() failure on x86_64, of 32bit programs compiled
509 without largefile support. Bug report and help from Anthony
510 Kolasny
511
Miklos Szeredi64709572005-12-14 22:16:28 +0000512 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000513 a regular file
514
515 * Add current output argument vector to option processing
516 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000517
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00005182005-12-12 Miklos Szeredi <miklos@szeredi.hu>
519
520 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
521
Miklos Szeredi659743b2005-12-09 17:41:42 +00005222005-12-09 Miklos Szeredi <miklos@szeredi.hu>
523
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000524 * Released 2.5.0-pre1
525
5262005-12-09 Miklos Szeredi <miklos@szeredi.hu>
527
Miklos Szeredi659743b2005-12-09 17:41:42 +0000528 * libfuse: added option parsing interface, defined in
529 <fuse_opt.h>.
530
Miklos Szeredic53cddd2005-12-07 12:57:59 +00005312005-12-07 Miklos Szeredi <miklos@szeredi.hu>
532
533 * Return EIO for file operations (read, write, fsync, flush) on
534 open files whose inode has become "bad". Inodes will be marked
535 "bad" if their type changes. Bug report by Csaba Henk
536
Miklos Szeredi044da2e2005-12-06 17:59:55 +00005372005-12-06 Miklos Szeredi <miklos@szeredi.hu>
538
539 * Use bigger request buffer size. write() did not work on archs
540 with > 4k page size, Bug report by Mark Haney
541
542 * ABI version 7.5:
543
544 * Extend INIT reply with data size limits
545
Miklos Szeredifa829b52005-12-02 11:05:41 +00005462005-12-02 Miklos Szeredi <miklos@szeredi.hu>
547
548 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
549 reported by Vincenzo Ciancia
550
551 * Handle exit-by-umount in fuse_read_cmd()
552
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00005532005-11-29 Miklos Szeredi <miklos@szeredi.hu>
554
555 * Check if '-msoft-float' option is supported by compiler when
556 configuring for a 2.4.x kernel. Bug report by Mark Haney
557
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000558 * In multithreaded loop send a TERM signal to the main thread if
559 one of the other threads exit. Needed on FreeBSD for a clean exit
560 on umount. Should not cause any harm on Linux either
561
Miklos Szerediead7f102005-11-28 16:02:27 +00005622005-11-28 Miklos Szeredi <miklos@szeredi.hu>
563
564 * Fix bug in 32-bit file handle compatibility
565
Miklos Szeredia90b7342005-11-27 19:22:42 +00005662005-11-27 Miklos Szeredi <miklos@szeredi.hu>
567
568 * Block TERM, INT, HUP and QUIT signals in all but the main
569 thread. According to POSIX it's not specified which thread will
570 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000571
572 * Kernel changes:
573
574 * Check for directory aliasing on mkdir, not just on lookup
575
576 * Check for special node ID values in create+open operation
577
578 * Sync with -mm: readv, writev, aio_read and aio_write methods
579 added to file operations
580
581 * Cleanups: lookup code, page offset calculation
582
583 * ABI stepped to 7.4, changes:
584
585 * frsize member added to fuse_kstatfs structure
586
587 * added support for negative entry caching: on lowlevel API if
588 fuse_entry_param::ino is set to zero in reply to a lookup request,
589 the kernel will cache the dentry for the specified amount of time.
590
591 * libfuse: added 'negative_timeout' option: specifies how much
592 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000593 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000594
Miklos Szeredibac4c772005-11-23 13:35:54 +00005952005-11-22 Miklos Szeredi <miklos@szeredi.hu>
596
597 * Add detection of mainline FUSE code in running kernel
598
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00005992005-11-21 Miklos Szeredi <miklos@szeredi.hu>
600
601 * Don't use async cancelation in multithreaded loop. This makes
602 it more portable to systems where read() is not async cancel safe.
603 Report from Andriy Gapon
604
Miklos Szeredi05c97842005-11-20 17:05:07 +00006052005-11-20 Miklos Szeredi <miklos@szeredi.hu>
606
607 * Warn if API version 11 compatibility is requested
608
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00006092005-11-17 Miklos Szeredi <miklos@szeredi.hu>
610
611 * More FreeBSD merge
612
Miklos Szeredi832ee442005-11-18 21:02:36 +0000613 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
614 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000615 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000616
617 * libfuse: don't use system() to invoke 'fusermount -u ...'
618 because it breaks mountpoints with spaces in them into multiple
619 arguments
620
Miklos Szeredib3f99722005-11-16 13:00:24 +00006212005-11-16 Miklos Szeredi <miklos@szeredi.hu>
622
623 * Merge library part of FreeBSD port. Patch by Csaba Henk
624
Miklos Szeredi3a770472005-11-11 21:32:42 +00006252005-11-11 Miklos Szeredi <miklos@szeredi.hu>
626
627 * Use 64bit type for file handle, so the full range supported by
628 the kernel interface is available to applications
629
Miklos Szeredibcc53852005-11-10 09:54:41 +00006302005-11-10 Miklos Szeredi <miklos@szeredi.hu>
631
632 * Moved mountpoint argument checking from fuse_parse_cmdline() to
633 fuse_mount() in preparation to FreeBSD merge.
634
Miklos Szeredi4ec06812005-11-08 13:04:27 +00006352005-11-08 Miklos Szeredi <miklos@szeredi.hu>
636
637 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
638 Henk.
639
Miklos Szeredic706ad92005-11-07 15:30:48 +00006402005-11-07 Miklos Szeredi <miklos@szeredi.hu>
641
642 * Make the statfs change backwards compatible.
643
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00006442005-11-06 Miklos Szeredi <miklos@szeredi.hu>
645
646 * Change ->statfs() method to use 'struct statvfs' instead of
647 'struct statfs'. This makes the API more portable since statvfs()
648 is defined by POSIX.
649
Miklos Szeredif7eec032005-10-28 13:09:50 +00006502005-10-28 Miklos Szeredi <miklos@szeredi.hu>
651
652 * Add fgetattr() method, which currently will only be called after
653 a successful call to a create() method.
654
Miklos Szeredib0b13d12005-10-26 12:53:25 +00006552005-10-26 Miklos Szeredi <miklos@szeredi.hu>
656
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000657 * Change kernel ABI version to 7.3
658
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000659 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000660 call if 'default_permissions' mount option is not given, and is
661 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000662
Miklos Szeredid9079a72005-10-26 15:29:06 +0000663 * Add atomic CREATE+OPEN operation. This will only work with
664 2.6.15 (presumably) or later Linux kernels.
665
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000666 * Add ftruncate() method. This will only work with 2.6.15
667 (presumably) or later Linux kernels.
668
669 * Fix kernel module compile if kernel source and build directories
670 differ. Report and initial patch by John Eastman
671
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00006722005-10-18 Miklos Szeredi <miklos@szeredi.hu>
673
674 * lib: optimize buffer reallocation in fill_dir.
675
Miklos Szeredic9daeb12005-10-17 10:19:21 +00006762005-10-17 Miklos Szeredi <miklos@szeredi.hu>
677
678 * Released 2.4.1
679
Miklos Szeredif412d072005-10-14 21:24:32 +00006802005-10-14 Miklos Szeredi <miklos@szeredi.hu>
681
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000682 * libfuse: add debug for write result (by Shaun Jackman) and
683 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000684
Miklos Szeredib75d4b92005-10-11 10:12:08 +00006852005-10-11 Miklos Szeredi <miklos@szeredi.hu>
686
687 * Spelling fixes, thanks to Ioannis Barkas
688
Miklos Szeredibaab5872005-10-10 08:41:14 +00006892005-10-10 Miklos Szeredi <miklos@szeredi.hu>
690
691 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
692 patch
693
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00006942005-10-07 Miklos Szeredi <miklos@szeredi.hu>
695
696 * highlevel-lib: init() and destroy() methods didn't have an
697 initialized fuse_context. Bug reported by Tim Stoakes
698
Miklos Szeredif2491122005-10-04 10:10:41 +00006992005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000700
701 * Released 2.4.0
702
Miklos Szeredi836ab712005-10-03 14:11:59 +00007032005-10-03 Miklos Szeredi <miklos@szeredi.hu>
704
705 * Add documentation to fuse_lowlevel.h
706
707 * API cleanups:
708
709 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
710
711 * Move fuse_mount() and fuse_unmount() to fuse_common.h
712
713 * Change the return type of fuse_reply_none() from int to void.
714
Miklos Szerediaf138742005-09-30 08:49:59 +00007152005-09-30 Miklos Szeredi <miklos@szeredi.hu>
716
717 * kernel: NFS exporting leaked dentries. Bug found and fixed by
718 Akshat Aranya.
719
Miklos Szeredidb016e02005-09-29 10:06:27 +00007202005-09-29 Miklos Szeredi <miklos@szeredi.hu>
721
722 * fusermount: fix error message, when unable to open /dev/fuse.
723 Report by Balázs Pozsár
724
Miklos Szeredi35200932005-09-28 14:50:49 +00007252005-09-28 Miklos Szeredi <miklos@szeredi.hu>
726
727 * UClibc fixes from Christian Magnusson
728
Miklos Szeredi8eddf642005-09-27 08:58:26 +00007292005-09-27 Miklos Szeredi <miklos@szeredi.hu>
730
731 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
732
Miklos Szerediedec95c2005-09-26 10:22:22 +00007332005-09-26 Miklos Szeredi <miklos@szeredi.hu>
734
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000735 * Released 2.4.0-rc1
736
7372005-09-26 Miklos Szeredi <miklos@szeredi.hu>
738
Miklos Szerediedec95c2005-09-26 10:22:22 +0000739 * fusermount: allow user umount in the case when /etc/mtab is a
740 symlink to /proc/mounts. Reported by Balázs Pozsár.
741
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00007422005-09-23 Miklos Szeredi <miklos@szeredi.hu>
743
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000744 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000745
Miklos Szeredif45f3c12005-09-22 15:14:27 +00007462005-09-22 Miklos Szeredi <miklos@szeredi.hu>
747
748 * Slight optimization in returning EINVAL error in case of an open
749 with O_DIRECT flag.
750
Miklos Szeredi670d07a2005-09-20 11:36:32 +00007512005-09-20 Miklos Szeredi <miklos@szeredi.hu>
752
753 * Remove '--enable-auto-modprobe' configure flag. Module
754 auto-loading is now handled by the kernel.
755
Miklos Szeredid51fca12005-09-15 12:51:00 +00007562005-09-15 Miklos Szeredi <miklos@szeredi.hu>
757
758 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
759 Help from Jens M. Noedler.
760
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00007612005-09-14 Miklos Szeredi <miklos@szeredi.hu>
762
763 * Add memory cleanup on thread exit
764
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00007652005-09-13 Miklos Szeredi <miklos@szeredi.hu>
766
767 * Set umask to zero in fusexmp and fusexmp_fh, so that
768 files/directories are created with the requested mode.
769
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00007702005-09-12 Miklos Szeredi <miklos@szeredi.hu>
771
772 * Don't ignore read error in multithreaded loop
773
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00007742005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000775
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000776 * Released 2.4.0-pre2
777
7782005-09-08 Miklos Szeredi <miklos@szeredi.hu>
779
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000780 * Revert lock and access operations. Postpone these until 2.5.
781
7822005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000783
784 * Fix compile warning on 2.6.13 and later
785
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000786 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000787
Miklos Szeredi77ccf652005-08-19 14:40:27 +00007882005-08-19 Miklos Szeredi <miklos@szeredi.hu>
789
790 * lib: always refresh directory contents after rewinddir() to
791 conform to SUS. Bug found by John Muir.
792
Miklos Szeredia1482422005-08-14 23:00:27 +00007932005-08-15 Miklos Szeredi <miklos@szeredi.hu>
794
Miklos Szeredic43f9412005-08-15 15:10:48 +0000795 * Released 2.4.0-pre1
796
7972005-08-14 Miklos Szeredi <miklos@szeredi.hu>
798
Miklos Szeredia1482422005-08-14 23:00:27 +0000799 * lib: cleaned up (or messed up, depending on your POV) the low
800 level library API. Hopefully this is close to the final form.
801
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00008022005-08-05 Miklos Szeredi <miklos@szeredi.hu>
803
804 * fusermount: don't allow empty mountpoint argument, which defeats
805 automatic umounting in fuse_main(). Bugreport by Václav Jůza
806
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00008072005-08-03 Miklos Szeredi <miklos@szeredi.hu>
808
809 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
810 option is used (Paul Alfille).
811
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00008122005-08-02 Miklos Szeredi <miklos@szeredi.hu>
813
814 * highlevel-lib: added mount options "attr_timeout" and
815 "entry_timeout". These options control the length of time file
816 attributes and entries (names) are cached. Both default to 1.0
817 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000818
819 * kernel: correctly handle zero timeout for attributes and entries
820
Miklos Szeredi56a61f02005-08-01 10:42:25 +00008212005-08-01 Miklos Szeredi <miklos@szeredi.hu>
822
823 * Added missing symbols to versionscript (Joshua J. Berry)
824
Miklos Szeredie77cc072005-08-01 11:58:51 +0000825 * kernel: implement two flags, open can set: 'direct_io' and
826 'keep_cache'. These correspond exactly to mount options
827 'direct_io' and 'kernel_cache', but allow a per-open setting.
828
829 * Move 'direct_io' and 'kernel_cache' mount option handling to
830 userspace. For both mount options, if the option is given, then
831 the respective open flag is set, otherwise the open flag is left
832 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000833
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000834 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000835
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00008362005-07-28 Miklos Szeredi <miklos@szeredi.hu>
837
838 * kernel: invalidate attributes for read/readdir/readlink
839 operations
840
841 * kernel: detect newer UML kernels
842
Miklos Szeredibfb99462005-07-26 11:07:55 +00008432005-07-26 Miklos Szeredi <miklos@szeredi.hu>
844
845 * Make the installation path of fuse.ko and mount.fuse
846 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
847 environment variables. Requirement and help from Csaba Henk.
848
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00008492005-07-22 Miklos Szeredi <miklos@szeredi.hu>
850
851 * Fix bug, that causes filesystem requests to hang when unique
852 request counter becomes negative. This happens after
853 2,147,483,648 operations, so most people won't care. Thanks to
854 Franco Broi for the report and testing.
855
Miklos Szeredi9b813af2005-07-21 07:59:37 +00008562005-07-21 Miklos Szeredi <miklos@szeredi.hu>
857
858 * Don't change mtime/ctime/atime to local time on read/write.
859 Bug reported by Ben Grimm
860
861 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
862 Magnusson
863
864 * fusermount: use getopt_long() for option parsing. It allows the
865 use of '--' to stop argument scanning, so fusermount can now
866 operate on directories whose names begin with a '-'. Patch by
867 Adam Connell
868
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00008692005-07-15 Miklos Szeredi <miklos@szeredi.hu>
870
871 * fusermount: add '-v', '--version' and '--help' options
872
873 * add inode based API
874
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00008752005-07-12 Miklos Szeredi <miklos@szeredi.hu>
876
877 * lib: don't block signals in worker threads. Problem noticed by
878 Usarin Heininga
879
Miklos Szeredic902a852005-07-07 12:35:37 +00008802005-07-07 Miklos Szeredi <miklos@szeredi.hu>
881
882 * lib: don't allow both 'allow_other' and 'allow_root' options to
883 be given
884
Miklos Szeredi437d8112005-07-06 09:14:20 +00008852005-07-06 Miklos Szeredi <miklos@szeredi.hu>
886
887 * fusermount: check if mountpoint is empty (only '.' and '..' for
888 directories, and size = 0 for regular files). If "nonempty"
889 option is given, omit this check. This is useful, so users don't
890 accidentally hide data (e.g. from backup programs). Thanks to
891 Frank van Maarseveen for pointing this out.
892
893 * kernel: check if mandatory mount options ('fd', 'rootmode',
894 'user_id', 'group_id') are all given
895
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000896 * lib: simplify 'readdir_ino' handling
897
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000898 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
899
Miklos Szeredibb9f5172005-07-03 18:03:11 +00009002005-07-03 Miklos Szeredi <miklos@szeredi.hu>
901
902 * kernel: clean up 'direct_io' code
903
Miklos Szeredie1bcece2005-06-28 10:37:06 +00009042005-06-28 Miklos Szeredi <miklos@szeredi.hu>
905
906 * Add 'mount.fuse' written by Petr Klima
907
Miklos Szeredi866826d2005-06-28 12:22:57 +0000908 * '/dev/fuse' is created by 'make install' if does not yet exist
909
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00009102005-06-20 Miklos Szeredi <miklos@szeredi.hu>
911
912 * Fix UCLIBC compile error. Patch by Christian Magnusson
913
Miklos Szerediec12fad2005-06-08 10:26:34 +00009142005-06-08 Miklos Szeredi <miklos@szeredi.hu>
915
916 * Enable the auto-loading of the module via access to the
917 corresponding device file. Patch by Takashi Iwai.
918
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000919 * Allow mounting a regular file (over a regular file) for
920 unprivleged users.
921
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000922 * Do not create temporary device file. Require "/dev/fuse" to
923 exist, and be readable/writable by the mounting user.
924
Miklos Szeredi46960ce2005-06-02 09:05:00 +00009252005-06-02 Miklos Szeredi <miklos@szeredi.hu>
926
Miklos Szeredi56478552005-06-02 10:29:00 +0000927 * Released 2.3.0
928
9292005-06-02 Miklos Szeredi <miklos@szeredi.hu>
930
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000931 * Fix serious information leak: if the filesystem returns a short
932 byte count to a read request, and there are non-zero number of
933 pages which are not filled at all, these pages will not be zeroed.
934 Hence the user can read out previous memory contents. Found by
935 Sven Tantau.
936
Miklos Szeredi33be22d2005-05-27 09:12:43 +00009372005-05-27 Miklos Szeredi <miklos@szeredi.hu>
938
939 * Add "readdir_ino" mount option, which tries to fill in the d_ino
940 field in struct dirent. This mount option is ignored if "use_ino"
941 is used. It helps some programs (e.g. 'pwd' used over NFS from a
942 non-Linux OS). Patch by David Shaw.
943
Miklos Szeredif94e0102005-05-12 14:56:34 +00009442005-05-12 Miklos Szeredi <miklos@szeredi.hu>
945
Miklos Szeredieb009c42005-05-12 15:01:17 +0000946 * Released 2.3-rc1
947
9482005-05-12 Miklos Szeredi <miklos@szeredi.hu>
949
Miklos Szeredif94e0102005-05-12 14:56:34 +0000950 * File save in krusader and other editors doesn't work with sshfs,
951 because open() is interrupted by a periodic signal, and open()
952 restarts forever, without any progress. This could just be fixed
953 in open(), but the problem is more generic: if signals are
954 received more often than the filesystem can get the request to
955 userspace, it will never finish. This is probably only a
956 theoretical problem, nevertheless I'm removing the possibility to
957 interrupt requests with anything other than SIGKILL, even before
958 being sent to userspace. Bugreport by Eduard Czimbalmos.
959
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00009602005-05-09 Miklos Szeredi <miklos@szeredi.hu>
961
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000962 * libfuse: add "tree_lock" rwlock, that is locked for write in
963 rename, unlink and rmdir, and locked for read in all other
964 operations. This should fix the rename/release race reported by
965 Valient Gough and others. The solution is very coarse, a finer
966 grained locking scheme could be implemented, but it would be much
967 more complex. Let's see whether this is good enough.
968
9692005-05-09 Miklos Szeredi <miklos@szeredi.hu>
970
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000971 * Released 2.3-pre7
972
Miklos Szeredi38009022005-05-08 19:47:22 +00009732005-05-08 Miklos Szeredi <miklos@szeredi.hu>
974
975 * Better fix for out of order FORGET messages. Now the
976 LOOKUP/FORGET messages are balanced exactly (one FORGET can
977 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000978 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000979 compatible.
980
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00009812005-05-06 Miklos Szeredi <miklos@szeredi.hu>
982
983 * Fix abort for out of order FORGET messages. Again. Spotted by
984 Franco Broi again. Sorry :)
985
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00009862005-04-29 Miklos Szeredi <miklos@szeredi.hu>
987
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000988 * Released 2.3-pre6
989
9902005-04-29 Miklos Szeredi <miklos@szeredi.hu>
991
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000992 * Make fusermount work with fuse kernel modules not yet supporting
993 the "group_id" option (added for the purpose of stricter
994 permission checking).
995
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00009962005-04-28 Miklos Szeredi <miklos@szeredi.hu>
997
998 * Check for hard-linked directories in lookup. This could cause
999 problems in the VFS, which assumes that such objects never exist.
1000
1001 * Make checking of permission for other users more strict. Now
1002 the same privilege is required for the mount owner as for ptrace
1003 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001004
Miklos Szeredi3efcb562005-04-23 13:34:29 +000010052005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1006
1007 * Released 2.3-pre5
1008
Miklos Szeredid001bf92005-04-22 07:54:11 +000010092005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1010
1011 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1012 is needed on certain architectures. Report from Chris Kirby
1013
1014 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1015 Reported by David Shaw
1016
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001017 * Remove "allow_root" option from kernel module, and implement
1018 it's functionality in the library
1019
1020 * Fix Oops caused by premature release of fuse_conn. Clean up
1021 related code, to be more readable
1022
Miklos Szeredif9137452005-04-23 10:59:44 +00001023 * Sendfile should not use page cache if "direct_io" mount option
1024 is given
1025
Miklos Szeredib7640d22005-04-08 15:15:28 +000010262005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1027
1028 * Fix Oops in case of nfs export. Spotted by David Shaw
1029
Miklos Szeredi89814a12005-04-08 16:39:09 +00001030 * Fix another Oops in case of write over nfs with direct_io turned
1031 on. Again spotted by David Shaw
1032
Miklos Szerediab974562005-04-07 15:40:21 +000010332005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1034
Miklos Szeredi432d6182005-04-07 15:56:13 +00001035 * Released 2.3-pre4
1036
10372005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1038
Miklos Szerediab974562005-04-07 15:40:21 +00001039 * lib: finalized new readdir() interface, which now supersedes the
1040 getdir() method.
1041
Miklos Szeredi30e093a2005-04-03 17:44:54 +000010422005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1043
1044 * Released 2.3-pre3
1045
10462005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1047
1048 * Implement backward compatibility with version 5 kernel ABI
1049
Miklos Szeredi18fce982005-04-01 21:07:35 +000010502005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1051
1052 * Released 2.3-pre2
1053
10542005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1055
1056 * kernel: fix dirent offset handling
1057
1058 * lib: add readdir and releasedir methods
1059
1060 * lib: use fh field of fuse_file_info in opendir, readdir,
1061 releasedir and fsyncdir methods
1062
1063 * lib: check kernel API version and bail out of it's old. This
1064 will be properly fixed in the next release
1065
10662005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1067
1068 * Released 2.3-pre1
1069
Miklos Szeredieab72ef2005-03-31 19:59:12 +000010702005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1071
1072 * kernel API: add padding to structures, so 64bit and 32bit
1073 compiler will return the same size
1074
1075 * kernel API: add offset field to fuse_dirent. This will allow
1076 more sophisticated readdir interface for userspace
1077
1078 * kernel API: change major number to 6
1079
1080 * kernel: fix warnings on 64bit archs
1081
1082 * kernel: in case of API version mismatch, return ECONNREFUSED
1083
Miklos Szeredi407e6a72005-03-25 12:19:43 +000010842005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1085
1086 * kernel: trivial cleanups
1087
Miklos Szeredi4283ee72005-03-21 12:09:04 +000010882005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1089
1090 * Add fsyncdir() operation
1091
Miklos Szeredid17da462005-03-21 11:47:04 +000010922005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1093
1094 * kernel: add locking to background list (fixes previous fix)
1095
10962005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1097
1098 * kernel: fix bug which could cause leave busy inodes after
1099 unmount, and Oops.
1100
11012005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1102
1103 * examples: add -lpthread to link flags to work around valgrind
1104 quirk
1105
1106 * lib: don't exit threads, so cancelation doesn't cause segfault
1107
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000011082005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1109
1110 * kernel: fix nasty bug which could cause an Oops under certain
1111 situations. Found by Magnus Johansson
1112
Miklos Szeredif43f0632005-02-28 11:46:56 +000011132005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1114
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001115 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001116 permission checking in getdir() is too late. Thanks to Usarin
1117 Heininga for pointing out this deficiency
1118
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001119 * libfuse: added init() and destroy() methods to fuse_operations
1120
Miklos Szeredif43f0632005-02-28 11:46:56 +00001121 * kernel: llseek() method for files and directories made explicit
1122
1123 * kernel: fixed inode leak in NFS export in case of nodeid
1124 wrapping
1125
Miklos Szeredied3c97c2005-02-15 17:04:50 +000011262005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1127
1128 * libfuse: clean up some unitialized memory found with valgrind
1129
Miklos Szeredi47c52982005-02-23 09:27:38 +00001130 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1131 explicitly linked libpthread for applications
1132
Miklos Szeredia7169412005-02-10 07:35:05 +000011332005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1134
1135 * fusermount: set umask, otherwise /etc/mtab will have
1136 unpredictable permission. Spotted by Jindrich Kolorenc
1137
1138 * fusermount: set owner and group of /etc/mtab to original values
1139 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001140
1141 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001142
Miklos Szeredib92d9782005-02-07 16:10:49 +000011432005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1144
1145 * Cleaned up directory reading (temporary file is not used)
1146
Miklos Szerediff30a6c2005-02-02 10:53:59 +000011472005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1148
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001149 * Released 2.2
1150
11512005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1152
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001153 * Fix possible race when operation is interrupted
1154
Miklos Szeredi7a983952005-01-28 09:58:19 +000011552005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1156
Miklos Szeredie5183742005-02-02 11:14:04 +00001157 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001158
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000011592005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1160
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001161 * Released 2.2-pre6
1162
11632005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1164
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001165 * Fix bug in link() operation which caused the wrong path to be
1166 passed as the first argument. Found by Anton Altaparmakov
1167
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000011682005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1169
1170 * LIB: fix double reply in readdir operation
1171
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001172 * fusermount: fix uid checking bug. Patch by Adam Connell
1173
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001174 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001175 Patch by Keshava Gowda
1176
Miklos Szeredi64074142005-01-20 08:48:11 +000011772005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1178
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001179 * KERNEL: provide correct llseek semantics for fuse device (fixes
1180 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1181
11822005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1183
Miklos Szeredi64074142005-01-20 08:48:11 +00001184 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1185
Miklos Szeredi1adb2272005-01-18 21:19:58 +000011862005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1187
1188 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1189 and RELEASEDIR. This ends the ugly hack of passing a file
1190 descriptor to the kernel, and actually makes the code simpler.
1191
Miklos Szeredi7db35c02005-01-17 09:46:28 +000011922005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1193
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001194 * Released 2.2-pre4
1195
11962005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1197
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001198 * fusermount: remove capability setting, which was the cause of
1199 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001200 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001201
Miklos Szeredidbe0f652005-01-15 14:32:56 +000012022005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001203
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001204 * fix compilation on 2.4 kernels (reported by Valient Gough)
1205
1206 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001207
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001208 * fusermount: improve parsing of /etc/fuse.conf
1209
12102005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1211
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001212 * Remove 'mount_max' and 'user_allow_other' module options. These
1213 are now checked by fusermount, and can be set in /etc/fuse.conf
1214
1215 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1216
Miklos Szeredi81394522005-01-11 14:24:18 +000012172005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1218
1219 * KERNEL: fix possible inode allocation problem, where
1220 sizeof(struct inode) is not aligned (found by Mike Waychison)
1221
1222 * KERNEL: use new follow_link/put_link methods
1223
1224 * KERNEL: cosmetic fixes
1225
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000012262005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1227
1228 * Released 2.2-pre3
1229
12302005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1231
1232 * Add missing code that was accidently left out
1233
Miklos Szeredi8c7da232005-01-09 12:27:41 +000012342005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1235
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001236 * Released 2.2-pre2
1237
12382005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1239
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001240 * Change "uid" mount option to "user_id" to avoid confusion with a
1241 mount option "uid" commonly used by many filesystems
1242
12432005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1244
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001245 * Released 2.2-pre1
1246
12472005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1248
1249 * If FUSE is configured in the kernel, don't build it by default
1250
Miklos Szeredi2a927272005-01-07 11:14:15 +000012512005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1252
1253 * Compile fix by Christian Magnusson
1254
Miklos Szeredib6220192005-01-05 16:19:10 +000012552005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1256
1257 * Fix compilation for 2.6.{0-5} kernels
1258
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012592005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1260
1261 * KERNEL: if request is interrupted, still keep reference to used
1262 inode(s) and file, so that FORGET and RELEASE are not sent until
1263 userspace finishes the request.
1264
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001265 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1266 request with the same information, which is more flexible,
1267 simpler, works on embedded systems.
1268
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012692004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1270
1271 * KERNEL ABI: update interface to make it independent of type
1272 sizes. This will help on 64 bit architectures which can run
1273 legacy 32 bit applications.
1274
1275 * KERNEL ABI: add "len" field to request headers. This will allow
1276 sending/receiving requests in multiple chunks.
1277
1278 * KERNEL: handle file type change more intelligently
1279
1280 * LIB: "-o debug" option should disable backgrounding (fix by
1281 Fabien Reygrobellet)
1282
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000012832004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1284
1285 * KERNEL: invalidate dentry/attributes if interrupted request
1286 could leave filesystem in an unknown state.
1287
Miklos Szeredie56818b2004-12-12 11:45:24 +000012882004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1289
1290 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1291 These will cause some regressions, but stability is considered
1292 more important. If any of these features turns out to be
1293 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001294
Miklos Szeredie56818b2004-12-12 11:45:24 +00001295 * Make all requests interruptible (only with SIGKILL currently).
1296 This can be used to break any deadlock produced by the userspace
1297 filesystem accessing it's own exported files. The RELEASE request
1298 is special, because if it's interrupted before sending it to
1299 userspace it is still sent, but the reply is not awaited.
1300
1301 * If request is interrupted before being sent to userspace, and if
1302 it hasn't yet got any side effects, it is always restarted,
1303 regardless of the SA_RESTART flag. This makes these interruptions
1304 transparent to the process.
1305
1306 * Remove shared-writable mmap support, which was prone to an
1307 out-of-memory deadlock situation
1308
1309 * Remove INVALIDATE userspace initiated request
1310
1311 * Make readpages() synchronous. Asynchronous requests are
1312 deadlock prone, since they cannot be interrupted.
1313
1314 * Add readv/writev support to fuse device operations
1315
1316 * Remove some printks, which userspace FS can use for a DoS
1317 against syslog
1318
1319 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1320 fusermount instead
1321
1322 * LIB: improve compatibility with a fuse.h header installed in
1323 ${prefix}/include which in turn includes the real header.
1324
1325 * LIB: improve compatibility by defining fuse_main() (which is now
1326 not used), so old configure scripts find it.
1327
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000013282004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1329
1330 * When mounting on a subdirectory of / don't duplicate slashes at
1331 the beggining of path (spotted by David Shaw)
1332
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000013332004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1334
1335 * Fix bug causing garbage in mount options (spotted by David Shaw)
1336
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000013372004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1338
1339 * Add 'writepage' flag to 'fuse_file_info'.
1340
1341 * More comments in fuse.h
1342
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001343 * Get rid of double underscores
1344
Miklos Szeredi799993c2004-12-04 21:20:05 +000013452004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1346
1347 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1348
1349 * helper.c: add -ho option, which only displays the options not
1350 the usage header. This can be used by filesystems which have
1351 their own options.
1352
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000013532004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1354
1355 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1356 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1357 including the fuse header
1358
1359 * Add binary compatibility to 2.1 version of library with symbol
1360 versioning
1361
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000013622004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1363
1364 * Released 2.1
1365
Miklos Szeredi039322d2004-12-01 18:39:12 +000013662004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1367
1368 * kernel: clean up writing functions
1369
1370 * kernel: no allocation on write in direct_io mode
1371
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001372 * move linux/fuse.h to fuse_kernel.h
1373
Miklos Szeredi83a07442004-11-30 18:25:20 +000013742004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1375
1376 * kernel: clean up reading functions
1377
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000013782004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1379
1380 * kernel: make readpage() uninterruptible
1381
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001382 * kernel: check readonly filesystem flag in fuse_permission
1383
1384 * lib: don't die if version file not found and new style device
1385 exists
1386
1387 * lib: add '-r' option, which is short for '-o ro'
1388
1389 * fusermount: simplify device opening
1390
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001391 * kernel: when direct_io is turend on, copy data directly to
1392 destination without itermediate buffer. More efficient and safer,
1393 since no allocation is done.
1394
1395 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001396
1397 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001398
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000013992004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1400
1401 * libfuse API change: open, read, write, flush, fsync and release
1402 are passed a 'struct fuse_file_info' pointer containing the open
1403 flags (open and release), and the file handle. Verion changed to
1404 3.0.
1405
Miklos Szeredia25d4c22004-11-23 22:32:16 +000014062004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1407
1408 * More cleanups in the kernel
1409
1410 * The 10,229 charater device number has been assigned for FUSE
1411
1412 * Version file checking fix (reported by Christian Magnusson)
1413
1414 * fusermount: opening the fuse device now doesn't need /sys.
1415
1416 * Optimize reading by controlling the maximum readahead based on
1417 the 'max_read' mount option
1418
1419 * fixes for UCLIBC (Christian Magnusson)
1420
Miklos Szeredi13ed4822004-11-20 11:12:21 +000014212004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1422
1423 * Cleaned up kernel in preparation for merge into mainline:
1424
1425 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1426
1427 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1428
1429 * __user annotations for sparse
1430
1431 * allocate individual pages instead of kmalloc in fuse_readdir,
1432 fuse_read and fuse_write.
1433
1434 * Fix NFS export in case "use_ino" mount option is given
1435
Miklos Szeredif3845c42004-11-20 11:18:34 +00001436 * Make libfuse and fusermount compatible with future versions
1437
1438 * fusermount: properly add mount options to /etc/mtab
1439
14402004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1441
1442 * fusermount: do not resolve last component of mountpoint on if it
1443 is '.' or '..'. This new path resolvation is now done on mount as
1444 well as unmount. This enables relative paths to work on unmount.
1445
1446 * fusermount: parse common mount options like "ro", "rw", etc...
1447
1448 * Allow module params to be changed through sysfs
1449
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000014502004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1451
1452 * Released 2.1-pre1
1453
14542004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1455
1456 * Fix bug in fuse_readpages() causing Oops in certain situations.
1457 Bug found by Vincenzo Ciancia.
1458
1459 * Fix compilation with kernels versions > 2.6.9.
1460
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000014612004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001462
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001463 * Check kernel interface version in fusermount to prevent
1464 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001465
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001466 * No need to allocate fuse_conn until actual mount happens
1467
1468 * Fix potential race between umount and fuse_invalidate
1469
1470 * Check superblock of proc file in addition to inode number
1471
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001472 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001473
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014742004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1475
1476 * Separate configure for the kernel directory
1477
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001478 * Don't allow write to return more than 'count'
1479
1480 * Extend kernel interface for future use
1481
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014822004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1483
1484 * Fix 'makeconf.sh' to use autoreconf if available
1485
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000014862004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1487
Miklos Szeredid507c732004-11-08 17:32:25 +00001488 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1489 compatibility with earlier versions. To compile earier versions
1490 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1491 Do not use the "use_ino" mount flag with filesystems compiled with
1492 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001493
1494 * Add pkg-config support. To compile a FUSE based filesystem you
1495 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1496 or similar. Note, that the PKG_CONFIG_PATH environment variable
1497 usually needs to be set to "/usr/local/lib/pkgconfig".
1498
1499 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001500
Miklos Szeredia13d9002004-11-02 17:32:03 +000015012004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1502
1503 * Added "use_ino" mount option. This enables the filesystems to
1504 set the st_ino field on files
1505
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000015062004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1507
1508 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1509 by Jeremy Smith)
1510
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001511 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1512
1513 * Clear the 'exited' flag when mail loop is finished
1514
Miklos Szeredie989f0d2004-10-28 20:24:58 +000015152004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1516
1517 * Make xattr functions work under 2.6 (bug found by Vincenzo
1518 Ciancia)
1519
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000015202004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1521
1522 * Reset request in fuse_flush() (bugreport by David Shaw)
1523
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000015242004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1525
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001526 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001527 error code
1528
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001529 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001530 make it easier to implement a custom event loop.
1531
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001532 * Use daemon() call to background the filesystem after mounting.
1533 This function closes the standard input, output and error and
1534 changes the current working directory to "/".
1535
Miklos Szeredi127d49b2004-10-14 13:33:39 +000015362004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1537
1538 * Released 1.9
1539
Miklos Szeredid45baf42004-10-10 07:56:12 +000015402004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1541
1542 * Don't allow fuse_flush() to be interrupted (bug found by David
1543 Shaw)
1544
Miklos Szeredi1f18db52004-09-27 06:54:49 +000015452004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1546
1547 * Add PID to fuse_context. Patch by Steven James
1548
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001549 * Change file handle type to 'unsigned long' in kernel interface
1550
Miklos Szeredid169f312004-09-22 08:48:26 +000015512004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1552
1553 * A slight API change: fuse_get_context() doesn't need the "fuse"
1554 pointer, but the returned context contains it instead. The
1555 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001556
1557 * Fix mounting and umounting FUSE filesystem under another FUSE
1558 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001559
Miklos Szeredic2309912004-09-21 13:40:38 +000015602004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1561
1562 * Fix deadlock in case of memory allocation failure. Patch by
1563 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001564
Miklos Szeredib2cf9562004-09-16 08:42:40 +000015652004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1566
1567 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001568
Miklos Szeredi65afea12004-09-14 07:13:45 +000015692004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1570
1571 * Check temporary file creation failure in do_getdir(). Bug
1572 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001573
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000015742004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1575
1576 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001577
1578 * Make requests non-interruptible so race with FORGET is avoided.
1579 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001580
1581 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001582
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000015832004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1584
1585 * Fix bug in case two FORGETs for the same node are executed in
1586 the wrong order. Bug spotted and endured for months by Franco
1587 Broi, and logfile for solution provided by Terje Oseberg
1588
Miklos Szeredi12085102004-09-02 18:13:57 +000015892004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1590
1591 * Add -D_REENTRANT to the compile flags
1592
1593 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001594
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000015952004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1596
1597 * Change release method to be non-interruptible. Fixes bug
1598 causing missing release() call when program which has opened files
1599 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001600
Miklos Szeredi891b8742004-07-29 09:27:49 +000016012004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1602
1603 * Add fuse_invalidate() to library API
1604
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000016052004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1606
1607 * Check permissions in setattr if 'default_permissions' flag is
1608 set. Bug spotted by Damjan Lango
1609
Miklos Szeredid66d3942004-07-24 13:47:44 +000016102004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1611
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001612 * 'large_read' mount option removed for 2.6 kernels, since the
1613 default (dynamic read size) is better
1614
1615 * Extend kernel API with file handles. A file handle is returned
1616 by open, and passed to read, write, flush, fsync and release.
1617 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001618
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001619 * Security changes:
1620
1621 * Change the current directory to the mountpoint before checking
1622 the permissions and mount filesystem on "."
1623
1624 * By default don't modprobe the fuse module for non-root. The old
1625 behavior can be restored with the '--enable-auto-modprobe' flag of
1626 ./configure
1627
1628 * By default don't allow shared writable mappings for non-root.
1629 The old behavior can be restored with the 'user_mmap=1' module
1630 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001631
Miklos Szeredibd7661b2004-07-23 17:16:29 +000016322004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1633
1634 * Clean up mount option passing to fusermount and to fuse_new()
1635 BEWARE: this changes the userspace API slightly, and the command
1636 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001637
Miklos Szeredi58865372004-07-20 14:22:26 +000016382004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1639
1640 * Optimize reading under 2.6 kernels by issuing multiple page
1641 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001642
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000016432004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1644
1645 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001646
Miklos Szeredi069c9502004-07-16 16:17:02 +000016472004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1648
1649 * Separate directory entry and inode attribute validity timer
1650
1651 * New write semaphore to stop page writeback during truncate
1652
1653 * Fsync now waits for all writes to complete before sending the
1654 request
1655
1656 * Optimization: if a page is completely written by
1657 fuse_commit_write(), clear the dirty flag and set the uptodate
1658 flag for that page
1659
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001660 * Some memory cleanup at exit
1661
Miklos Szeredi2529ca22004-07-13 15:36:52 +000016622004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1663
1664 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001665 disable the "hide if open" behavior of unlink/rename.
1666
1667 * If temporary buffer allocation fails in raw read, fall back to a
1668 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001669
Miklos Szeredi73798f92004-07-12 15:55:11 +000016702004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1671
1672 * Fix bug in do_open() in libfuse: open count was incremented
1673 after the reply is sent so it could race with unlink/forget and
1674 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001675
Miklos Szeredi015fe702004-07-12 11:52:24 +000016762004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1677
1678 * When performing create or remove operation, refresh the parent's
1679 attributes on next revalidate, as i_nlink (and maybe size/time)
1680 could be inacurate.
1681
1682 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1683 pages (2.6 only)
1684
1685 * Set set_page_dirty address space operation (2.6 only)
1686
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016872004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001688
1689 * Minor fix in read: print debug info even if read size is zero
1690
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016912004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001692
1693 * Fix race between truncate and writepage (fsx-linux now runs
1694 without error)
1695
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016962004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001697
1698 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1699 by Mattias Wadman)
1700
1701 * Added option for direct read/write (-r)
1702
1703 * Fix revalidate time setting for newly created inodes
1704
Miklos Szerediacb4d362004-07-02 16:20:45 +00001705 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1706 this)
1707
1708 * fuse_main() only installs handlers for signals (out of INT, HUP,
1709 TERM, PIPE), for which no handler has yet been installed
1710
1711 * Add module option 'user_allow_other' which if set to non-zero
1712 will allow non root user to specify the 'allow_other' mount option
1713 ('-x' option of fusermount)
1714
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001715 * Fix deadlock between page writeback completion and truncate
1716 (bug found by Valient Gough with the fsx-linux utility)
1717
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017182004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001719
1720 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001721 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1722 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017242004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001725
1726 * Acquire inode->i_sem before open and release methods to prevent
1727 concurrent rename or unlink operations.
1728
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001729 * Make __fuse_read_cmd() read only one command. This allows
1730 multiplexing the fuse file descriptor with other event sources
1731 using select() or poll() (patch by Jeff Harris)
1732
1733 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1734
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017352004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001736
1737 * Fix file offset wrap around at 4G when doing large reads
1738
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017392004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001740
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001741 * Fix memory leak in open (Valient Gough)
1742
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017432004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001744
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001745 * Add "close after delete" support to libfuse (patch by Valient
1746 Gough)
1747
1748 * Cancel all worker threads before exit in multithreaded mode
1749
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017502004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001751
1752 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001753
1754 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001755
1756 * Work with newer libtool (1.5a)
1757
1758 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001759
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017602004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001761
1762 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001763
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017642004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001765
1766 * Fix possible inode leak in userspace in case of unfinished
1767 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001768
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017692004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001770
1771 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001772
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017732004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001774
1775 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001776
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017772004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001778
1779 * Build shared library as well as static (using libtool)
1780
1781 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1782 there has not been a release with the previous minor number, and I
1783 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001784
1785 * Change fuse_main(), so that default behavior is to go into
1786 background if mount is successful. '-f' and '-d' options disable
1787 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1788 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001789
1790 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1791 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001792
1793 * Don't call getdir method from open() only from first readdir().
1794 Open is sometimes just used to store the current directory
1795 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001796
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017972004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001798
1799 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001800
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018012004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001802
1803 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001804
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018052004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001806
1807 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001808
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018092004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001810
1811 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001812
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018132004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001814
1815 * Replaced binary mount data with text options
1816
1817 * Show FUSE specific mount options in /proc/mounts
1818
1819 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1820
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018212004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001822
1823 * Check some limits so userspace won't get too big requests
1824
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018252004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001826
1827 * Kill compile warning
1828
1829 * Upgraded user-mount patch for 2.6.5
1830
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018312004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001832
1833 * Add detection of user-mode-linux to configure
1834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018352004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001836
1837 * fixed zero size case for getxattr and listxattr
1838
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018392004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001840
1841 * new fusermount flag '-z': lazy unmount, default is not lazy
1842
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001843 * Extended attributes operations added (getxattr, setxattr,
1844 listxattr, removexattr)
1845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018462004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001847
1848 * If filesystem doesn't define a statfs operation, then an
1849 all-zero default statfs is returned instead of ENOSYS
1850
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018512004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001852
1853 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1854
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018552004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001856
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001857 * Fix for uClinux (Christian Magnusson)
1858
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018592004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001860
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001861 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001862
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001863 * More kernel interface changes:
1864
1865 * Lookup/getattr return cache timeout values
1866
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018672004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001868
1869 * Clean up option parsing in fuse_main()
1870
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001871 * Added fuse_get() function which returns the fuse object created
1872 by fuse_main()
1873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018742004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001875
Miklos Szeredic40748a2004-02-20 16:38:45 +00001876 * removed old way of mounting (fusermount mountpoint program)
1877
Miklos Szeredib5958612004-02-20 14:10:49 +00001878 * more kernel interface changes:
1879
1880 * added nanosecond precision to file times
1881
Miklos Szeredic40748a2004-02-20 16:38:45 +00001882 * removed interface version from mount data
1883
1884 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1885
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018862004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001887
1888 * statfs library API changed to match other methods. Since this
1889 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1890
Miklos Szeredi76f65782004-02-19 16:55:40 +00001891 * kernel interface changes follow:
1892
1893 * statfs changed to 64 bits, added 'bavail' field
1894
1895 * add generation number to lookup result
1896
1897 * optimized mknod/mkdir/symlink/link (no separate lookup is
1898 needed)
1899
1900 * rdev size increased to 32 bits for mknod
1901
1902 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001903
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019042004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001905
1906 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001907
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019082004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001909
1910 * Added user-mount.2.6.2-rc3.patch
1911
1912 * Add FS_SAFE flag to fuse filesystem
1913
1914 * fusermount should allow (un)mounting for non-root even if not
1915 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001916
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019172004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001918
1919 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001920
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019212004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001922
1923 * Added check for i_size_read/write functions to configure.in
1924 (patch by Valient Gough)
1925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019262004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001927
1928 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001929
1930 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001931
1932 * Readpage calls flush_dcache_page() after storing data
1933
1934 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001935
1936 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001937
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019382004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001939
1940 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001941
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019422004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001943
1944 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001945
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019462004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001947
1948 * Added -q option for fusermount
1949
1950 * fuse_unmount() now uses -q option of fusermount, so no error is
1951 printed if the cause of the program exit is that the filesystem
1952 has already been unmounted
1953
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001954 * Fix i_nlink correctness after rmdir/unlink
1955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019562004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001957
Miklos Szeredib1158392004-01-26 14:43:12 +00001958 * Released 1.1-pre2
1959
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019602004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001961
Miklos Szeredi307242f2004-01-26 11:28:44 +00001962 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001963
1964 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019662004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001967
1968 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019702004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001971
1972 * Write all pending data before a RELEASE operation
1973
1974 * Suppress 'Bad file descriptor' warning on exit
1975
1976 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001977 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001978
Miklos Szeredib1158392004-01-26 14:43:12 +00001979 * New fusermount option '-l' which enables big reads. Big reads
1980 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001981
1982 * fuse_main() can accept fusermount arguments after a '--'
1983
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019842004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001985
1986 * Support for exporting filesystem over NFS (see README.NFS)
1987
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019882004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001989
1990 * Support non-blocking writepage on 2.6. This makes FUSE behave
1991 much more nicely in low-memory situations
1992
1993 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1994 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001995
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019962004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001997
1998 * Code cleanups
1999
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020002004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002001
2002 * Released 1.1-pre1
2003
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020042004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002005
2006 * Integrated 2.6 kernel support patch by Michael Grigoriev
2007
2008 * Improvements and cleanups for 2.6 kernels
2009
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020102004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002011
Miklos Szeredie5183742005-02-02 11:14:04 +00002012 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002013
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020142003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002015
2016 * Added major+minor version to library API, and minor version to
2017 kernel API
2018
David McNab7a19caf2003-12-13 02:05:46 +000020192003-12-13 David McNab <david@rebirthing.co.nz>
2020
2021 * Implemented fsync support in examples/example.py
2022
2023 * Implemented 'fsync' and 'statfs' methods in python
2024 interface
2025
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020262003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002027
Miklos Szeredie5183742005-02-02 11:14:04 +00002028 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002029
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002030 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002031
David McNab8bf62632003-12-11 22:49:22 +000020322003-12-12 David McNab <david@rebirthing.co.nz>
2033
2034 * Added distutils support to the python module, as per standard
2035 python development practice
2036
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020372003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002038
2039 * Add file locking for mount/unmount (based on patch by Valient
2040 Gough)
2041
20422003-12-11 David McNab <david@rebirthing.co.nz>
2043
2044 * Python filesystem - was broken with python2.3, now fixed:
2045 - changed PyTuple_* calls to PySequence_*, because os.lstat
2046 is no longer returning a pure tuple
2047 - changed PyInt_Check() calls to also call PyLong_Check,
2048 to cover for cases (eg os.lstat) where longs are returned
2049 - Added support for file 'release' handling, which IMO is
2050 essential since this signals to a FS that writes to a file
2051 are complete (and therefore the file can now be disposed of
2052 meaningfully at the python filesystem's discretion)
2053 - Added '__init__' handler to base Fuse class, which allows
2054 your Python class to know the mountpoint and mount args,
2055 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002056
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002057 * General:
2058 - added 'mount.fuse' script (in util/ dir), which is meant to be
2059 symlinked from /sbin, and which allows FUSE filesystems to
2060 be mounted with the 'mount' command, and listed in fstab;
2061 also, mount arguments get passed to your filesystem
2062
2063
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020642003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002065
2066 * Fix kernel version detection (again). Bugreport by Peter Levart
2067
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020682003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002069
2070 * Applied read combining patch by Michael Grigoriev (tested by
2071 Valient Gough and Vincent Wagelaar)
2072
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020732003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002074
2075 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2076 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002077
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020782003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002079
2080 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002081
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020822003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002083
2084 * kernel version detection fix
2085
2086 * fusermount now uses "lazy" umount option
2087
2088 * fusermount can use modprobe with module-init-tools
2089
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020902003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002091
2092 * Integrated caching patch by Michael Grigoriev
2093
Miklos Szeredida4e4862003-09-08 11:14:11 +00002094 * Added "Filesystems" file with descriptions of projects using
2095 FUSE
2096
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002097 * Added patch by Michael Grigoriev to allow compliation of FUSE
2098 kernel module for 2.6 kernels
2099
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021002003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002101
2102 * And another spec-file fix by Achim Settelmeier
2103
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021042003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002105
2106 * Spec-file fix by Achim Settelmeier
2107
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021082003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002109
Miklos Szerediac361172004-11-02 19:14:14 +00002110 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002111
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021122003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002113
2114 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2115
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021162003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002117
2118 * Updated fuse.spec file (Achim Settelmeier)
2119
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021202003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002121
2122 * Version 1.0 released
2123
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021242003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002125
2126 * SuSE compilation fix by Juan-Mariano de Goyeneche
2127
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021282002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002129
2130 * The release() VFS call is now exported to the FUSE interface
2131
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021322002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002133
2134 * 64 bit file offset fixes in the fuse kernel module
2135
2136 * Added function 'fuse_exit()' which can be used to exit the main
2137 loop
2138
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021392002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002140
2141 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2142 an incompatible interface change.
2143
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021442002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002145
2146 * Portablility fix (bug reported by C. Chris Erway)
2147
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021482002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002149
2150 * Use Mark Glines' fd passing method for default operation instead
2151 of old reexec
2152
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021532002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002154
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002155 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2156
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021572002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002158
Miklos Szeredi60c23522002-10-24 09:19:43 +00002159 * fix incompatiblity with Red Hat kernels, with help from Nathan
2160 Thompson-Amato.
2161
Mark Glines65ba2192002-04-18 14:41:48 +000021622002-04-18 Mark Glines <mark@glines.org>
2163
2164 * added an alternative to fuse_mount(), called
2165 fuse_mount_ioslave(), which does not need to reexec the
2166 FUSE program.
2167 * added a small helper util needed by fuse_mount_ioslave().
2168
Mark Glines220635a2002-03-17 07:01:14 +000021692002-03-16 Mark Glines <mark@glines.org>
2170
2171 * use struct fuse_statfs everywhere possible to avoid problems
2172 with the headerfiles changing struct statfs member sizes
2173
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021742002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002175
2176 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2177
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021782002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002179
2180 * RPM support by Achim Settelmeier
2181
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021822002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002183
Miklos Szerediddc862a2002-01-09 13:46:10 +00002184 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002185
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021862002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002187
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002188 * Revaidate all path components not just the last, this means a
2189 very small performance penalty for being more up-to-date.
2190
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021912002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002192
2193 * Update and fix python interface
2194
Mark Glinesd84b39a2002-01-07 16:32:02 +000021952002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002196
Mark Glinesd84b39a2002-01-07 16:32:02 +00002197 * Added statfs() support to kernel, lib, examples, and perl!
2198
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021992001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002200
2201 * Better cross compilation support
2202
2203 * Ported to Compaq IPAQ
2204
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022052001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002206
Miklos Szeredife25def2001-12-20 15:38:05 +00002207 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002208 patch from Matt Ryan)
2209
Miklos Szeredife25def2001-12-20 15:38:05 +00002210 * Added flags to fusermount and to kernel interface to control
2211 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002212
Miklos Szeredife25def2001-12-20 15:38:05 +00002213 * Integrated fuse_set_operations() into fuse_new()
2214
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022152001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002216
2217 * Applied header protection + extern "C" patch by Roland
2218 Bauerschmidt
2219
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022202001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002221
Miklos Szeredie5183742005-02-02 11:14:04 +00002222 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002223
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022242001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002225
2226 * Cleaned up way of mounting simple filesystems.
2227
2228 * fuse_main() helper function added
2229
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022302001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002231
Miklos Szeredife25def2001-12-20 15:38:05 +00002232 * Optimized read/write operations, so that minimal copying of data
2233 is done
2234
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022352001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002236
2237 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002238
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022392001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002240
2241 * Fixed vfsmount reference leak in fuse_follow_link
2242
2243 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2244 userspace is ignored
2245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022462001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002247
Miklos Szeredife25def2001-12-20 15:38:05 +00002248 * Started ChangeLog