blob: 5e0b3001701f6663b2be71373346bf120fcca2e3 [file] [log] [blame]
Miklos Szeredi10d03ed2006-10-28 07:59:22 +000012006-10-28 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Fix automake problem. Patch from Nix
4
52006-10-26 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Fix mount.fuse to use /bin/sh instead of /bin/bash, which is not
8 always available on embedded systems. Patch from Paul Smith
9
10 * Fix util/Makefile.am, so that failure to run update-rc.d or
11 device creation doesn't cause make to fail. Reported by Paul
12 Smith
13
Miklos Szeredie414a2f2006-10-22 11:29:14 +0000142006-10-21 Miklos Szeredi <miklos@szeredi.hu>
15
16 * Released 2.6.0
17
Miklos Szeredi87ad64c2006-10-18 08:17:08 +0000182006-10-18 Miklos Szeredi <miklos@szeredi.hu>
19
20 * fusermount: don't try to create a lock file if /etc/mtab is a
21 symlink. Report and patch from Alexei Sheplyakov (debian bug
22 #393693)
23
Miklos Szeredidcfb8212006-10-17 18:17:58 +0000242006-10-17 Miklos Szeredi <miklos@szeredi.hu>
25
26 * Minor changes, sync with mainline tree
27
Miklos Szeredi12e5c982006-10-16 09:06:26 +0000282006-10-16 Miklos Szeredi <miklos@szeredi.hu>
29
30 * Released 2.6.0-rc3
31
322006-10-15 Miklos Szeredi <miklos@szeredi.hu>
33
34 * kernel: cleanups
35
Miklos Szeredid6f8db72006-10-13 09:54:24 +0000362006-10-13 Miklos Szeredi <miklos@szeredi.hu>
37
Miklos Szeredibcfa4162006-10-13 19:48:19 +000038 * kernel: Fix compilation on patched 2.6.18 (fc6) and 2.6.19.
Miklos Szeredid6f8db72006-10-13 09:54:24 +000039 Report from David Shaw
40
Miklos Szeredi744f9d52006-10-13 20:04:46 +000041 * lib: Fix lost error on renaming a file. Report from David Shaw
42
43 * lib: Fix lost error on hiding open files (renaming to
44 .fuse_hiddenXXXX)
Miklos Szeredibcfa4162006-10-13 19:48:19 +000045
46 * kernel: Fix a rare hang on SMP/32bit on heavy filesystem
47 activity. The cause of the bug was that some calls to
48 i_size_write() were not protected by a lock, and hence
49 i_size_seqcount could become corrupted. This caused subsequent
50 calls to i_size_read() to spin forever. This is a long standing
51 bug was probably introduced in version 2.2, and thought to be
52 related to NFS exporting (it's not). It was reported by various
53 people, but Dana Henriksen has finally helped me to track it down,
54 so big thanks to him
55
56 * kernel: Protect against truncation of a swapfile
57
Miklos Szeredi856e5cb2006-10-11 05:44:55 +0000582006-10-10 Miklos Szeredi <miklos@szeredi.hu>
59
60 * kernel: Check for signature of super_operations->umount_begin().
61 Ubuntu kernel 2.6.17 seems to use the new signature found in
62 2.6.18. Thanks to Florent Mertens for the report
63
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +0000642006-10-08 Miklos Szeredi <miklos@szeredi.hu>
65
66 * Make sure inode numers wrap around at 2^32. This is needed on
67 dual 64bit/32bit architectures, because 32bit applications using
68 the non-largefile interface would otherwise break (EOVERFLOW error
69 would be returned by the stat() system call family)
70
71 * ulockmgr: handle the case, when a locking operation fails
72 because no more file desctriptors are available in
73 ulockmgr_server. Also work around a Linux kernel bug (known to
Miklos Szeredi53eec2a2006-10-10 18:53:38 +000074 exist for all Linux kernel versions <= 2.6.18) which may cause
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +000075 sent file descriptors to be lost in the above case
76
77 * ulockmgr: optimize file descriptor use
78
79 * restore needed cpp flags to util/Makefile.am
80
81 * Install udev rules as 99-fuse.rules instead of 60-fuse.rules
82
83 * Minor clean up of udev rules
84
Miklos Szeredib9ea32f2006-10-08 17:35:40 +000085 * Add a synchronous DESTROY message to kernel interface. This is
86 invoked from umount, when the final instance of the filesystem is
87 released. It is only sent for filesystems mounted with the
88 'blkdev' option for security reasons.
89
90 * If the DESTROY message is received, call the filesystem's
91 ->destroy() method. In this case it's not called from session
92 destruction as it would be otherwise.
93
Miklos Szeredi4003dfa2006-10-01 13:46:02 +0000942006-10-01 Miklos Szeredi <miklos@szeredi.hu>
95
Miklos Szerediff1e0d42006-10-01 14:42:02 +000096 * Released 2.6.0-rc2
97
982006-10-01 Miklos Szeredi <miklos@szeredi.hu>
99
Miklos Szeredi4fca4322006-10-01 14:41:04 +0000100 * Add support for FLUSH+RELEASE operation for FreeBSD. Original
101 patch by Csaba Henk
102
Miklos Szeredi4003dfa2006-10-01 13:46:02 +0000103 * Add init script to insert fuse module and mount the control
104 filesystem. The script is installed as /etc/init.d/fuse and on
105 debian based systems (where update-rc.d is available) symlinks
106 from /etc/rc*.d/ are also installed.
107
108 * Include '#define FUSE_USE_VERSION=XX' into examples so they
109 become more self contained.
110
Miklos Szeredi6cf952a2006-09-30 07:39:33 +00001112006-09-30 Miklos Szeredi <miklos@szeredi.hu>
112
Miklos Szeredi07407852006-09-30 20:03:52 +0000113 * API changes:
114
115 * Move lock_owner from a separate argument into fuse_file_info
116
117 * Add a flag to fuse_file_info indicating (1) a highlevel lock
118 operation (unlock all) was initiated by a flush, (2) a lowlevel
119 release operation should perform a flush as well.
120
Miklos Szeredi004a8c72006-09-30 16:41:12 +0000121 * fusermount: revert modprobe change (2006-08-18) since it
122 doesn't work reliably with udev
123
Miklos Szeredi708b4812006-09-30 16:02:25 +0000124 * Add support for block device backed filesystems. This mode is
125 selected with the 'blkdev' option, which is privileged.
126
127 * Add support for the bmap (FIBMAP ioctl) operation on block
128 device backed filesystems. This allows swapon and lilo to work on
129 such filesystems.
130
Miklos Szeredid93a4292006-09-30 12:21:49 +0000131 * kernel changes:
132
Miklos Szeredi6cf952a2006-09-30 07:39:33 +0000133 * Drop support for kernels earlier than 2.6.9. Kernel module from
134 previous (2.5.x) release can be used with library from this
135 release
136
Miklos Szeredid93a4292006-09-30 12:21:49 +0000137 * In fuse_dentry_revalidate() use dget_parent() instead of
138 dereferencing d_parent, since there's no protection against parent
139 changing and going away
140
141 * Protect nlookup from concurrent updates
142
143 * In lookup if a directory alias exists but is unused,
144 then get rid of it, otherwise return -EBUSY.
145
146 * In mkdir if a directory alias exists, return success, but leave
147 dentry negative. In reality this could happen if a remote rename
148 immediately followed the mkdir.
149
150 * Don't BUG in fuse_iget() if multiple retries are needed to get a
151 good inode. This could happen if several lookups are racing for
152 the same inode.
153
Miklos Szeredi40ec1752006-09-30 06:17:31 +00001542006-09-29 Miklos Szeredi <miklos@szeredi.hu>
155
156 * Fix compilation on 2.6.9. Report from Troy Ayers
157
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001582006-09-27 Miklos Szeredi <miklos@szeredi.hu>
159
160 * Fix Oops in fuse_readpages(). Reported by David Shaw
161
Csaba Henk3e3a1252006-09-24 14:53:29 +00001622006-09-24 Csaba Henk <csaba.henk@creo.hu>
163
164 * Add support for nanosec times on FreeBSD
165
166 * Fix FreeBSD compatibility issues
167
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001682006-09-23 Miklos Szeredi <miklos@szeredi.hu>
169
170 * Fix one more compatibility bug. Thanks to Ricardo Correia
171
172 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
173
Miklos Szeredieafdf422006-09-22 19:30:17 +00001742006-09-22 Miklos Szeredi <miklos@szeredi.hu>
175
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000176 * Fixed several compatibility bugs in low level interface.
177 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +0000178
179 * Add workaround for ARM caching bug
180
Miklos Szeredic3b76812006-09-16 08:52:09 +00001812006-09-16 Miklos Szeredi <miklos@szeredi.hu>
182
183 * Rename new utimes() method to more logical utimens()
184
1852006-09-14 Miklos Szeredi <miklos@szeredi.hu>
186
187 * Fuse tried to unlink already unlinked hidden files. Bug
188 reported by Milan Svoboda
189
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +00001902006-09-10 Miklos Szeredi <miklos@szeredi.hu>
191
192 * Released 2.6.0-rc1
193
1942006-09-10 Miklos Szeredi <miklos@szeredi.hu>
195
196 * kernel: Fix unlock on close for kernels < 2.6.18
197
198 * Add ulockmgr library & server. This can be used for handling
199 file locking requests either directly from libfuse or over a
200 network, etc. This first version is not optimized and the number
201 of file descriptors it uses may get out of hand
202
Miklos Szeredi288ed4e2006-09-07 06:02:44 +00002032006-09-07 Miklos Szeredi <miklos@szeredi.hu>
204
205 * lib: Add interrupt support to high level library, which may be
206 enabled with the 'intr' mount option.
207
208 * When an operation is interrupted the thread handling that
209 operation will receive SIGUSR1 (or other signal specified with the
210 'intr_signal=N' option). The library installs a no-op signal
211 handler for this signal, unless there's already a handler
212 installed.
213
214 * The filesystem may query interrupt status (regardless of 'intr')
215 with the fuse_interrupted() function.
216
Miklos Szeredid8588412006-09-07 06:08:56 +0000217 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
218
Miklos Szeredi38f152c2006-09-03 18:28:52 +00002192006-09-03 Miklos Szeredi <miklos@szeredi.hu>
220
221 * lib: Multithreaded loop now allows unlimited number of threads.
222 This is needed for locking operations which may block
223 indefinitely. Also the kernel now doesn't limit the number of
224 outstanding requests so the library shouldn't do so either.
225
Miklos Szeredifa440772006-09-02 09:51:08 +00002262006-09-01 Miklos Szeredi <miklos@szeredi.hu>
227
228 * Fix recursive lock bug in interrupt handling
229
230 * Add utimes() method to highlevel interface, which supports
231 setting times with nanosecond resolution
232
Miklos Szeredi63d3c402006-08-18 16:38:08 +00002332006-08-18 Miklos Szeredi <miklos@szeredi.hu>
234
235 * kernel: fix page leak if fuse_readpages() failed in it's
236 initialization. Bug found and original patch from Alexander
237 Zarochentsev
238
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000239 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
240 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000241 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000242
Miklos Szeredi543087d2006-08-18 19:26:23 +0000243 * fusermount: try to modprobe fuse module if invoked by root and
244 unable to open device. This is needed with udev, since the device
245 node will be created only when the module is inserted, hence
246 module autoloading won't work. Reported by Szakacsits Szabolcs
247
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002482006-07-30 Miklos Szeredi <miklos@szeredi.hu>
249
250 * fusermount: if selinux is active, restore the original file's
251 security context in unmount_rename(). Redhat bugzilla id 188561.
252 Patch from Yves Perrenoud
253
254 * Add POSIX file locking operation to high level library
255
Miklos Szerediad519562006-07-31 11:07:40 +0000256 * Initialize context for unlink of hidden files on umount. Bug
257 reported by Tim Stoakes
258
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002592006-07-14 Miklos Szeredi <miklos@szeredi.hu>
260
261 * Multiple release() calls can race with each other, resulting in
262 the hidden file being deleted before the last release finishes.
263 Bug found and patch tested by Mark Huijgen
264
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00002652006-07-05 Miklos Szeredi <miklos@szeredi.hu>
266
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000267 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
268 this makes sense on systems using udev. Reported by Szakacsits
269 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000270
Miklos Szeredi91762cd2006-06-29 14:38:35 +00002712006-06-29 Miklos Szeredi <miklos@szeredi.hu>
272
273 * Released 2.6.0-pre3
274
2752006-06-29 Miklos Szeredi <miklos@szeredi.hu>
276
277 * Support in kernel module for file locking and interruption. The
278 same functionality is available in official kernels >= 2.6.18
279
Miklos Szeredib052a1a2006-06-28 14:51:20 +00002802006-06-28 Miklos Szeredi <miklos@szeredi.hu>
281
282 * Add POSIX file locking support
283
284 * Add request interruption
285
Miklos Szeredi55a84102006-06-06 10:16:38 +00002862006-06-06 Miklos Szeredi <miklos@szeredi.hu>
287
288 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
289
Miklos Szeredi9dedb702006-06-06 09:48:30 +00002902006-06-05 Remy Blank <remy.blank@pobox.com>
291
292 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
293 unmounting succeeds even if mount point was relative.
294
Csaba Henkd021ce42006-06-03 23:04:18 +00002952006-06-04 Csaba Henk <csaba.henk@creo.hu>
296
297 * lib: fix emergency umount in helper.c when malloc fails.
298 (The way it was done would end up in a segfault.)
299
Csaba Henk4f5c7b42006-06-01 14:19:17 +00003002006-06-01 Csaba Henk <csaba.henk@creo.hu>
301
302 * lib: adjust threading related compiler flags.
303 Switch to "-pthread" from "-lpthread" as that's the preferred
304 one on several platforms. Consulted with Terrence Cole and
305 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000306
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00003072006-05-08 Miklos Szeredi <miklos@szeredi.hu>
308
309 * lib: search fusermount in installation directory (bindir) as
310 well as in PATH.
311
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00003122006-05-03 Miklos Szeredi <miklos@szeredi.hu>
313
314 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
315 Reported by Christian Magnusson
316
Csaba Henk2efe48f2006-04-22 22:46:52 +00003172006-04-23 Csaba Henk <csaba.henk@creo.hu>
318
319 * lib: make FreeBSD mount routine recognize if kernel features
320 backgrounded init and if it does, run the mount util in foreground
321 (similarly to Linux)
322
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00003232006-04-21 Miklos Szeredi <miklos@szeredi.hu>
324
325 * kernel: fix fput deadlock fix, the lockless solution could lead
326 to "VFS: busy inodes after umount..."
327
328 * kernel: fix race between checking and setting file->private_data
329 for the device. Found by Al Viro
330
3312006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000332
333 * kernel: remove request pool, instead allocate requests on
334 demand. Account the number of background requests, and if they go
335 over a limit, block the allocation of new requests.
336
337 * kernel: fix deadlock if backgrounded request holds the last
338 reference to the super block
339
340 * kernel: don't use fuse_reset_request() during direct I/O
341
Csaba Henkbaa49d22006-04-06 00:12:44 +00003422006-04-06 Csaba Henk <csaba.henk@creo.hu>
343
344 * lib: Let FreeBSD mount option parsing routine recognize "no"
345 prefixes for FUSE specific options as well
346
Miklos Szeredid0a777a2006-04-05 07:18:00 +00003472006-04-01 Miklos Szeredi <miklos@szeredi.hu>
348
349 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
350
Miklos Szeredi6f385412006-03-17 15:05:40 +00003512006-03-17 Miklos Szeredi <miklos@szeredi.hu>
352
353 * API changes:
354
355 * fuse_main(), fuse_setup() and fuse_new() have an additionl
356 user_data parameter
357
358 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
359 file descriptor
360
361 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
362 destroys the given channel
363
364 * fuse_teardown() no longer has a file descriptor parameter
365
366 * new exported functions: fuse_session_remove_chan(),
367 fuse_get_session(), fuse_daemonize()
368
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000369 * fuse_chan_recv() may now return a new channel which will be used
370 to send the reply
371
Miklos Szeredif51e43f2006-03-16 14:19:25 +00003722006-03-16 Miklos Szeredi <miklos@szeredi.hu>
373
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000374 * Released 2.6.0-pre2
375
3762006-03-16 Miklos Szeredi <miklos@szeredi.hu>
377
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000378 * Don't unmount if already unmounted. This fixes a problem seen
379 in the following situation: Lazy unmount a busy filesystem; Mount
380 a new one in top; When the first finally unmounts, the second also
381 unmounts. Reported by Franco Broi
382
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00003832006-03-15 Miklos Szeredi <miklos@szeredi.hu>
384
385 * lowlevel lib: use indirect function calls instead of a
386 switch/case construct. Besides increased efficiency it helps
387 maintainability & readability too. Patch from Florin Malita
388
Miklos Szeredi67d26d42006-03-13 17:39:56 +00003892006-03-13 Miklos Szeredi <miklos@szeredi.hu>
390
391 * kernel: replace global spinlock with a per-connection spinlock
392
Miklos Szeredi87c77932006-03-10 10:18:20 +00003932006-03-10 Miklos Szeredi <miklos@szeredi.hu>
394
395 * Fix source compatibility breakage for fuse_unmount(). Report
396 from Yura Pakhuchiy
397
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00003982006-03-02 Miklos Szeredi <miklos@szeredi.hu>
399
400 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
401
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00004022006-03-01 Miklos Szeredi <miklos@szeredi.hu>
403
404 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
405 Jeff Dike
406
407 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
408 interface to return -errno in case of error.
409
Csaba Henkee588c02006-03-01 09:40:35 +00004102006-03-01 Csaba Henk <csaba.henk@creo.hu>
411
412 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
413 FreeBSD implementation so that it uses libc (sysctl backed) instead
414 of an embdedded script (kmem backed). Adjust the control flow of
415 hello_ll so that device doesn't get closed before unmount attempt.
416
Miklos Szerediaa8258e2006-02-25 14:42:03 +00004172006-02-25 Miklos Szeredi <miklos@szeredi.hu>
418
419 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
420 implement method. This is needed on FreeBSD, and nicer on Linux
421 too. Highlevel lib already did this. Reported by Csaba Henk
422
423 * Fix negative entry handling. There was a bug, that negative
424 lookups with timeouts (nodeid == 0) returned -EIO.
425
4262006-02-23 Miklos Szeredi <miklos@szeredi.hu>
427
428 * Fix race between RELEASE and UNLINK, which might leave
429 .fuse_hidden* files around
430
Miklos Szeredi6bab4802006-02-21 18:31:29 +00004312006-02-21 Miklos Szeredi <miklos@szeredi.hu>
432
433 * fusexmp_fh: implement flush() method and call close() on the
434 open file descriptor. This is needed if used on an NFS
435 filesystem, which buffers data until file is closed. Franco Broi
436 spotted the situation when 'cp -p' failed to set the modification
437 time because of this.
438
Miklos Szeredie109e282006-02-20 11:06:20 +00004392006-02-20 Miklos Szeredi <miklos@szeredi.hu>
440
441 * Released 2.6.0-pre1
442
Miklos Szeredib67f2162006-02-20 10:55:33 +00004432006-02-19 Miklos Szeredi <miklos@szeredi.hu>
444
445 * libfuse: fix use-after-free bug in interruptred reply_entry().
446 Patch from John Muir
447
448 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
449 ID: 352631. Found by Stéphane Rosi
450
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00004512006-02-17 Miklos Szeredi <miklos@szeredi.hu>
452
453 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
454 into a single function fuse_add_direntry(). This cleans up the
455 interface and makes it possible to do stacking.
456
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00004572006-02-16 Miklos Szeredi <miklos@szeredi.hu>
458
459 * Fix rare race betweeen abort and release caused by failed iget()
460 in fuse_create_open().
461
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000462 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
463 own attribute caching.
464
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00004652006-02-15 Miklos Szeredi <miklos@szeredi.hu>
466
467 * Work around FreeBSD runtime linker "feature" which binds an old
468 version of a symbol to internal references if the symbol has more
469 than one version. This resulted in infinite recursion in
470 fuse_lowlevel_new_compat25().
471
Csaba Henkdcce3e52006-02-10 06:22:15 +00004722006-02-10 Csaba Henk <csaba.henk@creo.hu>
473
474 * Refine clock_gettime() querying so that linker options
475 shall be set as it's appropriate for the target platform.
476
Miklos Szeredi390ae312006-02-10 16:44:34 +00004772006-02-09 Miklos Szeredi <miklos@szeredi.hu>
478
479 * Fix udev rule syntax. Reported by Nix
480
Miklos Szeredieb643582006-02-08 10:54:02 +00004812006-02-08 Miklos Szeredi <miklos@szeredi.hu>
482
483 * In some cases udev rule seems to be ineffective when installed
484 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
485
Miklos Szeredi357529c2006-02-03 09:20:31 +00004862006-02-03 Miklos Szeredi <miklos@szeredi.hu>
487
488 * Fix compilation when build directory is different from source
489 directory. Reported by Frédéric L. W. Meunier
490
Miklos Szeredice28c7e2006-02-02 14:59:05 +00004912006-02-02 Miklos Szeredi <miklos@szeredi.hu>
492
493 * Fix even bigger bug introduced in fix for request_end() on
494 2006-01-14. Reported by Gal Rosen
495
Miklos Szeredi320abe42006-01-30 18:14:51 +00004962006-01-30 Miklos Szeredi <miklos@szeredi.hu>
497
498 * highlevel-lib: add 'auto_cache' option. This caches file data
499 based on modification time and size
500
Miklos Szeredi065f2222006-01-20 15:15:21 +00005012006-01-20 Miklos Szeredi <miklos@szeredi.hu>
502
Miklos Szeredid66b7282006-02-02 15:15:21 +0000503 * Sanitize storage type and help message in mount_bsd.c. Patch
504 from Csaba Henk
505
Miklos Szeredi065f2222006-01-20 15:15:21 +0000506 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
507 FUSE_OPT_KEY_DISCARD
508
509 * Add options 'max_readahead', 'sync_read' and 'async_read'
510
511 * Kernel ABI version 7.6:
512
513 * Negotiate the 'max_readahead' value and 'async_read' flags with
514 userspace in the INIT method
515
516 * Add connection info to ->init() methods to both lowlevel and
517 highlevel API
518
519 * Fall back to synchronous read() behavior if either library or
520 userspace filesystem is using the old interface version. This is
521 needed so non-updated filesystems won't be confused by the
522 different read() behavior
523
5242006-01-19 Miklos Szeredi <miklos@szeredi.hu>
525
526 * lib: if "fsname=" option was given, pass it to fusermount
527
528 * fuse_opt: add new fuse_opt_insert_arg() function, which is
529 needed by filesystems to implement some argument manipulations
530 correctly
531
532 * fuse_opt: fix memory leak in handling "--" option
533
5342006-01-18 Miklos Szeredi <miklos@szeredi.hu>
535
536 * kernel: fix detection of case when fuse is not configured into
537 the kernel either as module or built-in
538
539 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
540 'template' structure member to 'templ'. Reported by Takashi Iwai
541
542 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
543
544 * kernel: support version 2.6.16 (i_sem -> i_mutex)
545
Miklos Szeredi15af1b82006-01-16 17:52:24 +00005462006-01-16 Miklos Szeredi <miklos@szeredi.hu>
547
548 * Added (again) asynchronous readpages support
549
550 * Each connection now shows up under /sys/fs/fuse/connections
551
552 * Connection attributes exported to sysfs: 'waiting' number of
553 waiting requests; 'abort' abort the connection
554
555 * Connection may be aborted through either the sysfs interface or
556 with 'umount -f mountpoint'
557
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00005582006-01-14 Miklos Szeredi <miklos@szeredi.hu>
559
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000560 * Released 2.5.0
561
5622006-01-14 Miklos Szeredi <miklos@szeredi.hu>
563
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000564 * kernel: fix a couple of bugs
565
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000566 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000567 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000568 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000569
570 * request_end() used request pointer after decrementing refcount
571
572 * Clearing ->connected or ->mounted connection flags could race
573 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000574
Miklos Szeredia9820342006-01-10 10:54:11 +00005752006-01-10 Miklos Szeredi <miklos@szeredi.hu>
576
577 * kernel: add necessary compile flags for 2.4.X/x86_64.
578 Report from Sean Ziegeler
579
Miklos Szeredi35676b02006-01-09 10:13:28 +00005802006-01-09 Miklos Szeredi <miklos@szeredi.hu>
581
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000582 * Released 2.5.0-pre2
583
5842006-01-09 Miklos Szeredi <miklos@szeredi.hu>
585
Miklos Szeredi35676b02006-01-09 10:13:28 +0000586 * Applied patch from Csaba Henk, to update mount_bsd to new
587 fuse_mount() semantics
588
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000589 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
590 Steiner and Don Taber
591
Miklos Szeredicb075c82006-01-09 11:33:04 +0000592 * fusermount: add 'dirsync' mount option
593
Miklos Szerediad005972006-01-07 10:14:34 +00005942006-01-07 Miklos Szeredi <miklos@szeredi.hu>
595
596 * Improved help reporting and added version reporting to library
597
Miklos Szeredi0af762a2006-01-06 09:47:54 +00005982006-01-06 Miklos Szeredi <miklos@szeredi.hu>
599
600 * Change working directory to "/" even if running in the
601 foreground. Patch from Jonathan Brandmeyer
602
Miklos Szeredi95da8602006-01-06 18:29:40 +0000603 * Changed lots of functions to use 'struct fuse_args' instead of
604 separate argc and argv
605
606 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
607 fuse_remove_signal_handlers() functions, so that it's now pretty
608 easy to get all the functionality of fuse_main() with a filesystem
609 using the lowlevel API.
610
Miklos Szeredib8638182006-01-02 12:52:24 +00006112006-01-02 Miklos Szeredi <miklos@szeredi.hu>
612
Miklos Szeredif1941472006-01-02 16:27:48 +0000613 * mount.fuse: the 'user' option should be ignored. Report and
614 solution from Mattd.
615
616 * mount.fuse: export PATH in the right place. Report and patch
617 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000618
Miklos Szeredi73f41392005-12-16 11:12:16 +00006192005-12-16 Miklos Szeredi <miklos@szeredi.hu>
620
621 * Clean up the option parsing interface slightly, by creating an
622 "argument list" structure, that contains the argument vector and
623 count
624
Miklos Szeredi4e829092005-12-15 16:13:49 +00006252005-12-15 Miklos Szeredi <miklos@szeredi.hu>
626
627 * fusermount: check if /mnt/mtab is a symlink and don't modify it
628 in that case
629
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000630 * kernel: simplify request size limiting. INIT only contains
631 maximum write size, maximum path component size remains fixed at
632 1024 bytes, and maximum xattr size depends on read buffer.
633
Miklos Szeredie248e4b2005-12-14 16:18:32 +00006342005-12-14 Miklos Szeredi <miklos@szeredi.hu>
635
636 * Fix readdir() failure on x86_64, of 32bit programs compiled
637 without largefile support. Bug report and help from Anthony
638 Kolasny
639
Miklos Szeredi64709572005-12-14 22:16:28 +0000640 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000641 a regular file
642
643 * Add current output argument vector to option processing
644 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000645
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00006462005-12-12 Miklos Szeredi <miklos@szeredi.hu>
647
648 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
649
Miklos Szeredi659743b2005-12-09 17:41:42 +00006502005-12-09 Miklos Szeredi <miklos@szeredi.hu>
651
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000652 * Released 2.5.0-pre1
653
6542005-12-09 Miklos Szeredi <miklos@szeredi.hu>
655
Miklos Szeredi659743b2005-12-09 17:41:42 +0000656 * libfuse: added option parsing interface, defined in
657 <fuse_opt.h>.
658
Miklos Szeredic53cddd2005-12-07 12:57:59 +00006592005-12-07 Miklos Szeredi <miklos@szeredi.hu>
660
661 * Return EIO for file operations (read, write, fsync, flush) on
662 open files whose inode has become "bad". Inodes will be marked
663 "bad" if their type changes. Bug report by Csaba Henk
664
Miklos Szeredi044da2e2005-12-06 17:59:55 +00006652005-12-06 Miklos Szeredi <miklos@szeredi.hu>
666
667 * Use bigger request buffer size. write() did not work on archs
668 with > 4k page size, Bug report by Mark Haney
669
670 * ABI version 7.5:
671
672 * Extend INIT reply with data size limits
673
Miklos Szeredifa829b52005-12-02 11:05:41 +00006742005-12-02 Miklos Szeredi <miklos@szeredi.hu>
675
676 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
677 reported by Vincenzo Ciancia
678
679 * Handle exit-by-umount in fuse_read_cmd()
680
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00006812005-11-29 Miklos Szeredi <miklos@szeredi.hu>
682
683 * Check if '-msoft-float' option is supported by compiler when
684 configuring for a 2.4.x kernel. Bug report by Mark Haney
685
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000686 * In multithreaded loop send a TERM signal to the main thread if
687 one of the other threads exit. Needed on FreeBSD for a clean exit
688 on umount. Should not cause any harm on Linux either
689
Miklos Szerediead7f102005-11-28 16:02:27 +00006902005-11-28 Miklos Szeredi <miklos@szeredi.hu>
691
692 * Fix bug in 32-bit file handle compatibility
693
Miklos Szeredia90b7342005-11-27 19:22:42 +00006942005-11-27 Miklos Szeredi <miklos@szeredi.hu>
695
696 * Block TERM, INT, HUP and QUIT signals in all but the main
697 thread. According to POSIX it's not specified which thread will
698 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000699
700 * Kernel changes:
701
702 * Check for directory aliasing on mkdir, not just on lookup
703
704 * Check for special node ID values in create+open operation
705
706 * Sync with -mm: readv, writev, aio_read and aio_write methods
707 added to file operations
708
709 * Cleanups: lookup code, page offset calculation
710
711 * ABI stepped to 7.4, changes:
712
713 * frsize member added to fuse_kstatfs structure
714
715 * added support for negative entry caching: on lowlevel API if
716 fuse_entry_param::ino is set to zero in reply to a lookup request,
717 the kernel will cache the dentry for the specified amount of time.
718
719 * libfuse: added 'negative_timeout' option: specifies how much
720 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000721 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000722
Miklos Szeredibac4c772005-11-23 13:35:54 +00007232005-11-22 Miklos Szeredi <miklos@szeredi.hu>
724
725 * Add detection of mainline FUSE code in running kernel
726
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00007272005-11-21 Miklos Szeredi <miklos@szeredi.hu>
728
729 * Don't use async cancelation in multithreaded loop. This makes
730 it more portable to systems where read() is not async cancel safe.
731 Report from Andriy Gapon
732
Miklos Szeredi05c97842005-11-20 17:05:07 +00007332005-11-20 Miklos Szeredi <miklos@szeredi.hu>
734
735 * Warn if API version 11 compatibility is requested
736
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00007372005-11-17 Miklos Szeredi <miklos@szeredi.hu>
738
739 * More FreeBSD merge
740
Miklos Szeredi832ee442005-11-18 21:02:36 +0000741 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
742 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000743 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000744
745 * libfuse: don't use system() to invoke 'fusermount -u ...'
746 because it breaks mountpoints with spaces in them into multiple
747 arguments
748
Miklos Szeredib3f99722005-11-16 13:00:24 +00007492005-11-16 Miklos Szeredi <miklos@szeredi.hu>
750
751 * Merge library part of FreeBSD port. Patch by Csaba Henk
752
Miklos Szeredi3a770472005-11-11 21:32:42 +00007532005-11-11 Miklos Szeredi <miklos@szeredi.hu>
754
755 * Use 64bit type for file handle, so the full range supported by
756 the kernel interface is available to applications
757
Miklos Szeredibcc53852005-11-10 09:54:41 +00007582005-11-10 Miklos Szeredi <miklos@szeredi.hu>
759
760 * Moved mountpoint argument checking from fuse_parse_cmdline() to
761 fuse_mount() in preparation to FreeBSD merge.
762
Miklos Szeredi4ec06812005-11-08 13:04:27 +00007632005-11-08 Miklos Szeredi <miklos@szeredi.hu>
764
765 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
766 Henk.
767
Miklos Szeredic706ad92005-11-07 15:30:48 +00007682005-11-07 Miklos Szeredi <miklos@szeredi.hu>
769
770 * Make the statfs change backwards compatible.
771
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00007722005-11-06 Miklos Szeredi <miklos@szeredi.hu>
773
774 * Change ->statfs() method to use 'struct statvfs' instead of
775 'struct statfs'. This makes the API more portable since statvfs()
776 is defined by POSIX.
777
Miklos Szeredif7eec032005-10-28 13:09:50 +00007782005-10-28 Miklos Szeredi <miklos@szeredi.hu>
779
780 * Add fgetattr() method, which currently will only be called after
781 a successful call to a create() method.
782
Miklos Szeredib0b13d12005-10-26 12:53:25 +00007832005-10-26 Miklos Szeredi <miklos@szeredi.hu>
784
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000785 * Change kernel ABI version to 7.3
786
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000787 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000788 call if 'default_permissions' mount option is not given, and is
789 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000790
Miklos Szeredid9079a72005-10-26 15:29:06 +0000791 * Add atomic CREATE+OPEN operation. This will only work with
792 2.6.15 (presumably) or later Linux kernels.
793
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000794 * Add ftruncate() method. This will only work with 2.6.15
795 (presumably) or later Linux kernels.
796
797 * Fix kernel module compile if kernel source and build directories
798 differ. Report and initial patch by John Eastman
799
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00008002005-10-18 Miklos Szeredi <miklos@szeredi.hu>
801
802 * lib: optimize buffer reallocation in fill_dir.
803
Miklos Szeredic9daeb12005-10-17 10:19:21 +00008042005-10-17 Miklos Szeredi <miklos@szeredi.hu>
805
806 * Released 2.4.1
807
Miklos Szeredif412d072005-10-14 21:24:32 +00008082005-10-14 Miklos Szeredi <miklos@szeredi.hu>
809
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000810 * libfuse: add debug for write result (by Shaun Jackman) and
811 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000812
Miklos Szeredib75d4b92005-10-11 10:12:08 +00008132005-10-11 Miklos Szeredi <miklos@szeredi.hu>
814
815 * Spelling fixes, thanks to Ioannis Barkas
816
Miklos Szeredibaab5872005-10-10 08:41:14 +00008172005-10-10 Miklos Szeredi <miklos@szeredi.hu>
818
819 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
820 patch
821
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00008222005-10-07 Miklos Szeredi <miklos@szeredi.hu>
823
824 * highlevel-lib: init() and destroy() methods didn't have an
825 initialized fuse_context. Bug reported by Tim Stoakes
826
Miklos Szeredif2491122005-10-04 10:10:41 +00008272005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000828
829 * Released 2.4.0
830
Miklos Szeredi836ab712005-10-03 14:11:59 +00008312005-10-03 Miklos Szeredi <miklos@szeredi.hu>
832
833 * Add documentation to fuse_lowlevel.h
834
835 * API cleanups:
836
837 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
838
839 * Move fuse_mount() and fuse_unmount() to fuse_common.h
840
841 * Change the return type of fuse_reply_none() from int to void.
842
Miklos Szerediaf138742005-09-30 08:49:59 +00008432005-09-30 Miklos Szeredi <miklos@szeredi.hu>
844
845 * kernel: NFS exporting leaked dentries. Bug found and fixed by
846 Akshat Aranya.
847
Miklos Szeredidb016e02005-09-29 10:06:27 +00008482005-09-29 Miklos Szeredi <miklos@szeredi.hu>
849
850 * fusermount: fix error message, when unable to open /dev/fuse.
851 Report by Balázs Pozsár
852
Miklos Szeredi35200932005-09-28 14:50:49 +00008532005-09-28 Miklos Szeredi <miklos@szeredi.hu>
854
855 * UClibc fixes from Christian Magnusson
856
Miklos Szeredi8eddf642005-09-27 08:58:26 +00008572005-09-27 Miklos Szeredi <miklos@szeredi.hu>
858
859 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
860
Miklos Szerediedec95c2005-09-26 10:22:22 +00008612005-09-26 Miklos Szeredi <miklos@szeredi.hu>
862
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000863 * Released 2.4.0-rc1
864
8652005-09-26 Miklos Szeredi <miklos@szeredi.hu>
866
Miklos Szerediedec95c2005-09-26 10:22:22 +0000867 * fusermount: allow user umount in the case when /etc/mtab is a
868 symlink to /proc/mounts. Reported by Balázs Pozsár.
869
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00008702005-09-23 Miklos Szeredi <miklos@szeredi.hu>
871
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000872 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000873
Miklos Szeredif45f3c12005-09-22 15:14:27 +00008742005-09-22 Miklos Szeredi <miklos@szeredi.hu>
875
876 * Slight optimization in returning EINVAL error in case of an open
877 with O_DIRECT flag.
878
Miklos Szeredi670d07a2005-09-20 11:36:32 +00008792005-09-20 Miklos Szeredi <miklos@szeredi.hu>
880
881 * Remove '--enable-auto-modprobe' configure flag. Module
882 auto-loading is now handled by the kernel.
883
Miklos Szeredid51fca12005-09-15 12:51:00 +00008842005-09-15 Miklos Szeredi <miklos@szeredi.hu>
885
886 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
887 Help from Jens M. Noedler.
888
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00008892005-09-14 Miklos Szeredi <miklos@szeredi.hu>
890
891 * Add memory cleanup on thread exit
892
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00008932005-09-13 Miklos Szeredi <miklos@szeredi.hu>
894
895 * Set umask to zero in fusexmp and fusexmp_fh, so that
896 files/directories are created with the requested mode.
897
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00008982005-09-12 Miklos Szeredi <miklos@szeredi.hu>
899
900 * Don't ignore read error in multithreaded loop
901
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00009022005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000903
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000904 * Released 2.4.0-pre2
905
9062005-09-08 Miklos Szeredi <miklos@szeredi.hu>
907
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000908 * Revert lock and access operations. Postpone these until 2.5.
909
9102005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000911
912 * Fix compile warning on 2.6.13 and later
913
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000914 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000915
Miklos Szeredi77ccf652005-08-19 14:40:27 +00009162005-08-19 Miklos Szeredi <miklos@szeredi.hu>
917
918 * lib: always refresh directory contents after rewinddir() to
919 conform to SUS. Bug found by John Muir.
920
Miklos Szeredia1482422005-08-14 23:00:27 +00009212005-08-15 Miklos Szeredi <miklos@szeredi.hu>
922
Miklos Szeredic43f9412005-08-15 15:10:48 +0000923 * Released 2.4.0-pre1
924
9252005-08-14 Miklos Szeredi <miklos@szeredi.hu>
926
Miklos Szeredia1482422005-08-14 23:00:27 +0000927 * lib: cleaned up (or messed up, depending on your POV) the low
928 level library API. Hopefully this is close to the final form.
929
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00009302005-08-05 Miklos Szeredi <miklos@szeredi.hu>
931
932 * fusermount: don't allow empty mountpoint argument, which defeats
933 automatic umounting in fuse_main(). Bugreport by Václav Jůza
934
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00009352005-08-03 Miklos Szeredi <miklos@szeredi.hu>
936
937 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
938 option is used (Paul Alfille).
939
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00009402005-08-02 Miklos Szeredi <miklos@szeredi.hu>
941
942 * highlevel-lib: added mount options "attr_timeout" and
943 "entry_timeout". These options control the length of time file
944 attributes and entries (names) are cached. Both default to 1.0
945 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000946
947 * kernel: correctly handle zero timeout for attributes and entries
948
Miklos Szeredi56a61f02005-08-01 10:42:25 +00009492005-08-01 Miklos Szeredi <miklos@szeredi.hu>
950
951 * Added missing symbols to versionscript (Joshua J. Berry)
952
Miklos Szeredie77cc072005-08-01 11:58:51 +0000953 * kernel: implement two flags, open can set: 'direct_io' and
954 'keep_cache'. These correspond exactly to mount options
955 'direct_io' and 'kernel_cache', but allow a per-open setting.
956
957 * Move 'direct_io' and 'kernel_cache' mount option handling to
958 userspace. For both mount options, if the option is given, then
959 the respective open flag is set, otherwise the open flag is left
960 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000961
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000962 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000963
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00009642005-07-28 Miklos Szeredi <miklos@szeredi.hu>
965
966 * kernel: invalidate attributes for read/readdir/readlink
967 operations
968
969 * kernel: detect newer UML kernels
970
Miklos Szeredibfb99462005-07-26 11:07:55 +00009712005-07-26 Miklos Szeredi <miklos@szeredi.hu>
972
973 * Make the installation path of fuse.ko and mount.fuse
974 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
975 environment variables. Requirement and help from Csaba Henk.
976
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00009772005-07-22 Miklos Szeredi <miklos@szeredi.hu>
978
979 * Fix bug, that causes filesystem requests to hang when unique
980 request counter becomes negative. This happens after
981 2,147,483,648 operations, so most people won't care. Thanks to
982 Franco Broi for the report and testing.
983
Miklos Szeredi9b813af2005-07-21 07:59:37 +00009842005-07-21 Miklos Szeredi <miklos@szeredi.hu>
985
986 * Don't change mtime/ctime/atime to local time on read/write.
987 Bug reported by Ben Grimm
988
989 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
990 Magnusson
991
992 * fusermount: use getopt_long() for option parsing. It allows the
993 use of '--' to stop argument scanning, so fusermount can now
994 operate on directories whose names begin with a '-'. Patch by
995 Adam Connell
996
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00009972005-07-15 Miklos Szeredi <miklos@szeredi.hu>
998
999 * fusermount: add '-v', '--version' and '--help' options
1000
1001 * add inode based API
1002
Miklos Szeredi2482fdb2005-07-12 13:23:53 +000010032005-07-12 Miklos Szeredi <miklos@szeredi.hu>
1004
1005 * lib: don't block signals in worker threads. Problem noticed by
1006 Usarin Heininga
1007
Miklos Szeredic902a852005-07-07 12:35:37 +000010082005-07-07 Miklos Szeredi <miklos@szeredi.hu>
1009
1010 * lib: don't allow both 'allow_other' and 'allow_root' options to
1011 be given
1012
Miklos Szeredi437d8112005-07-06 09:14:20 +000010132005-07-06 Miklos Szeredi <miklos@szeredi.hu>
1014
1015 * fusermount: check if mountpoint is empty (only '.' and '..' for
1016 directories, and size = 0 for regular files). If "nonempty"
1017 option is given, omit this check. This is useful, so users don't
1018 accidentally hide data (e.g. from backup programs). Thanks to
1019 Frank van Maarseveen for pointing this out.
1020
1021 * kernel: check if mandatory mount options ('fd', 'rootmode',
1022 'user_id', 'group_id') are all given
1023
Miklos Szeredi340d21f2005-07-06 10:07:52 +00001024 * lib: simplify 'readdir_ino' handling
1025
Miklos Szeredie331c4b2005-07-06 13:34:02 +00001026 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
1027
Miklos Szeredibb9f5172005-07-03 18:03:11 +000010282005-07-03 Miklos Szeredi <miklos@szeredi.hu>
1029
1030 * kernel: clean up 'direct_io' code
1031
Miklos Szeredie1bcece2005-06-28 10:37:06 +000010322005-06-28 Miklos Szeredi <miklos@szeredi.hu>
1033
1034 * Add 'mount.fuse' written by Petr Klima
1035
Miklos Szeredi866826d2005-06-28 12:22:57 +00001036 * '/dev/fuse' is created by 'make install' if does not yet exist
1037
Miklos Szeredi129ef8f2005-06-20 13:48:42 +000010382005-06-20 Miklos Szeredi <miklos@szeredi.hu>
1039
1040 * Fix UCLIBC compile error. Patch by Christian Magnusson
1041
Miklos Szerediec12fad2005-06-08 10:26:34 +000010422005-06-08 Miklos Szeredi <miklos@szeredi.hu>
1043
1044 * Enable the auto-loading of the module via access to the
1045 corresponding device file. Patch by Takashi Iwai.
1046
Miklos Szeredidaa690e2005-06-08 10:41:36 +00001047 * Allow mounting a regular file (over a regular file) for
1048 unprivleged users.
1049
Miklos Szeredi7495abf2005-06-08 11:01:17 +00001050 * Do not create temporary device file. Require "/dev/fuse" to
1051 exist, and be readable/writable by the mounting user.
1052
Miklos Szeredi46960ce2005-06-02 09:05:00 +000010532005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1054
Miklos Szeredi56478552005-06-02 10:29:00 +00001055 * Released 2.3.0
1056
10572005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1058
Miklos Szeredi46960ce2005-06-02 09:05:00 +00001059 * Fix serious information leak: if the filesystem returns a short
1060 byte count to a read request, and there are non-zero number of
1061 pages which are not filled at all, these pages will not be zeroed.
1062 Hence the user can read out previous memory contents. Found by
1063 Sven Tantau.
1064
Miklos Szeredi33be22d2005-05-27 09:12:43 +000010652005-05-27 Miklos Szeredi <miklos@szeredi.hu>
1066
1067 * Add "readdir_ino" mount option, which tries to fill in the d_ino
1068 field in struct dirent. This mount option is ignored if "use_ino"
1069 is used. It helps some programs (e.g. 'pwd' used over NFS from a
1070 non-Linux OS). Patch by David Shaw.
1071
Miklos Szeredif94e0102005-05-12 14:56:34 +000010722005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1073
Miklos Szeredieb009c42005-05-12 15:01:17 +00001074 * Released 2.3-rc1
1075
10762005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1077
Miklos Szeredif94e0102005-05-12 14:56:34 +00001078 * File save in krusader and other editors doesn't work with sshfs,
1079 because open() is interrupted by a periodic signal, and open()
1080 restarts forever, without any progress. This could just be fixed
1081 in open(), but the problem is more generic: if signals are
1082 received more often than the filesystem can get the request to
1083 userspace, it will never finish. This is probably only a
1084 theoretical problem, nevertheless I'm removing the possibility to
1085 interrupt requests with anything other than SIGKILL, even before
1086 being sent to userspace. Bugreport by Eduard Czimbalmos.
1087
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +000010882005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1089
Miklos Szeredic2a33ee2005-05-09 13:29:17 +00001090 * libfuse: add "tree_lock" rwlock, that is locked for write in
1091 rename, unlink and rmdir, and locked for read in all other
1092 operations. This should fix the rename/release race reported by
1093 Valient Gough and others. The solution is very coarse, a finer
1094 grained locking scheme could be implemented, but it would be much
1095 more complex. Let's see whether this is good enough.
1096
10972005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1098
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001099 * Released 2.3-pre7
1100
Miklos Szeredi38009022005-05-08 19:47:22 +000011012005-05-08 Miklos Szeredi <miklos@szeredi.hu>
1102
1103 * Better fix for out of order FORGET messages. Now the
1104 LOOKUP/FORGET messages are balanced exactly (one FORGET can
1105 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001106 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +00001107 compatible.
1108
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +000011092005-05-06 Miklos Szeredi <miklos@szeredi.hu>
1110
1111 * Fix abort for out of order FORGET messages. Again. Spotted by
1112 Franco Broi again. Sorry :)
1113
Miklos Szeredi9372ffd2005-04-29 08:03:24 +000011142005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1115
Miklos Szeredicb6413a2005-04-29 08:16:20 +00001116 * Released 2.3-pre6
1117
11182005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1119
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00001120 * Make fusermount work with fuse kernel modules not yet supporting
1121 the "group_id" option (added for the purpose of stricter
1122 permission checking).
1123
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +000011242005-04-28 Miklos Szeredi <miklos@szeredi.hu>
1125
1126 * Check for hard-linked directories in lookup. This could cause
1127 problems in the VFS, which assumes that such objects never exist.
1128
1129 * Make checking of permission for other users more strict. Now
1130 the same privilege is required for the mount owner as for ptrace
1131 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001132
Miklos Szeredi3efcb562005-04-23 13:34:29 +000011332005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1134
1135 * Released 2.3-pre5
1136
Miklos Szeredid001bf92005-04-22 07:54:11 +000011372005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1138
1139 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1140 is needed on certain architectures. Report from Chris Kirby
1141
1142 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1143 Reported by David Shaw
1144
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001145 * Remove "allow_root" option from kernel module, and implement
1146 it's functionality in the library
1147
1148 * Fix Oops caused by premature release of fuse_conn. Clean up
1149 related code, to be more readable
1150
Miklos Szeredif9137452005-04-23 10:59:44 +00001151 * Sendfile should not use page cache if "direct_io" mount option
1152 is given
1153
Miklos Szeredib7640d22005-04-08 15:15:28 +000011542005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1155
1156 * Fix Oops in case of nfs export. Spotted by David Shaw
1157
Miklos Szeredi89814a12005-04-08 16:39:09 +00001158 * Fix another Oops in case of write over nfs with direct_io turned
1159 on. Again spotted by David Shaw
1160
Miklos Szerediab974562005-04-07 15:40:21 +000011612005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1162
Miklos Szeredi432d6182005-04-07 15:56:13 +00001163 * Released 2.3-pre4
1164
11652005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1166
Miklos Szerediab974562005-04-07 15:40:21 +00001167 * lib: finalized new readdir() interface, which now supersedes the
1168 getdir() method.
1169
Miklos Szeredi30e093a2005-04-03 17:44:54 +000011702005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1171
1172 * Released 2.3-pre3
1173
11742005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1175
1176 * Implement backward compatibility with version 5 kernel ABI
1177
Miklos Szeredi18fce982005-04-01 21:07:35 +000011782005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1179
1180 * Released 2.3-pre2
1181
11822005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1183
1184 * kernel: fix dirent offset handling
1185
1186 * lib: add readdir and releasedir methods
1187
1188 * lib: use fh field of fuse_file_info in opendir, readdir,
1189 releasedir and fsyncdir methods
1190
1191 * lib: check kernel API version and bail out of it's old. This
1192 will be properly fixed in the next release
1193
11942005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1195
1196 * Released 2.3-pre1
1197
Miklos Szeredieab72ef2005-03-31 19:59:12 +000011982005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1199
1200 * kernel API: add padding to structures, so 64bit and 32bit
1201 compiler will return the same size
1202
1203 * kernel API: add offset field to fuse_dirent. This will allow
1204 more sophisticated readdir interface for userspace
1205
1206 * kernel API: change major number to 6
1207
1208 * kernel: fix warnings on 64bit archs
1209
1210 * kernel: in case of API version mismatch, return ECONNREFUSED
1211
Miklos Szeredi407e6a72005-03-25 12:19:43 +000012122005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1213
1214 * kernel: trivial cleanups
1215
Miklos Szeredi4283ee72005-03-21 12:09:04 +000012162005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1217
1218 * Add fsyncdir() operation
1219
Miklos Szeredid17da462005-03-21 11:47:04 +000012202005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1221
1222 * kernel: add locking to background list (fixes previous fix)
1223
12242005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1225
1226 * kernel: fix bug which could cause leave busy inodes after
1227 unmount, and Oops.
1228
12292005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1230
1231 * examples: add -lpthread to link flags to work around valgrind
1232 quirk
1233
1234 * lib: don't exit threads, so cancelation doesn't cause segfault
1235
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000012362005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1237
1238 * kernel: fix nasty bug which could cause an Oops under certain
1239 situations. Found by Magnus Johansson
1240
Miklos Szeredif43f0632005-02-28 11:46:56 +000012412005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1242
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001243 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001244 permission checking in getdir() is too late. Thanks to Usarin
1245 Heininga for pointing out this deficiency
1246
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001247 * libfuse: added init() and destroy() methods to fuse_operations
1248
Miklos Szeredif43f0632005-02-28 11:46:56 +00001249 * kernel: llseek() method for files and directories made explicit
1250
1251 * kernel: fixed inode leak in NFS export in case of nodeid
1252 wrapping
1253
Miklos Szeredied3c97c2005-02-15 17:04:50 +000012542005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1255
1256 * libfuse: clean up some unitialized memory found with valgrind
1257
Miklos Szeredi47c52982005-02-23 09:27:38 +00001258 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1259 explicitly linked libpthread for applications
1260
Miklos Szeredia7169412005-02-10 07:35:05 +000012612005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1262
1263 * fusermount: set umask, otherwise /etc/mtab will have
1264 unpredictable permission. Spotted by Jindrich Kolorenc
1265
1266 * fusermount: set owner and group of /etc/mtab to original values
1267 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001268
1269 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001270
Miklos Szeredib92d9782005-02-07 16:10:49 +000012712005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1272
1273 * Cleaned up directory reading (temporary file is not used)
1274
Miklos Szerediff30a6c2005-02-02 10:53:59 +000012752005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1276
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001277 * Released 2.2
1278
12792005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1280
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001281 * Fix possible race when operation is interrupted
1282
Miklos Szeredi7a983952005-01-28 09:58:19 +000012832005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1284
Miklos Szeredie5183742005-02-02 11:14:04 +00001285 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001286
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000012872005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1288
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001289 * Released 2.2-pre6
1290
12912005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1292
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001293 * Fix bug in link() operation which caused the wrong path to be
1294 passed as the first argument. Found by Anton Altaparmakov
1295
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000012962005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1297
1298 * LIB: fix double reply in readdir operation
1299
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001300 * fusermount: fix uid checking bug. Patch by Adam Connell
1301
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001302 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001303 Patch by Keshava Gowda
1304
Miklos Szeredi64074142005-01-20 08:48:11 +000013052005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1306
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001307 * KERNEL: provide correct llseek semantics for fuse device (fixes
1308 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1309
13102005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1311
Miklos Szeredi64074142005-01-20 08:48:11 +00001312 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1313
Miklos Szeredi1adb2272005-01-18 21:19:58 +000013142005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1315
1316 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1317 and RELEASEDIR. This ends the ugly hack of passing a file
1318 descriptor to the kernel, and actually makes the code simpler.
1319
Miklos Szeredi7db35c02005-01-17 09:46:28 +000013202005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1321
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001322 * Released 2.2-pre4
1323
13242005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1325
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001326 * fusermount: remove capability setting, which was the cause of
1327 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001328 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001329
Miklos Szeredidbe0f652005-01-15 14:32:56 +000013302005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001331
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001332 * fix compilation on 2.4 kernels (reported by Valient Gough)
1333
1334 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001335
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001336 * fusermount: improve parsing of /etc/fuse.conf
1337
13382005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1339
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001340 * Remove 'mount_max' and 'user_allow_other' module options. These
1341 are now checked by fusermount, and can be set in /etc/fuse.conf
1342
1343 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1344
Miklos Szeredi81394522005-01-11 14:24:18 +000013452005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1346
1347 * KERNEL: fix possible inode allocation problem, where
1348 sizeof(struct inode) is not aligned (found by Mike Waychison)
1349
1350 * KERNEL: use new follow_link/put_link methods
1351
1352 * KERNEL: cosmetic fixes
1353
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000013542005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1355
1356 * Released 2.2-pre3
1357
13582005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1359
1360 * Add missing code that was accidently left out
1361
Miklos Szeredi8c7da232005-01-09 12:27:41 +000013622005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1363
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001364 * Released 2.2-pre2
1365
13662005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1367
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001368 * Change "uid" mount option to "user_id" to avoid confusion with a
1369 mount option "uid" commonly used by many filesystems
1370
13712005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1372
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001373 * Released 2.2-pre1
1374
13752005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1376
1377 * If FUSE is configured in the kernel, don't build it by default
1378
Miklos Szeredi2a927272005-01-07 11:14:15 +000013792005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1380
1381 * Compile fix by Christian Magnusson
1382
Miklos Szeredib6220192005-01-05 16:19:10 +000013832005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1384
1385 * Fix compilation for 2.6.{0-5} kernels
1386
Miklos Szeredi0f62d722005-01-04 12:45:54 +000013872005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1388
1389 * KERNEL: if request is interrupted, still keep reference to used
1390 inode(s) and file, so that FORGET and RELEASE are not sent until
1391 userspace finishes the request.
1392
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001393 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1394 request with the same information, which is more flexible,
1395 simpler, works on embedded systems.
1396
Miklos Szeredi0f62d722005-01-04 12:45:54 +000013972004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1398
1399 * KERNEL ABI: update interface to make it independent of type
1400 sizes. This will help on 64 bit architectures which can run
1401 legacy 32 bit applications.
1402
1403 * KERNEL ABI: add "len" field to request headers. This will allow
1404 sending/receiving requests in multiple chunks.
1405
1406 * KERNEL: handle file type change more intelligently
1407
1408 * LIB: "-o debug" option should disable backgrounding (fix by
1409 Fabien Reygrobellet)
1410
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000014112004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1412
1413 * KERNEL: invalidate dentry/attributes if interrupted request
1414 could leave filesystem in an unknown state.
1415
Miklos Szeredie56818b2004-12-12 11:45:24 +000014162004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1417
1418 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1419 These will cause some regressions, but stability is considered
1420 more important. If any of these features turns out to be
1421 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001422
Miklos Szeredie56818b2004-12-12 11:45:24 +00001423 * Make all requests interruptible (only with SIGKILL currently).
1424 This can be used to break any deadlock produced by the userspace
1425 filesystem accessing it's own exported files. The RELEASE request
1426 is special, because if it's interrupted before sending it to
1427 userspace it is still sent, but the reply is not awaited.
1428
1429 * If request is interrupted before being sent to userspace, and if
1430 it hasn't yet got any side effects, it is always restarted,
1431 regardless of the SA_RESTART flag. This makes these interruptions
1432 transparent to the process.
1433
1434 * Remove shared-writable mmap support, which was prone to an
1435 out-of-memory deadlock situation
1436
1437 * Remove INVALIDATE userspace initiated request
1438
1439 * Make readpages() synchronous. Asynchronous requests are
1440 deadlock prone, since they cannot be interrupted.
1441
1442 * Add readv/writev support to fuse device operations
1443
1444 * Remove some printks, which userspace FS can use for a DoS
1445 against syslog
1446
1447 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1448 fusermount instead
1449
1450 * LIB: improve compatibility with a fuse.h header installed in
1451 ${prefix}/include which in turn includes the real header.
1452
1453 * LIB: improve compatibility by defining fuse_main() (which is now
1454 not used), so old configure scripts find it.
1455
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000014562004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1457
1458 * When mounting on a subdirectory of / don't duplicate slashes at
1459 the beggining of path (spotted by David Shaw)
1460
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000014612004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1462
1463 * Fix bug causing garbage in mount options (spotted by David Shaw)
1464
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000014652004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1466
1467 * Add 'writepage' flag to 'fuse_file_info'.
1468
1469 * More comments in fuse.h
1470
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001471 * Get rid of double underscores
1472
Miklos Szeredi799993c2004-12-04 21:20:05 +000014732004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1474
1475 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1476
1477 * helper.c: add -ho option, which only displays the options not
1478 the usage header. This can be used by filesystems which have
1479 their own options.
1480
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000014812004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1482
1483 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1484 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1485 including the fuse header
1486
1487 * Add binary compatibility to 2.1 version of library with symbol
1488 versioning
1489
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000014902004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1491
1492 * Released 2.1
1493
Miklos Szeredi039322d2004-12-01 18:39:12 +000014942004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1495
1496 * kernel: clean up writing functions
1497
1498 * kernel: no allocation on write in direct_io mode
1499
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001500 * move linux/fuse.h to fuse_kernel.h
1501
Miklos Szeredi83a07442004-11-30 18:25:20 +000015022004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1503
1504 * kernel: clean up reading functions
1505
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000015062004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1507
1508 * kernel: make readpage() uninterruptible
1509
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001510 * kernel: check readonly filesystem flag in fuse_permission
1511
1512 * lib: don't die if version file not found and new style device
1513 exists
1514
1515 * lib: add '-r' option, which is short for '-o ro'
1516
1517 * fusermount: simplify device opening
1518
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001519 * kernel: when direct_io is turend on, copy data directly to
1520 destination without itermediate buffer. More efficient and safer,
1521 since no allocation is done.
1522
1523 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001524
1525 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001526
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000015272004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1528
1529 * libfuse API change: open, read, write, flush, fsync and release
1530 are passed a 'struct fuse_file_info' pointer containing the open
1531 flags (open and release), and the file handle. Verion changed to
1532 3.0.
1533
Miklos Szeredia25d4c22004-11-23 22:32:16 +000015342004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1535
1536 * More cleanups in the kernel
1537
1538 * The 10,229 charater device number has been assigned for FUSE
1539
1540 * Version file checking fix (reported by Christian Magnusson)
1541
1542 * fusermount: opening the fuse device now doesn't need /sys.
1543
1544 * Optimize reading by controlling the maximum readahead based on
1545 the 'max_read' mount option
1546
1547 * fixes for UCLIBC (Christian Magnusson)
1548
Miklos Szeredi13ed4822004-11-20 11:12:21 +000015492004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1550
1551 * Cleaned up kernel in preparation for merge into mainline:
1552
1553 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1554
1555 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1556
1557 * __user annotations for sparse
1558
1559 * allocate individual pages instead of kmalloc in fuse_readdir,
1560 fuse_read and fuse_write.
1561
1562 * Fix NFS export in case "use_ino" mount option is given
1563
Miklos Szeredif3845c42004-11-20 11:18:34 +00001564 * Make libfuse and fusermount compatible with future versions
1565
1566 * fusermount: properly add mount options to /etc/mtab
1567
15682004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1569
1570 * fusermount: do not resolve last component of mountpoint on if it
1571 is '.' or '..'. This new path resolvation is now done on mount as
1572 well as unmount. This enables relative paths to work on unmount.
1573
1574 * fusermount: parse common mount options like "ro", "rw", etc...
1575
1576 * Allow module params to be changed through sysfs
1577
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000015782004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1579
1580 * Released 2.1-pre1
1581
15822004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1583
1584 * Fix bug in fuse_readpages() causing Oops in certain situations.
1585 Bug found by Vincenzo Ciancia.
1586
1587 * Fix compilation with kernels versions > 2.6.9.
1588
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000015892004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001590
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001591 * Check kernel interface version in fusermount to prevent
1592 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001593
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001594 * No need to allocate fuse_conn until actual mount happens
1595
1596 * Fix potential race between umount and fuse_invalidate
1597
1598 * Check superblock of proc file in addition to inode number
1599
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001600 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001601
Miklos Szeredi51ec1032004-11-10 11:52:26 +000016022004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1603
1604 * Separate configure for the kernel directory
1605
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001606 * Don't allow write to return more than 'count'
1607
1608 * Extend kernel interface for future use
1609
Miklos Szeredi51ec1032004-11-10 11:52:26 +000016102004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1611
1612 * Fix 'makeconf.sh' to use autoreconf if available
1613
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000016142004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1615
Miklos Szeredid507c732004-11-08 17:32:25 +00001616 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1617 compatibility with earlier versions. To compile earier versions
1618 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1619 Do not use the "use_ino" mount flag with filesystems compiled with
1620 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001621
1622 * Add pkg-config support. To compile a FUSE based filesystem you
1623 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1624 or similar. Note, that the PKG_CONFIG_PATH environment variable
1625 usually needs to be set to "/usr/local/lib/pkgconfig".
1626
1627 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001628
Miklos Szeredia13d9002004-11-02 17:32:03 +000016292004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1630
1631 * Added "use_ino" mount option. This enables the filesystems to
1632 set the st_ino field on files
1633
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000016342004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1635
1636 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1637 by Jeremy Smith)
1638
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001639 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1640
1641 * Clear the 'exited' flag when mail loop is finished
1642
Miklos Szeredie989f0d2004-10-28 20:24:58 +000016432004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1644
1645 * Make xattr functions work under 2.6 (bug found by Vincenzo
1646 Ciancia)
1647
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000016482004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1649
1650 * Reset request in fuse_flush() (bugreport by David Shaw)
1651
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000016522004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1653
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001654 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001655 error code
1656
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001657 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001658 make it easier to implement a custom event loop.
1659
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001660 * Use daemon() call to background the filesystem after mounting.
1661 This function closes the standard input, output and error and
1662 changes the current working directory to "/".
1663
Miklos Szeredi127d49b2004-10-14 13:33:39 +000016642004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1665
1666 * Released 1.9
1667
Miklos Szeredid45baf42004-10-10 07:56:12 +000016682004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1669
1670 * Don't allow fuse_flush() to be interrupted (bug found by David
1671 Shaw)
1672
Miklos Szeredi1f18db52004-09-27 06:54:49 +000016732004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1674
1675 * Add PID to fuse_context. Patch by Steven James
1676
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001677 * Change file handle type to 'unsigned long' in kernel interface
1678
Miklos Szeredid169f312004-09-22 08:48:26 +000016792004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1680
1681 * A slight API change: fuse_get_context() doesn't need the "fuse"
1682 pointer, but the returned context contains it instead. The
1683 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001684
1685 * Fix mounting and umounting FUSE filesystem under another FUSE
1686 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001687
Miklos Szeredic2309912004-09-21 13:40:38 +000016882004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1689
1690 * Fix deadlock in case of memory allocation failure. Patch by
1691 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001692
Miklos Szeredib2cf9562004-09-16 08:42:40 +000016932004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1694
1695 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001696
Miklos Szeredi65afea12004-09-14 07:13:45 +000016972004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1698
1699 * Check temporary file creation failure in do_getdir(). Bug
1700 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001701
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000017022004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1703
1704 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001705
1706 * Make requests non-interruptible so race with FORGET is avoided.
1707 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001708
1709 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001710
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000017112004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1712
1713 * Fix bug in case two FORGETs for the same node are executed in
1714 the wrong order. Bug spotted and endured for months by Franco
1715 Broi, and logfile for solution provided by Terje Oseberg
1716
Miklos Szeredi12085102004-09-02 18:13:57 +000017172004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1718
1719 * Add -D_REENTRANT to the compile flags
1720
1721 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001722
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000017232004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1724
1725 * Change release method to be non-interruptible. Fixes bug
1726 causing missing release() call when program which has opened files
1727 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001728
Miklos Szeredi891b8742004-07-29 09:27:49 +000017292004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1730
1731 * Add fuse_invalidate() to library API
1732
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000017332004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1734
1735 * Check permissions in setattr if 'default_permissions' flag is
1736 set. Bug spotted by Damjan Lango
1737
Miklos Szeredid66d3942004-07-24 13:47:44 +000017382004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1739
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001740 * 'large_read' mount option removed for 2.6 kernels, since the
1741 default (dynamic read size) is better
1742
1743 * Extend kernel API with file handles. A file handle is returned
1744 by open, and passed to read, write, flush, fsync and release.
1745 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001746
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001747 * Security changes:
1748
1749 * Change the current directory to the mountpoint before checking
1750 the permissions and mount filesystem on "."
1751
1752 * By default don't modprobe the fuse module for non-root. The old
1753 behavior can be restored with the '--enable-auto-modprobe' flag of
1754 ./configure
1755
1756 * By default don't allow shared writable mappings for non-root.
1757 The old behavior can be restored with the 'user_mmap=1' module
1758 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001759
Miklos Szeredibd7661b2004-07-23 17:16:29 +000017602004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1761
1762 * Clean up mount option passing to fusermount and to fuse_new()
1763 BEWARE: this changes the userspace API slightly, and the command
1764 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001765
Miklos Szeredi58865372004-07-20 14:22:26 +000017662004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1767
1768 * Optimize reading under 2.6 kernels by issuing multiple page
1769 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001770
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000017712004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1772
1773 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001774
Miklos Szeredi069c9502004-07-16 16:17:02 +000017752004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1776
1777 * Separate directory entry and inode attribute validity timer
1778
1779 * New write semaphore to stop page writeback during truncate
1780
1781 * Fsync now waits for all writes to complete before sending the
1782 request
1783
1784 * Optimization: if a page is completely written by
1785 fuse_commit_write(), clear the dirty flag and set the uptodate
1786 flag for that page
1787
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001788 * Some memory cleanup at exit
1789
Miklos Szeredi2529ca22004-07-13 15:36:52 +000017902004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1791
1792 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001793 disable the "hide if open" behavior of unlink/rename.
1794
1795 * If temporary buffer allocation fails in raw read, fall back to a
1796 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001797
Miklos Szeredi73798f92004-07-12 15:55:11 +000017982004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1799
1800 * Fix bug in do_open() in libfuse: open count was incremented
1801 after the reply is sent so it could race with unlink/forget and
1802 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001803
Miklos Szeredi015fe702004-07-12 11:52:24 +000018042004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1805
1806 * When performing create or remove operation, refresh the parent's
1807 attributes on next revalidate, as i_nlink (and maybe size/time)
1808 could be inacurate.
1809
1810 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1811 pages (2.6 only)
1812
1813 * Set set_page_dirty address space operation (2.6 only)
1814
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018152004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001816
1817 * Minor fix in read: print debug info even if read size is zero
1818
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018192004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001820
1821 * Fix race between truncate and writepage (fsx-linux now runs
1822 without error)
1823
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018242004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001825
1826 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1827 by Mattias Wadman)
1828
1829 * Added option for direct read/write (-r)
1830
1831 * Fix revalidate time setting for newly created inodes
1832
Miklos Szerediacb4d362004-07-02 16:20:45 +00001833 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1834 this)
1835
1836 * fuse_main() only installs handlers for signals (out of INT, HUP,
1837 TERM, PIPE), for which no handler has yet been installed
1838
1839 * Add module option 'user_allow_other' which if set to non-zero
1840 will allow non root user to specify the 'allow_other' mount option
1841 ('-x' option of fusermount)
1842
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001843 * Fix deadlock between page writeback completion and truncate
1844 (bug found by Valient Gough with the fsx-linux utility)
1845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018462004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001847
1848 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001849 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1850 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001851
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018522004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001853
1854 * Acquire inode->i_sem before open and release methods to prevent
1855 concurrent rename or unlink operations.
1856
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001857 * Make __fuse_read_cmd() read only one command. This allows
1858 multiplexing the fuse file descriptor with other event sources
1859 using select() or poll() (patch by Jeff Harris)
1860
1861 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1862
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018632004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001864
1865 * Fix file offset wrap around at 4G when doing large reads
1866
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018672004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001868
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001869 * Fix memory leak in open (Valient Gough)
1870
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018712004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001872
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001873 * Add "close after delete" support to libfuse (patch by Valient
1874 Gough)
1875
1876 * Cancel all worker threads before exit in multithreaded mode
1877
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018782004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001879
1880 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001881
1882 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001883
1884 * Work with newer libtool (1.5a)
1885
1886 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001887
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018882004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001889
1890 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001891
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018922004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001893
1894 * Fix possible inode leak in userspace in case of unfinished
1895 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001896
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018972004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001898
1899 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001900
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019012004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001902
1903 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001904
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019052004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001906
1907 * Build shared library as well as static (using libtool)
1908
1909 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1910 there has not been a release with the previous minor number, and I
1911 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001912
1913 * Change fuse_main(), so that default behavior is to go into
1914 background if mount is successful. '-f' and '-d' options disable
1915 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1916 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001917
1918 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1919 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001920
1921 * Don't call getdir method from open() only from first readdir().
1922 Open is sometimes just used to store the current directory
1923 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001924
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019252004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001926
1927 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001928
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019292004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001930
1931 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001932
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019332004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001934
1935 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001936
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019372004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001938
1939 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001940
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019412004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001942
1943 * Replaced binary mount data with text options
1944
1945 * Show FUSE specific mount options in /proc/mounts
1946
1947 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1948
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019492004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001950
1951 * Check some limits so userspace won't get too big requests
1952
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019532004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001954
1955 * Kill compile warning
1956
1957 * Upgraded user-mount patch for 2.6.5
1958
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019592004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001960
1961 * Add detection of user-mode-linux to configure
1962
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019632004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001964
1965 * fixed zero size case for getxattr and listxattr
1966
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019672004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001968
1969 * new fusermount flag '-z': lazy unmount, default is not lazy
1970
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001971 * Extended attributes operations added (getxattr, setxattr,
1972 listxattr, removexattr)
1973
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019742004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001975
1976 * If filesystem doesn't define a statfs operation, then an
1977 all-zero default statfs is returned instead of ENOSYS
1978
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019792004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001980
1981 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1982
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019832004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001984
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001985 * Fix for uClinux (Christian Magnusson)
1986
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019872004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001988
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001989 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001990
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001991 * More kernel interface changes:
1992
1993 * Lookup/getattr return cache timeout values
1994
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019952004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001996
1997 * Clean up option parsing in fuse_main()
1998
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001999 * Added fuse_get() function which returns the fuse object created
2000 by fuse_main()
2001
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020022004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00002003
Miklos Szeredic40748a2004-02-20 16:38:45 +00002004 * removed old way of mounting (fusermount mountpoint program)
2005
Miklos Szeredib5958612004-02-20 14:10:49 +00002006 * more kernel interface changes:
2007
2008 * added nanosecond precision to file times
2009
Miklos Szeredic40748a2004-02-20 16:38:45 +00002010 * removed interface version from mount data
2011
2012 * added /proc/fs/fuse/version which contains MAJOR.MINOR
2013
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020142004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00002015
2016 * statfs library API changed to match other methods. Since this
2017 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
2018
Miklos Szeredi76f65782004-02-19 16:55:40 +00002019 * kernel interface changes follow:
2020
2021 * statfs changed to 64 bits, added 'bavail' field
2022
2023 * add generation number to lookup result
2024
2025 * optimized mknod/mkdir/symlink/link (no separate lookup is
2026 needed)
2027
2028 * rdev size increased to 32 bits for mknod
2029
2030 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002031
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020322004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00002033
2034 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00002035
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020362004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00002037
2038 * Added user-mount.2.6.2-rc3.patch
2039
2040 * Add FS_SAFE flag to fuse filesystem
2041
2042 * fusermount should allow (un)mounting for non-root even if not
2043 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00002044
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020452004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00002046
2047 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00002048
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020492004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00002050
2051 * Added check for i_size_read/write functions to configure.in
2052 (patch by Valient Gough)
2053
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020542004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00002055
2056 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00002057
2058 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00002059
2060 * Readpage calls flush_dcache_page() after storing data
2061
2062 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00002063
2064 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00002065
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020662004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00002067
2068 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002069
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020702004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00002071
2072 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00002073
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020742004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00002075
2076 * Added -q option for fusermount
2077
2078 * fuse_unmount() now uses -q option of fusermount, so no error is
2079 printed if the cause of the program exit is that the filesystem
2080 has already been unmounted
2081
Miklos Szeredif4f8b892004-01-27 17:04:59 +00002082 * Fix i_nlink correctness after rmdir/unlink
2083
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020842004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002085
Miklos Szeredib1158392004-01-26 14:43:12 +00002086 * Released 1.1-pre2
2087
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020882004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00002089
Miklos Szeredi307242f2004-01-26 11:28:44 +00002090 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00002091
2092 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00002093
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020942004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002095
2096 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00002097
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020982004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002099
2100 * Write all pending data before a RELEASE operation
2101
2102 * Suppress 'Bad file descriptor' warning on exit
2103
2104 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00002105 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00002106
Miklos Szeredib1158392004-01-26 14:43:12 +00002107 * New fusermount option '-l' which enables big reads. Big reads
2108 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00002109
2110 * fuse_main() can accept fusermount arguments after a '--'
2111
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021122004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00002113
2114 * Support for exporting filesystem over NFS (see README.NFS)
2115
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021162004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00002117
2118 * Support non-blocking writepage on 2.6. This makes FUSE behave
2119 much more nicely in low-memory situations
2120
2121 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
2122 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00002123
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021242004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00002125
2126 * Code cleanups
2127
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021282004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002129
2130 * Released 1.1-pre1
2131
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021322004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002133
2134 * Integrated 2.6 kernel support patch by Michael Grigoriev
2135
2136 * Improvements and cleanups for 2.6 kernels
2137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021382004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002139
Miklos Szeredie5183742005-02-02 11:14:04 +00002140 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002141
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021422003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002143
2144 * Added major+minor version to library API, and minor version to
2145 kernel API
2146
David McNab7a19caf2003-12-13 02:05:46 +000021472003-12-13 David McNab <david@rebirthing.co.nz>
2148
2149 * Implemented fsync support in examples/example.py
2150
2151 * Implemented 'fsync' and 'statfs' methods in python
2152 interface
2153
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021542003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002155
Miklos Szeredie5183742005-02-02 11:14:04 +00002156 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002157
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002158 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002159
David McNab8bf62632003-12-11 22:49:22 +000021602003-12-12 David McNab <david@rebirthing.co.nz>
2161
2162 * Added distutils support to the python module, as per standard
2163 python development practice
2164
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021652003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002166
2167 * Add file locking for mount/unmount (based on patch by Valient
2168 Gough)
2169
21702003-12-11 David McNab <david@rebirthing.co.nz>
2171
2172 * Python filesystem - was broken with python2.3, now fixed:
2173 - changed PyTuple_* calls to PySequence_*, because os.lstat
2174 is no longer returning a pure tuple
2175 - changed PyInt_Check() calls to also call PyLong_Check,
2176 to cover for cases (eg os.lstat) where longs are returned
2177 - Added support for file 'release' handling, which IMO is
2178 essential since this signals to a FS that writes to a file
2179 are complete (and therefore the file can now be disposed of
2180 meaningfully at the python filesystem's discretion)
2181 - Added '__init__' handler to base Fuse class, which allows
2182 your Python class to know the mountpoint and mount args,
2183 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002184
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002185 * General:
2186 - added 'mount.fuse' script (in util/ dir), which is meant to be
2187 symlinked from /sbin, and which allows FUSE filesystems to
2188 be mounted with the 'mount' command, and listed in fstab;
2189 also, mount arguments get passed to your filesystem
2190
2191
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021922003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002193
2194 * Fix kernel version detection (again). Bugreport by Peter Levart
2195
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021962003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002197
2198 * Applied read combining patch by Michael Grigoriev (tested by
2199 Valient Gough and Vincent Wagelaar)
2200
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022012003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002202
2203 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2204 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002205
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022062003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002207
2208 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002209
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022102003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002211
2212 * kernel version detection fix
2213
2214 * fusermount now uses "lazy" umount option
2215
2216 * fusermount can use modprobe with module-init-tools
2217
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022182003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002219
2220 * Integrated caching patch by Michael Grigoriev
2221
Miklos Szeredida4e4862003-09-08 11:14:11 +00002222 * Added "Filesystems" file with descriptions of projects using
2223 FUSE
2224
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002225 * Added patch by Michael Grigoriev to allow compliation of FUSE
2226 kernel module for 2.6 kernels
2227
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022282003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002229
2230 * And another spec-file fix by Achim Settelmeier
2231
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022322003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002233
2234 * Spec-file fix by Achim Settelmeier
2235
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022362003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002237
Miklos Szerediac361172004-11-02 19:14:14 +00002238 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002239
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022402003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002241
2242 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2243
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022442003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002245
2246 * Updated fuse.spec file (Achim Settelmeier)
2247
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022482003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002249
2250 * Version 1.0 released
2251
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022522003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002253
2254 * SuSE compilation fix by Juan-Mariano de Goyeneche
2255
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022562002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002257
2258 * The release() VFS call is now exported to the FUSE interface
2259
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022602002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002261
2262 * 64 bit file offset fixes in the fuse kernel module
2263
2264 * Added function 'fuse_exit()' which can be used to exit the main
2265 loop
2266
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022672002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002268
2269 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2270 an incompatible interface change.
2271
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022722002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002273
2274 * Portablility fix (bug reported by C. Chris Erway)
2275
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022762002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002277
2278 * Use Mark Glines' fd passing method for default operation instead
2279 of old reexec
2280
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022812002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002282
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002283 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2284
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022852002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002286
Miklos Szeredi60c23522002-10-24 09:19:43 +00002287 * fix incompatiblity with Red Hat kernels, with help from Nathan
2288 Thompson-Amato.
2289
Mark Glines65ba2192002-04-18 14:41:48 +000022902002-04-18 Mark Glines <mark@glines.org>
2291
2292 * added an alternative to fuse_mount(), called
2293 fuse_mount_ioslave(), which does not need to reexec the
2294 FUSE program.
2295 * added a small helper util needed by fuse_mount_ioslave().
2296
Mark Glines220635a2002-03-17 07:01:14 +000022972002-03-16 Mark Glines <mark@glines.org>
2298
2299 * use struct fuse_statfs everywhere possible to avoid problems
2300 with the headerfiles changing struct statfs member sizes
2301
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023022002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002303
2304 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2305
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023062002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002307
2308 * RPM support by Achim Settelmeier
2309
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023102002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002311
Miklos Szerediddc862a2002-01-09 13:46:10 +00002312 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002313
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023142002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002315
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002316 * Revaidate all path components not just the last, this means a
2317 very small performance penalty for being more up-to-date.
2318
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023192002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002320
2321 * Update and fix python interface
2322
Mark Glinesd84b39a2002-01-07 16:32:02 +000023232002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002324
Mark Glinesd84b39a2002-01-07 16:32:02 +00002325 * Added statfs() support to kernel, lib, examples, and perl!
2326
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023272001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002328
2329 * Better cross compilation support
2330
2331 * Ported to Compaq IPAQ
2332
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023332001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002334
Miklos Szeredife25def2001-12-20 15:38:05 +00002335 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002336 patch from Matt Ryan)
2337
Miklos Szeredife25def2001-12-20 15:38:05 +00002338 * Added flags to fusermount and to kernel interface to control
2339 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002340
Miklos Szeredife25def2001-12-20 15:38:05 +00002341 * Integrated fuse_set_operations() into fuse_new()
2342
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023432001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002344
2345 * Applied header protection + extern "C" patch by Roland
2346 Bauerschmidt
2347
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023482001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002349
Miklos Szeredie5183742005-02-02 11:14:04 +00002350 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002351
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023522001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002353
2354 * Cleaned up way of mounting simple filesystems.
2355
2356 * fuse_main() helper function added
2357
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023582001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002359
Miklos Szeredife25def2001-12-20 15:38:05 +00002360 * Optimized read/write operations, so that minimal copying of data
2361 is done
2362
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023632001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002364
2365 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002366
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023672001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002368
2369 * Fixed vfsmount reference leak in fuse_follow_link
2370
2371 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2372 userspace is ignored
2373
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023742001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002375
Miklos Szeredife25def2001-12-20 15:38:05 +00002376 * Started ChangeLog