blob: 5e86b3b3394d2525084da3c54af3df9a762b44a3 [file] [log] [blame]
Miklos Szeredid6f8db72006-10-13 09:54:24 +000012006-10-13 Miklos Szeredi <miklos@szeredi.hu>
2
Miklos Szeredibcfa4162006-10-13 19:48:19 +00003 * kernel: Fix compilation on patched 2.6.18 (fc6) and 2.6.19.
Miklos Szeredid6f8db72006-10-13 09:54:24 +00004 Report from David Shaw
5
Miklos Szeredi744f9d52006-10-13 20:04:46 +00006 * lib: Fix lost error on renaming a file. Report from David Shaw
7
8 * lib: Fix lost error on hiding open files (renaming to
9 .fuse_hiddenXXXX)
Miklos Szeredibcfa4162006-10-13 19:48:19 +000010
11 * kernel: Fix a rare hang on SMP/32bit on heavy filesystem
12 activity. The cause of the bug was that some calls to
13 i_size_write() were not protected by a lock, and hence
14 i_size_seqcount could become corrupted. This caused subsequent
15 calls to i_size_read() to spin forever. This is a long standing
16 bug was probably introduced in version 2.2, and thought to be
17 related to NFS exporting (it's not). It was reported by various
18 people, but Dana Henriksen has finally helped me to track it down,
19 so big thanks to him
20
21 * kernel: Protect against truncation of a swapfile
22
Miklos Szeredi856e5cb2006-10-11 05:44:55 +0000232006-10-10 Miklos Szeredi <miklos@szeredi.hu>
24
25 * kernel: Check for signature of super_operations->umount_begin().
26 Ubuntu kernel 2.6.17 seems to use the new signature found in
27 2.6.18. Thanks to Florent Mertens for the report
28
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +0000292006-10-08 Miklos Szeredi <miklos@szeredi.hu>
30
31 * Make sure inode numers wrap around at 2^32. This is needed on
32 dual 64bit/32bit architectures, because 32bit applications using
33 the non-largefile interface would otherwise break (EOVERFLOW error
34 would be returned by the stat() system call family)
35
36 * ulockmgr: handle the case, when a locking operation fails
37 because no more file desctriptors are available in
38 ulockmgr_server. Also work around a Linux kernel bug (known to
Miklos Szeredi53eec2a2006-10-10 18:53:38 +000039 exist for all Linux kernel versions <= 2.6.18) which may cause
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +000040 sent file descriptors to be lost in the above case
41
42 * ulockmgr: optimize file descriptor use
43
44 * restore needed cpp flags to util/Makefile.am
45
46 * Install udev rules as 99-fuse.rules instead of 60-fuse.rules
47
48 * Minor clean up of udev rules
49
Miklos Szeredib9ea32f2006-10-08 17:35:40 +000050 * Add a synchronous DESTROY message to kernel interface. This is
51 invoked from umount, when the final instance of the filesystem is
52 released. It is only sent for filesystems mounted with the
53 'blkdev' option for security reasons.
54
55 * If the DESTROY message is received, call the filesystem's
56 ->destroy() method. In this case it's not called from session
57 destruction as it would be otherwise.
58
Miklos Szeredi4003dfa2006-10-01 13:46:02 +0000592006-10-01 Miklos Szeredi <miklos@szeredi.hu>
60
Miklos Szerediff1e0d42006-10-01 14:42:02 +000061 * Released 2.6.0-rc2
62
632006-10-01 Miklos Szeredi <miklos@szeredi.hu>
64
Miklos Szeredi4fca4322006-10-01 14:41:04 +000065 * Add support for FLUSH+RELEASE operation for FreeBSD. Original
66 patch by Csaba Henk
67
Miklos Szeredi4003dfa2006-10-01 13:46:02 +000068 * Add init script to insert fuse module and mount the control
69 filesystem. The script is installed as /etc/init.d/fuse and on
70 debian based systems (where update-rc.d is available) symlinks
71 from /etc/rc*.d/ are also installed.
72
73 * Include '#define FUSE_USE_VERSION=XX' into examples so they
74 become more self contained.
75
Miklos Szeredi6cf952a2006-09-30 07:39:33 +0000762006-09-30 Miklos Szeredi <miklos@szeredi.hu>
77
Miklos Szeredi07407852006-09-30 20:03:52 +000078 * API changes:
79
80 * Move lock_owner from a separate argument into fuse_file_info
81
82 * Add a flag to fuse_file_info indicating (1) a highlevel lock
83 operation (unlock all) was initiated by a flush, (2) a lowlevel
84 release operation should perform a flush as well.
85
Miklos Szeredi004a8c72006-09-30 16:41:12 +000086 * fusermount: revert modprobe change (2006-08-18) since it
87 doesn't work reliably with udev
88
Miklos Szeredi708b4812006-09-30 16:02:25 +000089 * Add support for block device backed filesystems. This mode is
90 selected with the 'blkdev' option, which is privileged.
91
92 * Add support for the bmap (FIBMAP ioctl) operation on block
93 device backed filesystems. This allows swapon and lilo to work on
94 such filesystems.
95
Miklos Szeredid93a4292006-09-30 12:21:49 +000096 * kernel changes:
97
Miklos Szeredi6cf952a2006-09-30 07:39:33 +000098 * Drop support for kernels earlier than 2.6.9. Kernel module from
99 previous (2.5.x) release can be used with library from this
100 release
101
Miklos Szeredid93a4292006-09-30 12:21:49 +0000102 * In fuse_dentry_revalidate() use dget_parent() instead of
103 dereferencing d_parent, since there's no protection against parent
104 changing and going away
105
106 * Protect nlookup from concurrent updates
107
108 * In lookup if a directory alias exists but is unused,
109 then get rid of it, otherwise return -EBUSY.
110
111 * In mkdir if a directory alias exists, return success, but leave
112 dentry negative. In reality this could happen if a remote rename
113 immediately followed the mkdir.
114
115 * Don't BUG in fuse_iget() if multiple retries are needed to get a
116 good inode. This could happen if several lookups are racing for
117 the same inode.
118
Miklos Szeredi40ec1752006-09-30 06:17:31 +00001192006-09-29 Miklos Szeredi <miklos@szeredi.hu>
120
121 * Fix compilation on 2.6.9. Report from Troy Ayers
122
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001232006-09-27 Miklos Szeredi <miklos@szeredi.hu>
124
125 * Fix Oops in fuse_readpages(). Reported by David Shaw
126
Csaba Henk3e3a1252006-09-24 14:53:29 +00001272006-09-24 Csaba Henk <csaba.henk@creo.hu>
128
129 * Add support for nanosec times on FreeBSD
130
131 * Fix FreeBSD compatibility issues
132
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001332006-09-23 Miklos Szeredi <miklos@szeredi.hu>
134
135 * Fix one more compatibility bug. Thanks to Ricardo Correia
136
137 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
138
Miklos Szeredieafdf422006-09-22 19:30:17 +00001392006-09-22 Miklos Szeredi <miklos@szeredi.hu>
140
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000141 * Fixed several compatibility bugs in low level interface.
142 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +0000143
144 * Add workaround for ARM caching bug
145
Miklos Szeredic3b76812006-09-16 08:52:09 +00001462006-09-16 Miklos Szeredi <miklos@szeredi.hu>
147
148 * Rename new utimes() method to more logical utimens()
149
1502006-09-14 Miklos Szeredi <miklos@szeredi.hu>
151
152 * Fuse tried to unlink already unlinked hidden files. Bug
153 reported by Milan Svoboda
154
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +00001552006-09-10 Miklos Szeredi <miklos@szeredi.hu>
156
157 * Released 2.6.0-rc1
158
1592006-09-10 Miklos Szeredi <miklos@szeredi.hu>
160
161 * kernel: Fix unlock on close for kernels < 2.6.18
162
163 * Add ulockmgr library & server. This can be used for handling
164 file locking requests either directly from libfuse or over a
165 network, etc. This first version is not optimized and the number
166 of file descriptors it uses may get out of hand
167
Miklos Szeredi288ed4e2006-09-07 06:02:44 +00001682006-09-07 Miklos Szeredi <miklos@szeredi.hu>
169
170 * lib: Add interrupt support to high level library, which may be
171 enabled with the 'intr' mount option.
172
173 * When an operation is interrupted the thread handling that
174 operation will receive SIGUSR1 (or other signal specified with the
175 'intr_signal=N' option). The library installs a no-op signal
176 handler for this signal, unless there's already a handler
177 installed.
178
179 * The filesystem may query interrupt status (regardless of 'intr')
180 with the fuse_interrupted() function.
181
Miklos Szeredid8588412006-09-07 06:08:56 +0000182 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
183
Miklos Szeredi38f152c2006-09-03 18:28:52 +00001842006-09-03 Miklos Szeredi <miklos@szeredi.hu>
185
186 * lib: Multithreaded loop now allows unlimited number of threads.
187 This is needed for locking operations which may block
188 indefinitely. Also the kernel now doesn't limit the number of
189 outstanding requests so the library shouldn't do so either.
190
Miklos Szeredifa440772006-09-02 09:51:08 +00001912006-09-01 Miklos Szeredi <miklos@szeredi.hu>
192
193 * Fix recursive lock bug in interrupt handling
194
195 * Add utimes() method to highlevel interface, which supports
196 setting times with nanosecond resolution
197
Miklos Szeredi63d3c402006-08-18 16:38:08 +00001982006-08-18 Miklos Szeredi <miklos@szeredi.hu>
199
200 * kernel: fix page leak if fuse_readpages() failed in it's
201 initialization. Bug found and original patch from Alexander
202 Zarochentsev
203
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000204 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
205 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000206 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000207
Miklos Szeredi543087d2006-08-18 19:26:23 +0000208 * fusermount: try to modprobe fuse module if invoked by root and
209 unable to open device. This is needed with udev, since the device
210 node will be created only when the module is inserted, hence
211 module autoloading won't work. Reported by Szakacsits Szabolcs
212
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002132006-07-30 Miklos Szeredi <miklos@szeredi.hu>
214
215 * fusermount: if selinux is active, restore the original file's
216 security context in unmount_rename(). Redhat bugzilla id 188561.
217 Patch from Yves Perrenoud
218
219 * Add POSIX file locking operation to high level library
220
Miklos Szerediad519562006-07-31 11:07:40 +0000221 * Initialize context for unlink of hidden files on umount. Bug
222 reported by Tim Stoakes
223
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002242006-07-14 Miklos Szeredi <miklos@szeredi.hu>
225
226 * Multiple release() calls can race with each other, resulting in
227 the hidden file being deleted before the last release finishes.
228 Bug found and patch tested by Mark Huijgen
229
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00002302006-07-05 Miklos Szeredi <miklos@szeredi.hu>
231
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000232 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
233 this makes sense on systems using udev. Reported by Szakacsits
234 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000235
Miklos Szeredi91762cd2006-06-29 14:38:35 +00002362006-06-29 Miklos Szeredi <miklos@szeredi.hu>
237
238 * Released 2.6.0-pre3
239
2402006-06-29 Miklos Szeredi <miklos@szeredi.hu>
241
242 * Support in kernel module for file locking and interruption. The
243 same functionality is available in official kernels >= 2.6.18
244
Miklos Szeredib052a1a2006-06-28 14:51:20 +00002452006-06-28 Miklos Szeredi <miklos@szeredi.hu>
246
247 * Add POSIX file locking support
248
249 * Add request interruption
250
Miklos Szeredi55a84102006-06-06 10:16:38 +00002512006-06-06 Miklos Szeredi <miklos@szeredi.hu>
252
253 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
254
Miklos Szeredi9dedb702006-06-06 09:48:30 +00002552006-06-05 Remy Blank <remy.blank@pobox.com>
256
257 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
258 unmounting succeeds even if mount point was relative.
259
Csaba Henkd021ce42006-06-03 23:04:18 +00002602006-06-04 Csaba Henk <csaba.henk@creo.hu>
261
262 * lib: fix emergency umount in helper.c when malloc fails.
263 (The way it was done would end up in a segfault.)
264
Csaba Henk4f5c7b42006-06-01 14:19:17 +00002652006-06-01 Csaba Henk <csaba.henk@creo.hu>
266
267 * lib: adjust threading related compiler flags.
268 Switch to "-pthread" from "-lpthread" as that's the preferred
269 one on several platforms. Consulted with Terrence Cole and
270 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000271
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00002722006-05-08 Miklos Szeredi <miklos@szeredi.hu>
273
274 * lib: search fusermount in installation directory (bindir) as
275 well as in PATH.
276
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00002772006-05-03 Miklos Szeredi <miklos@szeredi.hu>
278
279 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
280 Reported by Christian Magnusson
281
Csaba Henk2efe48f2006-04-22 22:46:52 +00002822006-04-23 Csaba Henk <csaba.henk@creo.hu>
283
284 * lib: make FreeBSD mount routine recognize if kernel features
285 backgrounded init and if it does, run the mount util in foreground
286 (similarly to Linux)
287
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00002882006-04-21 Miklos Szeredi <miklos@szeredi.hu>
289
290 * kernel: fix fput deadlock fix, the lockless solution could lead
291 to "VFS: busy inodes after umount..."
292
293 * kernel: fix race between checking and setting file->private_data
294 for the device. Found by Al Viro
295
2962006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000297
298 * kernel: remove request pool, instead allocate requests on
299 demand. Account the number of background requests, and if they go
300 over a limit, block the allocation of new requests.
301
302 * kernel: fix deadlock if backgrounded request holds the last
303 reference to the super block
304
305 * kernel: don't use fuse_reset_request() during direct I/O
306
Csaba Henkbaa49d22006-04-06 00:12:44 +00003072006-04-06 Csaba Henk <csaba.henk@creo.hu>
308
309 * lib: Let FreeBSD mount option parsing routine recognize "no"
310 prefixes for FUSE specific options as well
311
Miklos Szeredid0a777a2006-04-05 07:18:00 +00003122006-04-01 Miklos Szeredi <miklos@szeredi.hu>
313
314 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
315
Miklos Szeredi6f385412006-03-17 15:05:40 +00003162006-03-17 Miklos Szeredi <miklos@szeredi.hu>
317
318 * API changes:
319
320 * fuse_main(), fuse_setup() and fuse_new() have an additionl
321 user_data parameter
322
323 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
324 file descriptor
325
326 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
327 destroys the given channel
328
329 * fuse_teardown() no longer has a file descriptor parameter
330
331 * new exported functions: fuse_session_remove_chan(),
332 fuse_get_session(), fuse_daemonize()
333
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000334 * fuse_chan_recv() may now return a new channel which will be used
335 to send the reply
336
Miklos Szeredif51e43f2006-03-16 14:19:25 +00003372006-03-16 Miklos Szeredi <miklos@szeredi.hu>
338
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000339 * Released 2.6.0-pre2
340
3412006-03-16 Miklos Szeredi <miklos@szeredi.hu>
342
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000343 * Don't unmount if already unmounted. This fixes a problem seen
344 in the following situation: Lazy unmount a busy filesystem; Mount
345 a new one in top; When the first finally unmounts, the second also
346 unmounts. Reported by Franco Broi
347
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00003482006-03-15 Miklos Szeredi <miklos@szeredi.hu>
349
350 * lowlevel lib: use indirect function calls instead of a
351 switch/case construct. Besides increased efficiency it helps
352 maintainability & readability too. Patch from Florin Malita
353
Miklos Szeredi67d26d42006-03-13 17:39:56 +00003542006-03-13 Miklos Szeredi <miklos@szeredi.hu>
355
356 * kernel: replace global spinlock with a per-connection spinlock
357
Miklos Szeredi87c77932006-03-10 10:18:20 +00003582006-03-10 Miklos Szeredi <miklos@szeredi.hu>
359
360 * Fix source compatibility breakage for fuse_unmount(). Report
361 from Yura Pakhuchiy
362
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00003632006-03-02 Miklos Szeredi <miklos@szeredi.hu>
364
365 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
366
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00003672006-03-01 Miklos Szeredi <miklos@szeredi.hu>
368
369 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
370 Jeff Dike
371
372 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
373 interface to return -errno in case of error.
374
Csaba Henkee588c02006-03-01 09:40:35 +00003752006-03-01 Csaba Henk <csaba.henk@creo.hu>
376
377 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
378 FreeBSD implementation so that it uses libc (sysctl backed) instead
379 of an embdedded script (kmem backed). Adjust the control flow of
380 hello_ll so that device doesn't get closed before unmount attempt.
381
Miklos Szerediaa8258e2006-02-25 14:42:03 +00003822006-02-25 Miklos Szeredi <miklos@szeredi.hu>
383
384 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
385 implement method. This is needed on FreeBSD, and nicer on Linux
386 too. Highlevel lib already did this. Reported by Csaba Henk
387
388 * Fix negative entry handling. There was a bug, that negative
389 lookups with timeouts (nodeid == 0) returned -EIO.
390
3912006-02-23 Miklos Szeredi <miklos@szeredi.hu>
392
393 * Fix race between RELEASE and UNLINK, which might leave
394 .fuse_hidden* files around
395
Miklos Szeredi6bab4802006-02-21 18:31:29 +00003962006-02-21 Miklos Szeredi <miklos@szeredi.hu>
397
398 * fusexmp_fh: implement flush() method and call close() on the
399 open file descriptor. This is needed if used on an NFS
400 filesystem, which buffers data until file is closed. Franco Broi
401 spotted the situation when 'cp -p' failed to set the modification
402 time because of this.
403
Miklos Szeredie109e282006-02-20 11:06:20 +00004042006-02-20 Miklos Szeredi <miklos@szeredi.hu>
405
406 * Released 2.6.0-pre1
407
Miklos Szeredib67f2162006-02-20 10:55:33 +00004082006-02-19 Miklos Szeredi <miklos@szeredi.hu>
409
410 * libfuse: fix use-after-free bug in interruptred reply_entry().
411 Patch from John Muir
412
413 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
414 ID: 352631. Found by Stéphane Rosi
415
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00004162006-02-17 Miklos Szeredi <miklos@szeredi.hu>
417
418 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
419 into a single function fuse_add_direntry(). This cleans up the
420 interface and makes it possible to do stacking.
421
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00004222006-02-16 Miklos Szeredi <miklos@szeredi.hu>
423
424 * Fix rare race betweeen abort and release caused by failed iget()
425 in fuse_create_open().
426
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000427 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
428 own attribute caching.
429
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00004302006-02-15 Miklos Szeredi <miklos@szeredi.hu>
431
432 * Work around FreeBSD runtime linker "feature" which binds an old
433 version of a symbol to internal references if the symbol has more
434 than one version. This resulted in infinite recursion in
435 fuse_lowlevel_new_compat25().
436
Csaba Henkdcce3e52006-02-10 06:22:15 +00004372006-02-10 Csaba Henk <csaba.henk@creo.hu>
438
439 * Refine clock_gettime() querying so that linker options
440 shall be set as it's appropriate for the target platform.
441
Miklos Szeredi390ae312006-02-10 16:44:34 +00004422006-02-09 Miklos Szeredi <miklos@szeredi.hu>
443
444 * Fix udev rule syntax. Reported by Nix
445
Miklos Szeredieb643582006-02-08 10:54:02 +00004462006-02-08 Miklos Szeredi <miklos@szeredi.hu>
447
448 * In some cases udev rule seems to be ineffective when installed
449 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
450
Miklos Szeredi357529c2006-02-03 09:20:31 +00004512006-02-03 Miklos Szeredi <miklos@szeredi.hu>
452
453 * Fix compilation when build directory is different from source
454 directory. Reported by Frédéric L. W. Meunier
455
Miklos Szeredice28c7e2006-02-02 14:59:05 +00004562006-02-02 Miklos Szeredi <miklos@szeredi.hu>
457
458 * Fix even bigger bug introduced in fix for request_end() on
459 2006-01-14. Reported by Gal Rosen
460
Miklos Szeredi320abe42006-01-30 18:14:51 +00004612006-01-30 Miklos Szeredi <miklos@szeredi.hu>
462
463 * highlevel-lib: add 'auto_cache' option. This caches file data
464 based on modification time and size
465
Miklos Szeredi065f2222006-01-20 15:15:21 +00004662006-01-20 Miklos Szeredi <miklos@szeredi.hu>
467
Miklos Szeredid66b7282006-02-02 15:15:21 +0000468 * Sanitize storage type and help message in mount_bsd.c. Patch
469 from Csaba Henk
470
Miklos Szeredi065f2222006-01-20 15:15:21 +0000471 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
472 FUSE_OPT_KEY_DISCARD
473
474 * Add options 'max_readahead', 'sync_read' and 'async_read'
475
476 * Kernel ABI version 7.6:
477
478 * Negotiate the 'max_readahead' value and 'async_read' flags with
479 userspace in the INIT method
480
481 * Add connection info to ->init() methods to both lowlevel and
482 highlevel API
483
484 * Fall back to synchronous read() behavior if either library or
485 userspace filesystem is using the old interface version. This is
486 needed so non-updated filesystems won't be confused by the
487 different read() behavior
488
4892006-01-19 Miklos Szeredi <miklos@szeredi.hu>
490
491 * lib: if "fsname=" option was given, pass it to fusermount
492
493 * fuse_opt: add new fuse_opt_insert_arg() function, which is
494 needed by filesystems to implement some argument manipulations
495 correctly
496
497 * fuse_opt: fix memory leak in handling "--" option
498
4992006-01-18 Miklos Szeredi <miklos@szeredi.hu>
500
501 * kernel: fix detection of case when fuse is not configured into
502 the kernel either as module or built-in
503
504 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
505 'template' structure member to 'templ'. Reported by Takashi Iwai
506
507 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
508
509 * kernel: support version 2.6.16 (i_sem -> i_mutex)
510
Miklos Szeredi15af1b82006-01-16 17:52:24 +00005112006-01-16 Miklos Szeredi <miklos@szeredi.hu>
512
513 * Added (again) asynchronous readpages support
514
515 * Each connection now shows up under /sys/fs/fuse/connections
516
517 * Connection attributes exported to sysfs: 'waiting' number of
518 waiting requests; 'abort' abort the connection
519
520 * Connection may be aborted through either the sysfs interface or
521 with 'umount -f mountpoint'
522
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00005232006-01-14 Miklos Szeredi <miklos@szeredi.hu>
524
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000525 * Released 2.5.0
526
5272006-01-14 Miklos Szeredi <miklos@szeredi.hu>
528
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000529 * kernel: fix a couple of bugs
530
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000531 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000532 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000533 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000534
535 * request_end() used request pointer after decrementing refcount
536
537 * Clearing ->connected or ->mounted connection flags could race
538 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000539
Miklos Szeredia9820342006-01-10 10:54:11 +00005402006-01-10 Miklos Szeredi <miklos@szeredi.hu>
541
542 * kernel: add necessary compile flags for 2.4.X/x86_64.
543 Report from Sean Ziegeler
544
Miklos Szeredi35676b02006-01-09 10:13:28 +00005452006-01-09 Miklos Szeredi <miklos@szeredi.hu>
546
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000547 * Released 2.5.0-pre2
548
5492006-01-09 Miklos Szeredi <miklos@szeredi.hu>
550
Miklos Szeredi35676b02006-01-09 10:13:28 +0000551 * Applied patch from Csaba Henk, to update mount_bsd to new
552 fuse_mount() semantics
553
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000554 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
555 Steiner and Don Taber
556
Miklos Szeredicb075c82006-01-09 11:33:04 +0000557 * fusermount: add 'dirsync' mount option
558
Miklos Szerediad005972006-01-07 10:14:34 +00005592006-01-07 Miklos Szeredi <miklos@szeredi.hu>
560
561 * Improved help reporting and added version reporting to library
562
Miklos Szeredi0af762a2006-01-06 09:47:54 +00005632006-01-06 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Change working directory to "/" even if running in the
566 foreground. Patch from Jonathan Brandmeyer
567
Miklos Szeredi95da8602006-01-06 18:29:40 +0000568 * Changed lots of functions to use 'struct fuse_args' instead of
569 separate argc and argv
570
571 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
572 fuse_remove_signal_handlers() functions, so that it's now pretty
573 easy to get all the functionality of fuse_main() with a filesystem
574 using the lowlevel API.
575
Miklos Szeredib8638182006-01-02 12:52:24 +00005762006-01-02 Miklos Szeredi <miklos@szeredi.hu>
577
Miklos Szeredif1941472006-01-02 16:27:48 +0000578 * mount.fuse: the 'user' option should be ignored. Report and
579 solution from Mattd.
580
581 * mount.fuse: export PATH in the right place. Report and patch
582 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000583
Miklos Szeredi73f41392005-12-16 11:12:16 +00005842005-12-16 Miklos Szeredi <miklos@szeredi.hu>
585
586 * Clean up the option parsing interface slightly, by creating an
587 "argument list" structure, that contains the argument vector and
588 count
589
Miklos Szeredi4e829092005-12-15 16:13:49 +00005902005-12-15 Miklos Szeredi <miklos@szeredi.hu>
591
592 * fusermount: check if /mnt/mtab is a symlink and don't modify it
593 in that case
594
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000595 * kernel: simplify request size limiting. INIT only contains
596 maximum write size, maximum path component size remains fixed at
597 1024 bytes, and maximum xattr size depends on read buffer.
598
Miklos Szeredie248e4b2005-12-14 16:18:32 +00005992005-12-14 Miklos Szeredi <miklos@szeredi.hu>
600
601 * Fix readdir() failure on x86_64, of 32bit programs compiled
602 without largefile support. Bug report and help from Anthony
603 Kolasny
604
Miklos Szeredi64709572005-12-14 22:16:28 +0000605 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000606 a regular file
607
608 * Add current output argument vector to option processing
609 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000610
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00006112005-12-12 Miklos Szeredi <miklos@szeredi.hu>
612
613 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
614
Miklos Szeredi659743b2005-12-09 17:41:42 +00006152005-12-09 Miklos Szeredi <miklos@szeredi.hu>
616
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000617 * Released 2.5.0-pre1
618
6192005-12-09 Miklos Szeredi <miklos@szeredi.hu>
620
Miklos Szeredi659743b2005-12-09 17:41:42 +0000621 * libfuse: added option parsing interface, defined in
622 <fuse_opt.h>.
623
Miklos Szeredic53cddd2005-12-07 12:57:59 +00006242005-12-07 Miklos Szeredi <miklos@szeredi.hu>
625
626 * Return EIO for file operations (read, write, fsync, flush) on
627 open files whose inode has become "bad". Inodes will be marked
628 "bad" if their type changes. Bug report by Csaba Henk
629
Miklos Szeredi044da2e2005-12-06 17:59:55 +00006302005-12-06 Miklos Szeredi <miklos@szeredi.hu>
631
632 * Use bigger request buffer size. write() did not work on archs
633 with > 4k page size, Bug report by Mark Haney
634
635 * ABI version 7.5:
636
637 * Extend INIT reply with data size limits
638
Miklos Szeredifa829b52005-12-02 11:05:41 +00006392005-12-02 Miklos Szeredi <miklos@szeredi.hu>
640
641 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
642 reported by Vincenzo Ciancia
643
644 * Handle exit-by-umount in fuse_read_cmd()
645
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00006462005-11-29 Miklos Szeredi <miklos@szeredi.hu>
647
648 * Check if '-msoft-float' option is supported by compiler when
649 configuring for a 2.4.x kernel. Bug report by Mark Haney
650
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000651 * In multithreaded loop send a TERM signal to the main thread if
652 one of the other threads exit. Needed on FreeBSD for a clean exit
653 on umount. Should not cause any harm on Linux either
654
Miklos Szerediead7f102005-11-28 16:02:27 +00006552005-11-28 Miklos Szeredi <miklos@szeredi.hu>
656
657 * Fix bug in 32-bit file handle compatibility
658
Miklos Szeredia90b7342005-11-27 19:22:42 +00006592005-11-27 Miklos Szeredi <miklos@szeredi.hu>
660
661 * Block TERM, INT, HUP and QUIT signals in all but the main
662 thread. According to POSIX it's not specified which thread will
663 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000664
665 * Kernel changes:
666
667 * Check for directory aliasing on mkdir, not just on lookup
668
669 * Check for special node ID values in create+open operation
670
671 * Sync with -mm: readv, writev, aio_read and aio_write methods
672 added to file operations
673
674 * Cleanups: lookup code, page offset calculation
675
676 * ABI stepped to 7.4, changes:
677
678 * frsize member added to fuse_kstatfs structure
679
680 * added support for negative entry caching: on lowlevel API if
681 fuse_entry_param::ino is set to zero in reply to a lookup request,
682 the kernel will cache the dentry for the specified amount of time.
683
684 * libfuse: added 'negative_timeout' option: specifies how much
685 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000686 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000687
Miklos Szeredibac4c772005-11-23 13:35:54 +00006882005-11-22 Miklos Szeredi <miklos@szeredi.hu>
689
690 * Add detection of mainline FUSE code in running kernel
691
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00006922005-11-21 Miklos Szeredi <miklos@szeredi.hu>
693
694 * Don't use async cancelation in multithreaded loop. This makes
695 it more portable to systems where read() is not async cancel safe.
696 Report from Andriy Gapon
697
Miklos Szeredi05c97842005-11-20 17:05:07 +00006982005-11-20 Miklos Szeredi <miklos@szeredi.hu>
699
700 * Warn if API version 11 compatibility is requested
701
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00007022005-11-17 Miklos Szeredi <miklos@szeredi.hu>
703
704 * More FreeBSD merge
705
Miklos Szeredi832ee442005-11-18 21:02:36 +0000706 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
707 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000708 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000709
710 * libfuse: don't use system() to invoke 'fusermount -u ...'
711 because it breaks mountpoints with spaces in them into multiple
712 arguments
713
Miklos Szeredib3f99722005-11-16 13:00:24 +00007142005-11-16 Miklos Szeredi <miklos@szeredi.hu>
715
716 * Merge library part of FreeBSD port. Patch by Csaba Henk
717
Miklos Szeredi3a770472005-11-11 21:32:42 +00007182005-11-11 Miklos Szeredi <miklos@szeredi.hu>
719
720 * Use 64bit type for file handle, so the full range supported by
721 the kernel interface is available to applications
722
Miklos Szeredibcc53852005-11-10 09:54:41 +00007232005-11-10 Miklos Szeredi <miklos@szeredi.hu>
724
725 * Moved mountpoint argument checking from fuse_parse_cmdline() to
726 fuse_mount() in preparation to FreeBSD merge.
727
Miklos Szeredi4ec06812005-11-08 13:04:27 +00007282005-11-08 Miklos Szeredi <miklos@szeredi.hu>
729
730 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
731 Henk.
732
Miklos Szeredic706ad92005-11-07 15:30:48 +00007332005-11-07 Miklos Szeredi <miklos@szeredi.hu>
734
735 * Make the statfs change backwards compatible.
736
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00007372005-11-06 Miklos Szeredi <miklos@szeredi.hu>
738
739 * Change ->statfs() method to use 'struct statvfs' instead of
740 'struct statfs'. This makes the API more portable since statvfs()
741 is defined by POSIX.
742
Miklos Szeredif7eec032005-10-28 13:09:50 +00007432005-10-28 Miklos Szeredi <miklos@szeredi.hu>
744
745 * Add fgetattr() method, which currently will only be called after
746 a successful call to a create() method.
747
Miklos Szeredib0b13d12005-10-26 12:53:25 +00007482005-10-26 Miklos Szeredi <miklos@szeredi.hu>
749
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000750 * Change kernel ABI version to 7.3
751
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000752 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000753 call if 'default_permissions' mount option is not given, and is
754 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000755
Miklos Szeredid9079a72005-10-26 15:29:06 +0000756 * Add atomic CREATE+OPEN operation. This will only work with
757 2.6.15 (presumably) or later Linux kernels.
758
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000759 * Add ftruncate() method. This will only work with 2.6.15
760 (presumably) or later Linux kernels.
761
762 * Fix kernel module compile if kernel source and build directories
763 differ. Report and initial patch by John Eastman
764
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00007652005-10-18 Miklos Szeredi <miklos@szeredi.hu>
766
767 * lib: optimize buffer reallocation in fill_dir.
768
Miklos Szeredic9daeb12005-10-17 10:19:21 +00007692005-10-17 Miklos Szeredi <miklos@szeredi.hu>
770
771 * Released 2.4.1
772
Miklos Szeredif412d072005-10-14 21:24:32 +00007732005-10-14 Miklos Szeredi <miklos@szeredi.hu>
774
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000775 * libfuse: add debug for write result (by Shaun Jackman) and
776 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000777
Miklos Szeredib75d4b92005-10-11 10:12:08 +00007782005-10-11 Miklos Szeredi <miklos@szeredi.hu>
779
780 * Spelling fixes, thanks to Ioannis Barkas
781
Miklos Szeredibaab5872005-10-10 08:41:14 +00007822005-10-10 Miklos Szeredi <miklos@szeredi.hu>
783
784 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
785 patch
786
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00007872005-10-07 Miklos Szeredi <miklos@szeredi.hu>
788
789 * highlevel-lib: init() and destroy() methods didn't have an
790 initialized fuse_context. Bug reported by Tim Stoakes
791
Miklos Szeredif2491122005-10-04 10:10:41 +00007922005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000793
794 * Released 2.4.0
795
Miklos Szeredi836ab712005-10-03 14:11:59 +00007962005-10-03 Miklos Szeredi <miklos@szeredi.hu>
797
798 * Add documentation to fuse_lowlevel.h
799
800 * API cleanups:
801
802 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
803
804 * Move fuse_mount() and fuse_unmount() to fuse_common.h
805
806 * Change the return type of fuse_reply_none() from int to void.
807
Miklos Szerediaf138742005-09-30 08:49:59 +00008082005-09-30 Miklos Szeredi <miklos@szeredi.hu>
809
810 * kernel: NFS exporting leaked dentries. Bug found and fixed by
811 Akshat Aranya.
812
Miklos Szeredidb016e02005-09-29 10:06:27 +00008132005-09-29 Miklos Szeredi <miklos@szeredi.hu>
814
815 * fusermount: fix error message, when unable to open /dev/fuse.
816 Report by Balázs Pozsár
817
Miklos Szeredi35200932005-09-28 14:50:49 +00008182005-09-28 Miklos Szeredi <miklos@szeredi.hu>
819
820 * UClibc fixes from Christian Magnusson
821
Miklos Szeredi8eddf642005-09-27 08:58:26 +00008222005-09-27 Miklos Szeredi <miklos@szeredi.hu>
823
824 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
825
Miklos Szerediedec95c2005-09-26 10:22:22 +00008262005-09-26 Miklos Szeredi <miklos@szeredi.hu>
827
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000828 * Released 2.4.0-rc1
829
8302005-09-26 Miklos Szeredi <miklos@szeredi.hu>
831
Miklos Szerediedec95c2005-09-26 10:22:22 +0000832 * fusermount: allow user umount in the case when /etc/mtab is a
833 symlink to /proc/mounts. Reported by Balázs Pozsár.
834
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00008352005-09-23 Miklos Szeredi <miklos@szeredi.hu>
836
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000837 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000838
Miklos Szeredif45f3c12005-09-22 15:14:27 +00008392005-09-22 Miklos Szeredi <miklos@szeredi.hu>
840
841 * Slight optimization in returning EINVAL error in case of an open
842 with O_DIRECT flag.
843
Miklos Szeredi670d07a2005-09-20 11:36:32 +00008442005-09-20 Miklos Szeredi <miklos@szeredi.hu>
845
846 * Remove '--enable-auto-modprobe' configure flag. Module
847 auto-loading is now handled by the kernel.
848
Miklos Szeredid51fca12005-09-15 12:51:00 +00008492005-09-15 Miklos Szeredi <miklos@szeredi.hu>
850
851 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
852 Help from Jens M. Noedler.
853
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00008542005-09-14 Miklos Szeredi <miklos@szeredi.hu>
855
856 * Add memory cleanup on thread exit
857
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00008582005-09-13 Miklos Szeredi <miklos@szeredi.hu>
859
860 * Set umask to zero in fusexmp and fusexmp_fh, so that
861 files/directories are created with the requested mode.
862
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00008632005-09-12 Miklos Szeredi <miklos@szeredi.hu>
864
865 * Don't ignore read error in multithreaded loop
866
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00008672005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000868
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000869 * Released 2.4.0-pre2
870
8712005-09-08 Miklos Szeredi <miklos@szeredi.hu>
872
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000873 * Revert lock and access operations. Postpone these until 2.5.
874
8752005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000876
877 * Fix compile warning on 2.6.13 and later
878
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000879 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000880
Miklos Szeredi77ccf652005-08-19 14:40:27 +00008812005-08-19 Miklos Szeredi <miklos@szeredi.hu>
882
883 * lib: always refresh directory contents after rewinddir() to
884 conform to SUS. Bug found by John Muir.
885
Miklos Szeredia1482422005-08-14 23:00:27 +00008862005-08-15 Miklos Szeredi <miklos@szeredi.hu>
887
Miklos Szeredic43f9412005-08-15 15:10:48 +0000888 * Released 2.4.0-pre1
889
8902005-08-14 Miklos Szeredi <miklos@szeredi.hu>
891
Miklos Szeredia1482422005-08-14 23:00:27 +0000892 * lib: cleaned up (or messed up, depending on your POV) the low
893 level library API. Hopefully this is close to the final form.
894
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00008952005-08-05 Miklos Szeredi <miklos@szeredi.hu>
896
897 * fusermount: don't allow empty mountpoint argument, which defeats
898 automatic umounting in fuse_main(). Bugreport by Václav Jůza
899
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00009002005-08-03 Miklos Szeredi <miklos@szeredi.hu>
901
902 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
903 option is used (Paul Alfille).
904
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00009052005-08-02 Miklos Szeredi <miklos@szeredi.hu>
906
907 * highlevel-lib: added mount options "attr_timeout" and
908 "entry_timeout". These options control the length of time file
909 attributes and entries (names) are cached. Both default to 1.0
910 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000911
912 * kernel: correctly handle zero timeout for attributes and entries
913
Miklos Szeredi56a61f02005-08-01 10:42:25 +00009142005-08-01 Miklos Szeredi <miklos@szeredi.hu>
915
916 * Added missing symbols to versionscript (Joshua J. Berry)
917
Miklos Szeredie77cc072005-08-01 11:58:51 +0000918 * kernel: implement two flags, open can set: 'direct_io' and
919 'keep_cache'. These correspond exactly to mount options
920 'direct_io' and 'kernel_cache', but allow a per-open setting.
921
922 * Move 'direct_io' and 'kernel_cache' mount option handling to
923 userspace. For both mount options, if the option is given, then
924 the respective open flag is set, otherwise the open flag is left
925 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000926
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000927 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000928
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00009292005-07-28 Miklos Szeredi <miklos@szeredi.hu>
930
931 * kernel: invalidate attributes for read/readdir/readlink
932 operations
933
934 * kernel: detect newer UML kernels
935
Miklos Szeredibfb99462005-07-26 11:07:55 +00009362005-07-26 Miklos Szeredi <miklos@szeredi.hu>
937
938 * Make the installation path of fuse.ko and mount.fuse
939 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
940 environment variables. Requirement and help from Csaba Henk.
941
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00009422005-07-22 Miklos Szeredi <miklos@szeredi.hu>
943
944 * Fix bug, that causes filesystem requests to hang when unique
945 request counter becomes negative. This happens after
946 2,147,483,648 operations, so most people won't care. Thanks to
947 Franco Broi for the report and testing.
948
Miklos Szeredi9b813af2005-07-21 07:59:37 +00009492005-07-21 Miklos Szeredi <miklos@szeredi.hu>
950
951 * Don't change mtime/ctime/atime to local time on read/write.
952 Bug reported by Ben Grimm
953
954 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
955 Magnusson
956
957 * fusermount: use getopt_long() for option parsing. It allows the
958 use of '--' to stop argument scanning, so fusermount can now
959 operate on directories whose names begin with a '-'. Patch by
960 Adam Connell
961
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00009622005-07-15 Miklos Szeredi <miklos@szeredi.hu>
963
964 * fusermount: add '-v', '--version' and '--help' options
965
966 * add inode based API
967
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00009682005-07-12 Miklos Szeredi <miklos@szeredi.hu>
969
970 * lib: don't block signals in worker threads. Problem noticed by
971 Usarin Heininga
972
Miklos Szeredic902a852005-07-07 12:35:37 +00009732005-07-07 Miklos Szeredi <miklos@szeredi.hu>
974
975 * lib: don't allow both 'allow_other' and 'allow_root' options to
976 be given
977
Miklos Szeredi437d8112005-07-06 09:14:20 +00009782005-07-06 Miklos Szeredi <miklos@szeredi.hu>
979
980 * fusermount: check if mountpoint is empty (only '.' and '..' for
981 directories, and size = 0 for regular files). If "nonempty"
982 option is given, omit this check. This is useful, so users don't
983 accidentally hide data (e.g. from backup programs). Thanks to
984 Frank van Maarseveen for pointing this out.
985
986 * kernel: check if mandatory mount options ('fd', 'rootmode',
987 'user_id', 'group_id') are all given
988
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000989 * lib: simplify 'readdir_ino' handling
990
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000991 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
992
Miklos Szeredibb9f5172005-07-03 18:03:11 +00009932005-07-03 Miklos Szeredi <miklos@szeredi.hu>
994
995 * kernel: clean up 'direct_io' code
996
Miklos Szeredie1bcece2005-06-28 10:37:06 +00009972005-06-28 Miklos Szeredi <miklos@szeredi.hu>
998
999 * Add 'mount.fuse' written by Petr Klima
1000
Miklos Szeredi866826d2005-06-28 12:22:57 +00001001 * '/dev/fuse' is created by 'make install' if does not yet exist
1002
Miklos Szeredi129ef8f2005-06-20 13:48:42 +000010032005-06-20 Miklos Szeredi <miklos@szeredi.hu>
1004
1005 * Fix UCLIBC compile error. Patch by Christian Magnusson
1006
Miklos Szerediec12fad2005-06-08 10:26:34 +000010072005-06-08 Miklos Szeredi <miklos@szeredi.hu>
1008
1009 * Enable the auto-loading of the module via access to the
1010 corresponding device file. Patch by Takashi Iwai.
1011
Miklos Szeredidaa690e2005-06-08 10:41:36 +00001012 * Allow mounting a regular file (over a regular file) for
1013 unprivleged users.
1014
Miklos Szeredi7495abf2005-06-08 11:01:17 +00001015 * Do not create temporary device file. Require "/dev/fuse" to
1016 exist, and be readable/writable by the mounting user.
1017
Miklos Szeredi46960ce2005-06-02 09:05:00 +000010182005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1019
Miklos Szeredi56478552005-06-02 10:29:00 +00001020 * Released 2.3.0
1021
10222005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1023
Miklos Szeredi46960ce2005-06-02 09:05:00 +00001024 * Fix serious information leak: if the filesystem returns a short
1025 byte count to a read request, and there are non-zero number of
1026 pages which are not filled at all, these pages will not be zeroed.
1027 Hence the user can read out previous memory contents. Found by
1028 Sven Tantau.
1029
Miklos Szeredi33be22d2005-05-27 09:12:43 +000010302005-05-27 Miklos Szeredi <miklos@szeredi.hu>
1031
1032 * Add "readdir_ino" mount option, which tries to fill in the d_ino
1033 field in struct dirent. This mount option is ignored if "use_ino"
1034 is used. It helps some programs (e.g. 'pwd' used over NFS from a
1035 non-Linux OS). Patch by David Shaw.
1036
Miklos Szeredif94e0102005-05-12 14:56:34 +000010372005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1038
Miklos Szeredieb009c42005-05-12 15:01:17 +00001039 * Released 2.3-rc1
1040
10412005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1042
Miklos Szeredif94e0102005-05-12 14:56:34 +00001043 * File save in krusader and other editors doesn't work with sshfs,
1044 because open() is interrupted by a periodic signal, and open()
1045 restarts forever, without any progress. This could just be fixed
1046 in open(), but the problem is more generic: if signals are
1047 received more often than the filesystem can get the request to
1048 userspace, it will never finish. This is probably only a
1049 theoretical problem, nevertheless I'm removing the possibility to
1050 interrupt requests with anything other than SIGKILL, even before
1051 being sent to userspace. Bugreport by Eduard Czimbalmos.
1052
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +000010532005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1054
Miklos Szeredic2a33ee2005-05-09 13:29:17 +00001055 * libfuse: add "tree_lock" rwlock, that is locked for write in
1056 rename, unlink and rmdir, and locked for read in all other
1057 operations. This should fix the rename/release race reported by
1058 Valient Gough and others. The solution is very coarse, a finer
1059 grained locking scheme could be implemented, but it would be much
1060 more complex. Let's see whether this is good enough.
1061
10622005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1063
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001064 * Released 2.3-pre7
1065
Miklos Szeredi38009022005-05-08 19:47:22 +000010662005-05-08 Miklos Szeredi <miklos@szeredi.hu>
1067
1068 * Better fix for out of order FORGET messages. Now the
1069 LOOKUP/FORGET messages are balanced exactly (one FORGET can
1070 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001071 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +00001072 compatible.
1073
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +000010742005-05-06 Miklos Szeredi <miklos@szeredi.hu>
1075
1076 * Fix abort for out of order FORGET messages. Again. Spotted by
1077 Franco Broi again. Sorry :)
1078
Miklos Szeredi9372ffd2005-04-29 08:03:24 +000010792005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1080
Miklos Szeredicb6413a2005-04-29 08:16:20 +00001081 * Released 2.3-pre6
1082
10832005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1084
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00001085 * Make fusermount work with fuse kernel modules not yet supporting
1086 the "group_id" option (added for the purpose of stricter
1087 permission checking).
1088
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +000010892005-04-28 Miklos Szeredi <miklos@szeredi.hu>
1090
1091 * Check for hard-linked directories in lookup. This could cause
1092 problems in the VFS, which assumes that such objects never exist.
1093
1094 * Make checking of permission for other users more strict. Now
1095 the same privilege is required for the mount owner as for ptrace
1096 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001097
Miklos Szeredi3efcb562005-04-23 13:34:29 +000010982005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1099
1100 * Released 2.3-pre5
1101
Miklos Szeredid001bf92005-04-22 07:54:11 +000011022005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1103
1104 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1105 is needed on certain architectures. Report from Chris Kirby
1106
1107 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1108 Reported by David Shaw
1109
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001110 * Remove "allow_root" option from kernel module, and implement
1111 it's functionality in the library
1112
1113 * Fix Oops caused by premature release of fuse_conn. Clean up
1114 related code, to be more readable
1115
Miklos Szeredif9137452005-04-23 10:59:44 +00001116 * Sendfile should not use page cache if "direct_io" mount option
1117 is given
1118
Miklos Szeredib7640d22005-04-08 15:15:28 +000011192005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1120
1121 * Fix Oops in case of nfs export. Spotted by David Shaw
1122
Miklos Szeredi89814a12005-04-08 16:39:09 +00001123 * Fix another Oops in case of write over nfs with direct_io turned
1124 on. Again spotted by David Shaw
1125
Miklos Szerediab974562005-04-07 15:40:21 +000011262005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1127
Miklos Szeredi432d6182005-04-07 15:56:13 +00001128 * Released 2.3-pre4
1129
11302005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1131
Miklos Szerediab974562005-04-07 15:40:21 +00001132 * lib: finalized new readdir() interface, which now supersedes the
1133 getdir() method.
1134
Miklos Szeredi30e093a2005-04-03 17:44:54 +000011352005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1136
1137 * Released 2.3-pre3
1138
11392005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1140
1141 * Implement backward compatibility with version 5 kernel ABI
1142
Miklos Szeredi18fce982005-04-01 21:07:35 +000011432005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1144
1145 * Released 2.3-pre2
1146
11472005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1148
1149 * kernel: fix dirent offset handling
1150
1151 * lib: add readdir and releasedir methods
1152
1153 * lib: use fh field of fuse_file_info in opendir, readdir,
1154 releasedir and fsyncdir methods
1155
1156 * lib: check kernel API version and bail out of it's old. This
1157 will be properly fixed in the next release
1158
11592005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1160
1161 * Released 2.3-pre1
1162
Miklos Szeredieab72ef2005-03-31 19:59:12 +000011632005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1164
1165 * kernel API: add padding to structures, so 64bit and 32bit
1166 compiler will return the same size
1167
1168 * kernel API: add offset field to fuse_dirent. This will allow
1169 more sophisticated readdir interface for userspace
1170
1171 * kernel API: change major number to 6
1172
1173 * kernel: fix warnings on 64bit archs
1174
1175 * kernel: in case of API version mismatch, return ECONNREFUSED
1176
Miklos Szeredi407e6a72005-03-25 12:19:43 +000011772005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1178
1179 * kernel: trivial cleanups
1180
Miklos Szeredi4283ee72005-03-21 12:09:04 +000011812005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1182
1183 * Add fsyncdir() operation
1184
Miklos Szeredid17da462005-03-21 11:47:04 +000011852005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1186
1187 * kernel: add locking to background list (fixes previous fix)
1188
11892005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1190
1191 * kernel: fix bug which could cause leave busy inodes after
1192 unmount, and Oops.
1193
11942005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1195
1196 * examples: add -lpthread to link flags to work around valgrind
1197 quirk
1198
1199 * lib: don't exit threads, so cancelation doesn't cause segfault
1200
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000012012005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1202
1203 * kernel: fix nasty bug which could cause an Oops under certain
1204 situations. Found by Magnus Johansson
1205
Miklos Szeredif43f0632005-02-28 11:46:56 +000012062005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1207
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001208 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001209 permission checking in getdir() is too late. Thanks to Usarin
1210 Heininga for pointing out this deficiency
1211
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001212 * libfuse: added init() and destroy() methods to fuse_operations
1213
Miklos Szeredif43f0632005-02-28 11:46:56 +00001214 * kernel: llseek() method for files and directories made explicit
1215
1216 * kernel: fixed inode leak in NFS export in case of nodeid
1217 wrapping
1218
Miklos Szeredied3c97c2005-02-15 17:04:50 +000012192005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1220
1221 * libfuse: clean up some unitialized memory found with valgrind
1222
Miklos Szeredi47c52982005-02-23 09:27:38 +00001223 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1224 explicitly linked libpthread for applications
1225
Miklos Szeredia7169412005-02-10 07:35:05 +000012262005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1227
1228 * fusermount: set umask, otherwise /etc/mtab will have
1229 unpredictable permission. Spotted by Jindrich Kolorenc
1230
1231 * fusermount: set owner and group of /etc/mtab to original values
1232 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001233
1234 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001235
Miklos Szeredib92d9782005-02-07 16:10:49 +000012362005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1237
1238 * Cleaned up directory reading (temporary file is not used)
1239
Miklos Szerediff30a6c2005-02-02 10:53:59 +000012402005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1241
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001242 * Released 2.2
1243
12442005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1245
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001246 * Fix possible race when operation is interrupted
1247
Miklos Szeredi7a983952005-01-28 09:58:19 +000012482005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1249
Miklos Szeredie5183742005-02-02 11:14:04 +00001250 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001251
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000012522005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1253
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001254 * Released 2.2-pre6
1255
12562005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1257
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001258 * Fix bug in link() operation which caused the wrong path to be
1259 passed as the first argument. Found by Anton Altaparmakov
1260
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000012612005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1262
1263 * LIB: fix double reply in readdir operation
1264
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001265 * fusermount: fix uid checking bug. Patch by Adam Connell
1266
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001267 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001268 Patch by Keshava Gowda
1269
Miklos Szeredi64074142005-01-20 08:48:11 +000012702005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1271
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001272 * KERNEL: provide correct llseek semantics for fuse device (fixes
1273 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1274
12752005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1276
Miklos Szeredi64074142005-01-20 08:48:11 +00001277 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1278
Miklos Szeredi1adb2272005-01-18 21:19:58 +000012792005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1280
1281 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1282 and RELEASEDIR. This ends the ugly hack of passing a file
1283 descriptor to the kernel, and actually makes the code simpler.
1284
Miklos Szeredi7db35c02005-01-17 09:46:28 +000012852005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1286
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001287 * Released 2.2-pre4
1288
12892005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1290
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001291 * fusermount: remove capability setting, which was the cause of
1292 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001293 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001294
Miklos Szeredidbe0f652005-01-15 14:32:56 +000012952005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001296
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001297 * fix compilation on 2.4 kernels (reported by Valient Gough)
1298
1299 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001300
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001301 * fusermount: improve parsing of /etc/fuse.conf
1302
13032005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1304
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001305 * Remove 'mount_max' and 'user_allow_other' module options. These
1306 are now checked by fusermount, and can be set in /etc/fuse.conf
1307
1308 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1309
Miklos Szeredi81394522005-01-11 14:24:18 +000013102005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1311
1312 * KERNEL: fix possible inode allocation problem, where
1313 sizeof(struct inode) is not aligned (found by Mike Waychison)
1314
1315 * KERNEL: use new follow_link/put_link methods
1316
1317 * KERNEL: cosmetic fixes
1318
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000013192005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1320
1321 * Released 2.2-pre3
1322
13232005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1324
1325 * Add missing code that was accidently left out
1326
Miklos Szeredi8c7da232005-01-09 12:27:41 +000013272005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1328
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001329 * Released 2.2-pre2
1330
13312005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1332
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001333 * Change "uid" mount option to "user_id" to avoid confusion with a
1334 mount option "uid" commonly used by many filesystems
1335
13362005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1337
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001338 * Released 2.2-pre1
1339
13402005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1341
1342 * If FUSE is configured in the kernel, don't build it by default
1343
Miklos Szeredi2a927272005-01-07 11:14:15 +000013442005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1345
1346 * Compile fix by Christian Magnusson
1347
Miklos Szeredib6220192005-01-05 16:19:10 +000013482005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1349
1350 * Fix compilation for 2.6.{0-5} kernels
1351
Miklos Szeredi0f62d722005-01-04 12:45:54 +000013522005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1353
1354 * KERNEL: if request is interrupted, still keep reference to used
1355 inode(s) and file, so that FORGET and RELEASE are not sent until
1356 userspace finishes the request.
1357
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001358 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1359 request with the same information, which is more flexible,
1360 simpler, works on embedded systems.
1361
Miklos Szeredi0f62d722005-01-04 12:45:54 +000013622004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1363
1364 * KERNEL ABI: update interface to make it independent of type
1365 sizes. This will help on 64 bit architectures which can run
1366 legacy 32 bit applications.
1367
1368 * KERNEL ABI: add "len" field to request headers. This will allow
1369 sending/receiving requests in multiple chunks.
1370
1371 * KERNEL: handle file type change more intelligently
1372
1373 * LIB: "-o debug" option should disable backgrounding (fix by
1374 Fabien Reygrobellet)
1375
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000013762004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1377
1378 * KERNEL: invalidate dentry/attributes if interrupted request
1379 could leave filesystem in an unknown state.
1380
Miklos Szeredie56818b2004-12-12 11:45:24 +000013812004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1382
1383 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1384 These will cause some regressions, but stability is considered
1385 more important. If any of these features turns out to be
1386 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001387
Miklos Szeredie56818b2004-12-12 11:45:24 +00001388 * Make all requests interruptible (only with SIGKILL currently).
1389 This can be used to break any deadlock produced by the userspace
1390 filesystem accessing it's own exported files. The RELEASE request
1391 is special, because if it's interrupted before sending it to
1392 userspace it is still sent, but the reply is not awaited.
1393
1394 * If request is interrupted before being sent to userspace, and if
1395 it hasn't yet got any side effects, it is always restarted,
1396 regardless of the SA_RESTART flag. This makes these interruptions
1397 transparent to the process.
1398
1399 * Remove shared-writable mmap support, which was prone to an
1400 out-of-memory deadlock situation
1401
1402 * Remove INVALIDATE userspace initiated request
1403
1404 * Make readpages() synchronous. Asynchronous requests are
1405 deadlock prone, since they cannot be interrupted.
1406
1407 * Add readv/writev support to fuse device operations
1408
1409 * Remove some printks, which userspace FS can use for a DoS
1410 against syslog
1411
1412 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1413 fusermount instead
1414
1415 * LIB: improve compatibility with a fuse.h header installed in
1416 ${prefix}/include which in turn includes the real header.
1417
1418 * LIB: improve compatibility by defining fuse_main() (which is now
1419 not used), so old configure scripts find it.
1420
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000014212004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1422
1423 * When mounting on a subdirectory of / don't duplicate slashes at
1424 the beggining of path (spotted by David Shaw)
1425
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000014262004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1427
1428 * Fix bug causing garbage in mount options (spotted by David Shaw)
1429
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000014302004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1431
1432 * Add 'writepage' flag to 'fuse_file_info'.
1433
1434 * More comments in fuse.h
1435
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001436 * Get rid of double underscores
1437
Miklos Szeredi799993c2004-12-04 21:20:05 +000014382004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1439
1440 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1441
1442 * helper.c: add -ho option, which only displays the options not
1443 the usage header. This can be used by filesystems which have
1444 their own options.
1445
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000014462004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1447
1448 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1449 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1450 including the fuse header
1451
1452 * Add binary compatibility to 2.1 version of library with symbol
1453 versioning
1454
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000014552004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1456
1457 * Released 2.1
1458
Miklos Szeredi039322d2004-12-01 18:39:12 +000014592004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1460
1461 * kernel: clean up writing functions
1462
1463 * kernel: no allocation on write in direct_io mode
1464
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001465 * move linux/fuse.h to fuse_kernel.h
1466
Miklos Szeredi83a07442004-11-30 18:25:20 +000014672004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1468
1469 * kernel: clean up reading functions
1470
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000014712004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1472
1473 * kernel: make readpage() uninterruptible
1474
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001475 * kernel: check readonly filesystem flag in fuse_permission
1476
1477 * lib: don't die if version file not found and new style device
1478 exists
1479
1480 * lib: add '-r' option, which is short for '-o ro'
1481
1482 * fusermount: simplify device opening
1483
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001484 * kernel: when direct_io is turend on, copy data directly to
1485 destination without itermediate buffer. More efficient and safer,
1486 since no allocation is done.
1487
1488 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001489
1490 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001491
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000014922004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1493
1494 * libfuse API change: open, read, write, flush, fsync and release
1495 are passed a 'struct fuse_file_info' pointer containing the open
1496 flags (open and release), and the file handle. Verion changed to
1497 3.0.
1498
Miklos Szeredia25d4c22004-11-23 22:32:16 +000014992004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1500
1501 * More cleanups in the kernel
1502
1503 * The 10,229 charater device number has been assigned for FUSE
1504
1505 * Version file checking fix (reported by Christian Magnusson)
1506
1507 * fusermount: opening the fuse device now doesn't need /sys.
1508
1509 * Optimize reading by controlling the maximum readahead based on
1510 the 'max_read' mount option
1511
1512 * fixes for UCLIBC (Christian Magnusson)
1513
Miklos Szeredi13ed4822004-11-20 11:12:21 +000015142004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1515
1516 * Cleaned up kernel in preparation for merge into mainline:
1517
1518 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1519
1520 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1521
1522 * __user annotations for sparse
1523
1524 * allocate individual pages instead of kmalloc in fuse_readdir,
1525 fuse_read and fuse_write.
1526
1527 * Fix NFS export in case "use_ino" mount option is given
1528
Miklos Szeredif3845c42004-11-20 11:18:34 +00001529 * Make libfuse and fusermount compatible with future versions
1530
1531 * fusermount: properly add mount options to /etc/mtab
1532
15332004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1534
1535 * fusermount: do not resolve last component of mountpoint on if it
1536 is '.' or '..'. This new path resolvation is now done on mount as
1537 well as unmount. This enables relative paths to work on unmount.
1538
1539 * fusermount: parse common mount options like "ro", "rw", etc...
1540
1541 * Allow module params to be changed through sysfs
1542
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000015432004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1544
1545 * Released 2.1-pre1
1546
15472004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1548
1549 * Fix bug in fuse_readpages() causing Oops in certain situations.
1550 Bug found by Vincenzo Ciancia.
1551
1552 * Fix compilation with kernels versions > 2.6.9.
1553
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000015542004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001555
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001556 * Check kernel interface version in fusermount to prevent
1557 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001558
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001559 * No need to allocate fuse_conn until actual mount happens
1560
1561 * Fix potential race between umount and fuse_invalidate
1562
1563 * Check superblock of proc file in addition to inode number
1564
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001565 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001566
Miklos Szeredi51ec1032004-11-10 11:52:26 +000015672004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1568
1569 * Separate configure for the kernel directory
1570
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001571 * Don't allow write to return more than 'count'
1572
1573 * Extend kernel interface for future use
1574
Miklos Szeredi51ec1032004-11-10 11:52:26 +000015752004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1576
1577 * Fix 'makeconf.sh' to use autoreconf if available
1578
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000015792004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1580
Miklos Szeredid507c732004-11-08 17:32:25 +00001581 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1582 compatibility with earlier versions. To compile earier versions
1583 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1584 Do not use the "use_ino" mount flag with filesystems compiled with
1585 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001586
1587 * Add pkg-config support. To compile a FUSE based filesystem you
1588 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1589 or similar. Note, that the PKG_CONFIG_PATH environment variable
1590 usually needs to be set to "/usr/local/lib/pkgconfig".
1591
1592 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001593
Miklos Szeredia13d9002004-11-02 17:32:03 +000015942004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1595
1596 * Added "use_ino" mount option. This enables the filesystems to
1597 set the st_ino field on files
1598
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000015992004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1600
1601 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1602 by Jeremy Smith)
1603
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001604 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1605
1606 * Clear the 'exited' flag when mail loop is finished
1607
Miklos Szeredie989f0d2004-10-28 20:24:58 +000016082004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1609
1610 * Make xattr functions work under 2.6 (bug found by Vincenzo
1611 Ciancia)
1612
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000016132004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1614
1615 * Reset request in fuse_flush() (bugreport by David Shaw)
1616
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000016172004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1618
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001619 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001620 error code
1621
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001622 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001623 make it easier to implement a custom event loop.
1624
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001625 * Use daemon() call to background the filesystem after mounting.
1626 This function closes the standard input, output and error and
1627 changes the current working directory to "/".
1628
Miklos Szeredi127d49b2004-10-14 13:33:39 +000016292004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1630
1631 * Released 1.9
1632
Miklos Szeredid45baf42004-10-10 07:56:12 +000016332004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1634
1635 * Don't allow fuse_flush() to be interrupted (bug found by David
1636 Shaw)
1637
Miklos Szeredi1f18db52004-09-27 06:54:49 +000016382004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1639
1640 * Add PID to fuse_context. Patch by Steven James
1641
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001642 * Change file handle type to 'unsigned long' in kernel interface
1643
Miklos Szeredid169f312004-09-22 08:48:26 +000016442004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1645
1646 * A slight API change: fuse_get_context() doesn't need the "fuse"
1647 pointer, but the returned context contains it instead. The
1648 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001649
1650 * Fix mounting and umounting FUSE filesystem under another FUSE
1651 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001652
Miklos Szeredic2309912004-09-21 13:40:38 +000016532004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1654
1655 * Fix deadlock in case of memory allocation failure. Patch by
1656 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001657
Miklos Szeredib2cf9562004-09-16 08:42:40 +000016582004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1659
1660 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001661
Miklos Szeredi65afea12004-09-14 07:13:45 +000016622004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1663
1664 * Check temporary file creation failure in do_getdir(). Bug
1665 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001666
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000016672004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1668
1669 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001670
1671 * Make requests non-interruptible so race with FORGET is avoided.
1672 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001673
1674 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001675
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000016762004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1677
1678 * Fix bug in case two FORGETs for the same node are executed in
1679 the wrong order. Bug spotted and endured for months by Franco
1680 Broi, and logfile for solution provided by Terje Oseberg
1681
Miklos Szeredi12085102004-09-02 18:13:57 +000016822004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1683
1684 * Add -D_REENTRANT to the compile flags
1685
1686 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001687
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000016882004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1689
1690 * Change release method to be non-interruptible. Fixes bug
1691 causing missing release() call when program which has opened files
1692 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001693
Miklos Szeredi891b8742004-07-29 09:27:49 +000016942004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1695
1696 * Add fuse_invalidate() to library API
1697
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000016982004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1699
1700 * Check permissions in setattr if 'default_permissions' flag is
1701 set. Bug spotted by Damjan Lango
1702
Miklos Szeredid66d3942004-07-24 13:47:44 +000017032004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1704
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001705 * 'large_read' mount option removed for 2.6 kernels, since the
1706 default (dynamic read size) is better
1707
1708 * Extend kernel API with file handles. A file handle is returned
1709 by open, and passed to read, write, flush, fsync and release.
1710 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001711
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001712 * Security changes:
1713
1714 * Change the current directory to the mountpoint before checking
1715 the permissions and mount filesystem on "."
1716
1717 * By default don't modprobe the fuse module for non-root. The old
1718 behavior can be restored with the '--enable-auto-modprobe' flag of
1719 ./configure
1720
1721 * By default don't allow shared writable mappings for non-root.
1722 The old behavior can be restored with the 'user_mmap=1' module
1723 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001724
Miklos Szeredibd7661b2004-07-23 17:16:29 +000017252004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1726
1727 * Clean up mount option passing to fusermount and to fuse_new()
1728 BEWARE: this changes the userspace API slightly, and the command
1729 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001730
Miklos Szeredi58865372004-07-20 14:22:26 +000017312004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1732
1733 * Optimize reading under 2.6 kernels by issuing multiple page
1734 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001735
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000017362004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1737
1738 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001739
Miklos Szeredi069c9502004-07-16 16:17:02 +000017402004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1741
1742 * Separate directory entry and inode attribute validity timer
1743
1744 * New write semaphore to stop page writeback during truncate
1745
1746 * Fsync now waits for all writes to complete before sending the
1747 request
1748
1749 * Optimization: if a page is completely written by
1750 fuse_commit_write(), clear the dirty flag and set the uptodate
1751 flag for that page
1752
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001753 * Some memory cleanup at exit
1754
Miklos Szeredi2529ca22004-07-13 15:36:52 +000017552004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1756
1757 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001758 disable the "hide if open" behavior of unlink/rename.
1759
1760 * If temporary buffer allocation fails in raw read, fall back to a
1761 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001762
Miklos Szeredi73798f92004-07-12 15:55:11 +000017632004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1764
1765 * Fix bug in do_open() in libfuse: open count was incremented
1766 after the reply is sent so it could race with unlink/forget and
1767 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001768
Miklos Szeredi015fe702004-07-12 11:52:24 +000017692004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1770
1771 * When performing create or remove operation, refresh the parent's
1772 attributes on next revalidate, as i_nlink (and maybe size/time)
1773 could be inacurate.
1774
1775 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1776 pages (2.6 only)
1777
1778 * Set set_page_dirty address space operation (2.6 only)
1779
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017802004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001781
1782 * Minor fix in read: print debug info even if read size is zero
1783
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017842004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001785
1786 * Fix race between truncate and writepage (fsx-linux now runs
1787 without error)
1788
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017892004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001790
1791 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1792 by Mattias Wadman)
1793
1794 * Added option for direct read/write (-r)
1795
1796 * Fix revalidate time setting for newly created inodes
1797
Miklos Szerediacb4d362004-07-02 16:20:45 +00001798 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1799 this)
1800
1801 * fuse_main() only installs handlers for signals (out of INT, HUP,
1802 TERM, PIPE), for which no handler has yet been installed
1803
1804 * Add module option 'user_allow_other' which if set to non-zero
1805 will allow non root user to specify the 'allow_other' mount option
1806 ('-x' option of fusermount)
1807
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001808 * Fix deadlock between page writeback completion and truncate
1809 (bug found by Valient Gough with the fsx-linux utility)
1810
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018112004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001812
1813 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001814 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1815 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001816
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018172004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001818
1819 * Acquire inode->i_sem before open and release methods to prevent
1820 concurrent rename or unlink operations.
1821
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001822 * Make __fuse_read_cmd() read only one command. This allows
1823 multiplexing the fuse file descriptor with other event sources
1824 using select() or poll() (patch by Jeff Harris)
1825
1826 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1827
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018282004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001829
1830 * Fix file offset wrap around at 4G when doing large reads
1831
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018322004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001833
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001834 * Fix memory leak in open (Valient Gough)
1835
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018362004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001837
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001838 * Add "close after delete" support to libfuse (patch by Valient
1839 Gough)
1840
1841 * Cancel all worker threads before exit in multithreaded mode
1842
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018432004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001844
1845 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001846
1847 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001848
1849 * Work with newer libtool (1.5a)
1850
1851 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001852
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018532004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001854
1855 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001856
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018572004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001858
1859 * Fix possible inode leak in userspace in case of unfinished
1860 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001861
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018622004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001863
1864 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001865
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018662004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001867
1868 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001869
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018702004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001871
1872 * Build shared library as well as static (using libtool)
1873
1874 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1875 there has not been a release with the previous minor number, and I
1876 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001877
1878 * Change fuse_main(), so that default behavior is to go into
1879 background if mount is successful. '-f' and '-d' options disable
1880 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1881 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001882
1883 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1884 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001885
1886 * Don't call getdir method from open() only from first readdir().
1887 Open is sometimes just used to store the current directory
1888 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001891
1892 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001893
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018942004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001895
1896 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001897
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018982004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001899
1900 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001901
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019022004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001903
1904 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019062004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001907
1908 * Replaced binary mount data with text options
1909
1910 * Show FUSE specific mount options in /proc/mounts
1911
1912 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001915
1916 * Check some limits so userspace won't get too big requests
1917
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019182004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001919
1920 * Kill compile warning
1921
1922 * Upgraded user-mount patch for 2.6.5
1923
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019242004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001925
1926 * Add detection of user-mode-linux to configure
1927
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019282004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001929
1930 * fixed zero size case for getxattr and listxattr
1931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019322004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001933
1934 * new fusermount flag '-z': lazy unmount, default is not lazy
1935
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001936 * Extended attributes operations added (getxattr, setxattr,
1937 listxattr, removexattr)
1938
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019392004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001940
1941 * If filesystem doesn't define a statfs operation, then an
1942 all-zero default statfs is returned instead of ENOSYS
1943
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019442004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001945
1946 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1947
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019482004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001949
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001950 * Fix for uClinux (Christian Magnusson)
1951
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019522004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001953
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001954 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001955
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001956 * More kernel interface changes:
1957
1958 * Lookup/getattr return cache timeout values
1959
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019602004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001961
1962 * Clean up option parsing in fuse_main()
1963
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001964 * Added fuse_get() function which returns the fuse object created
1965 by fuse_main()
1966
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019672004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001968
Miklos Szeredic40748a2004-02-20 16:38:45 +00001969 * removed old way of mounting (fusermount mountpoint program)
1970
Miklos Szeredib5958612004-02-20 14:10:49 +00001971 * more kernel interface changes:
1972
1973 * added nanosecond precision to file times
1974
Miklos Szeredic40748a2004-02-20 16:38:45 +00001975 * removed interface version from mount data
1976
1977 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1978
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019792004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001980
1981 * statfs library API changed to match other methods. Since this
1982 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1983
Miklos Szeredi76f65782004-02-19 16:55:40 +00001984 * kernel interface changes follow:
1985
1986 * statfs changed to 64 bits, added 'bavail' field
1987
1988 * add generation number to lookup result
1989
1990 * optimized mknod/mkdir/symlink/link (no separate lookup is
1991 needed)
1992
1993 * rdev size increased to 32 bits for mknod
1994
1995 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001996
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019972004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001998
1999 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00002000
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020012004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00002002
2003 * Added user-mount.2.6.2-rc3.patch
2004
2005 * Add FS_SAFE flag to fuse filesystem
2006
2007 * fusermount should allow (un)mounting for non-root even if not
2008 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00002009
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020102004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00002011
2012 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00002013
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020142004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00002015
2016 * Added check for i_size_read/write functions to configure.in
2017 (patch by Valient Gough)
2018
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020192004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00002020
2021 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00002022
2023 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00002024
2025 * Readpage calls flush_dcache_page() after storing data
2026
2027 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00002028
2029 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00002030
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020312004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00002032
2033 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002034
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020352004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00002036
2037 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00002038
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020392004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00002040
2041 * Added -q option for fusermount
2042
2043 * fuse_unmount() now uses -q option of fusermount, so no error is
2044 printed if the cause of the program exit is that the filesystem
2045 has already been unmounted
2046
Miklos Szeredif4f8b892004-01-27 17:04:59 +00002047 * Fix i_nlink correctness after rmdir/unlink
2048
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020492004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002050
Miklos Szeredib1158392004-01-26 14:43:12 +00002051 * Released 1.1-pre2
2052
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020532004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00002054
Miklos Szeredi307242f2004-01-26 11:28:44 +00002055 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00002056
2057 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00002058
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020592004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002060
2061 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00002062
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020632004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002064
2065 * Write all pending data before a RELEASE operation
2066
2067 * Suppress 'Bad file descriptor' warning on exit
2068
2069 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00002070 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00002071
Miklos Szeredib1158392004-01-26 14:43:12 +00002072 * New fusermount option '-l' which enables big reads. Big reads
2073 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00002074
2075 * fuse_main() can accept fusermount arguments after a '--'
2076
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020772004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00002078
2079 * Support for exporting filesystem over NFS (see README.NFS)
2080
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020812004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00002082
2083 * Support non-blocking writepage on 2.6. This makes FUSE behave
2084 much more nicely in low-memory situations
2085
2086 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
2087 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00002088
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020892004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00002090
2091 * Code cleanups
2092
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020932004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002094
2095 * Released 1.1-pre1
2096
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020972004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002098
2099 * Integrated 2.6 kernel support patch by Michael Grigoriev
2100
2101 * Improvements and cleanups for 2.6 kernels
2102
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021032004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002104
Miklos Szeredie5183742005-02-02 11:14:04 +00002105 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002106
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021072003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002108
2109 * Added major+minor version to library API, and minor version to
2110 kernel API
2111
David McNab7a19caf2003-12-13 02:05:46 +000021122003-12-13 David McNab <david@rebirthing.co.nz>
2113
2114 * Implemented fsync support in examples/example.py
2115
2116 * Implemented 'fsync' and 'statfs' methods in python
2117 interface
2118
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021192003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002120
Miklos Szeredie5183742005-02-02 11:14:04 +00002121 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002122
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002123 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002124
David McNab8bf62632003-12-11 22:49:22 +000021252003-12-12 David McNab <david@rebirthing.co.nz>
2126
2127 * Added distutils support to the python module, as per standard
2128 python development practice
2129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021302003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002131
2132 * Add file locking for mount/unmount (based on patch by Valient
2133 Gough)
2134
21352003-12-11 David McNab <david@rebirthing.co.nz>
2136
2137 * Python filesystem - was broken with python2.3, now fixed:
2138 - changed PyTuple_* calls to PySequence_*, because os.lstat
2139 is no longer returning a pure tuple
2140 - changed PyInt_Check() calls to also call PyLong_Check,
2141 to cover for cases (eg os.lstat) where longs are returned
2142 - Added support for file 'release' handling, which IMO is
2143 essential since this signals to a FS that writes to a file
2144 are complete (and therefore the file can now be disposed of
2145 meaningfully at the python filesystem's discretion)
2146 - Added '__init__' handler to base Fuse class, which allows
2147 your Python class to know the mountpoint and mount args,
2148 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002149
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002150 * General:
2151 - added 'mount.fuse' script (in util/ dir), which is meant to be
2152 symlinked from /sbin, and which allows FUSE filesystems to
2153 be mounted with the 'mount' command, and listed in fstab;
2154 also, mount arguments get passed to your filesystem
2155
2156
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021572003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002158
2159 * Fix kernel version detection (again). Bugreport by Peter Levart
2160
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021612003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002162
2163 * Applied read combining patch by Michael Grigoriev (tested by
2164 Valient Gough and Vincent Wagelaar)
2165
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021662003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002167
2168 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2169 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002170
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021712003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002172
2173 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002174
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021752003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002176
2177 * kernel version detection fix
2178
2179 * fusermount now uses "lazy" umount option
2180
2181 * fusermount can use modprobe with module-init-tools
2182
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021832003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002184
2185 * Integrated caching patch by Michael Grigoriev
2186
Miklos Szeredida4e4862003-09-08 11:14:11 +00002187 * Added "Filesystems" file with descriptions of projects using
2188 FUSE
2189
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002190 * Added patch by Michael Grigoriev to allow compliation of FUSE
2191 kernel module for 2.6 kernels
2192
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021932003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002194
2195 * And another spec-file fix by Achim Settelmeier
2196
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021972003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002198
2199 * Spec-file fix by Achim Settelmeier
2200
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022012003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002202
Miklos Szerediac361172004-11-02 19:14:14 +00002203 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002204
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022052003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002206
2207 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2208
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022092003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002210
2211 * Updated fuse.spec file (Achim Settelmeier)
2212
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022132003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002214
2215 * Version 1.0 released
2216
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022172003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002218
2219 * SuSE compilation fix by Juan-Mariano de Goyeneche
2220
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022212002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002222
2223 * The release() VFS call is now exported to the FUSE interface
2224
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022252002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002226
2227 * 64 bit file offset fixes in the fuse kernel module
2228
2229 * Added function 'fuse_exit()' which can be used to exit the main
2230 loop
2231
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022322002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002233
2234 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2235 an incompatible interface change.
2236
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022372002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002238
2239 * Portablility fix (bug reported by C. Chris Erway)
2240
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022412002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002242
2243 * Use Mark Glines' fd passing method for default operation instead
2244 of old reexec
2245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022462002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002247
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002248 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2249
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022502002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002251
Miklos Szeredi60c23522002-10-24 09:19:43 +00002252 * fix incompatiblity with Red Hat kernels, with help from Nathan
2253 Thompson-Amato.
2254
Mark Glines65ba2192002-04-18 14:41:48 +000022552002-04-18 Mark Glines <mark@glines.org>
2256
2257 * added an alternative to fuse_mount(), called
2258 fuse_mount_ioslave(), which does not need to reexec the
2259 FUSE program.
2260 * added a small helper util needed by fuse_mount_ioslave().
2261
Mark Glines220635a2002-03-17 07:01:14 +000022622002-03-16 Mark Glines <mark@glines.org>
2263
2264 * use struct fuse_statfs everywhere possible to avoid problems
2265 with the headerfiles changing struct statfs member sizes
2266
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022672002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002268
2269 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2270
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022712002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002272
2273 * RPM support by Achim Settelmeier
2274
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022752002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002276
Miklos Szerediddc862a2002-01-09 13:46:10 +00002277 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002278
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022792002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002280
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002281 * Revaidate all path components not just the last, this means a
2282 very small performance penalty for being more up-to-date.
2283
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022842002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002285
2286 * Update and fix python interface
2287
Mark Glinesd84b39a2002-01-07 16:32:02 +000022882002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002289
Mark Glinesd84b39a2002-01-07 16:32:02 +00002290 * Added statfs() support to kernel, lib, examples, and perl!
2291
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022922001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002293
2294 * Better cross compilation support
2295
2296 * Ported to Compaq IPAQ
2297
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022982001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002299
Miklos Szeredife25def2001-12-20 15:38:05 +00002300 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002301 patch from Matt Ryan)
2302
Miklos Szeredife25def2001-12-20 15:38:05 +00002303 * Added flags to fusermount and to kernel interface to control
2304 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002305
Miklos Szeredife25def2001-12-20 15:38:05 +00002306 * Integrated fuse_set_operations() into fuse_new()
2307
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023082001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002309
2310 * Applied header protection + extern "C" patch by Roland
2311 Bauerschmidt
2312
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023132001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002314
Miklos Szeredie5183742005-02-02 11:14:04 +00002315 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002316
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023172001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002318
2319 * Cleaned up way of mounting simple filesystems.
2320
2321 * fuse_main() helper function added
2322
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023232001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002324
Miklos Szeredife25def2001-12-20 15:38:05 +00002325 * Optimized read/write operations, so that minimal copying of data
2326 is done
2327
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023282001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002329
2330 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002331
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023322001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002333
2334 * Fixed vfsmount reference leak in fuse_follow_link
2335
2336 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2337 userspace is ignored
2338
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023392001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002340
Miklos Szeredife25def2001-12-20 15:38:05 +00002341 * Started ChangeLog