blob: 9846bf4f9e431d9d91177741dfb6e1e6fbbc56d6 [file] [log] [blame]
Miklos Szeredi6cf952a2006-09-30 07:39:33 +000012006-09-30 Miklos Szeredi <miklos@szeredi.hu>
2
Miklos Szeredi004a8c72006-09-30 16:41:12 +00003 * fusermount: revert modprobe change (2006-08-18) since it
4 doesn't work reliably with udev
5
Miklos Szeredi708b4812006-09-30 16:02:25 +00006 * Add support for block device backed filesystems. This mode is
7 selected with the 'blkdev' option, which is privileged.
8
9 * Add support for the bmap (FIBMAP ioctl) operation on block
10 device backed filesystems. This allows swapon and lilo to work on
11 such filesystems.
12
Miklos Szeredid93a4292006-09-30 12:21:49 +000013 * kernel changes:
14
Miklos Szeredi6cf952a2006-09-30 07:39:33 +000015 * Drop support for kernels earlier than 2.6.9. Kernel module from
16 previous (2.5.x) release can be used with library from this
17 release
18
Miklos Szeredid93a4292006-09-30 12:21:49 +000019 * In fuse_dentry_revalidate() use dget_parent() instead of
20 dereferencing d_parent, since there's no protection against parent
21 changing and going away
22
23 * Protect nlookup from concurrent updates
24
25 * In lookup if a directory alias exists but is unused,
26 then get rid of it, otherwise return -EBUSY.
27
28 * In mkdir if a directory alias exists, return success, but leave
29 dentry negative. In reality this could happen if a remote rename
30 immediately followed the mkdir.
31
32 * Don't BUG in fuse_iget() if multiple retries are needed to get a
33 good inode. This could happen if several lookups are racing for
34 the same inode.
35
Miklos Szeredi40ec1752006-09-30 06:17:31 +0000362006-09-29 Miklos Szeredi <miklos@szeredi.hu>
37
38 * Fix compilation on 2.6.9. Report from Troy Ayers
39
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000402006-09-27 Miklos Szeredi <miklos@szeredi.hu>
41
42 * Fix Oops in fuse_readpages(). Reported by David Shaw
43
Csaba Henk3e3a1252006-09-24 14:53:29 +0000442006-09-24 Csaba Henk <csaba.henk@creo.hu>
45
46 * Add support for nanosec times on FreeBSD
47
48 * Fix FreeBSD compatibility issues
49
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000502006-09-23 Miklos Szeredi <miklos@szeredi.hu>
51
52 * Fix one more compatibility bug. Thanks to Ricardo Correia
53
54 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
55
Miklos Szeredieafdf422006-09-22 19:30:17 +0000562006-09-22 Miklos Szeredi <miklos@szeredi.hu>
57
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +000058 * Fixed several compatibility bugs in low level interface.
59 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +000060
61 * Add workaround for ARM caching bug
62
Miklos Szeredic3b76812006-09-16 08:52:09 +0000632006-09-16 Miklos Szeredi <miklos@szeredi.hu>
64
65 * Rename new utimes() method to more logical utimens()
66
672006-09-14 Miklos Szeredi <miklos@szeredi.hu>
68
69 * Fuse tried to unlink already unlinked hidden files. Bug
70 reported by Milan Svoboda
71
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +0000722006-09-10 Miklos Szeredi <miklos@szeredi.hu>
73
74 * Released 2.6.0-rc1
75
762006-09-10 Miklos Szeredi <miklos@szeredi.hu>
77
78 * kernel: Fix unlock on close for kernels < 2.6.18
79
80 * Add ulockmgr library & server. This can be used for handling
81 file locking requests either directly from libfuse or over a
82 network, etc. This first version is not optimized and the number
83 of file descriptors it uses may get out of hand
84
Miklos Szeredi288ed4e2006-09-07 06:02:44 +0000852006-09-07 Miklos Szeredi <miklos@szeredi.hu>
86
87 * lib: Add interrupt support to high level library, which may be
88 enabled with the 'intr' mount option.
89
90 * When an operation is interrupted the thread handling that
91 operation will receive SIGUSR1 (or other signal specified with the
92 'intr_signal=N' option). The library installs a no-op signal
93 handler for this signal, unless there's already a handler
94 installed.
95
96 * The filesystem may query interrupt status (regardless of 'intr')
97 with the fuse_interrupted() function.
98
Miklos Szeredid8588412006-09-07 06:08:56 +000099 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
100
Miklos Szeredi38f152c2006-09-03 18:28:52 +00001012006-09-03 Miklos Szeredi <miklos@szeredi.hu>
102
103 * lib: Multithreaded loop now allows unlimited number of threads.
104 This is needed for locking operations which may block
105 indefinitely. Also the kernel now doesn't limit the number of
106 outstanding requests so the library shouldn't do so either.
107
Miklos Szeredifa440772006-09-02 09:51:08 +00001082006-09-01 Miklos Szeredi <miklos@szeredi.hu>
109
110 * Fix recursive lock bug in interrupt handling
111
112 * Add utimes() method to highlevel interface, which supports
113 setting times with nanosecond resolution
114
Miklos Szeredi63d3c402006-08-18 16:38:08 +00001152006-08-18 Miklos Szeredi <miklos@szeredi.hu>
116
117 * kernel: fix page leak if fuse_readpages() failed in it's
118 initialization. Bug found and original patch from Alexander
119 Zarochentsev
120
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000121 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
122 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000123 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000124
Miklos Szeredi543087d2006-08-18 19:26:23 +0000125 * fusermount: try to modprobe fuse module if invoked by root and
126 unable to open device. This is needed with udev, since the device
127 node will be created only when the module is inserted, hence
128 module autoloading won't work. Reported by Szakacsits Szabolcs
129
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00001302006-07-30 Miklos Szeredi <miklos@szeredi.hu>
131
132 * fusermount: if selinux is active, restore the original file's
133 security context in unmount_rename(). Redhat bugzilla id 188561.
134 Patch from Yves Perrenoud
135
136 * Add POSIX file locking operation to high level library
137
Miklos Szerediad519562006-07-31 11:07:40 +0000138 * Initialize context for unlink of hidden files on umount. Bug
139 reported by Tim Stoakes
140
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00001412006-07-14 Miklos Szeredi <miklos@szeredi.hu>
142
143 * Multiple release() calls can race with each other, resulting in
144 the hidden file being deleted before the last release finishes.
145 Bug found and patch tested by Mark Huijgen
146
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00001472006-07-05 Miklos Szeredi <miklos@szeredi.hu>
148
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000149 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
150 this makes sense on systems using udev. Reported by Szakacsits
151 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000152
Miklos Szeredi91762cd2006-06-29 14:38:35 +00001532006-06-29 Miklos Szeredi <miklos@szeredi.hu>
154
155 * Released 2.6.0-pre3
156
1572006-06-29 Miklos Szeredi <miklos@szeredi.hu>
158
159 * Support in kernel module for file locking and interruption. The
160 same functionality is available in official kernels >= 2.6.18
161
Miklos Szeredib052a1a2006-06-28 14:51:20 +00001622006-06-28 Miklos Szeredi <miklos@szeredi.hu>
163
164 * Add POSIX file locking support
165
166 * Add request interruption
167
Miklos Szeredi55a84102006-06-06 10:16:38 +00001682006-06-06 Miklos Szeredi <miklos@szeredi.hu>
169
170 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
171
Miklos Szeredi9dedb702006-06-06 09:48:30 +00001722006-06-05 Remy Blank <remy.blank@pobox.com>
173
174 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
175 unmounting succeeds even if mount point was relative.
176
Csaba Henkd021ce42006-06-03 23:04:18 +00001772006-06-04 Csaba Henk <csaba.henk@creo.hu>
178
179 * lib: fix emergency umount in helper.c when malloc fails.
180 (The way it was done would end up in a segfault.)
181
Csaba Henk4f5c7b42006-06-01 14:19:17 +00001822006-06-01 Csaba Henk <csaba.henk@creo.hu>
183
184 * lib: adjust threading related compiler flags.
185 Switch to "-pthread" from "-lpthread" as that's the preferred
186 one on several platforms. Consulted with Terrence Cole and
187 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000188
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00001892006-05-08 Miklos Szeredi <miklos@szeredi.hu>
190
191 * lib: search fusermount in installation directory (bindir) as
192 well as in PATH.
193
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00001942006-05-03 Miklos Szeredi <miklos@szeredi.hu>
195
196 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
197 Reported by Christian Magnusson
198
Csaba Henk2efe48f2006-04-22 22:46:52 +00001992006-04-23 Csaba Henk <csaba.henk@creo.hu>
200
201 * lib: make FreeBSD mount routine recognize if kernel features
202 backgrounded init and if it does, run the mount util in foreground
203 (similarly to Linux)
204
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00002052006-04-21 Miklos Szeredi <miklos@szeredi.hu>
206
207 * kernel: fix fput deadlock fix, the lockless solution could lead
208 to "VFS: busy inodes after umount..."
209
210 * kernel: fix race between checking and setting file->private_data
211 for the device. Found by Al Viro
212
2132006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000214
215 * kernel: remove request pool, instead allocate requests on
216 demand. Account the number of background requests, and if they go
217 over a limit, block the allocation of new requests.
218
219 * kernel: fix deadlock if backgrounded request holds the last
220 reference to the super block
221
222 * kernel: don't use fuse_reset_request() during direct I/O
223
Csaba Henkbaa49d22006-04-06 00:12:44 +00002242006-04-06 Csaba Henk <csaba.henk@creo.hu>
225
226 * lib: Let FreeBSD mount option parsing routine recognize "no"
227 prefixes for FUSE specific options as well
228
Miklos Szeredid0a777a2006-04-05 07:18:00 +00002292006-04-01 Miklos Szeredi <miklos@szeredi.hu>
230
231 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
232
Miklos Szeredi6f385412006-03-17 15:05:40 +00002332006-03-17 Miklos Szeredi <miklos@szeredi.hu>
234
235 * API changes:
236
237 * fuse_main(), fuse_setup() and fuse_new() have an additionl
238 user_data parameter
239
240 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
241 file descriptor
242
243 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
244 destroys the given channel
245
246 * fuse_teardown() no longer has a file descriptor parameter
247
248 * new exported functions: fuse_session_remove_chan(),
249 fuse_get_session(), fuse_daemonize()
250
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000251 * fuse_chan_recv() may now return a new channel which will be used
252 to send the reply
253
Miklos Szeredif51e43f2006-03-16 14:19:25 +00002542006-03-16 Miklos Szeredi <miklos@szeredi.hu>
255
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000256 * Released 2.6.0-pre2
257
2582006-03-16 Miklos Szeredi <miklos@szeredi.hu>
259
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000260 * Don't unmount if already unmounted. This fixes a problem seen
261 in the following situation: Lazy unmount a busy filesystem; Mount
262 a new one in top; When the first finally unmounts, the second also
263 unmounts. Reported by Franco Broi
264
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00002652006-03-15 Miklos Szeredi <miklos@szeredi.hu>
266
267 * lowlevel lib: use indirect function calls instead of a
268 switch/case construct. Besides increased efficiency it helps
269 maintainability & readability too. Patch from Florin Malita
270
Miklos Szeredi67d26d42006-03-13 17:39:56 +00002712006-03-13 Miklos Szeredi <miklos@szeredi.hu>
272
273 * kernel: replace global spinlock with a per-connection spinlock
274
Miklos Szeredi87c77932006-03-10 10:18:20 +00002752006-03-10 Miklos Szeredi <miklos@szeredi.hu>
276
277 * Fix source compatibility breakage for fuse_unmount(). Report
278 from Yura Pakhuchiy
279
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00002802006-03-02 Miklos Szeredi <miklos@szeredi.hu>
281
282 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
283
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00002842006-03-01 Miklos Szeredi <miklos@szeredi.hu>
285
286 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
287 Jeff Dike
288
289 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
290 interface to return -errno in case of error.
291
Csaba Henkee588c02006-03-01 09:40:35 +00002922006-03-01 Csaba Henk <csaba.henk@creo.hu>
293
294 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
295 FreeBSD implementation so that it uses libc (sysctl backed) instead
296 of an embdedded script (kmem backed). Adjust the control flow of
297 hello_ll so that device doesn't get closed before unmount attempt.
298
Miklos Szerediaa8258e2006-02-25 14:42:03 +00002992006-02-25 Miklos Szeredi <miklos@szeredi.hu>
300
301 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
302 implement method. This is needed on FreeBSD, and nicer on Linux
303 too. Highlevel lib already did this. Reported by Csaba Henk
304
305 * Fix negative entry handling. There was a bug, that negative
306 lookups with timeouts (nodeid == 0) returned -EIO.
307
3082006-02-23 Miklos Szeredi <miklos@szeredi.hu>
309
310 * Fix race between RELEASE and UNLINK, which might leave
311 .fuse_hidden* files around
312
Miklos Szeredi6bab4802006-02-21 18:31:29 +00003132006-02-21 Miklos Szeredi <miklos@szeredi.hu>
314
315 * fusexmp_fh: implement flush() method and call close() on the
316 open file descriptor. This is needed if used on an NFS
317 filesystem, which buffers data until file is closed. Franco Broi
318 spotted the situation when 'cp -p' failed to set the modification
319 time because of this.
320
Miklos Szeredie109e282006-02-20 11:06:20 +00003212006-02-20 Miklos Szeredi <miklos@szeredi.hu>
322
323 * Released 2.6.0-pre1
324
Miklos Szeredib67f2162006-02-20 10:55:33 +00003252006-02-19 Miklos Szeredi <miklos@szeredi.hu>
326
327 * libfuse: fix use-after-free bug in interruptred reply_entry().
328 Patch from John Muir
329
330 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
331 ID: 352631. Found by Stéphane Rosi
332
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00003332006-02-17 Miklos Szeredi <miklos@szeredi.hu>
334
335 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
336 into a single function fuse_add_direntry(). This cleans up the
337 interface and makes it possible to do stacking.
338
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00003392006-02-16 Miklos Szeredi <miklos@szeredi.hu>
340
341 * Fix rare race betweeen abort and release caused by failed iget()
342 in fuse_create_open().
343
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000344 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
345 own attribute caching.
346
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00003472006-02-15 Miklos Szeredi <miklos@szeredi.hu>
348
349 * Work around FreeBSD runtime linker "feature" which binds an old
350 version of a symbol to internal references if the symbol has more
351 than one version. This resulted in infinite recursion in
352 fuse_lowlevel_new_compat25().
353
Csaba Henkdcce3e52006-02-10 06:22:15 +00003542006-02-10 Csaba Henk <csaba.henk@creo.hu>
355
356 * Refine clock_gettime() querying so that linker options
357 shall be set as it's appropriate for the target platform.
358
Miklos Szeredi390ae312006-02-10 16:44:34 +00003592006-02-09 Miklos Szeredi <miklos@szeredi.hu>
360
361 * Fix udev rule syntax. Reported by Nix
362
Miklos Szeredieb643582006-02-08 10:54:02 +00003632006-02-08 Miklos Szeredi <miklos@szeredi.hu>
364
365 * In some cases udev rule seems to be ineffective when installed
366 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
367
Miklos Szeredi357529c2006-02-03 09:20:31 +00003682006-02-03 Miklos Szeredi <miklos@szeredi.hu>
369
370 * Fix compilation when build directory is different from source
371 directory. Reported by Frédéric L. W. Meunier
372
Miklos Szeredice28c7e2006-02-02 14:59:05 +00003732006-02-02 Miklos Szeredi <miklos@szeredi.hu>
374
375 * Fix even bigger bug introduced in fix for request_end() on
376 2006-01-14. Reported by Gal Rosen
377
Miklos Szeredi320abe42006-01-30 18:14:51 +00003782006-01-30 Miklos Szeredi <miklos@szeredi.hu>
379
380 * highlevel-lib: add 'auto_cache' option. This caches file data
381 based on modification time and size
382
Miklos Szeredi065f2222006-01-20 15:15:21 +00003832006-01-20 Miklos Szeredi <miklos@szeredi.hu>
384
Miklos Szeredid66b7282006-02-02 15:15:21 +0000385 * Sanitize storage type and help message in mount_bsd.c. Patch
386 from Csaba Henk
387
Miklos Szeredi065f2222006-01-20 15:15:21 +0000388 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
389 FUSE_OPT_KEY_DISCARD
390
391 * Add options 'max_readahead', 'sync_read' and 'async_read'
392
393 * Kernel ABI version 7.6:
394
395 * Negotiate the 'max_readahead' value and 'async_read' flags with
396 userspace in the INIT method
397
398 * Add connection info to ->init() methods to both lowlevel and
399 highlevel API
400
401 * Fall back to synchronous read() behavior if either library or
402 userspace filesystem is using the old interface version. This is
403 needed so non-updated filesystems won't be confused by the
404 different read() behavior
405
4062006-01-19 Miklos Szeredi <miklos@szeredi.hu>
407
408 * lib: if "fsname=" option was given, pass it to fusermount
409
410 * fuse_opt: add new fuse_opt_insert_arg() function, which is
411 needed by filesystems to implement some argument manipulations
412 correctly
413
414 * fuse_opt: fix memory leak in handling "--" option
415
4162006-01-18 Miklos Szeredi <miklos@szeredi.hu>
417
418 * kernel: fix detection of case when fuse is not configured into
419 the kernel either as module or built-in
420
421 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
422 'template' structure member to 'templ'. Reported by Takashi Iwai
423
424 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
425
426 * kernel: support version 2.6.16 (i_sem -> i_mutex)
427
Miklos Szeredi15af1b82006-01-16 17:52:24 +00004282006-01-16 Miklos Szeredi <miklos@szeredi.hu>
429
430 * Added (again) asynchronous readpages support
431
432 * Each connection now shows up under /sys/fs/fuse/connections
433
434 * Connection attributes exported to sysfs: 'waiting' number of
435 waiting requests; 'abort' abort the connection
436
437 * Connection may be aborted through either the sysfs interface or
438 with 'umount -f mountpoint'
439
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00004402006-01-14 Miklos Szeredi <miklos@szeredi.hu>
441
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000442 * Released 2.5.0
443
4442006-01-14 Miklos Szeredi <miklos@szeredi.hu>
445
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000446 * kernel: fix a couple of bugs
447
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000448 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000449 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000450 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000451
452 * request_end() used request pointer after decrementing refcount
453
454 * Clearing ->connected or ->mounted connection flags could race
455 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000456
Miklos Szeredia9820342006-01-10 10:54:11 +00004572006-01-10 Miklos Szeredi <miklos@szeredi.hu>
458
459 * kernel: add necessary compile flags for 2.4.X/x86_64.
460 Report from Sean Ziegeler
461
Miklos Szeredi35676b02006-01-09 10:13:28 +00004622006-01-09 Miklos Szeredi <miklos@szeredi.hu>
463
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000464 * Released 2.5.0-pre2
465
4662006-01-09 Miklos Szeredi <miklos@szeredi.hu>
467
Miklos Szeredi35676b02006-01-09 10:13:28 +0000468 * Applied patch from Csaba Henk, to update mount_bsd to new
469 fuse_mount() semantics
470
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000471 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
472 Steiner and Don Taber
473
Miklos Szeredicb075c82006-01-09 11:33:04 +0000474 * fusermount: add 'dirsync' mount option
475
Miklos Szerediad005972006-01-07 10:14:34 +00004762006-01-07 Miklos Szeredi <miklos@szeredi.hu>
477
478 * Improved help reporting and added version reporting to library
479
Miklos Szeredi0af762a2006-01-06 09:47:54 +00004802006-01-06 Miklos Szeredi <miklos@szeredi.hu>
481
482 * Change working directory to "/" even if running in the
483 foreground. Patch from Jonathan Brandmeyer
484
Miklos Szeredi95da8602006-01-06 18:29:40 +0000485 * Changed lots of functions to use 'struct fuse_args' instead of
486 separate argc and argv
487
488 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
489 fuse_remove_signal_handlers() functions, so that it's now pretty
490 easy to get all the functionality of fuse_main() with a filesystem
491 using the lowlevel API.
492
Miklos Szeredib8638182006-01-02 12:52:24 +00004932006-01-02 Miklos Szeredi <miklos@szeredi.hu>
494
Miklos Szeredif1941472006-01-02 16:27:48 +0000495 * mount.fuse: the 'user' option should be ignored. Report and
496 solution from Mattd.
497
498 * mount.fuse: export PATH in the right place. Report and patch
499 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000500
Miklos Szeredi73f41392005-12-16 11:12:16 +00005012005-12-16 Miklos Szeredi <miklos@szeredi.hu>
502
503 * Clean up the option parsing interface slightly, by creating an
504 "argument list" structure, that contains the argument vector and
505 count
506
Miklos Szeredi4e829092005-12-15 16:13:49 +00005072005-12-15 Miklos Szeredi <miklos@szeredi.hu>
508
509 * fusermount: check if /mnt/mtab is a symlink and don't modify it
510 in that case
511
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000512 * kernel: simplify request size limiting. INIT only contains
513 maximum write size, maximum path component size remains fixed at
514 1024 bytes, and maximum xattr size depends on read buffer.
515
Miklos Szeredie248e4b2005-12-14 16:18:32 +00005162005-12-14 Miklos Szeredi <miklos@szeredi.hu>
517
518 * Fix readdir() failure on x86_64, of 32bit programs compiled
519 without largefile support. Bug report and help from Anthony
520 Kolasny
521
Miklos Szeredi64709572005-12-14 22:16:28 +0000522 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000523 a regular file
524
525 * Add current output argument vector to option processing
526 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000527
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00005282005-12-12 Miklos Szeredi <miklos@szeredi.hu>
529
530 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
531
Miklos Szeredi659743b2005-12-09 17:41:42 +00005322005-12-09 Miklos Szeredi <miklos@szeredi.hu>
533
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000534 * Released 2.5.0-pre1
535
5362005-12-09 Miklos Szeredi <miklos@szeredi.hu>
537
Miklos Szeredi659743b2005-12-09 17:41:42 +0000538 * libfuse: added option parsing interface, defined in
539 <fuse_opt.h>.
540
Miklos Szeredic53cddd2005-12-07 12:57:59 +00005412005-12-07 Miklos Szeredi <miklos@szeredi.hu>
542
543 * Return EIO for file operations (read, write, fsync, flush) on
544 open files whose inode has become "bad". Inodes will be marked
545 "bad" if their type changes. Bug report by Csaba Henk
546
Miklos Szeredi044da2e2005-12-06 17:59:55 +00005472005-12-06 Miklos Szeredi <miklos@szeredi.hu>
548
549 * Use bigger request buffer size. write() did not work on archs
550 with > 4k page size, Bug report by Mark Haney
551
552 * ABI version 7.5:
553
554 * Extend INIT reply with data size limits
555
Miklos Szeredifa829b52005-12-02 11:05:41 +00005562005-12-02 Miklos Szeredi <miklos@szeredi.hu>
557
558 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
559 reported by Vincenzo Ciancia
560
561 * Handle exit-by-umount in fuse_read_cmd()
562
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00005632005-11-29 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Check if '-msoft-float' option is supported by compiler when
566 configuring for a 2.4.x kernel. Bug report by Mark Haney
567
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000568 * In multithreaded loop send a TERM signal to the main thread if
569 one of the other threads exit. Needed on FreeBSD for a clean exit
570 on umount. Should not cause any harm on Linux either
571
Miklos Szerediead7f102005-11-28 16:02:27 +00005722005-11-28 Miklos Szeredi <miklos@szeredi.hu>
573
574 * Fix bug in 32-bit file handle compatibility
575
Miklos Szeredia90b7342005-11-27 19:22:42 +00005762005-11-27 Miklos Szeredi <miklos@szeredi.hu>
577
578 * Block TERM, INT, HUP and QUIT signals in all but the main
579 thread. According to POSIX it's not specified which thread will
580 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000581
582 * Kernel changes:
583
584 * Check for directory aliasing on mkdir, not just on lookup
585
586 * Check for special node ID values in create+open operation
587
588 * Sync with -mm: readv, writev, aio_read and aio_write methods
589 added to file operations
590
591 * Cleanups: lookup code, page offset calculation
592
593 * ABI stepped to 7.4, changes:
594
595 * frsize member added to fuse_kstatfs structure
596
597 * added support for negative entry caching: on lowlevel API if
598 fuse_entry_param::ino is set to zero in reply to a lookup request,
599 the kernel will cache the dentry for the specified amount of time.
600
601 * libfuse: added 'negative_timeout' option: specifies how much
602 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000603 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000604
Miklos Szeredibac4c772005-11-23 13:35:54 +00006052005-11-22 Miklos Szeredi <miklos@szeredi.hu>
606
607 * Add detection of mainline FUSE code in running kernel
608
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00006092005-11-21 Miklos Szeredi <miklos@szeredi.hu>
610
611 * Don't use async cancelation in multithreaded loop. This makes
612 it more portable to systems where read() is not async cancel safe.
613 Report from Andriy Gapon
614
Miklos Szeredi05c97842005-11-20 17:05:07 +00006152005-11-20 Miklos Szeredi <miklos@szeredi.hu>
616
617 * Warn if API version 11 compatibility is requested
618
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00006192005-11-17 Miklos Szeredi <miklos@szeredi.hu>
620
621 * More FreeBSD merge
622
Miklos Szeredi832ee442005-11-18 21:02:36 +0000623 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
624 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000625 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000626
627 * libfuse: don't use system() to invoke 'fusermount -u ...'
628 because it breaks mountpoints with spaces in them into multiple
629 arguments
630
Miklos Szeredib3f99722005-11-16 13:00:24 +00006312005-11-16 Miklos Szeredi <miklos@szeredi.hu>
632
633 * Merge library part of FreeBSD port. Patch by Csaba Henk
634
Miklos Szeredi3a770472005-11-11 21:32:42 +00006352005-11-11 Miklos Szeredi <miklos@szeredi.hu>
636
637 * Use 64bit type for file handle, so the full range supported by
638 the kernel interface is available to applications
639
Miklos Szeredibcc53852005-11-10 09:54:41 +00006402005-11-10 Miklos Szeredi <miklos@szeredi.hu>
641
642 * Moved mountpoint argument checking from fuse_parse_cmdline() to
643 fuse_mount() in preparation to FreeBSD merge.
644
Miklos Szeredi4ec06812005-11-08 13:04:27 +00006452005-11-08 Miklos Szeredi <miklos@szeredi.hu>
646
647 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
648 Henk.
649
Miklos Szeredic706ad92005-11-07 15:30:48 +00006502005-11-07 Miklos Szeredi <miklos@szeredi.hu>
651
652 * Make the statfs change backwards compatible.
653
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00006542005-11-06 Miklos Szeredi <miklos@szeredi.hu>
655
656 * Change ->statfs() method to use 'struct statvfs' instead of
657 'struct statfs'. This makes the API more portable since statvfs()
658 is defined by POSIX.
659
Miklos Szeredif7eec032005-10-28 13:09:50 +00006602005-10-28 Miklos Szeredi <miklos@szeredi.hu>
661
662 * Add fgetattr() method, which currently will only be called after
663 a successful call to a create() method.
664
Miklos Szeredib0b13d12005-10-26 12:53:25 +00006652005-10-26 Miklos Szeredi <miklos@szeredi.hu>
666
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000667 * Change kernel ABI version to 7.3
668
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000669 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000670 call if 'default_permissions' mount option is not given, and is
671 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000672
Miklos Szeredid9079a72005-10-26 15:29:06 +0000673 * Add atomic CREATE+OPEN operation. This will only work with
674 2.6.15 (presumably) or later Linux kernels.
675
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000676 * Add ftruncate() method. This will only work with 2.6.15
677 (presumably) or later Linux kernels.
678
679 * Fix kernel module compile if kernel source and build directories
680 differ. Report and initial patch by John Eastman
681
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00006822005-10-18 Miklos Szeredi <miklos@szeredi.hu>
683
684 * lib: optimize buffer reallocation in fill_dir.
685
Miklos Szeredic9daeb12005-10-17 10:19:21 +00006862005-10-17 Miklos Szeredi <miklos@szeredi.hu>
687
688 * Released 2.4.1
689
Miklos Szeredif412d072005-10-14 21:24:32 +00006902005-10-14 Miklos Szeredi <miklos@szeredi.hu>
691
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000692 * libfuse: add debug for write result (by Shaun Jackman) and
693 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000694
Miklos Szeredib75d4b92005-10-11 10:12:08 +00006952005-10-11 Miklos Szeredi <miklos@szeredi.hu>
696
697 * Spelling fixes, thanks to Ioannis Barkas
698
Miklos Szeredibaab5872005-10-10 08:41:14 +00006992005-10-10 Miklos Szeredi <miklos@szeredi.hu>
700
701 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
702 patch
703
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00007042005-10-07 Miklos Szeredi <miklos@szeredi.hu>
705
706 * highlevel-lib: init() and destroy() methods didn't have an
707 initialized fuse_context. Bug reported by Tim Stoakes
708
Miklos Szeredif2491122005-10-04 10:10:41 +00007092005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000710
711 * Released 2.4.0
712
Miklos Szeredi836ab712005-10-03 14:11:59 +00007132005-10-03 Miklos Szeredi <miklos@szeredi.hu>
714
715 * Add documentation to fuse_lowlevel.h
716
717 * API cleanups:
718
719 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
720
721 * Move fuse_mount() and fuse_unmount() to fuse_common.h
722
723 * Change the return type of fuse_reply_none() from int to void.
724
Miklos Szerediaf138742005-09-30 08:49:59 +00007252005-09-30 Miklos Szeredi <miklos@szeredi.hu>
726
727 * kernel: NFS exporting leaked dentries. Bug found and fixed by
728 Akshat Aranya.
729
Miklos Szeredidb016e02005-09-29 10:06:27 +00007302005-09-29 Miklos Szeredi <miklos@szeredi.hu>
731
732 * fusermount: fix error message, when unable to open /dev/fuse.
733 Report by Balázs Pozsár
734
Miklos Szeredi35200932005-09-28 14:50:49 +00007352005-09-28 Miklos Szeredi <miklos@szeredi.hu>
736
737 * UClibc fixes from Christian Magnusson
738
Miklos Szeredi8eddf642005-09-27 08:58:26 +00007392005-09-27 Miklos Szeredi <miklos@szeredi.hu>
740
741 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
742
Miklos Szerediedec95c2005-09-26 10:22:22 +00007432005-09-26 Miklos Szeredi <miklos@szeredi.hu>
744
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000745 * Released 2.4.0-rc1
746
7472005-09-26 Miklos Szeredi <miklos@szeredi.hu>
748
Miklos Szerediedec95c2005-09-26 10:22:22 +0000749 * fusermount: allow user umount in the case when /etc/mtab is a
750 symlink to /proc/mounts. Reported by Balázs Pozsár.
751
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00007522005-09-23 Miklos Szeredi <miklos@szeredi.hu>
753
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000754 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000755
Miklos Szeredif45f3c12005-09-22 15:14:27 +00007562005-09-22 Miklos Szeredi <miklos@szeredi.hu>
757
758 * Slight optimization in returning EINVAL error in case of an open
759 with O_DIRECT flag.
760
Miklos Szeredi670d07a2005-09-20 11:36:32 +00007612005-09-20 Miklos Szeredi <miklos@szeredi.hu>
762
763 * Remove '--enable-auto-modprobe' configure flag. Module
764 auto-loading is now handled by the kernel.
765
Miklos Szeredid51fca12005-09-15 12:51:00 +00007662005-09-15 Miklos Szeredi <miklos@szeredi.hu>
767
768 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
769 Help from Jens M. Noedler.
770
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00007712005-09-14 Miklos Szeredi <miklos@szeredi.hu>
772
773 * Add memory cleanup on thread exit
774
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00007752005-09-13 Miklos Szeredi <miklos@szeredi.hu>
776
777 * Set umask to zero in fusexmp and fusexmp_fh, so that
778 files/directories are created with the requested mode.
779
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00007802005-09-12 Miklos Szeredi <miklos@szeredi.hu>
781
782 * Don't ignore read error in multithreaded loop
783
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00007842005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000785
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000786 * Released 2.4.0-pre2
787
7882005-09-08 Miklos Szeredi <miklos@szeredi.hu>
789
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000790 * Revert lock and access operations. Postpone these until 2.5.
791
7922005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000793
794 * Fix compile warning on 2.6.13 and later
795
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000796 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000797
Miklos Szeredi77ccf652005-08-19 14:40:27 +00007982005-08-19 Miklos Szeredi <miklos@szeredi.hu>
799
800 * lib: always refresh directory contents after rewinddir() to
801 conform to SUS. Bug found by John Muir.
802
Miklos Szeredia1482422005-08-14 23:00:27 +00008032005-08-15 Miklos Szeredi <miklos@szeredi.hu>
804
Miklos Szeredic43f9412005-08-15 15:10:48 +0000805 * Released 2.4.0-pre1
806
8072005-08-14 Miklos Szeredi <miklos@szeredi.hu>
808
Miklos Szeredia1482422005-08-14 23:00:27 +0000809 * lib: cleaned up (or messed up, depending on your POV) the low
810 level library API. Hopefully this is close to the final form.
811
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00008122005-08-05 Miklos Szeredi <miklos@szeredi.hu>
813
814 * fusermount: don't allow empty mountpoint argument, which defeats
815 automatic umounting in fuse_main(). Bugreport by Václav Jůza
816
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00008172005-08-03 Miklos Szeredi <miklos@szeredi.hu>
818
819 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
820 option is used (Paul Alfille).
821
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00008222005-08-02 Miklos Szeredi <miklos@szeredi.hu>
823
824 * highlevel-lib: added mount options "attr_timeout" and
825 "entry_timeout". These options control the length of time file
826 attributes and entries (names) are cached. Both default to 1.0
827 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000828
829 * kernel: correctly handle zero timeout for attributes and entries
830
Miklos Szeredi56a61f02005-08-01 10:42:25 +00008312005-08-01 Miklos Szeredi <miklos@szeredi.hu>
832
833 * Added missing symbols to versionscript (Joshua J. Berry)
834
Miklos Szeredie77cc072005-08-01 11:58:51 +0000835 * kernel: implement two flags, open can set: 'direct_io' and
836 'keep_cache'. These correspond exactly to mount options
837 'direct_io' and 'kernel_cache', but allow a per-open setting.
838
839 * Move 'direct_io' and 'kernel_cache' mount option handling to
840 userspace. For both mount options, if the option is given, then
841 the respective open flag is set, otherwise the open flag is left
842 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000843
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000844 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000845
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00008462005-07-28 Miklos Szeredi <miklos@szeredi.hu>
847
848 * kernel: invalidate attributes for read/readdir/readlink
849 operations
850
851 * kernel: detect newer UML kernels
852
Miklos Szeredibfb99462005-07-26 11:07:55 +00008532005-07-26 Miklos Szeredi <miklos@szeredi.hu>
854
855 * Make the installation path of fuse.ko and mount.fuse
856 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
857 environment variables. Requirement and help from Csaba Henk.
858
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00008592005-07-22 Miklos Szeredi <miklos@szeredi.hu>
860
861 * Fix bug, that causes filesystem requests to hang when unique
862 request counter becomes negative. This happens after
863 2,147,483,648 operations, so most people won't care. Thanks to
864 Franco Broi for the report and testing.
865
Miklos Szeredi9b813af2005-07-21 07:59:37 +00008662005-07-21 Miklos Szeredi <miklos@szeredi.hu>
867
868 * Don't change mtime/ctime/atime to local time on read/write.
869 Bug reported by Ben Grimm
870
871 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
872 Magnusson
873
874 * fusermount: use getopt_long() for option parsing. It allows the
875 use of '--' to stop argument scanning, so fusermount can now
876 operate on directories whose names begin with a '-'. Patch by
877 Adam Connell
878
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00008792005-07-15 Miklos Szeredi <miklos@szeredi.hu>
880
881 * fusermount: add '-v', '--version' and '--help' options
882
883 * add inode based API
884
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00008852005-07-12 Miklos Szeredi <miklos@szeredi.hu>
886
887 * lib: don't block signals in worker threads. Problem noticed by
888 Usarin Heininga
889
Miklos Szeredic902a852005-07-07 12:35:37 +00008902005-07-07 Miklos Szeredi <miklos@szeredi.hu>
891
892 * lib: don't allow both 'allow_other' and 'allow_root' options to
893 be given
894
Miklos Szeredi437d8112005-07-06 09:14:20 +00008952005-07-06 Miklos Szeredi <miklos@szeredi.hu>
896
897 * fusermount: check if mountpoint is empty (only '.' and '..' for
898 directories, and size = 0 for regular files). If "nonempty"
899 option is given, omit this check. This is useful, so users don't
900 accidentally hide data (e.g. from backup programs). Thanks to
901 Frank van Maarseveen for pointing this out.
902
903 * kernel: check if mandatory mount options ('fd', 'rootmode',
904 'user_id', 'group_id') are all given
905
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000906 * lib: simplify 'readdir_ino' handling
907
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000908 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
909
Miklos Szeredibb9f5172005-07-03 18:03:11 +00009102005-07-03 Miklos Szeredi <miklos@szeredi.hu>
911
912 * kernel: clean up 'direct_io' code
913
Miklos Szeredie1bcece2005-06-28 10:37:06 +00009142005-06-28 Miklos Szeredi <miklos@szeredi.hu>
915
916 * Add 'mount.fuse' written by Petr Klima
917
Miklos Szeredi866826d2005-06-28 12:22:57 +0000918 * '/dev/fuse' is created by 'make install' if does not yet exist
919
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00009202005-06-20 Miklos Szeredi <miklos@szeredi.hu>
921
922 * Fix UCLIBC compile error. Patch by Christian Magnusson
923
Miklos Szerediec12fad2005-06-08 10:26:34 +00009242005-06-08 Miklos Szeredi <miklos@szeredi.hu>
925
926 * Enable the auto-loading of the module via access to the
927 corresponding device file. Patch by Takashi Iwai.
928
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000929 * Allow mounting a regular file (over a regular file) for
930 unprivleged users.
931
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000932 * Do not create temporary device file. Require "/dev/fuse" to
933 exist, and be readable/writable by the mounting user.
934
Miklos Szeredi46960ce2005-06-02 09:05:00 +00009352005-06-02 Miklos Szeredi <miklos@szeredi.hu>
936
Miklos Szeredi56478552005-06-02 10:29:00 +0000937 * Released 2.3.0
938
9392005-06-02 Miklos Szeredi <miklos@szeredi.hu>
940
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000941 * Fix serious information leak: if the filesystem returns a short
942 byte count to a read request, and there are non-zero number of
943 pages which are not filled at all, these pages will not be zeroed.
944 Hence the user can read out previous memory contents. Found by
945 Sven Tantau.
946
Miklos Szeredi33be22d2005-05-27 09:12:43 +00009472005-05-27 Miklos Szeredi <miklos@szeredi.hu>
948
949 * Add "readdir_ino" mount option, which tries to fill in the d_ino
950 field in struct dirent. This mount option is ignored if "use_ino"
951 is used. It helps some programs (e.g. 'pwd' used over NFS from a
952 non-Linux OS). Patch by David Shaw.
953
Miklos Szeredif94e0102005-05-12 14:56:34 +00009542005-05-12 Miklos Szeredi <miklos@szeredi.hu>
955
Miklos Szeredieb009c42005-05-12 15:01:17 +0000956 * Released 2.3-rc1
957
9582005-05-12 Miklos Szeredi <miklos@szeredi.hu>
959
Miklos Szeredif94e0102005-05-12 14:56:34 +0000960 * File save in krusader and other editors doesn't work with sshfs,
961 because open() is interrupted by a periodic signal, and open()
962 restarts forever, without any progress. This could just be fixed
963 in open(), but the problem is more generic: if signals are
964 received more often than the filesystem can get the request to
965 userspace, it will never finish. This is probably only a
966 theoretical problem, nevertheless I'm removing the possibility to
967 interrupt requests with anything other than SIGKILL, even before
968 being sent to userspace. Bugreport by Eduard Czimbalmos.
969
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00009702005-05-09 Miklos Szeredi <miklos@szeredi.hu>
971
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000972 * libfuse: add "tree_lock" rwlock, that is locked for write in
973 rename, unlink and rmdir, and locked for read in all other
974 operations. This should fix the rename/release race reported by
975 Valient Gough and others. The solution is very coarse, a finer
976 grained locking scheme could be implemented, but it would be much
977 more complex. Let's see whether this is good enough.
978
9792005-05-09 Miklos Szeredi <miklos@szeredi.hu>
980
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000981 * Released 2.3-pre7
982
Miklos Szeredi38009022005-05-08 19:47:22 +00009832005-05-08 Miklos Szeredi <miklos@szeredi.hu>
984
985 * Better fix for out of order FORGET messages. Now the
986 LOOKUP/FORGET messages are balanced exactly (one FORGET can
987 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000988 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000989 compatible.
990
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00009912005-05-06 Miklos Szeredi <miklos@szeredi.hu>
992
993 * Fix abort for out of order FORGET messages. Again. Spotted by
994 Franco Broi again. Sorry :)
995
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00009962005-04-29 Miklos Szeredi <miklos@szeredi.hu>
997
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000998 * Released 2.3-pre6
999
10002005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1001
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00001002 * Make fusermount work with fuse kernel modules not yet supporting
1003 the "group_id" option (added for the purpose of stricter
1004 permission checking).
1005
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +000010062005-04-28 Miklos Szeredi <miklos@szeredi.hu>
1007
1008 * Check for hard-linked directories in lookup. This could cause
1009 problems in the VFS, which assumes that such objects never exist.
1010
1011 * Make checking of permission for other users more strict. Now
1012 the same privilege is required for the mount owner as for ptrace
1013 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001014
Miklos Szeredi3efcb562005-04-23 13:34:29 +000010152005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1016
1017 * Released 2.3-pre5
1018
Miklos Szeredid001bf92005-04-22 07:54:11 +000010192005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1020
1021 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1022 is needed on certain architectures. Report from Chris Kirby
1023
1024 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1025 Reported by David Shaw
1026
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001027 * Remove "allow_root" option from kernel module, and implement
1028 it's functionality in the library
1029
1030 * Fix Oops caused by premature release of fuse_conn. Clean up
1031 related code, to be more readable
1032
Miklos Szeredif9137452005-04-23 10:59:44 +00001033 * Sendfile should not use page cache if "direct_io" mount option
1034 is given
1035
Miklos Szeredib7640d22005-04-08 15:15:28 +000010362005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1037
1038 * Fix Oops in case of nfs export. Spotted by David Shaw
1039
Miklos Szeredi89814a12005-04-08 16:39:09 +00001040 * Fix another Oops in case of write over nfs with direct_io turned
1041 on. Again spotted by David Shaw
1042
Miklos Szerediab974562005-04-07 15:40:21 +000010432005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1044
Miklos Szeredi432d6182005-04-07 15:56:13 +00001045 * Released 2.3-pre4
1046
10472005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1048
Miklos Szerediab974562005-04-07 15:40:21 +00001049 * lib: finalized new readdir() interface, which now supersedes the
1050 getdir() method.
1051
Miklos Szeredi30e093a2005-04-03 17:44:54 +000010522005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1053
1054 * Released 2.3-pre3
1055
10562005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1057
1058 * Implement backward compatibility with version 5 kernel ABI
1059
Miklos Szeredi18fce982005-04-01 21:07:35 +000010602005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1061
1062 * Released 2.3-pre2
1063
10642005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1065
1066 * kernel: fix dirent offset handling
1067
1068 * lib: add readdir and releasedir methods
1069
1070 * lib: use fh field of fuse_file_info in opendir, readdir,
1071 releasedir and fsyncdir methods
1072
1073 * lib: check kernel API version and bail out of it's old. This
1074 will be properly fixed in the next release
1075
10762005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1077
1078 * Released 2.3-pre1
1079
Miklos Szeredieab72ef2005-03-31 19:59:12 +000010802005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1081
1082 * kernel API: add padding to structures, so 64bit and 32bit
1083 compiler will return the same size
1084
1085 * kernel API: add offset field to fuse_dirent. This will allow
1086 more sophisticated readdir interface for userspace
1087
1088 * kernel API: change major number to 6
1089
1090 * kernel: fix warnings on 64bit archs
1091
1092 * kernel: in case of API version mismatch, return ECONNREFUSED
1093
Miklos Szeredi407e6a72005-03-25 12:19:43 +000010942005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1095
1096 * kernel: trivial cleanups
1097
Miklos Szeredi4283ee72005-03-21 12:09:04 +000010982005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1099
1100 * Add fsyncdir() operation
1101
Miklos Szeredid17da462005-03-21 11:47:04 +000011022005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1103
1104 * kernel: add locking to background list (fixes previous fix)
1105
11062005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1107
1108 * kernel: fix bug which could cause leave busy inodes after
1109 unmount, and Oops.
1110
11112005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1112
1113 * examples: add -lpthread to link flags to work around valgrind
1114 quirk
1115
1116 * lib: don't exit threads, so cancelation doesn't cause segfault
1117
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000011182005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1119
1120 * kernel: fix nasty bug which could cause an Oops under certain
1121 situations. Found by Magnus Johansson
1122
Miklos Szeredif43f0632005-02-28 11:46:56 +000011232005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1124
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001125 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001126 permission checking in getdir() is too late. Thanks to Usarin
1127 Heininga for pointing out this deficiency
1128
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001129 * libfuse: added init() and destroy() methods to fuse_operations
1130
Miklos Szeredif43f0632005-02-28 11:46:56 +00001131 * kernel: llseek() method for files and directories made explicit
1132
1133 * kernel: fixed inode leak in NFS export in case of nodeid
1134 wrapping
1135
Miklos Szeredied3c97c2005-02-15 17:04:50 +000011362005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1137
1138 * libfuse: clean up some unitialized memory found with valgrind
1139
Miklos Szeredi47c52982005-02-23 09:27:38 +00001140 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1141 explicitly linked libpthread for applications
1142
Miklos Szeredia7169412005-02-10 07:35:05 +000011432005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1144
1145 * fusermount: set umask, otherwise /etc/mtab will have
1146 unpredictable permission. Spotted by Jindrich Kolorenc
1147
1148 * fusermount: set owner and group of /etc/mtab to original values
1149 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001150
1151 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001152
Miklos Szeredib92d9782005-02-07 16:10:49 +000011532005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1154
1155 * Cleaned up directory reading (temporary file is not used)
1156
Miklos Szerediff30a6c2005-02-02 10:53:59 +000011572005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1158
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001159 * Released 2.2
1160
11612005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1162
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001163 * Fix possible race when operation is interrupted
1164
Miklos Szeredi7a983952005-01-28 09:58:19 +000011652005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1166
Miklos Szeredie5183742005-02-02 11:14:04 +00001167 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001168
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000011692005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1170
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001171 * Released 2.2-pre6
1172
11732005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1174
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001175 * Fix bug in link() operation which caused the wrong path to be
1176 passed as the first argument. Found by Anton Altaparmakov
1177
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000011782005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1179
1180 * LIB: fix double reply in readdir operation
1181
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001182 * fusermount: fix uid checking bug. Patch by Adam Connell
1183
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001184 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001185 Patch by Keshava Gowda
1186
Miklos Szeredi64074142005-01-20 08:48:11 +000011872005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1188
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001189 * KERNEL: provide correct llseek semantics for fuse device (fixes
1190 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1191
11922005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1193
Miklos Szeredi64074142005-01-20 08:48:11 +00001194 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1195
Miklos Szeredi1adb2272005-01-18 21:19:58 +000011962005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1197
1198 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1199 and RELEASEDIR. This ends the ugly hack of passing a file
1200 descriptor to the kernel, and actually makes the code simpler.
1201
Miklos Szeredi7db35c02005-01-17 09:46:28 +000012022005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1203
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001204 * Released 2.2-pre4
1205
12062005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1207
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001208 * fusermount: remove capability setting, which was the cause of
1209 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001210 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001211
Miklos Szeredidbe0f652005-01-15 14:32:56 +000012122005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001213
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001214 * fix compilation on 2.4 kernels (reported by Valient Gough)
1215
1216 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001217
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001218 * fusermount: improve parsing of /etc/fuse.conf
1219
12202005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1221
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001222 * Remove 'mount_max' and 'user_allow_other' module options. These
1223 are now checked by fusermount, and can be set in /etc/fuse.conf
1224
1225 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1226
Miklos Szeredi81394522005-01-11 14:24:18 +000012272005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1228
1229 * KERNEL: fix possible inode allocation problem, where
1230 sizeof(struct inode) is not aligned (found by Mike Waychison)
1231
1232 * KERNEL: use new follow_link/put_link methods
1233
1234 * KERNEL: cosmetic fixes
1235
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000012362005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1237
1238 * Released 2.2-pre3
1239
12402005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1241
1242 * Add missing code that was accidently left out
1243
Miklos Szeredi8c7da232005-01-09 12:27:41 +000012442005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1245
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001246 * Released 2.2-pre2
1247
12482005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1249
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001250 * Change "uid" mount option to "user_id" to avoid confusion with a
1251 mount option "uid" commonly used by many filesystems
1252
12532005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1254
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001255 * Released 2.2-pre1
1256
12572005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1258
1259 * If FUSE is configured in the kernel, don't build it by default
1260
Miklos Szeredi2a927272005-01-07 11:14:15 +000012612005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1262
1263 * Compile fix by Christian Magnusson
1264
Miklos Szeredib6220192005-01-05 16:19:10 +000012652005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1266
1267 * Fix compilation for 2.6.{0-5} kernels
1268
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012692005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1270
1271 * KERNEL: if request is interrupted, still keep reference to used
1272 inode(s) and file, so that FORGET and RELEASE are not sent until
1273 userspace finishes the request.
1274
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001275 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1276 request with the same information, which is more flexible,
1277 simpler, works on embedded systems.
1278
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012792004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1280
1281 * KERNEL ABI: update interface to make it independent of type
1282 sizes. This will help on 64 bit architectures which can run
1283 legacy 32 bit applications.
1284
1285 * KERNEL ABI: add "len" field to request headers. This will allow
1286 sending/receiving requests in multiple chunks.
1287
1288 * KERNEL: handle file type change more intelligently
1289
1290 * LIB: "-o debug" option should disable backgrounding (fix by
1291 Fabien Reygrobellet)
1292
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000012932004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1294
1295 * KERNEL: invalidate dentry/attributes if interrupted request
1296 could leave filesystem in an unknown state.
1297
Miklos Szeredie56818b2004-12-12 11:45:24 +000012982004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1299
1300 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1301 These will cause some regressions, but stability is considered
1302 more important. If any of these features turns out to be
1303 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001304
Miklos Szeredie56818b2004-12-12 11:45:24 +00001305 * Make all requests interruptible (only with SIGKILL currently).
1306 This can be used to break any deadlock produced by the userspace
1307 filesystem accessing it's own exported files. The RELEASE request
1308 is special, because if it's interrupted before sending it to
1309 userspace it is still sent, but the reply is not awaited.
1310
1311 * If request is interrupted before being sent to userspace, and if
1312 it hasn't yet got any side effects, it is always restarted,
1313 regardless of the SA_RESTART flag. This makes these interruptions
1314 transparent to the process.
1315
1316 * Remove shared-writable mmap support, which was prone to an
1317 out-of-memory deadlock situation
1318
1319 * Remove INVALIDATE userspace initiated request
1320
1321 * Make readpages() synchronous. Asynchronous requests are
1322 deadlock prone, since they cannot be interrupted.
1323
1324 * Add readv/writev support to fuse device operations
1325
1326 * Remove some printks, which userspace FS can use for a DoS
1327 against syslog
1328
1329 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1330 fusermount instead
1331
1332 * LIB: improve compatibility with a fuse.h header installed in
1333 ${prefix}/include which in turn includes the real header.
1334
1335 * LIB: improve compatibility by defining fuse_main() (which is now
1336 not used), so old configure scripts find it.
1337
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000013382004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1339
1340 * When mounting on a subdirectory of / don't duplicate slashes at
1341 the beggining of path (spotted by David Shaw)
1342
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000013432004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1344
1345 * Fix bug causing garbage in mount options (spotted by David Shaw)
1346
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000013472004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1348
1349 * Add 'writepage' flag to 'fuse_file_info'.
1350
1351 * More comments in fuse.h
1352
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001353 * Get rid of double underscores
1354
Miklos Szeredi799993c2004-12-04 21:20:05 +000013552004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1356
1357 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1358
1359 * helper.c: add -ho option, which only displays the options not
1360 the usage header. This can be used by filesystems which have
1361 their own options.
1362
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000013632004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1364
1365 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1366 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1367 including the fuse header
1368
1369 * Add binary compatibility to 2.1 version of library with symbol
1370 versioning
1371
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000013722004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1373
1374 * Released 2.1
1375
Miklos Szeredi039322d2004-12-01 18:39:12 +000013762004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1377
1378 * kernel: clean up writing functions
1379
1380 * kernel: no allocation on write in direct_io mode
1381
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001382 * move linux/fuse.h to fuse_kernel.h
1383
Miklos Szeredi83a07442004-11-30 18:25:20 +000013842004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1385
1386 * kernel: clean up reading functions
1387
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000013882004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1389
1390 * kernel: make readpage() uninterruptible
1391
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001392 * kernel: check readonly filesystem flag in fuse_permission
1393
1394 * lib: don't die if version file not found and new style device
1395 exists
1396
1397 * lib: add '-r' option, which is short for '-o ro'
1398
1399 * fusermount: simplify device opening
1400
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001401 * kernel: when direct_io is turend on, copy data directly to
1402 destination without itermediate buffer. More efficient and safer,
1403 since no allocation is done.
1404
1405 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001406
1407 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001408
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000014092004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1410
1411 * libfuse API change: open, read, write, flush, fsync and release
1412 are passed a 'struct fuse_file_info' pointer containing the open
1413 flags (open and release), and the file handle. Verion changed to
1414 3.0.
1415
Miklos Szeredia25d4c22004-11-23 22:32:16 +000014162004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1417
1418 * More cleanups in the kernel
1419
1420 * The 10,229 charater device number has been assigned for FUSE
1421
1422 * Version file checking fix (reported by Christian Magnusson)
1423
1424 * fusermount: opening the fuse device now doesn't need /sys.
1425
1426 * Optimize reading by controlling the maximum readahead based on
1427 the 'max_read' mount option
1428
1429 * fixes for UCLIBC (Christian Magnusson)
1430
Miklos Szeredi13ed4822004-11-20 11:12:21 +000014312004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1432
1433 * Cleaned up kernel in preparation for merge into mainline:
1434
1435 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1436
1437 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1438
1439 * __user annotations for sparse
1440
1441 * allocate individual pages instead of kmalloc in fuse_readdir,
1442 fuse_read and fuse_write.
1443
1444 * Fix NFS export in case "use_ino" mount option is given
1445
Miklos Szeredif3845c42004-11-20 11:18:34 +00001446 * Make libfuse and fusermount compatible with future versions
1447
1448 * fusermount: properly add mount options to /etc/mtab
1449
14502004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1451
1452 * fusermount: do not resolve last component of mountpoint on if it
1453 is '.' or '..'. This new path resolvation is now done on mount as
1454 well as unmount. This enables relative paths to work on unmount.
1455
1456 * fusermount: parse common mount options like "ro", "rw", etc...
1457
1458 * Allow module params to be changed through sysfs
1459
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000014602004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1461
1462 * Released 2.1-pre1
1463
14642004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1465
1466 * Fix bug in fuse_readpages() causing Oops in certain situations.
1467 Bug found by Vincenzo Ciancia.
1468
1469 * Fix compilation with kernels versions > 2.6.9.
1470
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000014712004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001472
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001473 * Check kernel interface version in fusermount to prevent
1474 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001475
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001476 * No need to allocate fuse_conn until actual mount happens
1477
1478 * Fix potential race between umount and fuse_invalidate
1479
1480 * Check superblock of proc file in addition to inode number
1481
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001482 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001483
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014842004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1485
1486 * Separate configure for the kernel directory
1487
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001488 * Don't allow write to return more than 'count'
1489
1490 * Extend kernel interface for future use
1491
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014922004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1493
1494 * Fix 'makeconf.sh' to use autoreconf if available
1495
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000014962004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1497
Miklos Szeredid507c732004-11-08 17:32:25 +00001498 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1499 compatibility with earlier versions. To compile earier versions
1500 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1501 Do not use the "use_ino" mount flag with filesystems compiled with
1502 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001503
1504 * Add pkg-config support. To compile a FUSE based filesystem you
1505 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1506 or similar. Note, that the PKG_CONFIG_PATH environment variable
1507 usually needs to be set to "/usr/local/lib/pkgconfig".
1508
1509 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001510
Miklos Szeredia13d9002004-11-02 17:32:03 +000015112004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1512
1513 * Added "use_ino" mount option. This enables the filesystems to
1514 set the st_ino field on files
1515
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000015162004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1517
1518 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1519 by Jeremy Smith)
1520
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001521 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1522
1523 * Clear the 'exited' flag when mail loop is finished
1524
Miklos Szeredie989f0d2004-10-28 20:24:58 +000015252004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1526
1527 * Make xattr functions work under 2.6 (bug found by Vincenzo
1528 Ciancia)
1529
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000015302004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1531
1532 * Reset request in fuse_flush() (bugreport by David Shaw)
1533
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000015342004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1535
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001536 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001537 error code
1538
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001539 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001540 make it easier to implement a custom event loop.
1541
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001542 * Use daemon() call to background the filesystem after mounting.
1543 This function closes the standard input, output and error and
1544 changes the current working directory to "/".
1545
Miklos Szeredi127d49b2004-10-14 13:33:39 +000015462004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1547
1548 * Released 1.9
1549
Miklos Szeredid45baf42004-10-10 07:56:12 +000015502004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1551
1552 * Don't allow fuse_flush() to be interrupted (bug found by David
1553 Shaw)
1554
Miklos Szeredi1f18db52004-09-27 06:54:49 +000015552004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1556
1557 * Add PID to fuse_context. Patch by Steven James
1558
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001559 * Change file handle type to 'unsigned long' in kernel interface
1560
Miklos Szeredid169f312004-09-22 08:48:26 +000015612004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1562
1563 * A slight API change: fuse_get_context() doesn't need the "fuse"
1564 pointer, but the returned context contains it instead. The
1565 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001566
1567 * Fix mounting and umounting FUSE filesystem under another FUSE
1568 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001569
Miklos Szeredic2309912004-09-21 13:40:38 +000015702004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1571
1572 * Fix deadlock in case of memory allocation failure. Patch by
1573 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001574
Miklos Szeredib2cf9562004-09-16 08:42:40 +000015752004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1576
1577 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001578
Miklos Szeredi65afea12004-09-14 07:13:45 +000015792004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1580
1581 * Check temporary file creation failure in do_getdir(). Bug
1582 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001583
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000015842004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1585
1586 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001587
1588 * Make requests non-interruptible so race with FORGET is avoided.
1589 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001590
1591 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001592
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000015932004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1594
1595 * Fix bug in case two FORGETs for the same node are executed in
1596 the wrong order. Bug spotted and endured for months by Franco
1597 Broi, and logfile for solution provided by Terje Oseberg
1598
Miklos Szeredi12085102004-09-02 18:13:57 +000015992004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1600
1601 * Add -D_REENTRANT to the compile flags
1602
1603 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001604
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000016052004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1606
1607 * Change release method to be non-interruptible. Fixes bug
1608 causing missing release() call when program which has opened files
1609 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001610
Miklos Szeredi891b8742004-07-29 09:27:49 +000016112004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1612
1613 * Add fuse_invalidate() to library API
1614
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000016152004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1616
1617 * Check permissions in setattr if 'default_permissions' flag is
1618 set. Bug spotted by Damjan Lango
1619
Miklos Szeredid66d3942004-07-24 13:47:44 +000016202004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1621
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001622 * 'large_read' mount option removed for 2.6 kernels, since the
1623 default (dynamic read size) is better
1624
1625 * Extend kernel API with file handles. A file handle is returned
1626 by open, and passed to read, write, flush, fsync and release.
1627 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001628
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001629 * Security changes:
1630
1631 * Change the current directory to the mountpoint before checking
1632 the permissions and mount filesystem on "."
1633
1634 * By default don't modprobe the fuse module for non-root. The old
1635 behavior can be restored with the '--enable-auto-modprobe' flag of
1636 ./configure
1637
1638 * By default don't allow shared writable mappings for non-root.
1639 The old behavior can be restored with the 'user_mmap=1' module
1640 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001641
Miklos Szeredibd7661b2004-07-23 17:16:29 +000016422004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1643
1644 * Clean up mount option passing to fusermount and to fuse_new()
1645 BEWARE: this changes the userspace API slightly, and the command
1646 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001647
Miklos Szeredi58865372004-07-20 14:22:26 +000016482004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1649
1650 * Optimize reading under 2.6 kernels by issuing multiple page
1651 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001652
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000016532004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1654
1655 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001656
Miklos Szeredi069c9502004-07-16 16:17:02 +000016572004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1658
1659 * Separate directory entry and inode attribute validity timer
1660
1661 * New write semaphore to stop page writeback during truncate
1662
1663 * Fsync now waits for all writes to complete before sending the
1664 request
1665
1666 * Optimization: if a page is completely written by
1667 fuse_commit_write(), clear the dirty flag and set the uptodate
1668 flag for that page
1669
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001670 * Some memory cleanup at exit
1671
Miklos Szeredi2529ca22004-07-13 15:36:52 +000016722004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1673
1674 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001675 disable the "hide if open" behavior of unlink/rename.
1676
1677 * If temporary buffer allocation fails in raw read, fall back to a
1678 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001679
Miklos Szeredi73798f92004-07-12 15:55:11 +000016802004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1681
1682 * Fix bug in do_open() in libfuse: open count was incremented
1683 after the reply is sent so it could race with unlink/forget and
1684 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001685
Miklos Szeredi015fe702004-07-12 11:52:24 +000016862004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1687
1688 * When performing create or remove operation, refresh the parent's
1689 attributes on next revalidate, as i_nlink (and maybe size/time)
1690 could be inacurate.
1691
1692 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1693 pages (2.6 only)
1694
1695 * Set set_page_dirty address space operation (2.6 only)
1696
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016972004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001698
1699 * Minor fix in read: print debug info even if read size is zero
1700
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017012004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001702
1703 * Fix race between truncate and writepage (fsx-linux now runs
1704 without error)
1705
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017062004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001707
1708 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1709 by Mattias Wadman)
1710
1711 * Added option for direct read/write (-r)
1712
1713 * Fix revalidate time setting for newly created inodes
1714
Miklos Szerediacb4d362004-07-02 16:20:45 +00001715 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1716 this)
1717
1718 * fuse_main() only installs handlers for signals (out of INT, HUP,
1719 TERM, PIPE), for which no handler has yet been installed
1720
1721 * Add module option 'user_allow_other' which if set to non-zero
1722 will allow non root user to specify the 'allow_other' mount option
1723 ('-x' option of fusermount)
1724
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001725 * Fix deadlock between page writeback completion and truncate
1726 (bug found by Valient Gough with the fsx-linux utility)
1727
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017282004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001729
1730 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001731 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1732 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001733
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017342004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001735
1736 * Acquire inode->i_sem before open and release methods to prevent
1737 concurrent rename or unlink operations.
1738
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001739 * Make __fuse_read_cmd() read only one command. This allows
1740 multiplexing the fuse file descriptor with other event sources
1741 using select() or poll() (patch by Jeff Harris)
1742
1743 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1744
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017452004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001746
1747 * Fix file offset wrap around at 4G when doing large reads
1748
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017492004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001750
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001751 * Fix memory leak in open (Valient Gough)
1752
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017532004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001754
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001755 * Add "close after delete" support to libfuse (patch by Valient
1756 Gough)
1757
1758 * Cancel all worker threads before exit in multithreaded mode
1759
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017602004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001761
1762 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001763
1764 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001765
1766 * Work with newer libtool (1.5a)
1767
1768 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001769
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017702004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001771
1772 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001773
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017742004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001775
1776 * Fix possible inode leak in userspace in case of unfinished
1777 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001778
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017792004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001780
1781 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001782
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017832004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001784
1785 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001786
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017872004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001788
1789 * Build shared library as well as static (using libtool)
1790
1791 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1792 there has not been a release with the previous minor number, and I
1793 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001794
1795 * Change fuse_main(), so that default behavior is to go into
1796 background if mount is successful. '-f' and '-d' options disable
1797 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1798 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001799
1800 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1801 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001802
1803 * Don't call getdir method from open() only from first readdir().
1804 Open is sometimes just used to store the current directory
1805 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001806
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018072004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001808
1809 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001810
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018112004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001812
1813 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001814
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018152004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001816
1817 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001818
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018192004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001820
1821 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001822
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018232004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001824
1825 * Replaced binary mount data with text options
1826
1827 * Show FUSE specific mount options in /proc/mounts
1828
1829 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1830
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018312004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001832
1833 * Check some limits so userspace won't get too big requests
1834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018352004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001836
1837 * Kill compile warning
1838
1839 * Upgraded user-mount patch for 2.6.5
1840
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018412004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001842
1843 * Add detection of user-mode-linux to configure
1844
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018452004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001846
1847 * fixed zero size case for getxattr and listxattr
1848
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018492004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001850
1851 * new fusermount flag '-z': lazy unmount, default is not lazy
1852
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001853 * Extended attributes operations added (getxattr, setxattr,
1854 listxattr, removexattr)
1855
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018562004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001857
1858 * If filesystem doesn't define a statfs operation, then an
1859 all-zero default statfs is returned instead of ENOSYS
1860
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018612004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001862
1863 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1864
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018652004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001866
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001867 * Fix for uClinux (Christian Magnusson)
1868
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018692004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001870
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001871 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001872
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001873 * More kernel interface changes:
1874
1875 * Lookup/getattr return cache timeout values
1876
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018772004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001878
1879 * Clean up option parsing in fuse_main()
1880
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001881 * Added fuse_get() function which returns the fuse object created
1882 by fuse_main()
1883
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018842004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001885
Miklos Szeredic40748a2004-02-20 16:38:45 +00001886 * removed old way of mounting (fusermount mountpoint program)
1887
Miklos Szeredib5958612004-02-20 14:10:49 +00001888 * more kernel interface changes:
1889
1890 * added nanosecond precision to file times
1891
Miklos Szeredic40748a2004-02-20 16:38:45 +00001892 * removed interface version from mount data
1893
1894 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1895
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018962004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001897
1898 * statfs library API changed to match other methods. Since this
1899 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1900
Miklos Szeredi76f65782004-02-19 16:55:40 +00001901 * kernel interface changes follow:
1902
1903 * statfs changed to 64 bits, added 'bavail' field
1904
1905 * add generation number to lookup result
1906
1907 * optimized mknod/mkdir/symlink/link (no separate lookup is
1908 needed)
1909
1910 * rdev size increased to 32 bits for mknod
1911
1912 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001915
1916 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001917
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019182004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001919
1920 * Added user-mount.2.6.2-rc3.patch
1921
1922 * Add FS_SAFE flag to fuse filesystem
1923
1924 * fusermount should allow (un)mounting for non-root even if not
1925 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001926
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019272004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001928
1929 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001930
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019312004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001932
1933 * Added check for i_size_read/write functions to configure.in
1934 (patch by Valient Gough)
1935
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019362004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001937
1938 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001939
1940 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001941
1942 * Readpage calls flush_dcache_page() after storing data
1943
1944 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001945
1946 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001947
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019482004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001949
1950 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001951
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019522004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001953
1954 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019562004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001957
1958 * Added -q option for fusermount
1959
1960 * fuse_unmount() now uses -q option of fusermount, so no error is
1961 printed if the cause of the program exit is that the filesystem
1962 has already been unmounted
1963
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001964 * Fix i_nlink correctness after rmdir/unlink
1965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019662004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001967
Miklos Szeredib1158392004-01-26 14:43:12 +00001968 * Released 1.1-pre2
1969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019702004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001971
Miklos Szeredi307242f2004-01-26 11:28:44 +00001972 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001973
1974 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001975
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019762004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001977
1978 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001979
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019802004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001981
1982 * Write all pending data before a RELEASE operation
1983
1984 * Suppress 'Bad file descriptor' warning on exit
1985
1986 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001987 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001988
Miklos Szeredib1158392004-01-26 14:43:12 +00001989 * New fusermount option '-l' which enables big reads. Big reads
1990 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001991
1992 * fuse_main() can accept fusermount arguments after a '--'
1993
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019942004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001995
1996 * Support for exporting filesystem over NFS (see README.NFS)
1997
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019982004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001999
2000 * Support non-blocking writepage on 2.6. This makes FUSE behave
2001 much more nicely in low-memory situations
2002
2003 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
2004 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00002005
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020062004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00002007
2008 * Code cleanups
2009
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020102004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002011
2012 * Released 1.1-pre1
2013
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020142004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002015
2016 * Integrated 2.6 kernel support patch by Michael Grigoriev
2017
2018 * Improvements and cleanups for 2.6 kernels
2019
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020202004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002021
Miklos Szeredie5183742005-02-02 11:14:04 +00002022 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002023
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020242003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002025
2026 * Added major+minor version to library API, and minor version to
2027 kernel API
2028
David McNab7a19caf2003-12-13 02:05:46 +000020292003-12-13 David McNab <david@rebirthing.co.nz>
2030
2031 * Implemented fsync support in examples/example.py
2032
2033 * Implemented 'fsync' and 'statfs' methods in python
2034 interface
2035
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020362003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002037
Miklos Szeredie5183742005-02-02 11:14:04 +00002038 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002039
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002040 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002041
David McNab8bf62632003-12-11 22:49:22 +000020422003-12-12 David McNab <david@rebirthing.co.nz>
2043
2044 * Added distutils support to the python module, as per standard
2045 python development practice
2046
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020472003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002048
2049 * Add file locking for mount/unmount (based on patch by Valient
2050 Gough)
2051
20522003-12-11 David McNab <david@rebirthing.co.nz>
2053
2054 * Python filesystem - was broken with python2.3, now fixed:
2055 - changed PyTuple_* calls to PySequence_*, because os.lstat
2056 is no longer returning a pure tuple
2057 - changed PyInt_Check() calls to also call PyLong_Check,
2058 to cover for cases (eg os.lstat) where longs are returned
2059 - Added support for file 'release' handling, which IMO is
2060 essential since this signals to a FS that writes to a file
2061 are complete (and therefore the file can now be disposed of
2062 meaningfully at the python filesystem's discretion)
2063 - Added '__init__' handler to base Fuse class, which allows
2064 your Python class to know the mountpoint and mount args,
2065 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002066
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002067 * General:
2068 - added 'mount.fuse' script (in util/ dir), which is meant to be
2069 symlinked from /sbin, and which allows FUSE filesystems to
2070 be mounted with the 'mount' command, and listed in fstab;
2071 also, mount arguments get passed to your filesystem
2072
2073
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020742003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002075
2076 * Fix kernel version detection (again). Bugreport by Peter Levart
2077
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020782003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002079
2080 * Applied read combining patch by Michael Grigoriev (tested by
2081 Valient Gough and Vincent Wagelaar)
2082
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020832003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002084
2085 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2086 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002087
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020882003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002089
2090 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002091
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020922003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002093
2094 * kernel version detection fix
2095
2096 * fusermount now uses "lazy" umount option
2097
2098 * fusermount can use modprobe with module-init-tools
2099
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021002003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002101
2102 * Integrated caching patch by Michael Grigoriev
2103
Miklos Szeredida4e4862003-09-08 11:14:11 +00002104 * Added "Filesystems" file with descriptions of projects using
2105 FUSE
2106
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002107 * Added patch by Michael Grigoriev to allow compliation of FUSE
2108 kernel module for 2.6 kernels
2109
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021102003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002111
2112 * And another spec-file fix by Achim Settelmeier
2113
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021142003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002115
2116 * Spec-file fix by Achim Settelmeier
2117
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021182003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002119
Miklos Szerediac361172004-11-02 19:14:14 +00002120 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002121
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021222003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002123
2124 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2125
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021262003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002127
2128 * Updated fuse.spec file (Achim Settelmeier)
2129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021302003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002131
2132 * Version 1.0 released
2133
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021342003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002135
2136 * SuSE compilation fix by Juan-Mariano de Goyeneche
2137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021382002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002139
2140 * The release() VFS call is now exported to the FUSE interface
2141
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021422002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002143
2144 * 64 bit file offset fixes in the fuse kernel module
2145
2146 * Added function 'fuse_exit()' which can be used to exit the main
2147 loop
2148
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021492002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002150
2151 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2152 an incompatible interface change.
2153
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021542002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002155
2156 * Portablility fix (bug reported by C. Chris Erway)
2157
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021582002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002159
2160 * Use Mark Glines' fd passing method for default operation instead
2161 of old reexec
2162
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021632002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002164
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002165 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2166
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021672002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002168
Miklos Szeredi60c23522002-10-24 09:19:43 +00002169 * fix incompatiblity with Red Hat kernels, with help from Nathan
2170 Thompson-Amato.
2171
Mark Glines65ba2192002-04-18 14:41:48 +000021722002-04-18 Mark Glines <mark@glines.org>
2173
2174 * added an alternative to fuse_mount(), called
2175 fuse_mount_ioslave(), which does not need to reexec the
2176 FUSE program.
2177 * added a small helper util needed by fuse_mount_ioslave().
2178
Mark Glines220635a2002-03-17 07:01:14 +000021792002-03-16 Mark Glines <mark@glines.org>
2180
2181 * use struct fuse_statfs everywhere possible to avoid problems
2182 with the headerfiles changing struct statfs member sizes
2183
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021842002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002185
2186 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2187
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021882002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002189
2190 * RPM support by Achim Settelmeier
2191
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021922002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002193
Miklos Szerediddc862a2002-01-09 13:46:10 +00002194 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002195
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021962002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002197
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002198 * Revaidate all path components not just the last, this means a
2199 very small performance penalty for being more up-to-date.
2200
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022012002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002202
2203 * Update and fix python interface
2204
Mark Glinesd84b39a2002-01-07 16:32:02 +000022052002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002206
Mark Glinesd84b39a2002-01-07 16:32:02 +00002207 * Added statfs() support to kernel, lib, examples, and perl!
2208
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022092001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002210
2211 * Better cross compilation support
2212
2213 * Ported to Compaq IPAQ
2214
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022152001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002216
Miklos Szeredife25def2001-12-20 15:38:05 +00002217 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002218 patch from Matt Ryan)
2219
Miklos Szeredife25def2001-12-20 15:38:05 +00002220 * Added flags to fusermount and to kernel interface to control
2221 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002222
Miklos Szeredife25def2001-12-20 15:38:05 +00002223 * Integrated fuse_set_operations() into fuse_new()
2224
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022252001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002226
2227 * Applied header protection + extern "C" patch by Roland
2228 Bauerschmidt
2229
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022302001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002231
Miklos Szeredie5183742005-02-02 11:14:04 +00002232 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002233
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022342001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002235
2236 * Cleaned up way of mounting simple filesystems.
2237
2238 * fuse_main() helper function added
2239
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022402001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002241
Miklos Szeredife25def2001-12-20 15:38:05 +00002242 * Optimized read/write operations, so that minimal copying of data
2243 is done
2244
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022452001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002246
2247 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002248
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022492001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002250
2251 * Fixed vfsmount reference leak in fuse_follow_link
2252
2253 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2254 userspace is ignored
2255
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022562001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002257
Miklos Szeredife25def2001-12-20 15:38:05 +00002258 * Started ChangeLog