blob: 31fb4161d7c815638a771bc2b96e1805c35f7b5f [file] [log] [blame]
Miklos Szeredi12e5c982006-10-16 09:06:26 +000012006-10-16 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Released 2.6.0-rc3
4
52006-10-15 Miklos Szeredi <miklos@szeredi.hu>
6
7 * kernel: cleanups
8
Miklos Szeredid6f8db72006-10-13 09:54:24 +000092006-10-13 Miklos Szeredi <miklos@szeredi.hu>
10
Miklos Szeredibcfa4162006-10-13 19:48:19 +000011 * kernel: Fix compilation on patched 2.6.18 (fc6) and 2.6.19.
Miklos Szeredid6f8db72006-10-13 09:54:24 +000012 Report from David Shaw
13
Miklos Szeredi744f9d52006-10-13 20:04:46 +000014 * lib: Fix lost error on renaming a file. Report from David Shaw
15
16 * lib: Fix lost error on hiding open files (renaming to
17 .fuse_hiddenXXXX)
Miklos Szeredibcfa4162006-10-13 19:48:19 +000018
19 * kernel: Fix a rare hang on SMP/32bit on heavy filesystem
20 activity. The cause of the bug was that some calls to
21 i_size_write() were not protected by a lock, and hence
22 i_size_seqcount could become corrupted. This caused subsequent
23 calls to i_size_read() to spin forever. This is a long standing
24 bug was probably introduced in version 2.2, and thought to be
25 related to NFS exporting (it's not). It was reported by various
26 people, but Dana Henriksen has finally helped me to track it down,
27 so big thanks to him
28
29 * kernel: Protect against truncation of a swapfile
30
Miklos Szeredi856e5cb2006-10-11 05:44:55 +0000312006-10-10 Miklos Szeredi <miklos@szeredi.hu>
32
33 * kernel: Check for signature of super_operations->umount_begin().
34 Ubuntu kernel 2.6.17 seems to use the new signature found in
35 2.6.18. Thanks to Florent Mertens for the report
36
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +0000372006-10-08 Miklos Szeredi <miklos@szeredi.hu>
38
39 * Make sure inode numers wrap around at 2^32. This is needed on
40 dual 64bit/32bit architectures, because 32bit applications using
41 the non-largefile interface would otherwise break (EOVERFLOW error
42 would be returned by the stat() system call family)
43
44 * ulockmgr: handle the case, when a locking operation fails
45 because no more file desctriptors are available in
46 ulockmgr_server. Also work around a Linux kernel bug (known to
Miklos Szeredi53eec2a2006-10-10 18:53:38 +000047 exist for all Linux kernel versions <= 2.6.18) which may cause
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +000048 sent file descriptors to be lost in the above case
49
50 * ulockmgr: optimize file descriptor use
51
52 * restore needed cpp flags to util/Makefile.am
53
54 * Install udev rules as 99-fuse.rules instead of 60-fuse.rules
55
56 * Minor clean up of udev rules
57
Miklos Szeredib9ea32f2006-10-08 17:35:40 +000058 * Add a synchronous DESTROY message to kernel interface. This is
59 invoked from umount, when the final instance of the filesystem is
60 released. It is only sent for filesystems mounted with the
61 'blkdev' option for security reasons.
62
63 * If the DESTROY message is received, call the filesystem's
64 ->destroy() method. In this case it's not called from session
65 destruction as it would be otherwise.
66
Miklos Szeredi4003dfa2006-10-01 13:46:02 +0000672006-10-01 Miklos Szeredi <miklos@szeredi.hu>
68
Miklos Szerediff1e0d42006-10-01 14:42:02 +000069 * Released 2.6.0-rc2
70
712006-10-01 Miklos Szeredi <miklos@szeredi.hu>
72
Miklos Szeredi4fca4322006-10-01 14:41:04 +000073 * Add support for FLUSH+RELEASE operation for FreeBSD. Original
74 patch by Csaba Henk
75
Miklos Szeredi4003dfa2006-10-01 13:46:02 +000076 * Add init script to insert fuse module and mount the control
77 filesystem. The script is installed as /etc/init.d/fuse and on
78 debian based systems (where update-rc.d is available) symlinks
79 from /etc/rc*.d/ are also installed.
80
81 * Include '#define FUSE_USE_VERSION=XX' into examples so they
82 become more self contained.
83
Miklos Szeredi6cf952a2006-09-30 07:39:33 +0000842006-09-30 Miklos Szeredi <miklos@szeredi.hu>
85
Miklos Szeredi07407852006-09-30 20:03:52 +000086 * API changes:
87
88 * Move lock_owner from a separate argument into fuse_file_info
89
90 * Add a flag to fuse_file_info indicating (1) a highlevel lock
91 operation (unlock all) was initiated by a flush, (2) a lowlevel
92 release operation should perform a flush as well.
93
Miklos Szeredi004a8c72006-09-30 16:41:12 +000094 * fusermount: revert modprobe change (2006-08-18) since it
95 doesn't work reliably with udev
96
Miklos Szeredi708b4812006-09-30 16:02:25 +000097 * Add support for block device backed filesystems. This mode is
98 selected with the 'blkdev' option, which is privileged.
99
100 * Add support for the bmap (FIBMAP ioctl) operation on block
101 device backed filesystems. This allows swapon and lilo to work on
102 such filesystems.
103
Miklos Szeredid93a4292006-09-30 12:21:49 +0000104 * kernel changes:
105
Miklos Szeredi6cf952a2006-09-30 07:39:33 +0000106 * Drop support for kernels earlier than 2.6.9. Kernel module from
107 previous (2.5.x) release can be used with library from this
108 release
109
Miklos Szeredid93a4292006-09-30 12:21:49 +0000110 * In fuse_dentry_revalidate() use dget_parent() instead of
111 dereferencing d_parent, since there's no protection against parent
112 changing and going away
113
114 * Protect nlookup from concurrent updates
115
116 * In lookup if a directory alias exists but is unused,
117 then get rid of it, otherwise return -EBUSY.
118
119 * In mkdir if a directory alias exists, return success, but leave
120 dentry negative. In reality this could happen if a remote rename
121 immediately followed the mkdir.
122
123 * Don't BUG in fuse_iget() if multiple retries are needed to get a
124 good inode. This could happen if several lookups are racing for
125 the same inode.
126
Miklos Szeredi40ec1752006-09-30 06:17:31 +00001272006-09-29 Miklos Szeredi <miklos@szeredi.hu>
128
129 * Fix compilation on 2.6.9. Report from Troy Ayers
130
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001312006-09-27 Miklos Szeredi <miklos@szeredi.hu>
132
133 * Fix Oops in fuse_readpages(). Reported by David Shaw
134
Csaba Henk3e3a1252006-09-24 14:53:29 +00001352006-09-24 Csaba Henk <csaba.henk@creo.hu>
136
137 * Add support for nanosec times on FreeBSD
138
139 * Fix FreeBSD compatibility issues
140
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001412006-09-23 Miklos Szeredi <miklos@szeredi.hu>
142
143 * Fix one more compatibility bug. Thanks to Ricardo Correia
144
145 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
146
Miklos Szeredieafdf422006-09-22 19:30:17 +00001472006-09-22 Miklos Szeredi <miklos@szeredi.hu>
148
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000149 * Fixed several compatibility bugs in low level interface.
150 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +0000151
152 * Add workaround for ARM caching bug
153
Miklos Szeredic3b76812006-09-16 08:52:09 +00001542006-09-16 Miklos Szeredi <miklos@szeredi.hu>
155
156 * Rename new utimes() method to more logical utimens()
157
1582006-09-14 Miklos Szeredi <miklos@szeredi.hu>
159
160 * Fuse tried to unlink already unlinked hidden files. Bug
161 reported by Milan Svoboda
162
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +00001632006-09-10 Miklos Szeredi <miklos@szeredi.hu>
164
165 * Released 2.6.0-rc1
166
1672006-09-10 Miklos Szeredi <miklos@szeredi.hu>
168
169 * kernel: Fix unlock on close for kernels < 2.6.18
170
171 * Add ulockmgr library & server. This can be used for handling
172 file locking requests either directly from libfuse or over a
173 network, etc. This first version is not optimized and the number
174 of file descriptors it uses may get out of hand
175
Miklos Szeredi288ed4e2006-09-07 06:02:44 +00001762006-09-07 Miklos Szeredi <miklos@szeredi.hu>
177
178 * lib: Add interrupt support to high level library, which may be
179 enabled with the 'intr' mount option.
180
181 * When an operation is interrupted the thread handling that
182 operation will receive SIGUSR1 (or other signal specified with the
183 'intr_signal=N' option). The library installs a no-op signal
184 handler for this signal, unless there's already a handler
185 installed.
186
187 * The filesystem may query interrupt status (regardless of 'intr')
188 with the fuse_interrupted() function.
189
Miklos Szeredid8588412006-09-07 06:08:56 +0000190 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
191
Miklos Szeredi38f152c2006-09-03 18:28:52 +00001922006-09-03 Miklos Szeredi <miklos@szeredi.hu>
193
194 * lib: Multithreaded loop now allows unlimited number of threads.
195 This is needed for locking operations which may block
196 indefinitely. Also the kernel now doesn't limit the number of
197 outstanding requests so the library shouldn't do so either.
198
Miklos Szeredifa440772006-09-02 09:51:08 +00001992006-09-01 Miklos Szeredi <miklos@szeredi.hu>
200
201 * Fix recursive lock bug in interrupt handling
202
203 * Add utimes() method to highlevel interface, which supports
204 setting times with nanosecond resolution
205
Miklos Szeredi63d3c402006-08-18 16:38:08 +00002062006-08-18 Miklos Szeredi <miklos@szeredi.hu>
207
208 * kernel: fix page leak if fuse_readpages() failed in it's
209 initialization. Bug found and original patch from Alexander
210 Zarochentsev
211
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000212 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
213 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000214 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000215
Miklos Szeredi543087d2006-08-18 19:26:23 +0000216 * fusermount: try to modprobe fuse module if invoked by root and
217 unable to open device. This is needed with udev, since the device
218 node will be created only when the module is inserted, hence
219 module autoloading won't work. Reported by Szakacsits Szabolcs
220
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002212006-07-30 Miklos Szeredi <miklos@szeredi.hu>
222
223 * fusermount: if selinux is active, restore the original file's
224 security context in unmount_rename(). Redhat bugzilla id 188561.
225 Patch from Yves Perrenoud
226
227 * Add POSIX file locking operation to high level library
228
Miklos Szerediad519562006-07-31 11:07:40 +0000229 * Initialize context for unlink of hidden files on umount. Bug
230 reported by Tim Stoakes
231
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002322006-07-14 Miklos Szeredi <miklos@szeredi.hu>
233
234 * Multiple release() calls can race with each other, resulting in
235 the hidden file being deleted before the last release finishes.
236 Bug found and patch tested by Mark Huijgen
237
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00002382006-07-05 Miklos Szeredi <miklos@szeredi.hu>
239
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000240 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
241 this makes sense on systems using udev. Reported by Szakacsits
242 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000243
Miklos Szeredi91762cd2006-06-29 14:38:35 +00002442006-06-29 Miklos Szeredi <miklos@szeredi.hu>
245
246 * Released 2.6.0-pre3
247
2482006-06-29 Miklos Szeredi <miklos@szeredi.hu>
249
250 * Support in kernel module for file locking and interruption. The
251 same functionality is available in official kernels >= 2.6.18
252
Miklos Szeredib052a1a2006-06-28 14:51:20 +00002532006-06-28 Miklos Szeredi <miklos@szeredi.hu>
254
255 * Add POSIX file locking support
256
257 * Add request interruption
258
Miklos Szeredi55a84102006-06-06 10:16:38 +00002592006-06-06 Miklos Szeredi <miklos@szeredi.hu>
260
261 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
262
Miklos Szeredi9dedb702006-06-06 09:48:30 +00002632006-06-05 Remy Blank <remy.blank@pobox.com>
264
265 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
266 unmounting succeeds even if mount point was relative.
267
Csaba Henkd021ce42006-06-03 23:04:18 +00002682006-06-04 Csaba Henk <csaba.henk@creo.hu>
269
270 * lib: fix emergency umount in helper.c when malloc fails.
271 (The way it was done would end up in a segfault.)
272
Csaba Henk4f5c7b42006-06-01 14:19:17 +00002732006-06-01 Csaba Henk <csaba.henk@creo.hu>
274
275 * lib: adjust threading related compiler flags.
276 Switch to "-pthread" from "-lpthread" as that's the preferred
277 one on several platforms. Consulted with Terrence Cole and
278 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000279
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00002802006-05-08 Miklos Szeredi <miklos@szeredi.hu>
281
282 * lib: search fusermount in installation directory (bindir) as
283 well as in PATH.
284
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00002852006-05-03 Miklos Szeredi <miklos@szeredi.hu>
286
287 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
288 Reported by Christian Magnusson
289
Csaba Henk2efe48f2006-04-22 22:46:52 +00002902006-04-23 Csaba Henk <csaba.henk@creo.hu>
291
292 * lib: make FreeBSD mount routine recognize if kernel features
293 backgrounded init and if it does, run the mount util in foreground
294 (similarly to Linux)
295
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00002962006-04-21 Miklos Szeredi <miklos@szeredi.hu>
297
298 * kernel: fix fput deadlock fix, the lockless solution could lead
299 to "VFS: busy inodes after umount..."
300
301 * kernel: fix race between checking and setting file->private_data
302 for the device. Found by Al Viro
303
3042006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000305
306 * kernel: remove request pool, instead allocate requests on
307 demand. Account the number of background requests, and if they go
308 over a limit, block the allocation of new requests.
309
310 * kernel: fix deadlock if backgrounded request holds the last
311 reference to the super block
312
313 * kernel: don't use fuse_reset_request() during direct I/O
314
Csaba Henkbaa49d22006-04-06 00:12:44 +00003152006-04-06 Csaba Henk <csaba.henk@creo.hu>
316
317 * lib: Let FreeBSD mount option parsing routine recognize "no"
318 prefixes for FUSE specific options as well
319
Miklos Szeredid0a777a2006-04-05 07:18:00 +00003202006-04-01 Miklos Szeredi <miklos@szeredi.hu>
321
322 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
323
Miklos Szeredi6f385412006-03-17 15:05:40 +00003242006-03-17 Miklos Szeredi <miklos@szeredi.hu>
325
326 * API changes:
327
328 * fuse_main(), fuse_setup() and fuse_new() have an additionl
329 user_data parameter
330
331 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
332 file descriptor
333
334 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
335 destroys the given channel
336
337 * fuse_teardown() no longer has a file descriptor parameter
338
339 * new exported functions: fuse_session_remove_chan(),
340 fuse_get_session(), fuse_daemonize()
341
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000342 * fuse_chan_recv() may now return a new channel which will be used
343 to send the reply
344
Miklos Szeredif51e43f2006-03-16 14:19:25 +00003452006-03-16 Miklos Szeredi <miklos@szeredi.hu>
346
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000347 * Released 2.6.0-pre2
348
3492006-03-16 Miklos Szeredi <miklos@szeredi.hu>
350
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000351 * Don't unmount if already unmounted. This fixes a problem seen
352 in the following situation: Lazy unmount a busy filesystem; Mount
353 a new one in top; When the first finally unmounts, the second also
354 unmounts. Reported by Franco Broi
355
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00003562006-03-15 Miklos Szeredi <miklos@szeredi.hu>
357
358 * lowlevel lib: use indirect function calls instead of a
359 switch/case construct. Besides increased efficiency it helps
360 maintainability & readability too. Patch from Florin Malita
361
Miklos Szeredi67d26d42006-03-13 17:39:56 +00003622006-03-13 Miklos Szeredi <miklos@szeredi.hu>
363
364 * kernel: replace global spinlock with a per-connection spinlock
365
Miklos Szeredi87c77932006-03-10 10:18:20 +00003662006-03-10 Miklos Szeredi <miklos@szeredi.hu>
367
368 * Fix source compatibility breakage for fuse_unmount(). Report
369 from Yura Pakhuchiy
370
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00003712006-03-02 Miklos Szeredi <miklos@szeredi.hu>
372
373 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
374
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00003752006-03-01 Miklos Szeredi <miklos@szeredi.hu>
376
377 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
378 Jeff Dike
379
380 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
381 interface to return -errno in case of error.
382
Csaba Henkee588c02006-03-01 09:40:35 +00003832006-03-01 Csaba Henk <csaba.henk@creo.hu>
384
385 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
386 FreeBSD implementation so that it uses libc (sysctl backed) instead
387 of an embdedded script (kmem backed). Adjust the control flow of
388 hello_ll so that device doesn't get closed before unmount attempt.
389
Miklos Szerediaa8258e2006-02-25 14:42:03 +00003902006-02-25 Miklos Szeredi <miklos@szeredi.hu>
391
392 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
393 implement method. This is needed on FreeBSD, and nicer on Linux
394 too. Highlevel lib already did this. Reported by Csaba Henk
395
396 * Fix negative entry handling. There was a bug, that negative
397 lookups with timeouts (nodeid == 0) returned -EIO.
398
3992006-02-23 Miklos Szeredi <miklos@szeredi.hu>
400
401 * Fix race between RELEASE and UNLINK, which might leave
402 .fuse_hidden* files around
403
Miklos Szeredi6bab4802006-02-21 18:31:29 +00004042006-02-21 Miklos Szeredi <miklos@szeredi.hu>
405
406 * fusexmp_fh: implement flush() method and call close() on the
407 open file descriptor. This is needed if used on an NFS
408 filesystem, which buffers data until file is closed. Franco Broi
409 spotted the situation when 'cp -p' failed to set the modification
410 time because of this.
411
Miklos Szeredie109e282006-02-20 11:06:20 +00004122006-02-20 Miklos Szeredi <miklos@szeredi.hu>
413
414 * Released 2.6.0-pre1
415
Miklos Szeredib67f2162006-02-20 10:55:33 +00004162006-02-19 Miklos Szeredi <miklos@szeredi.hu>
417
418 * libfuse: fix use-after-free bug in interruptred reply_entry().
419 Patch from John Muir
420
421 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
422 ID: 352631. Found by Stéphane Rosi
423
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00004242006-02-17 Miklos Szeredi <miklos@szeredi.hu>
425
426 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
427 into a single function fuse_add_direntry(). This cleans up the
428 interface and makes it possible to do stacking.
429
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00004302006-02-16 Miklos Szeredi <miklos@szeredi.hu>
431
432 * Fix rare race betweeen abort and release caused by failed iget()
433 in fuse_create_open().
434
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000435 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
436 own attribute caching.
437
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00004382006-02-15 Miklos Szeredi <miklos@szeredi.hu>
439
440 * Work around FreeBSD runtime linker "feature" which binds an old
441 version of a symbol to internal references if the symbol has more
442 than one version. This resulted in infinite recursion in
443 fuse_lowlevel_new_compat25().
444
Csaba Henkdcce3e52006-02-10 06:22:15 +00004452006-02-10 Csaba Henk <csaba.henk@creo.hu>
446
447 * Refine clock_gettime() querying so that linker options
448 shall be set as it's appropriate for the target platform.
449
Miklos Szeredi390ae312006-02-10 16:44:34 +00004502006-02-09 Miklos Szeredi <miklos@szeredi.hu>
451
452 * Fix udev rule syntax. Reported by Nix
453
Miklos Szeredieb643582006-02-08 10:54:02 +00004542006-02-08 Miklos Szeredi <miklos@szeredi.hu>
455
456 * In some cases udev rule seems to be ineffective when installed
457 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
458
Miklos Szeredi357529c2006-02-03 09:20:31 +00004592006-02-03 Miklos Szeredi <miklos@szeredi.hu>
460
461 * Fix compilation when build directory is different from source
462 directory. Reported by Frédéric L. W. Meunier
463
Miklos Szeredice28c7e2006-02-02 14:59:05 +00004642006-02-02 Miklos Szeredi <miklos@szeredi.hu>
465
466 * Fix even bigger bug introduced in fix for request_end() on
467 2006-01-14. Reported by Gal Rosen
468
Miklos Szeredi320abe42006-01-30 18:14:51 +00004692006-01-30 Miklos Szeredi <miklos@szeredi.hu>
470
471 * highlevel-lib: add 'auto_cache' option. This caches file data
472 based on modification time and size
473
Miklos Szeredi065f2222006-01-20 15:15:21 +00004742006-01-20 Miklos Szeredi <miklos@szeredi.hu>
475
Miklos Szeredid66b7282006-02-02 15:15:21 +0000476 * Sanitize storage type and help message in mount_bsd.c. Patch
477 from Csaba Henk
478
Miklos Szeredi065f2222006-01-20 15:15:21 +0000479 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
480 FUSE_OPT_KEY_DISCARD
481
482 * Add options 'max_readahead', 'sync_read' and 'async_read'
483
484 * Kernel ABI version 7.6:
485
486 * Negotiate the 'max_readahead' value and 'async_read' flags with
487 userspace in the INIT method
488
489 * Add connection info to ->init() methods to both lowlevel and
490 highlevel API
491
492 * Fall back to synchronous read() behavior if either library or
493 userspace filesystem is using the old interface version. This is
494 needed so non-updated filesystems won't be confused by the
495 different read() behavior
496
4972006-01-19 Miklos Szeredi <miklos@szeredi.hu>
498
499 * lib: if "fsname=" option was given, pass it to fusermount
500
501 * fuse_opt: add new fuse_opt_insert_arg() function, which is
502 needed by filesystems to implement some argument manipulations
503 correctly
504
505 * fuse_opt: fix memory leak in handling "--" option
506
5072006-01-18 Miklos Szeredi <miklos@szeredi.hu>
508
509 * kernel: fix detection of case when fuse is not configured into
510 the kernel either as module or built-in
511
512 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
513 'template' structure member to 'templ'. Reported by Takashi Iwai
514
515 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
516
517 * kernel: support version 2.6.16 (i_sem -> i_mutex)
518
Miklos Szeredi15af1b82006-01-16 17:52:24 +00005192006-01-16 Miklos Szeredi <miklos@szeredi.hu>
520
521 * Added (again) asynchronous readpages support
522
523 * Each connection now shows up under /sys/fs/fuse/connections
524
525 * Connection attributes exported to sysfs: 'waiting' number of
526 waiting requests; 'abort' abort the connection
527
528 * Connection may be aborted through either the sysfs interface or
529 with 'umount -f mountpoint'
530
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00005312006-01-14 Miklos Szeredi <miklos@szeredi.hu>
532
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000533 * Released 2.5.0
534
5352006-01-14 Miklos Szeredi <miklos@szeredi.hu>
536
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000537 * kernel: fix a couple of bugs
538
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000539 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000540 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000541 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000542
543 * request_end() used request pointer after decrementing refcount
544
545 * Clearing ->connected or ->mounted connection flags could race
546 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000547
Miklos Szeredia9820342006-01-10 10:54:11 +00005482006-01-10 Miklos Szeredi <miklos@szeredi.hu>
549
550 * kernel: add necessary compile flags for 2.4.X/x86_64.
551 Report from Sean Ziegeler
552
Miklos Szeredi35676b02006-01-09 10:13:28 +00005532006-01-09 Miklos Szeredi <miklos@szeredi.hu>
554
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000555 * Released 2.5.0-pre2
556
5572006-01-09 Miklos Szeredi <miklos@szeredi.hu>
558
Miklos Szeredi35676b02006-01-09 10:13:28 +0000559 * Applied patch from Csaba Henk, to update mount_bsd to new
560 fuse_mount() semantics
561
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000562 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
563 Steiner and Don Taber
564
Miklos Szeredicb075c82006-01-09 11:33:04 +0000565 * fusermount: add 'dirsync' mount option
566
Miklos Szerediad005972006-01-07 10:14:34 +00005672006-01-07 Miklos Szeredi <miklos@szeredi.hu>
568
569 * Improved help reporting and added version reporting to library
570
Miklos Szeredi0af762a2006-01-06 09:47:54 +00005712006-01-06 Miklos Szeredi <miklos@szeredi.hu>
572
573 * Change working directory to "/" even if running in the
574 foreground. Patch from Jonathan Brandmeyer
575
Miklos Szeredi95da8602006-01-06 18:29:40 +0000576 * Changed lots of functions to use 'struct fuse_args' instead of
577 separate argc and argv
578
579 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
580 fuse_remove_signal_handlers() functions, so that it's now pretty
581 easy to get all the functionality of fuse_main() with a filesystem
582 using the lowlevel API.
583
Miklos Szeredib8638182006-01-02 12:52:24 +00005842006-01-02 Miklos Szeredi <miklos@szeredi.hu>
585
Miklos Szeredif1941472006-01-02 16:27:48 +0000586 * mount.fuse: the 'user' option should be ignored. Report and
587 solution from Mattd.
588
589 * mount.fuse: export PATH in the right place. Report and patch
590 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000591
Miklos Szeredi73f41392005-12-16 11:12:16 +00005922005-12-16 Miklos Szeredi <miklos@szeredi.hu>
593
594 * Clean up the option parsing interface slightly, by creating an
595 "argument list" structure, that contains the argument vector and
596 count
597
Miklos Szeredi4e829092005-12-15 16:13:49 +00005982005-12-15 Miklos Szeredi <miklos@szeredi.hu>
599
600 * fusermount: check if /mnt/mtab is a symlink and don't modify it
601 in that case
602
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000603 * kernel: simplify request size limiting. INIT only contains
604 maximum write size, maximum path component size remains fixed at
605 1024 bytes, and maximum xattr size depends on read buffer.
606
Miklos Szeredie248e4b2005-12-14 16:18:32 +00006072005-12-14 Miklos Szeredi <miklos@szeredi.hu>
608
609 * Fix readdir() failure on x86_64, of 32bit programs compiled
610 without largefile support. Bug report and help from Anthony
611 Kolasny
612
Miklos Szeredi64709572005-12-14 22:16:28 +0000613 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000614 a regular file
615
616 * Add current output argument vector to option processing
617 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000618
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00006192005-12-12 Miklos Szeredi <miklos@szeredi.hu>
620
621 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
622
Miklos Szeredi659743b2005-12-09 17:41:42 +00006232005-12-09 Miklos Szeredi <miklos@szeredi.hu>
624
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000625 * Released 2.5.0-pre1
626
6272005-12-09 Miklos Szeredi <miklos@szeredi.hu>
628
Miklos Szeredi659743b2005-12-09 17:41:42 +0000629 * libfuse: added option parsing interface, defined in
630 <fuse_opt.h>.
631
Miklos Szeredic53cddd2005-12-07 12:57:59 +00006322005-12-07 Miklos Szeredi <miklos@szeredi.hu>
633
634 * Return EIO for file operations (read, write, fsync, flush) on
635 open files whose inode has become "bad". Inodes will be marked
636 "bad" if their type changes. Bug report by Csaba Henk
637
Miklos Szeredi044da2e2005-12-06 17:59:55 +00006382005-12-06 Miklos Szeredi <miklos@szeredi.hu>
639
640 * Use bigger request buffer size. write() did not work on archs
641 with > 4k page size, Bug report by Mark Haney
642
643 * ABI version 7.5:
644
645 * Extend INIT reply with data size limits
646
Miklos Szeredifa829b52005-12-02 11:05:41 +00006472005-12-02 Miklos Szeredi <miklos@szeredi.hu>
648
649 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
650 reported by Vincenzo Ciancia
651
652 * Handle exit-by-umount in fuse_read_cmd()
653
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00006542005-11-29 Miklos Szeredi <miklos@szeredi.hu>
655
656 * Check if '-msoft-float' option is supported by compiler when
657 configuring for a 2.4.x kernel. Bug report by Mark Haney
658
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000659 * In multithreaded loop send a TERM signal to the main thread if
660 one of the other threads exit. Needed on FreeBSD for a clean exit
661 on umount. Should not cause any harm on Linux either
662
Miklos Szerediead7f102005-11-28 16:02:27 +00006632005-11-28 Miklos Szeredi <miklos@szeredi.hu>
664
665 * Fix bug in 32-bit file handle compatibility
666
Miklos Szeredia90b7342005-11-27 19:22:42 +00006672005-11-27 Miklos Szeredi <miklos@szeredi.hu>
668
669 * Block TERM, INT, HUP and QUIT signals in all but the main
670 thread. According to POSIX it's not specified which thread will
671 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000672
673 * Kernel changes:
674
675 * Check for directory aliasing on mkdir, not just on lookup
676
677 * Check for special node ID values in create+open operation
678
679 * Sync with -mm: readv, writev, aio_read and aio_write methods
680 added to file operations
681
682 * Cleanups: lookup code, page offset calculation
683
684 * ABI stepped to 7.4, changes:
685
686 * frsize member added to fuse_kstatfs structure
687
688 * added support for negative entry caching: on lowlevel API if
689 fuse_entry_param::ino is set to zero in reply to a lookup request,
690 the kernel will cache the dentry for the specified amount of time.
691
692 * libfuse: added 'negative_timeout' option: specifies how much
693 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000694 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000695
Miklos Szeredibac4c772005-11-23 13:35:54 +00006962005-11-22 Miklos Szeredi <miklos@szeredi.hu>
697
698 * Add detection of mainline FUSE code in running kernel
699
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00007002005-11-21 Miklos Szeredi <miklos@szeredi.hu>
701
702 * Don't use async cancelation in multithreaded loop. This makes
703 it more portable to systems where read() is not async cancel safe.
704 Report from Andriy Gapon
705
Miklos Szeredi05c97842005-11-20 17:05:07 +00007062005-11-20 Miklos Szeredi <miklos@szeredi.hu>
707
708 * Warn if API version 11 compatibility is requested
709
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00007102005-11-17 Miklos Szeredi <miklos@szeredi.hu>
711
712 * More FreeBSD merge
713
Miklos Szeredi832ee442005-11-18 21:02:36 +0000714 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
715 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000716 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000717
718 * libfuse: don't use system() to invoke 'fusermount -u ...'
719 because it breaks mountpoints with spaces in them into multiple
720 arguments
721
Miklos Szeredib3f99722005-11-16 13:00:24 +00007222005-11-16 Miklos Szeredi <miklos@szeredi.hu>
723
724 * Merge library part of FreeBSD port. Patch by Csaba Henk
725
Miklos Szeredi3a770472005-11-11 21:32:42 +00007262005-11-11 Miklos Szeredi <miklos@szeredi.hu>
727
728 * Use 64bit type for file handle, so the full range supported by
729 the kernel interface is available to applications
730
Miklos Szeredibcc53852005-11-10 09:54:41 +00007312005-11-10 Miklos Szeredi <miklos@szeredi.hu>
732
733 * Moved mountpoint argument checking from fuse_parse_cmdline() to
734 fuse_mount() in preparation to FreeBSD merge.
735
Miklos Szeredi4ec06812005-11-08 13:04:27 +00007362005-11-08 Miklos Szeredi <miklos@szeredi.hu>
737
738 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
739 Henk.
740
Miklos Szeredic706ad92005-11-07 15:30:48 +00007412005-11-07 Miklos Szeredi <miklos@szeredi.hu>
742
743 * Make the statfs change backwards compatible.
744
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00007452005-11-06 Miklos Szeredi <miklos@szeredi.hu>
746
747 * Change ->statfs() method to use 'struct statvfs' instead of
748 'struct statfs'. This makes the API more portable since statvfs()
749 is defined by POSIX.
750
Miklos Szeredif7eec032005-10-28 13:09:50 +00007512005-10-28 Miklos Szeredi <miklos@szeredi.hu>
752
753 * Add fgetattr() method, which currently will only be called after
754 a successful call to a create() method.
755
Miklos Szeredib0b13d12005-10-26 12:53:25 +00007562005-10-26 Miklos Szeredi <miklos@szeredi.hu>
757
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000758 * Change kernel ABI version to 7.3
759
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000760 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000761 call if 'default_permissions' mount option is not given, and is
762 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000763
Miklos Szeredid9079a72005-10-26 15:29:06 +0000764 * Add atomic CREATE+OPEN operation. This will only work with
765 2.6.15 (presumably) or later Linux kernels.
766
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000767 * Add ftruncate() method. This will only work with 2.6.15
768 (presumably) or later Linux kernels.
769
770 * Fix kernel module compile if kernel source and build directories
771 differ. Report and initial patch by John Eastman
772
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00007732005-10-18 Miklos Szeredi <miklos@szeredi.hu>
774
775 * lib: optimize buffer reallocation in fill_dir.
776
Miklos Szeredic9daeb12005-10-17 10:19:21 +00007772005-10-17 Miklos Szeredi <miklos@szeredi.hu>
778
779 * Released 2.4.1
780
Miklos Szeredif412d072005-10-14 21:24:32 +00007812005-10-14 Miklos Szeredi <miklos@szeredi.hu>
782
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000783 * libfuse: add debug for write result (by Shaun Jackman) and
784 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000785
Miklos Szeredib75d4b92005-10-11 10:12:08 +00007862005-10-11 Miklos Szeredi <miklos@szeredi.hu>
787
788 * Spelling fixes, thanks to Ioannis Barkas
789
Miklos Szeredibaab5872005-10-10 08:41:14 +00007902005-10-10 Miklos Szeredi <miklos@szeredi.hu>
791
792 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
793 patch
794
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00007952005-10-07 Miklos Szeredi <miklos@szeredi.hu>
796
797 * highlevel-lib: init() and destroy() methods didn't have an
798 initialized fuse_context. Bug reported by Tim Stoakes
799
Miklos Szeredif2491122005-10-04 10:10:41 +00008002005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000801
802 * Released 2.4.0
803
Miklos Szeredi836ab712005-10-03 14:11:59 +00008042005-10-03 Miklos Szeredi <miklos@szeredi.hu>
805
806 * Add documentation to fuse_lowlevel.h
807
808 * API cleanups:
809
810 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
811
812 * Move fuse_mount() and fuse_unmount() to fuse_common.h
813
814 * Change the return type of fuse_reply_none() from int to void.
815
Miklos Szerediaf138742005-09-30 08:49:59 +00008162005-09-30 Miklos Szeredi <miklos@szeredi.hu>
817
818 * kernel: NFS exporting leaked dentries. Bug found and fixed by
819 Akshat Aranya.
820
Miklos Szeredidb016e02005-09-29 10:06:27 +00008212005-09-29 Miklos Szeredi <miklos@szeredi.hu>
822
823 * fusermount: fix error message, when unable to open /dev/fuse.
824 Report by Balázs Pozsár
825
Miklos Szeredi35200932005-09-28 14:50:49 +00008262005-09-28 Miklos Szeredi <miklos@szeredi.hu>
827
828 * UClibc fixes from Christian Magnusson
829
Miklos Szeredi8eddf642005-09-27 08:58:26 +00008302005-09-27 Miklos Szeredi <miklos@szeredi.hu>
831
832 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
833
Miklos Szerediedec95c2005-09-26 10:22:22 +00008342005-09-26 Miklos Szeredi <miklos@szeredi.hu>
835
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000836 * Released 2.4.0-rc1
837
8382005-09-26 Miklos Szeredi <miklos@szeredi.hu>
839
Miklos Szerediedec95c2005-09-26 10:22:22 +0000840 * fusermount: allow user umount in the case when /etc/mtab is a
841 symlink to /proc/mounts. Reported by Balázs Pozsár.
842
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00008432005-09-23 Miklos Szeredi <miklos@szeredi.hu>
844
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000845 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000846
Miklos Szeredif45f3c12005-09-22 15:14:27 +00008472005-09-22 Miklos Szeredi <miklos@szeredi.hu>
848
849 * Slight optimization in returning EINVAL error in case of an open
850 with O_DIRECT flag.
851
Miklos Szeredi670d07a2005-09-20 11:36:32 +00008522005-09-20 Miklos Szeredi <miklos@szeredi.hu>
853
854 * Remove '--enable-auto-modprobe' configure flag. Module
855 auto-loading is now handled by the kernel.
856
Miklos Szeredid51fca12005-09-15 12:51:00 +00008572005-09-15 Miklos Szeredi <miklos@szeredi.hu>
858
859 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
860 Help from Jens M. Noedler.
861
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00008622005-09-14 Miklos Szeredi <miklos@szeredi.hu>
863
864 * Add memory cleanup on thread exit
865
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00008662005-09-13 Miklos Szeredi <miklos@szeredi.hu>
867
868 * Set umask to zero in fusexmp and fusexmp_fh, so that
869 files/directories are created with the requested mode.
870
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00008712005-09-12 Miklos Szeredi <miklos@szeredi.hu>
872
873 * Don't ignore read error in multithreaded loop
874
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00008752005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000876
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000877 * Released 2.4.0-pre2
878
8792005-09-08 Miklos Szeredi <miklos@szeredi.hu>
880
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000881 * Revert lock and access operations. Postpone these until 2.5.
882
8832005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000884
885 * Fix compile warning on 2.6.13 and later
886
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000887 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000888
Miklos Szeredi77ccf652005-08-19 14:40:27 +00008892005-08-19 Miklos Szeredi <miklos@szeredi.hu>
890
891 * lib: always refresh directory contents after rewinddir() to
892 conform to SUS. Bug found by John Muir.
893
Miklos Szeredia1482422005-08-14 23:00:27 +00008942005-08-15 Miklos Szeredi <miklos@szeredi.hu>
895
Miklos Szeredic43f9412005-08-15 15:10:48 +0000896 * Released 2.4.0-pre1
897
8982005-08-14 Miklos Szeredi <miklos@szeredi.hu>
899
Miklos Szeredia1482422005-08-14 23:00:27 +0000900 * lib: cleaned up (or messed up, depending on your POV) the low
901 level library API. Hopefully this is close to the final form.
902
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00009032005-08-05 Miklos Szeredi <miklos@szeredi.hu>
904
905 * fusermount: don't allow empty mountpoint argument, which defeats
906 automatic umounting in fuse_main(). Bugreport by Václav Jůza
907
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00009082005-08-03 Miklos Szeredi <miklos@szeredi.hu>
909
910 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
911 option is used (Paul Alfille).
912
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00009132005-08-02 Miklos Szeredi <miklos@szeredi.hu>
914
915 * highlevel-lib: added mount options "attr_timeout" and
916 "entry_timeout". These options control the length of time file
917 attributes and entries (names) are cached. Both default to 1.0
918 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000919
920 * kernel: correctly handle zero timeout for attributes and entries
921
Miklos Szeredi56a61f02005-08-01 10:42:25 +00009222005-08-01 Miklos Szeredi <miklos@szeredi.hu>
923
924 * Added missing symbols to versionscript (Joshua J. Berry)
925
Miklos Szeredie77cc072005-08-01 11:58:51 +0000926 * kernel: implement two flags, open can set: 'direct_io' and
927 'keep_cache'. These correspond exactly to mount options
928 'direct_io' and 'kernel_cache', but allow a per-open setting.
929
930 * Move 'direct_io' and 'kernel_cache' mount option handling to
931 userspace. For both mount options, if the option is given, then
932 the respective open flag is set, otherwise the open flag is left
933 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000934
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000935 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000936
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00009372005-07-28 Miklos Szeredi <miklos@szeredi.hu>
938
939 * kernel: invalidate attributes for read/readdir/readlink
940 operations
941
942 * kernel: detect newer UML kernels
943
Miklos Szeredibfb99462005-07-26 11:07:55 +00009442005-07-26 Miklos Szeredi <miklos@szeredi.hu>
945
946 * Make the installation path of fuse.ko and mount.fuse
947 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
948 environment variables. Requirement and help from Csaba Henk.
949
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00009502005-07-22 Miklos Szeredi <miklos@szeredi.hu>
951
952 * Fix bug, that causes filesystem requests to hang when unique
953 request counter becomes negative. This happens after
954 2,147,483,648 operations, so most people won't care. Thanks to
955 Franco Broi for the report and testing.
956
Miklos Szeredi9b813af2005-07-21 07:59:37 +00009572005-07-21 Miklos Szeredi <miklos@szeredi.hu>
958
959 * Don't change mtime/ctime/atime to local time on read/write.
960 Bug reported by Ben Grimm
961
962 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
963 Magnusson
964
965 * fusermount: use getopt_long() for option parsing. It allows the
966 use of '--' to stop argument scanning, so fusermount can now
967 operate on directories whose names begin with a '-'. Patch by
968 Adam Connell
969
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00009702005-07-15 Miklos Szeredi <miklos@szeredi.hu>
971
972 * fusermount: add '-v', '--version' and '--help' options
973
974 * add inode based API
975
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00009762005-07-12 Miklos Szeredi <miklos@szeredi.hu>
977
978 * lib: don't block signals in worker threads. Problem noticed by
979 Usarin Heininga
980
Miklos Szeredic902a852005-07-07 12:35:37 +00009812005-07-07 Miklos Szeredi <miklos@szeredi.hu>
982
983 * lib: don't allow both 'allow_other' and 'allow_root' options to
984 be given
985
Miklos Szeredi437d8112005-07-06 09:14:20 +00009862005-07-06 Miklos Szeredi <miklos@szeredi.hu>
987
988 * fusermount: check if mountpoint is empty (only '.' and '..' for
989 directories, and size = 0 for regular files). If "nonempty"
990 option is given, omit this check. This is useful, so users don't
991 accidentally hide data (e.g. from backup programs). Thanks to
992 Frank van Maarseveen for pointing this out.
993
994 * kernel: check if mandatory mount options ('fd', 'rootmode',
995 'user_id', 'group_id') are all given
996
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000997 * lib: simplify 'readdir_ino' handling
998
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000999 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
1000
Miklos Szeredibb9f5172005-07-03 18:03:11 +000010012005-07-03 Miklos Szeredi <miklos@szeredi.hu>
1002
1003 * kernel: clean up 'direct_io' code
1004
Miklos Szeredie1bcece2005-06-28 10:37:06 +000010052005-06-28 Miklos Szeredi <miklos@szeredi.hu>
1006
1007 * Add 'mount.fuse' written by Petr Klima
1008
Miklos Szeredi866826d2005-06-28 12:22:57 +00001009 * '/dev/fuse' is created by 'make install' if does not yet exist
1010
Miklos Szeredi129ef8f2005-06-20 13:48:42 +000010112005-06-20 Miklos Szeredi <miklos@szeredi.hu>
1012
1013 * Fix UCLIBC compile error. Patch by Christian Magnusson
1014
Miklos Szerediec12fad2005-06-08 10:26:34 +000010152005-06-08 Miklos Szeredi <miklos@szeredi.hu>
1016
1017 * Enable the auto-loading of the module via access to the
1018 corresponding device file. Patch by Takashi Iwai.
1019
Miklos Szeredidaa690e2005-06-08 10:41:36 +00001020 * Allow mounting a regular file (over a regular file) for
1021 unprivleged users.
1022
Miklos Szeredi7495abf2005-06-08 11:01:17 +00001023 * Do not create temporary device file. Require "/dev/fuse" to
1024 exist, and be readable/writable by the mounting user.
1025
Miklos Szeredi46960ce2005-06-02 09:05:00 +000010262005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1027
Miklos Szeredi56478552005-06-02 10:29:00 +00001028 * Released 2.3.0
1029
10302005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1031
Miklos Szeredi46960ce2005-06-02 09:05:00 +00001032 * Fix serious information leak: if the filesystem returns a short
1033 byte count to a read request, and there are non-zero number of
1034 pages which are not filled at all, these pages will not be zeroed.
1035 Hence the user can read out previous memory contents. Found by
1036 Sven Tantau.
1037
Miklos Szeredi33be22d2005-05-27 09:12:43 +000010382005-05-27 Miklos Szeredi <miklos@szeredi.hu>
1039
1040 * Add "readdir_ino" mount option, which tries to fill in the d_ino
1041 field in struct dirent. This mount option is ignored if "use_ino"
1042 is used. It helps some programs (e.g. 'pwd' used over NFS from a
1043 non-Linux OS). Patch by David Shaw.
1044
Miklos Szeredif94e0102005-05-12 14:56:34 +000010452005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1046
Miklos Szeredieb009c42005-05-12 15:01:17 +00001047 * Released 2.3-rc1
1048
10492005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1050
Miklos Szeredif94e0102005-05-12 14:56:34 +00001051 * File save in krusader and other editors doesn't work with sshfs,
1052 because open() is interrupted by a periodic signal, and open()
1053 restarts forever, without any progress. This could just be fixed
1054 in open(), but the problem is more generic: if signals are
1055 received more often than the filesystem can get the request to
1056 userspace, it will never finish. This is probably only a
1057 theoretical problem, nevertheless I'm removing the possibility to
1058 interrupt requests with anything other than SIGKILL, even before
1059 being sent to userspace. Bugreport by Eduard Czimbalmos.
1060
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +000010612005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1062
Miklos Szeredic2a33ee2005-05-09 13:29:17 +00001063 * libfuse: add "tree_lock" rwlock, that is locked for write in
1064 rename, unlink and rmdir, and locked for read in all other
1065 operations. This should fix the rename/release race reported by
1066 Valient Gough and others. The solution is very coarse, a finer
1067 grained locking scheme could be implemented, but it would be much
1068 more complex. Let's see whether this is good enough.
1069
10702005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1071
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001072 * Released 2.3-pre7
1073
Miklos Szeredi38009022005-05-08 19:47:22 +000010742005-05-08 Miklos Szeredi <miklos@szeredi.hu>
1075
1076 * Better fix for out of order FORGET messages. Now the
1077 LOOKUP/FORGET messages are balanced exactly (one FORGET can
1078 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001079 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +00001080 compatible.
1081
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +000010822005-05-06 Miklos Szeredi <miklos@szeredi.hu>
1083
1084 * Fix abort for out of order FORGET messages. Again. Spotted by
1085 Franco Broi again. Sorry :)
1086
Miklos Szeredi9372ffd2005-04-29 08:03:24 +000010872005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1088
Miklos Szeredicb6413a2005-04-29 08:16:20 +00001089 * Released 2.3-pre6
1090
10912005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1092
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00001093 * Make fusermount work with fuse kernel modules not yet supporting
1094 the "group_id" option (added for the purpose of stricter
1095 permission checking).
1096
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +000010972005-04-28 Miklos Szeredi <miklos@szeredi.hu>
1098
1099 * Check for hard-linked directories in lookup. This could cause
1100 problems in the VFS, which assumes that such objects never exist.
1101
1102 * Make checking of permission for other users more strict. Now
1103 the same privilege is required for the mount owner as for ptrace
1104 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001105
Miklos Szeredi3efcb562005-04-23 13:34:29 +000011062005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1107
1108 * Released 2.3-pre5
1109
Miklos Szeredid001bf92005-04-22 07:54:11 +000011102005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1111
1112 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1113 is needed on certain architectures. Report from Chris Kirby
1114
1115 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1116 Reported by David Shaw
1117
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001118 * Remove "allow_root" option from kernel module, and implement
1119 it's functionality in the library
1120
1121 * Fix Oops caused by premature release of fuse_conn. Clean up
1122 related code, to be more readable
1123
Miklos Szeredif9137452005-04-23 10:59:44 +00001124 * Sendfile should not use page cache if "direct_io" mount option
1125 is given
1126
Miklos Szeredib7640d22005-04-08 15:15:28 +000011272005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1128
1129 * Fix Oops in case of nfs export. Spotted by David Shaw
1130
Miklos Szeredi89814a12005-04-08 16:39:09 +00001131 * Fix another Oops in case of write over nfs with direct_io turned
1132 on. Again spotted by David Shaw
1133
Miklos Szerediab974562005-04-07 15:40:21 +000011342005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1135
Miklos Szeredi432d6182005-04-07 15:56:13 +00001136 * Released 2.3-pre4
1137
11382005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1139
Miklos Szerediab974562005-04-07 15:40:21 +00001140 * lib: finalized new readdir() interface, which now supersedes the
1141 getdir() method.
1142
Miklos Szeredi30e093a2005-04-03 17:44:54 +000011432005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1144
1145 * Released 2.3-pre3
1146
11472005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1148
1149 * Implement backward compatibility with version 5 kernel ABI
1150
Miklos Szeredi18fce982005-04-01 21:07:35 +000011512005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1152
1153 * Released 2.3-pre2
1154
11552005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1156
1157 * kernel: fix dirent offset handling
1158
1159 * lib: add readdir and releasedir methods
1160
1161 * lib: use fh field of fuse_file_info in opendir, readdir,
1162 releasedir and fsyncdir methods
1163
1164 * lib: check kernel API version and bail out of it's old. This
1165 will be properly fixed in the next release
1166
11672005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1168
1169 * Released 2.3-pre1
1170
Miklos Szeredieab72ef2005-03-31 19:59:12 +000011712005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1172
1173 * kernel API: add padding to structures, so 64bit and 32bit
1174 compiler will return the same size
1175
1176 * kernel API: add offset field to fuse_dirent. This will allow
1177 more sophisticated readdir interface for userspace
1178
1179 * kernel API: change major number to 6
1180
1181 * kernel: fix warnings on 64bit archs
1182
1183 * kernel: in case of API version mismatch, return ECONNREFUSED
1184
Miklos Szeredi407e6a72005-03-25 12:19:43 +000011852005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1186
1187 * kernel: trivial cleanups
1188
Miklos Szeredi4283ee72005-03-21 12:09:04 +000011892005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1190
1191 * Add fsyncdir() operation
1192
Miklos Szeredid17da462005-03-21 11:47:04 +000011932005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1194
1195 * kernel: add locking to background list (fixes previous fix)
1196
11972005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1198
1199 * kernel: fix bug which could cause leave busy inodes after
1200 unmount, and Oops.
1201
12022005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1203
1204 * examples: add -lpthread to link flags to work around valgrind
1205 quirk
1206
1207 * lib: don't exit threads, so cancelation doesn't cause segfault
1208
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000012092005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1210
1211 * kernel: fix nasty bug which could cause an Oops under certain
1212 situations. Found by Magnus Johansson
1213
Miklos Szeredif43f0632005-02-28 11:46:56 +000012142005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1215
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001216 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001217 permission checking in getdir() is too late. Thanks to Usarin
1218 Heininga for pointing out this deficiency
1219
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001220 * libfuse: added init() and destroy() methods to fuse_operations
1221
Miklos Szeredif43f0632005-02-28 11:46:56 +00001222 * kernel: llseek() method for files and directories made explicit
1223
1224 * kernel: fixed inode leak in NFS export in case of nodeid
1225 wrapping
1226
Miklos Szeredied3c97c2005-02-15 17:04:50 +000012272005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1228
1229 * libfuse: clean up some unitialized memory found with valgrind
1230
Miklos Szeredi47c52982005-02-23 09:27:38 +00001231 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1232 explicitly linked libpthread for applications
1233
Miklos Szeredia7169412005-02-10 07:35:05 +000012342005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1235
1236 * fusermount: set umask, otherwise /etc/mtab will have
1237 unpredictable permission. Spotted by Jindrich Kolorenc
1238
1239 * fusermount: set owner and group of /etc/mtab to original values
1240 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001241
1242 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001243
Miklos Szeredib92d9782005-02-07 16:10:49 +000012442005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1245
1246 * Cleaned up directory reading (temporary file is not used)
1247
Miklos Szerediff30a6c2005-02-02 10:53:59 +000012482005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1249
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001250 * Released 2.2
1251
12522005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1253
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001254 * Fix possible race when operation is interrupted
1255
Miklos Szeredi7a983952005-01-28 09:58:19 +000012562005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1257
Miklos Szeredie5183742005-02-02 11:14:04 +00001258 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001259
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000012602005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1261
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001262 * Released 2.2-pre6
1263
12642005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1265
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001266 * Fix bug in link() operation which caused the wrong path to be
1267 passed as the first argument. Found by Anton Altaparmakov
1268
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000012692005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1270
1271 * LIB: fix double reply in readdir operation
1272
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001273 * fusermount: fix uid checking bug. Patch by Adam Connell
1274
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001275 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001276 Patch by Keshava Gowda
1277
Miklos Szeredi64074142005-01-20 08:48:11 +000012782005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1279
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001280 * KERNEL: provide correct llseek semantics for fuse device (fixes
1281 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1282
12832005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1284
Miklos Szeredi64074142005-01-20 08:48:11 +00001285 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1286
Miklos Szeredi1adb2272005-01-18 21:19:58 +000012872005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1288
1289 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1290 and RELEASEDIR. This ends the ugly hack of passing a file
1291 descriptor to the kernel, and actually makes the code simpler.
1292
Miklos Szeredi7db35c02005-01-17 09:46:28 +000012932005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1294
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001295 * Released 2.2-pre4
1296
12972005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1298
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001299 * fusermount: remove capability setting, which was the cause of
1300 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001301 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001302
Miklos Szeredidbe0f652005-01-15 14:32:56 +000013032005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001304
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001305 * fix compilation on 2.4 kernels (reported by Valient Gough)
1306
1307 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001308
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001309 * fusermount: improve parsing of /etc/fuse.conf
1310
13112005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1312
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001313 * Remove 'mount_max' and 'user_allow_other' module options. These
1314 are now checked by fusermount, and can be set in /etc/fuse.conf
1315
1316 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1317
Miklos Szeredi81394522005-01-11 14:24:18 +000013182005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1319
1320 * KERNEL: fix possible inode allocation problem, where
1321 sizeof(struct inode) is not aligned (found by Mike Waychison)
1322
1323 * KERNEL: use new follow_link/put_link methods
1324
1325 * KERNEL: cosmetic fixes
1326
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000013272005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1328
1329 * Released 2.2-pre3
1330
13312005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1332
1333 * Add missing code that was accidently left out
1334
Miklos Szeredi8c7da232005-01-09 12:27:41 +000013352005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1336
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001337 * Released 2.2-pre2
1338
13392005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1340
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001341 * Change "uid" mount option to "user_id" to avoid confusion with a
1342 mount option "uid" commonly used by many filesystems
1343
13442005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1345
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001346 * Released 2.2-pre1
1347
13482005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1349
1350 * If FUSE is configured in the kernel, don't build it by default
1351
Miklos Szeredi2a927272005-01-07 11:14:15 +000013522005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1353
1354 * Compile fix by Christian Magnusson
1355
Miklos Szeredib6220192005-01-05 16:19:10 +000013562005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1357
1358 * Fix compilation for 2.6.{0-5} kernels
1359
Miklos Szeredi0f62d722005-01-04 12:45:54 +000013602005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1361
1362 * KERNEL: if request is interrupted, still keep reference to used
1363 inode(s) and file, so that FORGET and RELEASE are not sent until
1364 userspace finishes the request.
1365
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001366 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1367 request with the same information, which is more flexible,
1368 simpler, works on embedded systems.
1369
Miklos Szeredi0f62d722005-01-04 12:45:54 +000013702004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1371
1372 * KERNEL ABI: update interface to make it independent of type
1373 sizes. This will help on 64 bit architectures which can run
1374 legacy 32 bit applications.
1375
1376 * KERNEL ABI: add "len" field to request headers. This will allow
1377 sending/receiving requests in multiple chunks.
1378
1379 * KERNEL: handle file type change more intelligently
1380
1381 * LIB: "-o debug" option should disable backgrounding (fix by
1382 Fabien Reygrobellet)
1383
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000013842004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1385
1386 * KERNEL: invalidate dentry/attributes if interrupted request
1387 could leave filesystem in an unknown state.
1388
Miklos Szeredie56818b2004-12-12 11:45:24 +000013892004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1390
1391 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1392 These will cause some regressions, but stability is considered
1393 more important. If any of these features turns out to be
1394 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001395
Miklos Szeredie56818b2004-12-12 11:45:24 +00001396 * Make all requests interruptible (only with SIGKILL currently).
1397 This can be used to break any deadlock produced by the userspace
1398 filesystem accessing it's own exported files. The RELEASE request
1399 is special, because if it's interrupted before sending it to
1400 userspace it is still sent, but the reply is not awaited.
1401
1402 * If request is interrupted before being sent to userspace, and if
1403 it hasn't yet got any side effects, it is always restarted,
1404 regardless of the SA_RESTART flag. This makes these interruptions
1405 transparent to the process.
1406
1407 * Remove shared-writable mmap support, which was prone to an
1408 out-of-memory deadlock situation
1409
1410 * Remove INVALIDATE userspace initiated request
1411
1412 * Make readpages() synchronous. Asynchronous requests are
1413 deadlock prone, since they cannot be interrupted.
1414
1415 * Add readv/writev support to fuse device operations
1416
1417 * Remove some printks, which userspace FS can use for a DoS
1418 against syslog
1419
1420 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1421 fusermount instead
1422
1423 * LIB: improve compatibility with a fuse.h header installed in
1424 ${prefix}/include which in turn includes the real header.
1425
1426 * LIB: improve compatibility by defining fuse_main() (which is now
1427 not used), so old configure scripts find it.
1428
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000014292004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1430
1431 * When mounting on a subdirectory of / don't duplicate slashes at
1432 the beggining of path (spotted by David Shaw)
1433
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000014342004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1435
1436 * Fix bug causing garbage in mount options (spotted by David Shaw)
1437
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000014382004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1439
1440 * Add 'writepage' flag to 'fuse_file_info'.
1441
1442 * More comments in fuse.h
1443
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001444 * Get rid of double underscores
1445
Miklos Szeredi799993c2004-12-04 21:20:05 +000014462004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1447
1448 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1449
1450 * helper.c: add -ho option, which only displays the options not
1451 the usage header. This can be used by filesystems which have
1452 their own options.
1453
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000014542004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1455
1456 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1457 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1458 including the fuse header
1459
1460 * Add binary compatibility to 2.1 version of library with symbol
1461 versioning
1462
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000014632004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1464
1465 * Released 2.1
1466
Miklos Szeredi039322d2004-12-01 18:39:12 +000014672004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1468
1469 * kernel: clean up writing functions
1470
1471 * kernel: no allocation on write in direct_io mode
1472
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001473 * move linux/fuse.h to fuse_kernel.h
1474
Miklos Szeredi83a07442004-11-30 18:25:20 +000014752004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1476
1477 * kernel: clean up reading functions
1478
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000014792004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1480
1481 * kernel: make readpage() uninterruptible
1482
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001483 * kernel: check readonly filesystem flag in fuse_permission
1484
1485 * lib: don't die if version file not found and new style device
1486 exists
1487
1488 * lib: add '-r' option, which is short for '-o ro'
1489
1490 * fusermount: simplify device opening
1491
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001492 * kernel: when direct_io is turend on, copy data directly to
1493 destination without itermediate buffer. More efficient and safer,
1494 since no allocation is done.
1495
1496 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001497
1498 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001499
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000015002004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1501
1502 * libfuse API change: open, read, write, flush, fsync and release
1503 are passed a 'struct fuse_file_info' pointer containing the open
1504 flags (open and release), and the file handle. Verion changed to
1505 3.0.
1506
Miklos Szeredia25d4c22004-11-23 22:32:16 +000015072004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1508
1509 * More cleanups in the kernel
1510
1511 * The 10,229 charater device number has been assigned for FUSE
1512
1513 * Version file checking fix (reported by Christian Magnusson)
1514
1515 * fusermount: opening the fuse device now doesn't need /sys.
1516
1517 * Optimize reading by controlling the maximum readahead based on
1518 the 'max_read' mount option
1519
1520 * fixes for UCLIBC (Christian Magnusson)
1521
Miklos Szeredi13ed4822004-11-20 11:12:21 +000015222004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1523
1524 * Cleaned up kernel in preparation for merge into mainline:
1525
1526 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1527
1528 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1529
1530 * __user annotations for sparse
1531
1532 * allocate individual pages instead of kmalloc in fuse_readdir,
1533 fuse_read and fuse_write.
1534
1535 * Fix NFS export in case "use_ino" mount option is given
1536
Miklos Szeredif3845c42004-11-20 11:18:34 +00001537 * Make libfuse and fusermount compatible with future versions
1538
1539 * fusermount: properly add mount options to /etc/mtab
1540
15412004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1542
1543 * fusermount: do not resolve last component of mountpoint on if it
1544 is '.' or '..'. This new path resolvation is now done on mount as
1545 well as unmount. This enables relative paths to work on unmount.
1546
1547 * fusermount: parse common mount options like "ro", "rw", etc...
1548
1549 * Allow module params to be changed through sysfs
1550
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000015512004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1552
1553 * Released 2.1-pre1
1554
15552004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1556
1557 * Fix bug in fuse_readpages() causing Oops in certain situations.
1558 Bug found by Vincenzo Ciancia.
1559
1560 * Fix compilation with kernels versions > 2.6.9.
1561
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000015622004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001563
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001564 * Check kernel interface version in fusermount to prevent
1565 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001566
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001567 * No need to allocate fuse_conn until actual mount happens
1568
1569 * Fix potential race between umount and fuse_invalidate
1570
1571 * Check superblock of proc file in addition to inode number
1572
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001573 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001574
Miklos Szeredi51ec1032004-11-10 11:52:26 +000015752004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1576
1577 * Separate configure for the kernel directory
1578
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001579 * Don't allow write to return more than 'count'
1580
1581 * Extend kernel interface for future use
1582
Miklos Szeredi51ec1032004-11-10 11:52:26 +000015832004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1584
1585 * Fix 'makeconf.sh' to use autoreconf if available
1586
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000015872004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1588
Miklos Szeredid507c732004-11-08 17:32:25 +00001589 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1590 compatibility with earlier versions. To compile earier versions
1591 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1592 Do not use the "use_ino" mount flag with filesystems compiled with
1593 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001594
1595 * Add pkg-config support. To compile a FUSE based filesystem you
1596 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1597 or similar. Note, that the PKG_CONFIG_PATH environment variable
1598 usually needs to be set to "/usr/local/lib/pkgconfig".
1599
1600 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001601
Miklos Szeredia13d9002004-11-02 17:32:03 +000016022004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1603
1604 * Added "use_ino" mount option. This enables the filesystems to
1605 set the st_ino field on files
1606
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000016072004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1608
1609 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1610 by Jeremy Smith)
1611
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001612 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1613
1614 * Clear the 'exited' flag when mail loop is finished
1615
Miklos Szeredie989f0d2004-10-28 20:24:58 +000016162004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1617
1618 * Make xattr functions work under 2.6 (bug found by Vincenzo
1619 Ciancia)
1620
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000016212004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1622
1623 * Reset request in fuse_flush() (bugreport by David Shaw)
1624
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000016252004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1626
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001627 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001628 error code
1629
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001630 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001631 make it easier to implement a custom event loop.
1632
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001633 * Use daemon() call to background the filesystem after mounting.
1634 This function closes the standard input, output and error and
1635 changes the current working directory to "/".
1636
Miklos Szeredi127d49b2004-10-14 13:33:39 +000016372004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1638
1639 * Released 1.9
1640
Miklos Szeredid45baf42004-10-10 07:56:12 +000016412004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1642
1643 * Don't allow fuse_flush() to be interrupted (bug found by David
1644 Shaw)
1645
Miklos Szeredi1f18db52004-09-27 06:54:49 +000016462004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1647
1648 * Add PID to fuse_context. Patch by Steven James
1649
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001650 * Change file handle type to 'unsigned long' in kernel interface
1651
Miklos Szeredid169f312004-09-22 08:48:26 +000016522004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1653
1654 * A slight API change: fuse_get_context() doesn't need the "fuse"
1655 pointer, but the returned context contains it instead. The
1656 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001657
1658 * Fix mounting and umounting FUSE filesystem under another FUSE
1659 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001660
Miklos Szeredic2309912004-09-21 13:40:38 +000016612004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1662
1663 * Fix deadlock in case of memory allocation failure. Patch by
1664 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001665
Miklos Szeredib2cf9562004-09-16 08:42:40 +000016662004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1667
1668 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001669
Miklos Szeredi65afea12004-09-14 07:13:45 +000016702004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1671
1672 * Check temporary file creation failure in do_getdir(). Bug
1673 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001674
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000016752004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1676
1677 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001678
1679 * Make requests non-interruptible so race with FORGET is avoided.
1680 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001681
1682 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001683
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000016842004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1685
1686 * Fix bug in case two FORGETs for the same node are executed in
1687 the wrong order. Bug spotted and endured for months by Franco
1688 Broi, and logfile for solution provided by Terje Oseberg
1689
Miklos Szeredi12085102004-09-02 18:13:57 +000016902004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1691
1692 * Add -D_REENTRANT to the compile flags
1693
1694 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001695
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000016962004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1697
1698 * Change release method to be non-interruptible. Fixes bug
1699 causing missing release() call when program which has opened files
1700 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001701
Miklos Szeredi891b8742004-07-29 09:27:49 +000017022004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1703
1704 * Add fuse_invalidate() to library API
1705
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000017062004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1707
1708 * Check permissions in setattr if 'default_permissions' flag is
1709 set. Bug spotted by Damjan Lango
1710
Miklos Szeredid66d3942004-07-24 13:47:44 +000017112004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1712
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001713 * 'large_read' mount option removed for 2.6 kernels, since the
1714 default (dynamic read size) is better
1715
1716 * Extend kernel API with file handles. A file handle is returned
1717 by open, and passed to read, write, flush, fsync and release.
1718 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001719
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001720 * Security changes:
1721
1722 * Change the current directory to the mountpoint before checking
1723 the permissions and mount filesystem on "."
1724
1725 * By default don't modprobe the fuse module for non-root. The old
1726 behavior can be restored with the '--enable-auto-modprobe' flag of
1727 ./configure
1728
1729 * By default don't allow shared writable mappings for non-root.
1730 The old behavior can be restored with the 'user_mmap=1' module
1731 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001732
Miklos Szeredibd7661b2004-07-23 17:16:29 +000017332004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1734
1735 * Clean up mount option passing to fusermount and to fuse_new()
1736 BEWARE: this changes the userspace API slightly, and the command
1737 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001738
Miklos Szeredi58865372004-07-20 14:22:26 +000017392004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1740
1741 * Optimize reading under 2.6 kernels by issuing multiple page
1742 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001743
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000017442004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1745
1746 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001747
Miklos Szeredi069c9502004-07-16 16:17:02 +000017482004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1749
1750 * Separate directory entry and inode attribute validity timer
1751
1752 * New write semaphore to stop page writeback during truncate
1753
1754 * Fsync now waits for all writes to complete before sending the
1755 request
1756
1757 * Optimization: if a page is completely written by
1758 fuse_commit_write(), clear the dirty flag and set the uptodate
1759 flag for that page
1760
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001761 * Some memory cleanup at exit
1762
Miklos Szeredi2529ca22004-07-13 15:36:52 +000017632004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1764
1765 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001766 disable the "hide if open" behavior of unlink/rename.
1767
1768 * If temporary buffer allocation fails in raw read, fall back to a
1769 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001770
Miklos Szeredi73798f92004-07-12 15:55:11 +000017712004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1772
1773 * Fix bug in do_open() in libfuse: open count was incremented
1774 after the reply is sent so it could race with unlink/forget and
1775 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001776
Miklos Szeredi015fe702004-07-12 11:52:24 +000017772004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1778
1779 * When performing create or remove operation, refresh the parent's
1780 attributes on next revalidate, as i_nlink (and maybe size/time)
1781 could be inacurate.
1782
1783 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1784 pages (2.6 only)
1785
1786 * Set set_page_dirty address space operation (2.6 only)
1787
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017882004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001789
1790 * Minor fix in read: print debug info even if read size is zero
1791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017922004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001793
1794 * Fix race between truncate and writepage (fsx-linux now runs
1795 without error)
1796
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017972004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001798
1799 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1800 by Mattias Wadman)
1801
1802 * Added option for direct read/write (-r)
1803
1804 * Fix revalidate time setting for newly created inodes
1805
Miklos Szerediacb4d362004-07-02 16:20:45 +00001806 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1807 this)
1808
1809 * fuse_main() only installs handlers for signals (out of INT, HUP,
1810 TERM, PIPE), for which no handler has yet been installed
1811
1812 * Add module option 'user_allow_other' which if set to non-zero
1813 will allow non root user to specify the 'allow_other' mount option
1814 ('-x' option of fusermount)
1815
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001816 * Fix deadlock between page writeback completion and truncate
1817 (bug found by Valient Gough with the fsx-linux utility)
1818
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018192004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001820
1821 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001822 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1823 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001824
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018252004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001826
1827 * Acquire inode->i_sem before open and release methods to prevent
1828 concurrent rename or unlink operations.
1829
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001830 * Make __fuse_read_cmd() read only one command. This allows
1831 multiplexing the fuse file descriptor with other event sources
1832 using select() or poll() (patch by Jeff Harris)
1833
1834 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1835
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018362004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001837
1838 * Fix file offset wrap around at 4G when doing large reads
1839
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018402004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001841
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001842 * Fix memory leak in open (Valient Gough)
1843
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018442004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001845
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001846 * Add "close after delete" support to libfuse (patch by Valient
1847 Gough)
1848
1849 * Cancel all worker threads before exit in multithreaded mode
1850
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018512004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001852
1853 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001854
1855 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001856
1857 * Work with newer libtool (1.5a)
1858
1859 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001860
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018612004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001862
1863 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001864
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018652004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001866
1867 * Fix possible inode leak in userspace in case of unfinished
1868 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001869
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018702004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001871
1872 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018742004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001875
1876 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001877
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018782004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001879
1880 * Build shared library as well as static (using libtool)
1881
1882 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1883 there has not been a release with the previous minor number, and I
1884 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001885
1886 * Change fuse_main(), so that default behavior is to go into
1887 background if mount is successful. '-f' and '-d' options disable
1888 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1889 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001890
1891 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1892 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001893
1894 * Don't call getdir method from open() only from first readdir().
1895 Open is sometimes just used to store the current directory
1896 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001897
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018982004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001899
1900 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001901
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019022004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001903
1904 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019062004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001907
1908 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001909
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019102004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001911
1912 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001915
1916 * Replaced binary mount data with text options
1917
1918 * Show FUSE specific mount options in /proc/mounts
1919
1920 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1921
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019222004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001923
1924 * Check some limits so userspace won't get too big requests
1925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019262004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001927
1928 * Kill compile warning
1929
1930 * Upgraded user-mount patch for 2.6.5
1931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019322004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001933
1934 * Add detection of user-mode-linux to configure
1935
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019362004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001937
1938 * fixed zero size case for getxattr and listxattr
1939
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019402004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001941
1942 * new fusermount flag '-z': lazy unmount, default is not lazy
1943
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001944 * Extended attributes operations added (getxattr, setxattr,
1945 listxattr, removexattr)
1946
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019472004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001948
1949 * If filesystem doesn't define a statfs operation, then an
1950 all-zero default statfs is returned instead of ENOSYS
1951
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019522004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001953
1954 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019562004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001957
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001958 * Fix for uClinux (Christian Magnusson)
1959
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019602004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001961
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001962 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001963
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001964 * More kernel interface changes:
1965
1966 * Lookup/getattr return cache timeout values
1967
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019682004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001969
1970 * Clean up option parsing in fuse_main()
1971
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001972 * Added fuse_get() function which returns the fuse object created
1973 by fuse_main()
1974
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019752004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001976
Miklos Szeredic40748a2004-02-20 16:38:45 +00001977 * removed old way of mounting (fusermount mountpoint program)
1978
Miklos Szeredib5958612004-02-20 14:10:49 +00001979 * more kernel interface changes:
1980
1981 * added nanosecond precision to file times
1982
Miklos Szeredic40748a2004-02-20 16:38:45 +00001983 * removed interface version from mount data
1984
1985 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1986
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019872004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001988
1989 * statfs library API changed to match other methods. Since this
1990 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1991
Miklos Szeredi76f65782004-02-19 16:55:40 +00001992 * kernel interface changes follow:
1993
1994 * statfs changed to 64 bits, added 'bavail' field
1995
1996 * add generation number to lookup result
1997
1998 * optimized mknod/mkdir/symlink/link (no separate lookup is
1999 needed)
2000
2001 * rdev size increased to 32 bits for mknod
2002
2003 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002004
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020052004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00002006
2007 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00002008
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020092004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00002010
2011 * Added user-mount.2.6.2-rc3.patch
2012
2013 * Add FS_SAFE flag to fuse filesystem
2014
2015 * fusermount should allow (un)mounting for non-root even if not
2016 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00002017
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020182004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00002019
2020 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00002021
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020222004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00002023
2024 * Added check for i_size_read/write functions to configure.in
2025 (patch by Valient Gough)
2026
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020272004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00002028
2029 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00002030
2031 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00002032
2033 * Readpage calls flush_dcache_page() after storing data
2034
2035 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00002036
2037 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00002038
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020392004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00002040
2041 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002042
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020432004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00002044
2045 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00002046
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020472004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00002048
2049 * Added -q option for fusermount
2050
2051 * fuse_unmount() now uses -q option of fusermount, so no error is
2052 printed if the cause of the program exit is that the filesystem
2053 has already been unmounted
2054
Miklos Szeredif4f8b892004-01-27 17:04:59 +00002055 * Fix i_nlink correctness after rmdir/unlink
2056
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020572004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002058
Miklos Szeredib1158392004-01-26 14:43:12 +00002059 * Released 1.1-pre2
2060
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020612004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00002062
Miklos Szeredi307242f2004-01-26 11:28:44 +00002063 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00002064
2065 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00002066
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020672004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002068
2069 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00002070
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020712004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002072
2073 * Write all pending data before a RELEASE operation
2074
2075 * Suppress 'Bad file descriptor' warning on exit
2076
2077 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00002078 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00002079
Miklos Szeredib1158392004-01-26 14:43:12 +00002080 * New fusermount option '-l' which enables big reads. Big reads
2081 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00002082
2083 * fuse_main() can accept fusermount arguments after a '--'
2084
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020852004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00002086
2087 * Support for exporting filesystem over NFS (see README.NFS)
2088
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020892004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00002090
2091 * Support non-blocking writepage on 2.6. This makes FUSE behave
2092 much more nicely in low-memory situations
2093
2094 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
2095 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00002096
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020972004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00002098
2099 * Code cleanups
2100
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021012004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002102
2103 * Released 1.1-pre1
2104
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021052004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002106
2107 * Integrated 2.6 kernel support patch by Michael Grigoriev
2108
2109 * Improvements and cleanups for 2.6 kernels
2110
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021112004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002112
Miklos Szeredie5183742005-02-02 11:14:04 +00002113 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002114
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021152003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002116
2117 * Added major+minor version to library API, and minor version to
2118 kernel API
2119
David McNab7a19caf2003-12-13 02:05:46 +000021202003-12-13 David McNab <david@rebirthing.co.nz>
2121
2122 * Implemented fsync support in examples/example.py
2123
2124 * Implemented 'fsync' and 'statfs' methods in python
2125 interface
2126
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021272003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002128
Miklos Szeredie5183742005-02-02 11:14:04 +00002129 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002130
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002131 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002132
David McNab8bf62632003-12-11 22:49:22 +000021332003-12-12 David McNab <david@rebirthing.co.nz>
2134
2135 * Added distutils support to the python module, as per standard
2136 python development practice
2137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021382003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002139
2140 * Add file locking for mount/unmount (based on patch by Valient
2141 Gough)
2142
21432003-12-11 David McNab <david@rebirthing.co.nz>
2144
2145 * Python filesystem - was broken with python2.3, now fixed:
2146 - changed PyTuple_* calls to PySequence_*, because os.lstat
2147 is no longer returning a pure tuple
2148 - changed PyInt_Check() calls to also call PyLong_Check,
2149 to cover for cases (eg os.lstat) where longs are returned
2150 - Added support for file 'release' handling, which IMO is
2151 essential since this signals to a FS that writes to a file
2152 are complete (and therefore the file can now be disposed of
2153 meaningfully at the python filesystem's discretion)
2154 - Added '__init__' handler to base Fuse class, which allows
2155 your Python class to know the mountpoint and mount args,
2156 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002157
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002158 * General:
2159 - added 'mount.fuse' script (in util/ dir), which is meant to be
2160 symlinked from /sbin, and which allows FUSE filesystems to
2161 be mounted with the 'mount' command, and listed in fstab;
2162 also, mount arguments get passed to your filesystem
2163
2164
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021652003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002166
2167 * Fix kernel version detection (again). Bugreport by Peter Levart
2168
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021692003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002170
2171 * Applied read combining patch by Michael Grigoriev (tested by
2172 Valient Gough and Vincent Wagelaar)
2173
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021742003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002175
2176 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2177 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002178
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021792003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002180
2181 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002182
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021832003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002184
2185 * kernel version detection fix
2186
2187 * fusermount now uses "lazy" umount option
2188
2189 * fusermount can use modprobe with module-init-tools
2190
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021912003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002192
2193 * Integrated caching patch by Michael Grigoriev
2194
Miklos Szeredida4e4862003-09-08 11:14:11 +00002195 * Added "Filesystems" file with descriptions of projects using
2196 FUSE
2197
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002198 * Added patch by Michael Grigoriev to allow compliation of FUSE
2199 kernel module for 2.6 kernels
2200
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022012003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002202
2203 * And another spec-file fix by Achim Settelmeier
2204
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022052003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002206
2207 * Spec-file fix by Achim Settelmeier
2208
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022092003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002210
Miklos Szerediac361172004-11-02 19:14:14 +00002211 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002212
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022132003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002214
2215 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2216
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022172003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002218
2219 * Updated fuse.spec file (Achim Settelmeier)
2220
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022212003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002222
2223 * Version 1.0 released
2224
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022252003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002226
2227 * SuSE compilation fix by Juan-Mariano de Goyeneche
2228
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022292002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002230
2231 * The release() VFS call is now exported to the FUSE interface
2232
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022332002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002234
2235 * 64 bit file offset fixes in the fuse kernel module
2236
2237 * Added function 'fuse_exit()' which can be used to exit the main
2238 loop
2239
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022402002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002241
2242 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2243 an incompatible interface change.
2244
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022452002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002246
2247 * Portablility fix (bug reported by C. Chris Erway)
2248
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022492002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002250
2251 * Use Mark Glines' fd passing method for default operation instead
2252 of old reexec
2253
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022542002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002255
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002256 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2257
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022582002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002259
Miklos Szeredi60c23522002-10-24 09:19:43 +00002260 * fix incompatiblity with Red Hat kernels, with help from Nathan
2261 Thompson-Amato.
2262
Mark Glines65ba2192002-04-18 14:41:48 +000022632002-04-18 Mark Glines <mark@glines.org>
2264
2265 * added an alternative to fuse_mount(), called
2266 fuse_mount_ioslave(), which does not need to reexec the
2267 FUSE program.
2268 * added a small helper util needed by fuse_mount_ioslave().
2269
Mark Glines220635a2002-03-17 07:01:14 +000022702002-03-16 Mark Glines <mark@glines.org>
2271
2272 * use struct fuse_statfs everywhere possible to avoid problems
2273 with the headerfiles changing struct statfs member sizes
2274
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022752002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002276
2277 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2278
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022792002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002280
2281 * RPM support by Achim Settelmeier
2282
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022832002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002284
Miklos Szerediddc862a2002-01-09 13:46:10 +00002285 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002286
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022872002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002288
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002289 * Revaidate all path components not just the last, this means a
2290 very small performance penalty for being more up-to-date.
2291
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022922002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002293
2294 * Update and fix python interface
2295
Mark Glinesd84b39a2002-01-07 16:32:02 +000022962002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002297
Mark Glinesd84b39a2002-01-07 16:32:02 +00002298 * Added statfs() support to kernel, lib, examples, and perl!
2299
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023002001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002301
2302 * Better cross compilation support
2303
2304 * Ported to Compaq IPAQ
2305
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023062001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002307
Miklos Szeredife25def2001-12-20 15:38:05 +00002308 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002309 patch from Matt Ryan)
2310
Miklos Szeredife25def2001-12-20 15:38:05 +00002311 * Added flags to fusermount and to kernel interface to control
2312 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002313
Miklos Szeredife25def2001-12-20 15:38:05 +00002314 * Integrated fuse_set_operations() into fuse_new()
2315
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023162001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002317
2318 * Applied header protection + extern "C" patch by Roland
2319 Bauerschmidt
2320
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023212001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002322
Miklos Szeredie5183742005-02-02 11:14:04 +00002323 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002324
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023252001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002326
2327 * Cleaned up way of mounting simple filesystems.
2328
2329 * fuse_main() helper function added
2330
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023312001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002332
Miklos Szeredife25def2001-12-20 15:38:05 +00002333 * Optimized read/write operations, so that minimal copying of data
2334 is done
2335
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023362001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002337
2338 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002339
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023402001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002341
2342 * Fixed vfsmount reference leak in fuse_follow_link
2343
2344 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2345 userspace is ignored
2346
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023472001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002348
Miklos Szeredife25def2001-12-20 15:38:05 +00002349 * Started ChangeLog