blob: bdd4c5fd5a3caa676d4e927bee2c27698f63a721 [file] [log] [blame]
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +000012006-10-08 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Make sure inode numers wrap around at 2^32. This is needed on
4 dual 64bit/32bit architectures, because 32bit applications using
5 the non-largefile interface would otherwise break (EOVERFLOW error
6 would be returned by the stat() system call family)
7
8 * ulockmgr: handle the case, when a locking operation fails
9 because no more file desctriptors are available in
10 ulockmgr_server. Also work around a Linux kernel bug (known to
11 exist for all Linux kernel versions <= 2.6.19) which may cause
12 sent file descriptors to be lost in the above case
13
14 * ulockmgr: optimize file descriptor use
15
16 * restore needed cpp flags to util/Makefile.am
17
18 * Install udev rules as 99-fuse.rules instead of 60-fuse.rules
19
20 * Minor clean up of udev rules
21
Miklos Szeredib9ea32f2006-10-08 17:35:40 +000022 * Add a synchronous DESTROY message to kernel interface. This is
23 invoked from umount, when the final instance of the filesystem is
24 released. It is only sent for filesystems mounted with the
25 'blkdev' option for security reasons.
26
27 * If the DESTROY message is received, call the filesystem's
28 ->destroy() method. In this case it's not called from session
29 destruction as it would be otherwise.
30
Miklos Szeredi4003dfa2006-10-01 13:46:02 +0000312006-10-01 Miklos Szeredi <miklos@szeredi.hu>
32
Miklos Szerediff1e0d42006-10-01 14:42:02 +000033 * Released 2.6.0-rc2
34
352006-10-01 Miklos Szeredi <miklos@szeredi.hu>
36
Miklos Szeredi4fca4322006-10-01 14:41:04 +000037 * Add support for FLUSH+RELEASE operation for FreeBSD. Original
38 patch by Csaba Henk
39
Miklos Szeredi4003dfa2006-10-01 13:46:02 +000040 * Add init script to insert fuse module and mount the control
41 filesystem. The script is installed as /etc/init.d/fuse and on
42 debian based systems (where update-rc.d is available) symlinks
43 from /etc/rc*.d/ are also installed.
44
45 * Include '#define FUSE_USE_VERSION=XX' into examples so they
46 become more self contained.
47
Miklos Szeredi6cf952a2006-09-30 07:39:33 +0000482006-09-30 Miklos Szeredi <miklos@szeredi.hu>
49
Miklos Szeredi07407852006-09-30 20:03:52 +000050 * API changes:
51
52 * Move lock_owner from a separate argument into fuse_file_info
53
54 * Add a flag to fuse_file_info indicating (1) a highlevel lock
55 operation (unlock all) was initiated by a flush, (2) a lowlevel
56 release operation should perform a flush as well.
57
Miklos Szeredi004a8c72006-09-30 16:41:12 +000058 * fusermount: revert modprobe change (2006-08-18) since it
59 doesn't work reliably with udev
60
Miklos Szeredi708b4812006-09-30 16:02:25 +000061 * Add support for block device backed filesystems. This mode is
62 selected with the 'blkdev' option, which is privileged.
63
64 * Add support for the bmap (FIBMAP ioctl) operation on block
65 device backed filesystems. This allows swapon and lilo to work on
66 such filesystems.
67
Miklos Szeredid93a4292006-09-30 12:21:49 +000068 * kernel changes:
69
Miklos Szeredi6cf952a2006-09-30 07:39:33 +000070 * Drop support for kernels earlier than 2.6.9. Kernel module from
71 previous (2.5.x) release can be used with library from this
72 release
73
Miklos Szeredid93a4292006-09-30 12:21:49 +000074 * In fuse_dentry_revalidate() use dget_parent() instead of
75 dereferencing d_parent, since there's no protection against parent
76 changing and going away
77
78 * Protect nlookup from concurrent updates
79
80 * In lookup if a directory alias exists but is unused,
81 then get rid of it, otherwise return -EBUSY.
82
83 * In mkdir if a directory alias exists, return success, but leave
84 dentry negative. In reality this could happen if a remote rename
85 immediately followed the mkdir.
86
87 * Don't BUG in fuse_iget() if multiple retries are needed to get a
88 good inode. This could happen if several lookups are racing for
89 the same inode.
90
Miklos Szeredi40ec1752006-09-30 06:17:31 +0000912006-09-29 Miklos Szeredi <miklos@szeredi.hu>
92
93 * Fix compilation on 2.6.9. Report from Troy Ayers
94
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000952006-09-27 Miklos Szeredi <miklos@szeredi.hu>
96
97 * Fix Oops in fuse_readpages(). Reported by David Shaw
98
Csaba Henk3e3a1252006-09-24 14:53:29 +0000992006-09-24 Csaba Henk <csaba.henk@creo.hu>
100
101 * Add support for nanosec times on FreeBSD
102
103 * Fix FreeBSD compatibility issues
104
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001052006-09-23 Miklos Szeredi <miklos@szeredi.hu>
106
107 * Fix one more compatibility bug. Thanks to Ricardo Correia
108
109 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
110
Miklos Szeredieafdf422006-09-22 19:30:17 +00001112006-09-22 Miklos Szeredi <miklos@szeredi.hu>
112
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000113 * Fixed several compatibility bugs in low level interface.
114 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +0000115
116 * Add workaround for ARM caching bug
117
Miklos Szeredic3b76812006-09-16 08:52:09 +00001182006-09-16 Miklos Szeredi <miklos@szeredi.hu>
119
120 * Rename new utimes() method to more logical utimens()
121
1222006-09-14 Miklos Szeredi <miklos@szeredi.hu>
123
124 * Fuse tried to unlink already unlinked hidden files. Bug
125 reported by Milan Svoboda
126
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +00001272006-09-10 Miklos Szeredi <miklos@szeredi.hu>
128
129 * Released 2.6.0-rc1
130
1312006-09-10 Miklos Szeredi <miklos@szeredi.hu>
132
133 * kernel: Fix unlock on close for kernels < 2.6.18
134
135 * Add ulockmgr library & server. This can be used for handling
136 file locking requests either directly from libfuse or over a
137 network, etc. This first version is not optimized and the number
138 of file descriptors it uses may get out of hand
139
Miklos Szeredi288ed4e2006-09-07 06:02:44 +00001402006-09-07 Miklos Szeredi <miklos@szeredi.hu>
141
142 * lib: Add interrupt support to high level library, which may be
143 enabled with the 'intr' mount option.
144
145 * When an operation is interrupted the thread handling that
146 operation will receive SIGUSR1 (or other signal specified with the
147 'intr_signal=N' option). The library installs a no-op signal
148 handler for this signal, unless there's already a handler
149 installed.
150
151 * The filesystem may query interrupt status (regardless of 'intr')
152 with the fuse_interrupted() function.
153
Miklos Szeredid8588412006-09-07 06:08:56 +0000154 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
155
Miklos Szeredi38f152c2006-09-03 18:28:52 +00001562006-09-03 Miklos Szeredi <miklos@szeredi.hu>
157
158 * lib: Multithreaded loop now allows unlimited number of threads.
159 This is needed for locking operations which may block
160 indefinitely. Also the kernel now doesn't limit the number of
161 outstanding requests so the library shouldn't do so either.
162
Miklos Szeredifa440772006-09-02 09:51:08 +00001632006-09-01 Miklos Szeredi <miklos@szeredi.hu>
164
165 * Fix recursive lock bug in interrupt handling
166
167 * Add utimes() method to highlevel interface, which supports
168 setting times with nanosecond resolution
169
Miklos Szeredi63d3c402006-08-18 16:38:08 +00001702006-08-18 Miklos Szeredi <miklos@szeredi.hu>
171
172 * kernel: fix page leak if fuse_readpages() failed in it's
173 initialization. Bug found and original patch from Alexander
174 Zarochentsev
175
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000176 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
177 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000178 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000179
Miklos Szeredi543087d2006-08-18 19:26:23 +0000180 * fusermount: try to modprobe fuse module if invoked by root and
181 unable to open device. This is needed with udev, since the device
182 node will be created only when the module is inserted, hence
183 module autoloading won't work. Reported by Szakacsits Szabolcs
184
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00001852006-07-30 Miklos Szeredi <miklos@szeredi.hu>
186
187 * fusermount: if selinux is active, restore the original file's
188 security context in unmount_rename(). Redhat bugzilla id 188561.
189 Patch from Yves Perrenoud
190
191 * Add POSIX file locking operation to high level library
192
Miklos Szerediad519562006-07-31 11:07:40 +0000193 * Initialize context for unlink of hidden files on umount. Bug
194 reported by Tim Stoakes
195
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00001962006-07-14 Miklos Szeredi <miklos@szeredi.hu>
197
198 * Multiple release() calls can race with each other, resulting in
199 the hidden file being deleted before the last release finishes.
200 Bug found and patch tested by Mark Huijgen
201
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00002022006-07-05 Miklos Szeredi <miklos@szeredi.hu>
203
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000204 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
205 this makes sense on systems using udev. Reported by Szakacsits
206 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000207
Miklos Szeredi91762cd2006-06-29 14:38:35 +00002082006-06-29 Miklos Szeredi <miklos@szeredi.hu>
209
210 * Released 2.6.0-pre3
211
2122006-06-29 Miklos Szeredi <miklos@szeredi.hu>
213
214 * Support in kernel module for file locking and interruption. The
215 same functionality is available in official kernels >= 2.6.18
216
Miklos Szeredib052a1a2006-06-28 14:51:20 +00002172006-06-28 Miklos Szeredi <miklos@szeredi.hu>
218
219 * Add POSIX file locking support
220
221 * Add request interruption
222
Miklos Szeredi55a84102006-06-06 10:16:38 +00002232006-06-06 Miklos Szeredi <miklos@szeredi.hu>
224
225 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
226
Miklos Szeredi9dedb702006-06-06 09:48:30 +00002272006-06-05 Remy Blank <remy.blank@pobox.com>
228
229 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
230 unmounting succeeds even if mount point was relative.
231
Csaba Henkd021ce42006-06-03 23:04:18 +00002322006-06-04 Csaba Henk <csaba.henk@creo.hu>
233
234 * lib: fix emergency umount in helper.c when malloc fails.
235 (The way it was done would end up in a segfault.)
236
Csaba Henk4f5c7b42006-06-01 14:19:17 +00002372006-06-01 Csaba Henk <csaba.henk@creo.hu>
238
239 * lib: adjust threading related compiler flags.
240 Switch to "-pthread" from "-lpthread" as that's the preferred
241 one on several platforms. Consulted with Terrence Cole and
242 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000243
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00002442006-05-08 Miklos Szeredi <miklos@szeredi.hu>
245
246 * lib: search fusermount in installation directory (bindir) as
247 well as in PATH.
248
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00002492006-05-03 Miklos Szeredi <miklos@szeredi.hu>
250
251 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
252 Reported by Christian Magnusson
253
Csaba Henk2efe48f2006-04-22 22:46:52 +00002542006-04-23 Csaba Henk <csaba.henk@creo.hu>
255
256 * lib: make FreeBSD mount routine recognize if kernel features
257 backgrounded init and if it does, run the mount util in foreground
258 (similarly to Linux)
259
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00002602006-04-21 Miklos Szeredi <miklos@szeredi.hu>
261
262 * kernel: fix fput deadlock fix, the lockless solution could lead
263 to "VFS: busy inodes after umount..."
264
265 * kernel: fix race between checking and setting file->private_data
266 for the device. Found by Al Viro
267
2682006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000269
270 * kernel: remove request pool, instead allocate requests on
271 demand. Account the number of background requests, and if they go
272 over a limit, block the allocation of new requests.
273
274 * kernel: fix deadlock if backgrounded request holds the last
275 reference to the super block
276
277 * kernel: don't use fuse_reset_request() during direct I/O
278
Csaba Henkbaa49d22006-04-06 00:12:44 +00002792006-04-06 Csaba Henk <csaba.henk@creo.hu>
280
281 * lib: Let FreeBSD mount option parsing routine recognize "no"
282 prefixes for FUSE specific options as well
283
Miklos Szeredid0a777a2006-04-05 07:18:00 +00002842006-04-01 Miklos Szeredi <miklos@szeredi.hu>
285
286 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
287
Miklos Szeredi6f385412006-03-17 15:05:40 +00002882006-03-17 Miklos Szeredi <miklos@szeredi.hu>
289
290 * API changes:
291
292 * fuse_main(), fuse_setup() and fuse_new() have an additionl
293 user_data parameter
294
295 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
296 file descriptor
297
298 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
299 destroys the given channel
300
301 * fuse_teardown() no longer has a file descriptor parameter
302
303 * new exported functions: fuse_session_remove_chan(),
304 fuse_get_session(), fuse_daemonize()
305
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000306 * fuse_chan_recv() may now return a new channel which will be used
307 to send the reply
308
Miklos Szeredif51e43f2006-03-16 14:19:25 +00003092006-03-16 Miklos Szeredi <miklos@szeredi.hu>
310
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000311 * Released 2.6.0-pre2
312
3132006-03-16 Miklos Szeredi <miklos@szeredi.hu>
314
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000315 * Don't unmount if already unmounted. This fixes a problem seen
316 in the following situation: Lazy unmount a busy filesystem; Mount
317 a new one in top; When the first finally unmounts, the second also
318 unmounts. Reported by Franco Broi
319
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00003202006-03-15 Miklos Szeredi <miklos@szeredi.hu>
321
322 * lowlevel lib: use indirect function calls instead of a
323 switch/case construct. Besides increased efficiency it helps
324 maintainability & readability too. Patch from Florin Malita
325
Miklos Szeredi67d26d42006-03-13 17:39:56 +00003262006-03-13 Miklos Szeredi <miklos@szeredi.hu>
327
328 * kernel: replace global spinlock with a per-connection spinlock
329
Miklos Szeredi87c77932006-03-10 10:18:20 +00003302006-03-10 Miklos Szeredi <miklos@szeredi.hu>
331
332 * Fix source compatibility breakage for fuse_unmount(). Report
333 from Yura Pakhuchiy
334
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00003352006-03-02 Miklos Szeredi <miklos@szeredi.hu>
336
337 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
338
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00003392006-03-01 Miklos Szeredi <miklos@szeredi.hu>
340
341 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
342 Jeff Dike
343
344 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
345 interface to return -errno in case of error.
346
Csaba Henkee588c02006-03-01 09:40:35 +00003472006-03-01 Csaba Henk <csaba.henk@creo.hu>
348
349 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
350 FreeBSD implementation so that it uses libc (sysctl backed) instead
351 of an embdedded script (kmem backed). Adjust the control flow of
352 hello_ll so that device doesn't get closed before unmount attempt.
353
Miklos Szerediaa8258e2006-02-25 14:42:03 +00003542006-02-25 Miklos Szeredi <miklos@szeredi.hu>
355
356 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
357 implement method. This is needed on FreeBSD, and nicer on Linux
358 too. Highlevel lib already did this. Reported by Csaba Henk
359
360 * Fix negative entry handling. There was a bug, that negative
361 lookups with timeouts (nodeid == 0) returned -EIO.
362
3632006-02-23 Miklos Szeredi <miklos@szeredi.hu>
364
365 * Fix race between RELEASE and UNLINK, which might leave
366 .fuse_hidden* files around
367
Miklos Szeredi6bab4802006-02-21 18:31:29 +00003682006-02-21 Miklos Szeredi <miklos@szeredi.hu>
369
370 * fusexmp_fh: implement flush() method and call close() on the
371 open file descriptor. This is needed if used on an NFS
372 filesystem, which buffers data until file is closed. Franco Broi
373 spotted the situation when 'cp -p' failed to set the modification
374 time because of this.
375
Miklos Szeredie109e282006-02-20 11:06:20 +00003762006-02-20 Miklos Szeredi <miklos@szeredi.hu>
377
378 * Released 2.6.0-pre1
379
Miklos Szeredib67f2162006-02-20 10:55:33 +00003802006-02-19 Miklos Szeredi <miklos@szeredi.hu>
381
382 * libfuse: fix use-after-free bug in interruptred reply_entry().
383 Patch from John Muir
384
385 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
386 ID: 352631. Found by Stéphane Rosi
387
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00003882006-02-17 Miklos Szeredi <miklos@szeredi.hu>
389
390 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
391 into a single function fuse_add_direntry(). This cleans up the
392 interface and makes it possible to do stacking.
393
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00003942006-02-16 Miklos Szeredi <miklos@szeredi.hu>
395
396 * Fix rare race betweeen abort and release caused by failed iget()
397 in fuse_create_open().
398
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000399 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
400 own attribute caching.
401
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00004022006-02-15 Miklos Szeredi <miklos@szeredi.hu>
403
404 * Work around FreeBSD runtime linker "feature" which binds an old
405 version of a symbol to internal references if the symbol has more
406 than one version. This resulted in infinite recursion in
407 fuse_lowlevel_new_compat25().
408
Csaba Henkdcce3e52006-02-10 06:22:15 +00004092006-02-10 Csaba Henk <csaba.henk@creo.hu>
410
411 * Refine clock_gettime() querying so that linker options
412 shall be set as it's appropriate for the target platform.
413
Miklos Szeredi390ae312006-02-10 16:44:34 +00004142006-02-09 Miklos Szeredi <miklos@szeredi.hu>
415
416 * Fix udev rule syntax. Reported by Nix
417
Miklos Szeredieb643582006-02-08 10:54:02 +00004182006-02-08 Miklos Szeredi <miklos@szeredi.hu>
419
420 * In some cases udev rule seems to be ineffective when installed
421 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
422
Miklos Szeredi357529c2006-02-03 09:20:31 +00004232006-02-03 Miklos Szeredi <miklos@szeredi.hu>
424
425 * Fix compilation when build directory is different from source
426 directory. Reported by Frédéric L. W. Meunier
427
Miklos Szeredice28c7e2006-02-02 14:59:05 +00004282006-02-02 Miklos Szeredi <miklos@szeredi.hu>
429
430 * Fix even bigger bug introduced in fix for request_end() on
431 2006-01-14. Reported by Gal Rosen
432
Miklos Szeredi320abe42006-01-30 18:14:51 +00004332006-01-30 Miklos Szeredi <miklos@szeredi.hu>
434
435 * highlevel-lib: add 'auto_cache' option. This caches file data
436 based on modification time and size
437
Miklos Szeredi065f2222006-01-20 15:15:21 +00004382006-01-20 Miklos Szeredi <miklos@szeredi.hu>
439
Miklos Szeredid66b7282006-02-02 15:15:21 +0000440 * Sanitize storage type and help message in mount_bsd.c. Patch
441 from Csaba Henk
442
Miklos Szeredi065f2222006-01-20 15:15:21 +0000443 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
444 FUSE_OPT_KEY_DISCARD
445
446 * Add options 'max_readahead', 'sync_read' and 'async_read'
447
448 * Kernel ABI version 7.6:
449
450 * Negotiate the 'max_readahead' value and 'async_read' flags with
451 userspace in the INIT method
452
453 * Add connection info to ->init() methods to both lowlevel and
454 highlevel API
455
456 * Fall back to synchronous read() behavior if either library or
457 userspace filesystem is using the old interface version. This is
458 needed so non-updated filesystems won't be confused by the
459 different read() behavior
460
4612006-01-19 Miklos Szeredi <miklos@szeredi.hu>
462
463 * lib: if "fsname=" option was given, pass it to fusermount
464
465 * fuse_opt: add new fuse_opt_insert_arg() function, which is
466 needed by filesystems to implement some argument manipulations
467 correctly
468
469 * fuse_opt: fix memory leak in handling "--" option
470
4712006-01-18 Miklos Szeredi <miklos@szeredi.hu>
472
473 * kernel: fix detection of case when fuse is not configured into
474 the kernel either as module or built-in
475
476 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
477 'template' structure member to 'templ'. Reported by Takashi Iwai
478
479 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
480
481 * kernel: support version 2.6.16 (i_sem -> i_mutex)
482
Miklos Szeredi15af1b82006-01-16 17:52:24 +00004832006-01-16 Miklos Szeredi <miklos@szeredi.hu>
484
485 * Added (again) asynchronous readpages support
486
487 * Each connection now shows up under /sys/fs/fuse/connections
488
489 * Connection attributes exported to sysfs: 'waiting' number of
490 waiting requests; 'abort' abort the connection
491
492 * Connection may be aborted through either the sysfs interface or
493 with 'umount -f mountpoint'
494
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00004952006-01-14 Miklos Szeredi <miklos@szeredi.hu>
496
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000497 * Released 2.5.0
498
4992006-01-14 Miklos Szeredi <miklos@szeredi.hu>
500
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000501 * kernel: fix a couple of bugs
502
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000503 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000504 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000505 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000506
507 * request_end() used request pointer after decrementing refcount
508
509 * Clearing ->connected or ->mounted connection flags could race
510 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000511
Miklos Szeredia9820342006-01-10 10:54:11 +00005122006-01-10 Miklos Szeredi <miklos@szeredi.hu>
513
514 * kernel: add necessary compile flags for 2.4.X/x86_64.
515 Report from Sean Ziegeler
516
Miklos Szeredi35676b02006-01-09 10:13:28 +00005172006-01-09 Miklos Szeredi <miklos@szeredi.hu>
518
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000519 * Released 2.5.0-pre2
520
5212006-01-09 Miklos Szeredi <miklos@szeredi.hu>
522
Miklos Szeredi35676b02006-01-09 10:13:28 +0000523 * Applied patch from Csaba Henk, to update mount_bsd to new
524 fuse_mount() semantics
525
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000526 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
527 Steiner and Don Taber
528
Miklos Szeredicb075c82006-01-09 11:33:04 +0000529 * fusermount: add 'dirsync' mount option
530
Miklos Szerediad005972006-01-07 10:14:34 +00005312006-01-07 Miklos Szeredi <miklos@szeredi.hu>
532
533 * Improved help reporting and added version reporting to library
534
Miklos Szeredi0af762a2006-01-06 09:47:54 +00005352006-01-06 Miklos Szeredi <miklos@szeredi.hu>
536
537 * Change working directory to "/" even if running in the
538 foreground. Patch from Jonathan Brandmeyer
539
Miklos Szeredi95da8602006-01-06 18:29:40 +0000540 * Changed lots of functions to use 'struct fuse_args' instead of
541 separate argc and argv
542
543 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
544 fuse_remove_signal_handlers() functions, so that it's now pretty
545 easy to get all the functionality of fuse_main() with a filesystem
546 using the lowlevel API.
547
Miklos Szeredib8638182006-01-02 12:52:24 +00005482006-01-02 Miklos Szeredi <miklos@szeredi.hu>
549
Miklos Szeredif1941472006-01-02 16:27:48 +0000550 * mount.fuse: the 'user' option should be ignored. Report and
551 solution from Mattd.
552
553 * mount.fuse: export PATH in the right place. Report and patch
554 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000555
Miklos Szeredi73f41392005-12-16 11:12:16 +00005562005-12-16 Miklos Szeredi <miklos@szeredi.hu>
557
558 * Clean up the option parsing interface slightly, by creating an
559 "argument list" structure, that contains the argument vector and
560 count
561
Miklos Szeredi4e829092005-12-15 16:13:49 +00005622005-12-15 Miklos Szeredi <miklos@szeredi.hu>
563
564 * fusermount: check if /mnt/mtab is a symlink and don't modify it
565 in that case
566
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000567 * kernel: simplify request size limiting. INIT only contains
568 maximum write size, maximum path component size remains fixed at
569 1024 bytes, and maximum xattr size depends on read buffer.
570
Miklos Szeredie248e4b2005-12-14 16:18:32 +00005712005-12-14 Miklos Szeredi <miklos@szeredi.hu>
572
573 * Fix readdir() failure on x86_64, of 32bit programs compiled
574 without largefile support. Bug report and help from Anthony
575 Kolasny
576
Miklos Szeredi64709572005-12-14 22:16:28 +0000577 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000578 a regular file
579
580 * Add current output argument vector to option processing
581 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000582
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00005832005-12-12 Miklos Szeredi <miklos@szeredi.hu>
584
585 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
586
Miklos Szeredi659743b2005-12-09 17:41:42 +00005872005-12-09 Miklos Szeredi <miklos@szeredi.hu>
588
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000589 * Released 2.5.0-pre1
590
5912005-12-09 Miklos Szeredi <miklos@szeredi.hu>
592
Miklos Szeredi659743b2005-12-09 17:41:42 +0000593 * libfuse: added option parsing interface, defined in
594 <fuse_opt.h>.
595
Miklos Szeredic53cddd2005-12-07 12:57:59 +00005962005-12-07 Miklos Szeredi <miklos@szeredi.hu>
597
598 * Return EIO for file operations (read, write, fsync, flush) on
599 open files whose inode has become "bad". Inodes will be marked
600 "bad" if their type changes. Bug report by Csaba Henk
601
Miklos Szeredi044da2e2005-12-06 17:59:55 +00006022005-12-06 Miklos Szeredi <miklos@szeredi.hu>
603
604 * Use bigger request buffer size. write() did not work on archs
605 with > 4k page size, Bug report by Mark Haney
606
607 * ABI version 7.5:
608
609 * Extend INIT reply with data size limits
610
Miklos Szeredifa829b52005-12-02 11:05:41 +00006112005-12-02 Miklos Szeredi <miklos@szeredi.hu>
612
613 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
614 reported by Vincenzo Ciancia
615
616 * Handle exit-by-umount in fuse_read_cmd()
617
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00006182005-11-29 Miklos Szeredi <miklos@szeredi.hu>
619
620 * Check if '-msoft-float' option is supported by compiler when
621 configuring for a 2.4.x kernel. Bug report by Mark Haney
622
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000623 * In multithreaded loop send a TERM signal to the main thread if
624 one of the other threads exit. Needed on FreeBSD for a clean exit
625 on umount. Should not cause any harm on Linux either
626
Miklos Szerediead7f102005-11-28 16:02:27 +00006272005-11-28 Miklos Szeredi <miklos@szeredi.hu>
628
629 * Fix bug in 32-bit file handle compatibility
630
Miklos Szeredia90b7342005-11-27 19:22:42 +00006312005-11-27 Miklos Szeredi <miklos@szeredi.hu>
632
633 * Block TERM, INT, HUP and QUIT signals in all but the main
634 thread. According to POSIX it's not specified which thread will
635 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000636
637 * Kernel changes:
638
639 * Check for directory aliasing on mkdir, not just on lookup
640
641 * Check for special node ID values in create+open operation
642
643 * Sync with -mm: readv, writev, aio_read and aio_write methods
644 added to file operations
645
646 * Cleanups: lookup code, page offset calculation
647
648 * ABI stepped to 7.4, changes:
649
650 * frsize member added to fuse_kstatfs structure
651
652 * added support for negative entry caching: on lowlevel API if
653 fuse_entry_param::ino is set to zero in reply to a lookup request,
654 the kernel will cache the dentry for the specified amount of time.
655
656 * libfuse: added 'negative_timeout' option: specifies how much
657 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000658 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000659
Miklos Szeredibac4c772005-11-23 13:35:54 +00006602005-11-22 Miklos Szeredi <miklos@szeredi.hu>
661
662 * Add detection of mainline FUSE code in running kernel
663
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00006642005-11-21 Miklos Szeredi <miklos@szeredi.hu>
665
666 * Don't use async cancelation in multithreaded loop. This makes
667 it more portable to systems where read() is not async cancel safe.
668 Report from Andriy Gapon
669
Miklos Szeredi05c97842005-11-20 17:05:07 +00006702005-11-20 Miklos Szeredi <miklos@szeredi.hu>
671
672 * Warn if API version 11 compatibility is requested
673
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00006742005-11-17 Miklos Szeredi <miklos@szeredi.hu>
675
676 * More FreeBSD merge
677
Miklos Szeredi832ee442005-11-18 21:02:36 +0000678 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
679 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000680 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000681
682 * libfuse: don't use system() to invoke 'fusermount -u ...'
683 because it breaks mountpoints with spaces in them into multiple
684 arguments
685
Miklos Szeredib3f99722005-11-16 13:00:24 +00006862005-11-16 Miklos Szeredi <miklos@szeredi.hu>
687
688 * Merge library part of FreeBSD port. Patch by Csaba Henk
689
Miklos Szeredi3a770472005-11-11 21:32:42 +00006902005-11-11 Miklos Szeredi <miklos@szeredi.hu>
691
692 * Use 64bit type for file handle, so the full range supported by
693 the kernel interface is available to applications
694
Miklos Szeredibcc53852005-11-10 09:54:41 +00006952005-11-10 Miklos Szeredi <miklos@szeredi.hu>
696
697 * Moved mountpoint argument checking from fuse_parse_cmdline() to
698 fuse_mount() in preparation to FreeBSD merge.
699
Miklos Szeredi4ec06812005-11-08 13:04:27 +00007002005-11-08 Miklos Szeredi <miklos@szeredi.hu>
701
702 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
703 Henk.
704
Miklos Szeredic706ad92005-11-07 15:30:48 +00007052005-11-07 Miklos Szeredi <miklos@szeredi.hu>
706
707 * Make the statfs change backwards compatible.
708
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00007092005-11-06 Miklos Szeredi <miklos@szeredi.hu>
710
711 * Change ->statfs() method to use 'struct statvfs' instead of
712 'struct statfs'. This makes the API more portable since statvfs()
713 is defined by POSIX.
714
Miklos Szeredif7eec032005-10-28 13:09:50 +00007152005-10-28 Miklos Szeredi <miklos@szeredi.hu>
716
717 * Add fgetattr() method, which currently will only be called after
718 a successful call to a create() method.
719
Miklos Szeredib0b13d12005-10-26 12:53:25 +00007202005-10-26 Miklos Szeredi <miklos@szeredi.hu>
721
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000722 * Change kernel ABI version to 7.3
723
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000724 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000725 call if 'default_permissions' mount option is not given, and is
726 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000727
Miklos Szeredid9079a72005-10-26 15:29:06 +0000728 * Add atomic CREATE+OPEN operation. This will only work with
729 2.6.15 (presumably) or later Linux kernels.
730
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000731 * Add ftruncate() method. This will only work with 2.6.15
732 (presumably) or later Linux kernels.
733
734 * Fix kernel module compile if kernel source and build directories
735 differ. Report and initial patch by John Eastman
736
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00007372005-10-18 Miklos Szeredi <miklos@szeredi.hu>
738
739 * lib: optimize buffer reallocation in fill_dir.
740
Miklos Szeredic9daeb12005-10-17 10:19:21 +00007412005-10-17 Miklos Szeredi <miklos@szeredi.hu>
742
743 * Released 2.4.1
744
Miklos Szeredif412d072005-10-14 21:24:32 +00007452005-10-14 Miklos Szeredi <miklos@szeredi.hu>
746
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000747 * libfuse: add debug for write result (by Shaun Jackman) and
748 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000749
Miklos Szeredib75d4b92005-10-11 10:12:08 +00007502005-10-11 Miklos Szeredi <miklos@szeredi.hu>
751
752 * Spelling fixes, thanks to Ioannis Barkas
753
Miklos Szeredibaab5872005-10-10 08:41:14 +00007542005-10-10 Miklos Szeredi <miklos@szeredi.hu>
755
756 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
757 patch
758
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00007592005-10-07 Miklos Szeredi <miklos@szeredi.hu>
760
761 * highlevel-lib: init() and destroy() methods didn't have an
762 initialized fuse_context. Bug reported by Tim Stoakes
763
Miklos Szeredif2491122005-10-04 10:10:41 +00007642005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000765
766 * Released 2.4.0
767
Miklos Szeredi836ab712005-10-03 14:11:59 +00007682005-10-03 Miklos Szeredi <miklos@szeredi.hu>
769
770 * Add documentation to fuse_lowlevel.h
771
772 * API cleanups:
773
774 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
775
776 * Move fuse_mount() and fuse_unmount() to fuse_common.h
777
778 * Change the return type of fuse_reply_none() from int to void.
779
Miklos Szerediaf138742005-09-30 08:49:59 +00007802005-09-30 Miklos Szeredi <miklos@szeredi.hu>
781
782 * kernel: NFS exporting leaked dentries. Bug found and fixed by
783 Akshat Aranya.
784
Miklos Szeredidb016e02005-09-29 10:06:27 +00007852005-09-29 Miklos Szeredi <miklos@szeredi.hu>
786
787 * fusermount: fix error message, when unable to open /dev/fuse.
788 Report by Balázs Pozsár
789
Miklos Szeredi35200932005-09-28 14:50:49 +00007902005-09-28 Miklos Szeredi <miklos@szeredi.hu>
791
792 * UClibc fixes from Christian Magnusson
793
Miklos Szeredi8eddf642005-09-27 08:58:26 +00007942005-09-27 Miklos Szeredi <miklos@szeredi.hu>
795
796 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
797
Miklos Szerediedec95c2005-09-26 10:22:22 +00007982005-09-26 Miklos Szeredi <miklos@szeredi.hu>
799
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000800 * Released 2.4.0-rc1
801
8022005-09-26 Miklos Szeredi <miklos@szeredi.hu>
803
Miklos Szerediedec95c2005-09-26 10:22:22 +0000804 * fusermount: allow user umount in the case when /etc/mtab is a
805 symlink to /proc/mounts. Reported by Balázs Pozsár.
806
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00008072005-09-23 Miklos Szeredi <miklos@szeredi.hu>
808
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000809 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000810
Miklos Szeredif45f3c12005-09-22 15:14:27 +00008112005-09-22 Miklos Szeredi <miklos@szeredi.hu>
812
813 * Slight optimization in returning EINVAL error in case of an open
814 with O_DIRECT flag.
815
Miklos Szeredi670d07a2005-09-20 11:36:32 +00008162005-09-20 Miklos Szeredi <miklos@szeredi.hu>
817
818 * Remove '--enable-auto-modprobe' configure flag. Module
819 auto-loading is now handled by the kernel.
820
Miklos Szeredid51fca12005-09-15 12:51:00 +00008212005-09-15 Miklos Szeredi <miklos@szeredi.hu>
822
823 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
824 Help from Jens M. Noedler.
825
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00008262005-09-14 Miklos Szeredi <miklos@szeredi.hu>
827
828 * Add memory cleanup on thread exit
829
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00008302005-09-13 Miklos Szeredi <miklos@szeredi.hu>
831
832 * Set umask to zero in fusexmp and fusexmp_fh, so that
833 files/directories are created with the requested mode.
834
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00008352005-09-12 Miklos Szeredi <miklos@szeredi.hu>
836
837 * Don't ignore read error in multithreaded loop
838
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00008392005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000840
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000841 * Released 2.4.0-pre2
842
8432005-09-08 Miklos Szeredi <miklos@szeredi.hu>
844
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000845 * Revert lock and access operations. Postpone these until 2.5.
846
8472005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000848
849 * Fix compile warning on 2.6.13 and later
850
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000851 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000852
Miklos Szeredi77ccf652005-08-19 14:40:27 +00008532005-08-19 Miklos Szeredi <miklos@szeredi.hu>
854
855 * lib: always refresh directory contents after rewinddir() to
856 conform to SUS. Bug found by John Muir.
857
Miklos Szeredia1482422005-08-14 23:00:27 +00008582005-08-15 Miklos Szeredi <miklos@szeredi.hu>
859
Miklos Szeredic43f9412005-08-15 15:10:48 +0000860 * Released 2.4.0-pre1
861
8622005-08-14 Miklos Szeredi <miklos@szeredi.hu>
863
Miklos Szeredia1482422005-08-14 23:00:27 +0000864 * lib: cleaned up (or messed up, depending on your POV) the low
865 level library API. Hopefully this is close to the final form.
866
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00008672005-08-05 Miklos Szeredi <miklos@szeredi.hu>
868
869 * fusermount: don't allow empty mountpoint argument, which defeats
870 automatic umounting in fuse_main(). Bugreport by Václav Jůza
871
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00008722005-08-03 Miklos Szeredi <miklos@szeredi.hu>
873
874 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
875 option is used (Paul Alfille).
876
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00008772005-08-02 Miklos Szeredi <miklos@szeredi.hu>
878
879 * highlevel-lib: added mount options "attr_timeout" and
880 "entry_timeout". These options control the length of time file
881 attributes and entries (names) are cached. Both default to 1.0
882 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000883
884 * kernel: correctly handle zero timeout for attributes and entries
885
Miklos Szeredi56a61f02005-08-01 10:42:25 +00008862005-08-01 Miklos Szeredi <miklos@szeredi.hu>
887
888 * Added missing symbols to versionscript (Joshua J. Berry)
889
Miklos Szeredie77cc072005-08-01 11:58:51 +0000890 * kernel: implement two flags, open can set: 'direct_io' and
891 'keep_cache'. These correspond exactly to mount options
892 'direct_io' and 'kernel_cache', but allow a per-open setting.
893
894 * Move 'direct_io' and 'kernel_cache' mount option handling to
895 userspace. For both mount options, if the option is given, then
896 the respective open flag is set, otherwise the open flag is left
897 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000898
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000899 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000900
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00009012005-07-28 Miklos Szeredi <miklos@szeredi.hu>
902
903 * kernel: invalidate attributes for read/readdir/readlink
904 operations
905
906 * kernel: detect newer UML kernels
907
Miklos Szeredibfb99462005-07-26 11:07:55 +00009082005-07-26 Miklos Szeredi <miklos@szeredi.hu>
909
910 * Make the installation path of fuse.ko and mount.fuse
911 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
912 environment variables. Requirement and help from Csaba Henk.
913
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00009142005-07-22 Miklos Szeredi <miklos@szeredi.hu>
915
916 * Fix bug, that causes filesystem requests to hang when unique
917 request counter becomes negative. This happens after
918 2,147,483,648 operations, so most people won't care. Thanks to
919 Franco Broi for the report and testing.
920
Miklos Szeredi9b813af2005-07-21 07:59:37 +00009212005-07-21 Miklos Szeredi <miklos@szeredi.hu>
922
923 * Don't change mtime/ctime/atime to local time on read/write.
924 Bug reported by Ben Grimm
925
926 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
927 Magnusson
928
929 * fusermount: use getopt_long() for option parsing. It allows the
930 use of '--' to stop argument scanning, so fusermount can now
931 operate on directories whose names begin with a '-'. Patch by
932 Adam Connell
933
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00009342005-07-15 Miklos Szeredi <miklos@szeredi.hu>
935
936 * fusermount: add '-v', '--version' and '--help' options
937
938 * add inode based API
939
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00009402005-07-12 Miklos Szeredi <miklos@szeredi.hu>
941
942 * lib: don't block signals in worker threads. Problem noticed by
943 Usarin Heininga
944
Miklos Szeredic902a852005-07-07 12:35:37 +00009452005-07-07 Miklos Szeredi <miklos@szeredi.hu>
946
947 * lib: don't allow both 'allow_other' and 'allow_root' options to
948 be given
949
Miklos Szeredi437d8112005-07-06 09:14:20 +00009502005-07-06 Miklos Szeredi <miklos@szeredi.hu>
951
952 * fusermount: check if mountpoint is empty (only '.' and '..' for
953 directories, and size = 0 for regular files). If "nonempty"
954 option is given, omit this check. This is useful, so users don't
955 accidentally hide data (e.g. from backup programs). Thanks to
956 Frank van Maarseveen for pointing this out.
957
958 * kernel: check if mandatory mount options ('fd', 'rootmode',
959 'user_id', 'group_id') are all given
960
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000961 * lib: simplify 'readdir_ino' handling
962
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000963 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
964
Miklos Szeredibb9f5172005-07-03 18:03:11 +00009652005-07-03 Miklos Szeredi <miklos@szeredi.hu>
966
967 * kernel: clean up 'direct_io' code
968
Miklos Szeredie1bcece2005-06-28 10:37:06 +00009692005-06-28 Miklos Szeredi <miklos@szeredi.hu>
970
971 * Add 'mount.fuse' written by Petr Klima
972
Miklos Szeredi866826d2005-06-28 12:22:57 +0000973 * '/dev/fuse' is created by 'make install' if does not yet exist
974
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00009752005-06-20 Miklos Szeredi <miklos@szeredi.hu>
976
977 * Fix UCLIBC compile error. Patch by Christian Magnusson
978
Miklos Szerediec12fad2005-06-08 10:26:34 +00009792005-06-08 Miklos Szeredi <miklos@szeredi.hu>
980
981 * Enable the auto-loading of the module via access to the
982 corresponding device file. Patch by Takashi Iwai.
983
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000984 * Allow mounting a regular file (over a regular file) for
985 unprivleged users.
986
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000987 * Do not create temporary device file. Require "/dev/fuse" to
988 exist, and be readable/writable by the mounting user.
989
Miklos Szeredi46960ce2005-06-02 09:05:00 +00009902005-06-02 Miklos Szeredi <miklos@szeredi.hu>
991
Miklos Szeredi56478552005-06-02 10:29:00 +0000992 * Released 2.3.0
993
9942005-06-02 Miklos Szeredi <miklos@szeredi.hu>
995
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000996 * Fix serious information leak: if the filesystem returns a short
997 byte count to a read request, and there are non-zero number of
998 pages which are not filled at all, these pages will not be zeroed.
999 Hence the user can read out previous memory contents. Found by
1000 Sven Tantau.
1001
Miklos Szeredi33be22d2005-05-27 09:12:43 +000010022005-05-27 Miklos Szeredi <miklos@szeredi.hu>
1003
1004 * Add "readdir_ino" mount option, which tries to fill in the d_ino
1005 field in struct dirent. This mount option is ignored if "use_ino"
1006 is used. It helps some programs (e.g. 'pwd' used over NFS from a
1007 non-Linux OS). Patch by David Shaw.
1008
Miklos Szeredif94e0102005-05-12 14:56:34 +000010092005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1010
Miklos Szeredieb009c42005-05-12 15:01:17 +00001011 * Released 2.3-rc1
1012
10132005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1014
Miklos Szeredif94e0102005-05-12 14:56:34 +00001015 * File save in krusader and other editors doesn't work with sshfs,
1016 because open() is interrupted by a periodic signal, and open()
1017 restarts forever, without any progress. This could just be fixed
1018 in open(), but the problem is more generic: if signals are
1019 received more often than the filesystem can get the request to
1020 userspace, it will never finish. This is probably only a
1021 theoretical problem, nevertheless I'm removing the possibility to
1022 interrupt requests with anything other than SIGKILL, even before
1023 being sent to userspace. Bugreport by Eduard Czimbalmos.
1024
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +000010252005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1026
Miklos Szeredic2a33ee2005-05-09 13:29:17 +00001027 * libfuse: add "tree_lock" rwlock, that is locked for write in
1028 rename, unlink and rmdir, and locked for read in all other
1029 operations. This should fix the rename/release race reported by
1030 Valient Gough and others. The solution is very coarse, a finer
1031 grained locking scheme could be implemented, but it would be much
1032 more complex. Let's see whether this is good enough.
1033
10342005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1035
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001036 * Released 2.3-pre7
1037
Miklos Szeredi38009022005-05-08 19:47:22 +000010382005-05-08 Miklos Szeredi <miklos@szeredi.hu>
1039
1040 * Better fix for out of order FORGET messages. Now the
1041 LOOKUP/FORGET messages are balanced exactly (one FORGET can
1042 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001043 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +00001044 compatible.
1045
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +000010462005-05-06 Miklos Szeredi <miklos@szeredi.hu>
1047
1048 * Fix abort for out of order FORGET messages. Again. Spotted by
1049 Franco Broi again. Sorry :)
1050
Miklos Szeredi9372ffd2005-04-29 08:03:24 +000010512005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1052
Miklos Szeredicb6413a2005-04-29 08:16:20 +00001053 * Released 2.3-pre6
1054
10552005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1056
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00001057 * Make fusermount work with fuse kernel modules not yet supporting
1058 the "group_id" option (added for the purpose of stricter
1059 permission checking).
1060
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +000010612005-04-28 Miklos Szeredi <miklos@szeredi.hu>
1062
1063 * Check for hard-linked directories in lookup. This could cause
1064 problems in the VFS, which assumes that such objects never exist.
1065
1066 * Make checking of permission for other users more strict. Now
1067 the same privilege is required for the mount owner as for ptrace
1068 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001069
Miklos Szeredi3efcb562005-04-23 13:34:29 +000010702005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1071
1072 * Released 2.3-pre5
1073
Miklos Szeredid001bf92005-04-22 07:54:11 +000010742005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1075
1076 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1077 is needed on certain architectures. Report from Chris Kirby
1078
1079 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1080 Reported by David Shaw
1081
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001082 * Remove "allow_root" option from kernel module, and implement
1083 it's functionality in the library
1084
1085 * Fix Oops caused by premature release of fuse_conn. Clean up
1086 related code, to be more readable
1087
Miklos Szeredif9137452005-04-23 10:59:44 +00001088 * Sendfile should not use page cache if "direct_io" mount option
1089 is given
1090
Miklos Szeredib7640d22005-04-08 15:15:28 +000010912005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1092
1093 * Fix Oops in case of nfs export. Spotted by David Shaw
1094
Miklos Szeredi89814a12005-04-08 16:39:09 +00001095 * Fix another Oops in case of write over nfs with direct_io turned
1096 on. Again spotted by David Shaw
1097
Miklos Szerediab974562005-04-07 15:40:21 +000010982005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1099
Miklos Szeredi432d6182005-04-07 15:56:13 +00001100 * Released 2.3-pre4
1101
11022005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1103
Miklos Szerediab974562005-04-07 15:40:21 +00001104 * lib: finalized new readdir() interface, which now supersedes the
1105 getdir() method.
1106
Miklos Szeredi30e093a2005-04-03 17:44:54 +000011072005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1108
1109 * Released 2.3-pre3
1110
11112005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1112
1113 * Implement backward compatibility with version 5 kernel ABI
1114
Miklos Szeredi18fce982005-04-01 21:07:35 +000011152005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1116
1117 * Released 2.3-pre2
1118
11192005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1120
1121 * kernel: fix dirent offset handling
1122
1123 * lib: add readdir and releasedir methods
1124
1125 * lib: use fh field of fuse_file_info in opendir, readdir,
1126 releasedir and fsyncdir methods
1127
1128 * lib: check kernel API version and bail out of it's old. This
1129 will be properly fixed in the next release
1130
11312005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1132
1133 * Released 2.3-pre1
1134
Miklos Szeredieab72ef2005-03-31 19:59:12 +000011352005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1136
1137 * kernel API: add padding to structures, so 64bit and 32bit
1138 compiler will return the same size
1139
1140 * kernel API: add offset field to fuse_dirent. This will allow
1141 more sophisticated readdir interface for userspace
1142
1143 * kernel API: change major number to 6
1144
1145 * kernel: fix warnings on 64bit archs
1146
1147 * kernel: in case of API version mismatch, return ECONNREFUSED
1148
Miklos Szeredi407e6a72005-03-25 12:19:43 +000011492005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1150
1151 * kernel: trivial cleanups
1152
Miklos Szeredi4283ee72005-03-21 12:09:04 +000011532005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1154
1155 * Add fsyncdir() operation
1156
Miklos Szeredid17da462005-03-21 11:47:04 +000011572005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1158
1159 * kernel: add locking to background list (fixes previous fix)
1160
11612005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1162
1163 * kernel: fix bug which could cause leave busy inodes after
1164 unmount, and Oops.
1165
11662005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1167
1168 * examples: add -lpthread to link flags to work around valgrind
1169 quirk
1170
1171 * lib: don't exit threads, so cancelation doesn't cause segfault
1172
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000011732005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1174
1175 * kernel: fix nasty bug which could cause an Oops under certain
1176 situations. Found by Magnus Johansson
1177
Miklos Szeredif43f0632005-02-28 11:46:56 +000011782005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1179
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001180 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001181 permission checking in getdir() is too late. Thanks to Usarin
1182 Heininga for pointing out this deficiency
1183
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001184 * libfuse: added init() and destroy() methods to fuse_operations
1185
Miklos Szeredif43f0632005-02-28 11:46:56 +00001186 * kernel: llseek() method for files and directories made explicit
1187
1188 * kernel: fixed inode leak in NFS export in case of nodeid
1189 wrapping
1190
Miklos Szeredied3c97c2005-02-15 17:04:50 +000011912005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1192
1193 * libfuse: clean up some unitialized memory found with valgrind
1194
Miklos Szeredi47c52982005-02-23 09:27:38 +00001195 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1196 explicitly linked libpthread for applications
1197
Miklos Szeredia7169412005-02-10 07:35:05 +000011982005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1199
1200 * fusermount: set umask, otherwise /etc/mtab will have
1201 unpredictable permission. Spotted by Jindrich Kolorenc
1202
1203 * fusermount: set owner and group of /etc/mtab to original values
1204 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001205
1206 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001207
Miklos Szeredib92d9782005-02-07 16:10:49 +000012082005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1209
1210 * Cleaned up directory reading (temporary file is not used)
1211
Miklos Szerediff30a6c2005-02-02 10:53:59 +000012122005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1213
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001214 * Released 2.2
1215
12162005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1217
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001218 * Fix possible race when operation is interrupted
1219
Miklos Szeredi7a983952005-01-28 09:58:19 +000012202005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1221
Miklos Szeredie5183742005-02-02 11:14:04 +00001222 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001223
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000012242005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1225
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001226 * Released 2.2-pre6
1227
12282005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1229
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001230 * Fix bug in link() operation which caused the wrong path to be
1231 passed as the first argument. Found by Anton Altaparmakov
1232
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000012332005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1234
1235 * LIB: fix double reply in readdir operation
1236
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001237 * fusermount: fix uid checking bug. Patch by Adam Connell
1238
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001239 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001240 Patch by Keshava Gowda
1241
Miklos Szeredi64074142005-01-20 08:48:11 +000012422005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1243
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001244 * KERNEL: provide correct llseek semantics for fuse device (fixes
1245 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1246
12472005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1248
Miklos Szeredi64074142005-01-20 08:48:11 +00001249 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1250
Miklos Szeredi1adb2272005-01-18 21:19:58 +000012512005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1252
1253 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1254 and RELEASEDIR. This ends the ugly hack of passing a file
1255 descriptor to the kernel, and actually makes the code simpler.
1256
Miklos Szeredi7db35c02005-01-17 09:46:28 +000012572005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1258
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001259 * Released 2.2-pre4
1260
12612005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1262
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001263 * fusermount: remove capability setting, which was the cause of
1264 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001265 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001266
Miklos Szeredidbe0f652005-01-15 14:32:56 +000012672005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001268
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001269 * fix compilation on 2.4 kernels (reported by Valient Gough)
1270
1271 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001272
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001273 * fusermount: improve parsing of /etc/fuse.conf
1274
12752005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1276
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001277 * Remove 'mount_max' and 'user_allow_other' module options. These
1278 are now checked by fusermount, and can be set in /etc/fuse.conf
1279
1280 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1281
Miklos Szeredi81394522005-01-11 14:24:18 +000012822005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1283
1284 * KERNEL: fix possible inode allocation problem, where
1285 sizeof(struct inode) is not aligned (found by Mike Waychison)
1286
1287 * KERNEL: use new follow_link/put_link methods
1288
1289 * KERNEL: cosmetic fixes
1290
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000012912005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1292
1293 * Released 2.2-pre3
1294
12952005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1296
1297 * Add missing code that was accidently left out
1298
Miklos Szeredi8c7da232005-01-09 12:27:41 +000012992005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1300
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001301 * Released 2.2-pre2
1302
13032005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1304
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001305 * Change "uid" mount option to "user_id" to avoid confusion with a
1306 mount option "uid" commonly used by many filesystems
1307
13082005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1309
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001310 * Released 2.2-pre1
1311
13122005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1313
1314 * If FUSE is configured in the kernel, don't build it by default
1315
Miklos Szeredi2a927272005-01-07 11:14:15 +000013162005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1317
1318 * Compile fix by Christian Magnusson
1319
Miklos Szeredib6220192005-01-05 16:19:10 +000013202005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1321
1322 * Fix compilation for 2.6.{0-5} kernels
1323
Miklos Szeredi0f62d722005-01-04 12:45:54 +000013242005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1325
1326 * KERNEL: if request is interrupted, still keep reference to used
1327 inode(s) and file, so that FORGET and RELEASE are not sent until
1328 userspace finishes the request.
1329
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001330 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1331 request with the same information, which is more flexible,
1332 simpler, works on embedded systems.
1333
Miklos Szeredi0f62d722005-01-04 12:45:54 +000013342004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1335
1336 * KERNEL ABI: update interface to make it independent of type
1337 sizes. This will help on 64 bit architectures which can run
1338 legacy 32 bit applications.
1339
1340 * KERNEL ABI: add "len" field to request headers. This will allow
1341 sending/receiving requests in multiple chunks.
1342
1343 * KERNEL: handle file type change more intelligently
1344
1345 * LIB: "-o debug" option should disable backgrounding (fix by
1346 Fabien Reygrobellet)
1347
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000013482004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1349
1350 * KERNEL: invalidate dentry/attributes if interrupted request
1351 could leave filesystem in an unknown state.
1352
Miklos Szeredie56818b2004-12-12 11:45:24 +000013532004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1354
1355 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1356 These will cause some regressions, but stability is considered
1357 more important. If any of these features turns out to be
1358 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001359
Miklos Szeredie56818b2004-12-12 11:45:24 +00001360 * Make all requests interruptible (only with SIGKILL currently).
1361 This can be used to break any deadlock produced by the userspace
1362 filesystem accessing it's own exported files. The RELEASE request
1363 is special, because if it's interrupted before sending it to
1364 userspace it is still sent, but the reply is not awaited.
1365
1366 * If request is interrupted before being sent to userspace, and if
1367 it hasn't yet got any side effects, it is always restarted,
1368 regardless of the SA_RESTART flag. This makes these interruptions
1369 transparent to the process.
1370
1371 * Remove shared-writable mmap support, which was prone to an
1372 out-of-memory deadlock situation
1373
1374 * Remove INVALIDATE userspace initiated request
1375
1376 * Make readpages() synchronous. Asynchronous requests are
1377 deadlock prone, since they cannot be interrupted.
1378
1379 * Add readv/writev support to fuse device operations
1380
1381 * Remove some printks, which userspace FS can use for a DoS
1382 against syslog
1383
1384 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1385 fusermount instead
1386
1387 * LIB: improve compatibility with a fuse.h header installed in
1388 ${prefix}/include which in turn includes the real header.
1389
1390 * LIB: improve compatibility by defining fuse_main() (which is now
1391 not used), so old configure scripts find it.
1392
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000013932004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1394
1395 * When mounting on a subdirectory of / don't duplicate slashes at
1396 the beggining of path (spotted by David Shaw)
1397
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000013982004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1399
1400 * Fix bug causing garbage in mount options (spotted by David Shaw)
1401
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000014022004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1403
1404 * Add 'writepage' flag to 'fuse_file_info'.
1405
1406 * More comments in fuse.h
1407
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001408 * Get rid of double underscores
1409
Miklos Szeredi799993c2004-12-04 21:20:05 +000014102004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1411
1412 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1413
1414 * helper.c: add -ho option, which only displays the options not
1415 the usage header. This can be used by filesystems which have
1416 their own options.
1417
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000014182004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1419
1420 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1421 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1422 including the fuse header
1423
1424 * Add binary compatibility to 2.1 version of library with symbol
1425 versioning
1426
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000014272004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1428
1429 * Released 2.1
1430
Miklos Szeredi039322d2004-12-01 18:39:12 +000014312004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1432
1433 * kernel: clean up writing functions
1434
1435 * kernel: no allocation on write in direct_io mode
1436
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001437 * move linux/fuse.h to fuse_kernel.h
1438
Miklos Szeredi83a07442004-11-30 18:25:20 +000014392004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1440
1441 * kernel: clean up reading functions
1442
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000014432004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1444
1445 * kernel: make readpage() uninterruptible
1446
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001447 * kernel: check readonly filesystem flag in fuse_permission
1448
1449 * lib: don't die if version file not found and new style device
1450 exists
1451
1452 * lib: add '-r' option, which is short for '-o ro'
1453
1454 * fusermount: simplify device opening
1455
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001456 * kernel: when direct_io is turend on, copy data directly to
1457 destination without itermediate buffer. More efficient and safer,
1458 since no allocation is done.
1459
1460 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001461
1462 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001463
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000014642004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1465
1466 * libfuse API change: open, read, write, flush, fsync and release
1467 are passed a 'struct fuse_file_info' pointer containing the open
1468 flags (open and release), and the file handle. Verion changed to
1469 3.0.
1470
Miklos Szeredia25d4c22004-11-23 22:32:16 +000014712004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1472
1473 * More cleanups in the kernel
1474
1475 * The 10,229 charater device number has been assigned for FUSE
1476
1477 * Version file checking fix (reported by Christian Magnusson)
1478
1479 * fusermount: opening the fuse device now doesn't need /sys.
1480
1481 * Optimize reading by controlling the maximum readahead based on
1482 the 'max_read' mount option
1483
1484 * fixes for UCLIBC (Christian Magnusson)
1485
Miklos Szeredi13ed4822004-11-20 11:12:21 +000014862004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1487
1488 * Cleaned up kernel in preparation for merge into mainline:
1489
1490 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1491
1492 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1493
1494 * __user annotations for sparse
1495
1496 * allocate individual pages instead of kmalloc in fuse_readdir,
1497 fuse_read and fuse_write.
1498
1499 * Fix NFS export in case "use_ino" mount option is given
1500
Miklos Szeredif3845c42004-11-20 11:18:34 +00001501 * Make libfuse and fusermount compatible with future versions
1502
1503 * fusermount: properly add mount options to /etc/mtab
1504
15052004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1506
1507 * fusermount: do not resolve last component of mountpoint on if it
1508 is '.' or '..'. This new path resolvation is now done on mount as
1509 well as unmount. This enables relative paths to work on unmount.
1510
1511 * fusermount: parse common mount options like "ro", "rw", etc...
1512
1513 * Allow module params to be changed through sysfs
1514
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000015152004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1516
1517 * Released 2.1-pre1
1518
15192004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1520
1521 * Fix bug in fuse_readpages() causing Oops in certain situations.
1522 Bug found by Vincenzo Ciancia.
1523
1524 * Fix compilation with kernels versions > 2.6.9.
1525
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000015262004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001527
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001528 * Check kernel interface version in fusermount to prevent
1529 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001530
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001531 * No need to allocate fuse_conn until actual mount happens
1532
1533 * Fix potential race between umount and fuse_invalidate
1534
1535 * Check superblock of proc file in addition to inode number
1536
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001537 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001538
Miklos Szeredi51ec1032004-11-10 11:52:26 +000015392004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1540
1541 * Separate configure for the kernel directory
1542
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001543 * Don't allow write to return more than 'count'
1544
1545 * Extend kernel interface for future use
1546
Miklos Szeredi51ec1032004-11-10 11:52:26 +000015472004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1548
1549 * Fix 'makeconf.sh' to use autoreconf if available
1550
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000015512004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1552
Miklos Szeredid507c732004-11-08 17:32:25 +00001553 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1554 compatibility with earlier versions. To compile earier versions
1555 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1556 Do not use the "use_ino" mount flag with filesystems compiled with
1557 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001558
1559 * Add pkg-config support. To compile a FUSE based filesystem you
1560 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1561 or similar. Note, that the PKG_CONFIG_PATH environment variable
1562 usually needs to be set to "/usr/local/lib/pkgconfig".
1563
1564 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001565
Miklos Szeredia13d9002004-11-02 17:32:03 +000015662004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1567
1568 * Added "use_ino" mount option. This enables the filesystems to
1569 set the st_ino field on files
1570
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000015712004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1572
1573 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1574 by Jeremy Smith)
1575
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001576 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1577
1578 * Clear the 'exited' flag when mail loop is finished
1579
Miklos Szeredie989f0d2004-10-28 20:24:58 +000015802004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1581
1582 * Make xattr functions work under 2.6 (bug found by Vincenzo
1583 Ciancia)
1584
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000015852004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1586
1587 * Reset request in fuse_flush() (bugreport by David Shaw)
1588
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000015892004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1590
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001591 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001592 error code
1593
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001594 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001595 make it easier to implement a custom event loop.
1596
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001597 * Use daemon() call to background the filesystem after mounting.
1598 This function closes the standard input, output and error and
1599 changes the current working directory to "/".
1600
Miklos Szeredi127d49b2004-10-14 13:33:39 +000016012004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1602
1603 * Released 1.9
1604
Miklos Szeredid45baf42004-10-10 07:56:12 +000016052004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1606
1607 * Don't allow fuse_flush() to be interrupted (bug found by David
1608 Shaw)
1609
Miklos Szeredi1f18db52004-09-27 06:54:49 +000016102004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1611
1612 * Add PID to fuse_context. Patch by Steven James
1613
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001614 * Change file handle type to 'unsigned long' in kernel interface
1615
Miklos Szeredid169f312004-09-22 08:48:26 +000016162004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1617
1618 * A slight API change: fuse_get_context() doesn't need the "fuse"
1619 pointer, but the returned context contains it instead. The
1620 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001621
1622 * Fix mounting and umounting FUSE filesystem under another FUSE
1623 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001624
Miklos Szeredic2309912004-09-21 13:40:38 +000016252004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1626
1627 * Fix deadlock in case of memory allocation failure. Patch by
1628 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001629
Miklos Szeredib2cf9562004-09-16 08:42:40 +000016302004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1631
1632 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001633
Miklos Szeredi65afea12004-09-14 07:13:45 +000016342004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1635
1636 * Check temporary file creation failure in do_getdir(). Bug
1637 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001638
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000016392004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1640
1641 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001642
1643 * Make requests non-interruptible so race with FORGET is avoided.
1644 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001645
1646 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001647
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000016482004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1649
1650 * Fix bug in case two FORGETs for the same node are executed in
1651 the wrong order. Bug spotted and endured for months by Franco
1652 Broi, and logfile for solution provided by Terje Oseberg
1653
Miklos Szeredi12085102004-09-02 18:13:57 +000016542004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1655
1656 * Add -D_REENTRANT to the compile flags
1657
1658 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001659
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000016602004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1661
1662 * Change release method to be non-interruptible. Fixes bug
1663 causing missing release() call when program which has opened files
1664 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001665
Miklos Szeredi891b8742004-07-29 09:27:49 +000016662004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1667
1668 * Add fuse_invalidate() to library API
1669
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000016702004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1671
1672 * Check permissions in setattr if 'default_permissions' flag is
1673 set. Bug spotted by Damjan Lango
1674
Miklos Szeredid66d3942004-07-24 13:47:44 +000016752004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1676
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001677 * 'large_read' mount option removed for 2.6 kernels, since the
1678 default (dynamic read size) is better
1679
1680 * Extend kernel API with file handles. A file handle is returned
1681 by open, and passed to read, write, flush, fsync and release.
1682 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001683
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001684 * Security changes:
1685
1686 * Change the current directory to the mountpoint before checking
1687 the permissions and mount filesystem on "."
1688
1689 * By default don't modprobe the fuse module for non-root. The old
1690 behavior can be restored with the '--enable-auto-modprobe' flag of
1691 ./configure
1692
1693 * By default don't allow shared writable mappings for non-root.
1694 The old behavior can be restored with the 'user_mmap=1' module
1695 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001696
Miklos Szeredibd7661b2004-07-23 17:16:29 +000016972004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1698
1699 * Clean up mount option passing to fusermount and to fuse_new()
1700 BEWARE: this changes the userspace API slightly, and the command
1701 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001702
Miklos Szeredi58865372004-07-20 14:22:26 +000017032004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1704
1705 * Optimize reading under 2.6 kernels by issuing multiple page
1706 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001707
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000017082004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1709
1710 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001711
Miklos Szeredi069c9502004-07-16 16:17:02 +000017122004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1713
1714 * Separate directory entry and inode attribute validity timer
1715
1716 * New write semaphore to stop page writeback during truncate
1717
1718 * Fsync now waits for all writes to complete before sending the
1719 request
1720
1721 * Optimization: if a page is completely written by
1722 fuse_commit_write(), clear the dirty flag and set the uptodate
1723 flag for that page
1724
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001725 * Some memory cleanup at exit
1726
Miklos Szeredi2529ca22004-07-13 15:36:52 +000017272004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1728
1729 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001730 disable the "hide if open" behavior of unlink/rename.
1731
1732 * If temporary buffer allocation fails in raw read, fall back to a
1733 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001734
Miklos Szeredi73798f92004-07-12 15:55:11 +000017352004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1736
1737 * Fix bug in do_open() in libfuse: open count was incremented
1738 after the reply is sent so it could race with unlink/forget and
1739 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001740
Miklos Szeredi015fe702004-07-12 11:52:24 +000017412004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1742
1743 * When performing create or remove operation, refresh the parent's
1744 attributes on next revalidate, as i_nlink (and maybe size/time)
1745 could be inacurate.
1746
1747 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1748 pages (2.6 only)
1749
1750 * Set set_page_dirty address space operation (2.6 only)
1751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017522004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001753
1754 * Minor fix in read: print debug info even if read size is zero
1755
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017562004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001757
1758 * Fix race between truncate and writepage (fsx-linux now runs
1759 without error)
1760
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017612004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001762
1763 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1764 by Mattias Wadman)
1765
1766 * Added option for direct read/write (-r)
1767
1768 * Fix revalidate time setting for newly created inodes
1769
Miklos Szerediacb4d362004-07-02 16:20:45 +00001770 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1771 this)
1772
1773 * fuse_main() only installs handlers for signals (out of INT, HUP,
1774 TERM, PIPE), for which no handler has yet been installed
1775
1776 * Add module option 'user_allow_other' which if set to non-zero
1777 will allow non root user to specify the 'allow_other' mount option
1778 ('-x' option of fusermount)
1779
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001780 * Fix deadlock between page writeback completion and truncate
1781 (bug found by Valient Gough with the fsx-linux utility)
1782
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017832004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001784
1785 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001786 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1787 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001788
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017892004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001790
1791 * Acquire inode->i_sem before open and release methods to prevent
1792 concurrent rename or unlink operations.
1793
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001794 * Make __fuse_read_cmd() read only one command. This allows
1795 multiplexing the fuse file descriptor with other event sources
1796 using select() or poll() (patch by Jeff Harris)
1797
1798 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1799
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018002004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001801
1802 * Fix file offset wrap around at 4G when doing large reads
1803
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018042004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001805
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001806 * Fix memory leak in open (Valient Gough)
1807
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018082004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001809
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001810 * Add "close after delete" support to libfuse (patch by Valient
1811 Gough)
1812
1813 * Cancel all worker threads before exit in multithreaded mode
1814
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018152004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001816
1817 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001818
1819 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001820
1821 * Work with newer libtool (1.5a)
1822
1823 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001824
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018252004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001826
1827 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001828
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018292004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001830
1831 * Fix possible inode leak in userspace in case of unfinished
1832 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001833
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018342004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001835
1836 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001837
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018382004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001839
1840 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001841
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018422004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001843
1844 * Build shared library as well as static (using libtool)
1845
1846 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1847 there has not been a release with the previous minor number, and I
1848 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001849
1850 * Change fuse_main(), so that default behavior is to go into
1851 background if mount is successful. '-f' and '-d' options disable
1852 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1853 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001854
1855 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1856 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001857
1858 * Don't call getdir method from open() only from first readdir().
1859 Open is sometimes just used to store the current directory
1860 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001861
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018622004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001863
1864 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001865
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018662004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001867
1868 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001869
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018702004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001871
1872 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018742004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001875
1876 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001877
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018782004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001879
1880 * Replaced binary mount data with text options
1881
1882 * Show FUSE specific mount options in /proc/mounts
1883
1884 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1885
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018862004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001887
1888 * Check some limits so userspace won't get too big requests
1889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001891
1892 * Kill compile warning
1893
1894 * Upgraded user-mount patch for 2.6.5
1895
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018962004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001897
1898 * Add detection of user-mode-linux to configure
1899
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019002004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001901
1902 * fixed zero size case for getxattr and listxattr
1903
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019042004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001905
1906 * new fusermount flag '-z': lazy unmount, default is not lazy
1907
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001908 * Extended attributes operations added (getxattr, setxattr,
1909 listxattr, removexattr)
1910
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019112004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001912
1913 * If filesystem doesn't define a statfs operation, then an
1914 all-zero default statfs is returned instead of ENOSYS
1915
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019162004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001917
1918 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1919
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019202004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001921
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001922 * Fix for uClinux (Christian Magnusson)
1923
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019242004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001925
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001926 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001927
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001928 * More kernel interface changes:
1929
1930 * Lookup/getattr return cache timeout values
1931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019322004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001933
1934 * Clean up option parsing in fuse_main()
1935
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001936 * Added fuse_get() function which returns the fuse object created
1937 by fuse_main()
1938
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019392004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001940
Miklos Szeredic40748a2004-02-20 16:38:45 +00001941 * removed old way of mounting (fusermount mountpoint program)
1942
Miklos Szeredib5958612004-02-20 14:10:49 +00001943 * more kernel interface changes:
1944
1945 * added nanosecond precision to file times
1946
Miklos Szeredic40748a2004-02-20 16:38:45 +00001947 * removed interface version from mount data
1948
1949 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1950
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019512004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001952
1953 * statfs library API changed to match other methods. Since this
1954 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1955
Miklos Szeredi76f65782004-02-19 16:55:40 +00001956 * kernel interface changes follow:
1957
1958 * statfs changed to 64 bits, added 'bavail' field
1959
1960 * add generation number to lookup result
1961
1962 * optimized mknod/mkdir/symlink/link (no separate lookup is
1963 needed)
1964
1965 * rdev size increased to 32 bits for mknod
1966
1967 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001968
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019692004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001970
1971 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001972
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019732004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001974
1975 * Added user-mount.2.6.2-rc3.patch
1976
1977 * Add FS_SAFE flag to fuse filesystem
1978
1979 * fusermount should allow (un)mounting for non-root even if not
1980 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001981
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019822004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001983
1984 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001985
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019862004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001987
1988 * Added check for i_size_read/write functions to configure.in
1989 (patch by Valient Gough)
1990
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019912004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001992
1993 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001994
1995 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001996
1997 * Readpage calls flush_dcache_page() after storing data
1998
1999 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00002000
2001 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00002002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020032004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00002004
2005 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002006
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020072004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00002008
2009 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00002010
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020112004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00002012
2013 * Added -q option for fusermount
2014
2015 * fuse_unmount() now uses -q option of fusermount, so no error is
2016 printed if the cause of the program exit is that the filesystem
2017 has already been unmounted
2018
Miklos Szeredif4f8b892004-01-27 17:04:59 +00002019 * Fix i_nlink correctness after rmdir/unlink
2020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020212004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002022
Miklos Szeredib1158392004-01-26 14:43:12 +00002023 * Released 1.1-pre2
2024
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020252004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00002026
Miklos Szeredi307242f2004-01-26 11:28:44 +00002027 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00002028
2029 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00002030
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020312004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002032
2033 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00002034
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020352004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002036
2037 * Write all pending data before a RELEASE operation
2038
2039 * Suppress 'Bad file descriptor' warning on exit
2040
2041 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00002042 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00002043
Miklos Szeredib1158392004-01-26 14:43:12 +00002044 * New fusermount option '-l' which enables big reads. Big reads
2045 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00002046
2047 * fuse_main() can accept fusermount arguments after a '--'
2048
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020492004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00002050
2051 * Support for exporting filesystem over NFS (see README.NFS)
2052
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020532004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00002054
2055 * Support non-blocking writepage on 2.6. This makes FUSE behave
2056 much more nicely in low-memory situations
2057
2058 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
2059 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00002060
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020612004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00002062
2063 * Code cleanups
2064
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020652004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002066
2067 * Released 1.1-pre1
2068
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020692004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002070
2071 * Integrated 2.6 kernel support patch by Michael Grigoriev
2072
2073 * Improvements and cleanups for 2.6 kernels
2074
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020752004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002076
Miklos Szeredie5183742005-02-02 11:14:04 +00002077 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020792003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002080
2081 * Added major+minor version to library API, and minor version to
2082 kernel API
2083
David McNab7a19caf2003-12-13 02:05:46 +000020842003-12-13 David McNab <david@rebirthing.co.nz>
2085
2086 * Implemented fsync support in examples/example.py
2087
2088 * Implemented 'fsync' and 'statfs' methods in python
2089 interface
2090
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020912003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002092
Miklos Szeredie5183742005-02-02 11:14:04 +00002093 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002094
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002095 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002096
David McNab8bf62632003-12-11 22:49:22 +000020972003-12-12 David McNab <david@rebirthing.co.nz>
2098
2099 * Added distutils support to the python module, as per standard
2100 python development practice
2101
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021022003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002103
2104 * Add file locking for mount/unmount (based on patch by Valient
2105 Gough)
2106
21072003-12-11 David McNab <david@rebirthing.co.nz>
2108
2109 * Python filesystem - was broken with python2.3, now fixed:
2110 - changed PyTuple_* calls to PySequence_*, because os.lstat
2111 is no longer returning a pure tuple
2112 - changed PyInt_Check() calls to also call PyLong_Check,
2113 to cover for cases (eg os.lstat) where longs are returned
2114 - Added support for file 'release' handling, which IMO is
2115 essential since this signals to a FS that writes to a file
2116 are complete (and therefore the file can now be disposed of
2117 meaningfully at the python filesystem's discretion)
2118 - Added '__init__' handler to base Fuse class, which allows
2119 your Python class to know the mountpoint and mount args,
2120 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002121
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002122 * General:
2123 - added 'mount.fuse' script (in util/ dir), which is meant to be
2124 symlinked from /sbin, and which allows FUSE filesystems to
2125 be mounted with the 'mount' command, and listed in fstab;
2126 also, mount arguments get passed to your filesystem
2127
2128
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021292003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002130
2131 * Fix kernel version detection (again). Bugreport by Peter Levart
2132
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021332003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002134
2135 * Applied read combining patch by Michael Grigoriev (tested by
2136 Valient Gough and Vincent Wagelaar)
2137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021382003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002139
2140 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2141 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002142
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021432003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002144
2145 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002146
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021472003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002148
2149 * kernel version detection fix
2150
2151 * fusermount now uses "lazy" umount option
2152
2153 * fusermount can use modprobe with module-init-tools
2154
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021552003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002156
2157 * Integrated caching patch by Michael Grigoriev
2158
Miklos Szeredida4e4862003-09-08 11:14:11 +00002159 * Added "Filesystems" file with descriptions of projects using
2160 FUSE
2161
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002162 * Added patch by Michael Grigoriev to allow compliation of FUSE
2163 kernel module for 2.6 kernels
2164
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021652003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002166
2167 * And another spec-file fix by Achim Settelmeier
2168
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021692003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002170
2171 * Spec-file fix by Achim Settelmeier
2172
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021732003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002174
Miklos Szerediac361172004-11-02 19:14:14 +00002175 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002176
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021772003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002178
2179 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2180
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021812003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002182
2183 * Updated fuse.spec file (Achim Settelmeier)
2184
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021852003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002186
2187 * Version 1.0 released
2188
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021892003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002190
2191 * SuSE compilation fix by Juan-Mariano de Goyeneche
2192
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021932002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002194
2195 * The release() VFS call is now exported to the FUSE interface
2196
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021972002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002198
2199 * 64 bit file offset fixes in the fuse kernel module
2200
2201 * Added function 'fuse_exit()' which can be used to exit the main
2202 loop
2203
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022042002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002205
2206 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2207 an incompatible interface change.
2208
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022092002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002210
2211 * Portablility fix (bug reported by C. Chris Erway)
2212
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022132002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002214
2215 * Use Mark Glines' fd passing method for default operation instead
2216 of old reexec
2217
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022182002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002219
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002220 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2221
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022222002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002223
Miklos Szeredi60c23522002-10-24 09:19:43 +00002224 * fix incompatiblity with Red Hat kernels, with help from Nathan
2225 Thompson-Amato.
2226
Mark Glines65ba2192002-04-18 14:41:48 +000022272002-04-18 Mark Glines <mark@glines.org>
2228
2229 * added an alternative to fuse_mount(), called
2230 fuse_mount_ioslave(), which does not need to reexec the
2231 FUSE program.
2232 * added a small helper util needed by fuse_mount_ioslave().
2233
Mark Glines220635a2002-03-17 07:01:14 +000022342002-03-16 Mark Glines <mark@glines.org>
2235
2236 * use struct fuse_statfs everywhere possible to avoid problems
2237 with the headerfiles changing struct statfs member sizes
2238
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022392002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002240
2241 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2242
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022432002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002244
2245 * RPM support by Achim Settelmeier
2246
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022472002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002248
Miklos Szerediddc862a2002-01-09 13:46:10 +00002249 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002250
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022512002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002252
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002253 * Revaidate all path components not just the last, this means a
2254 very small performance penalty for being more up-to-date.
2255
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022562002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002257
2258 * Update and fix python interface
2259
Mark Glinesd84b39a2002-01-07 16:32:02 +000022602002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002261
Mark Glinesd84b39a2002-01-07 16:32:02 +00002262 * Added statfs() support to kernel, lib, examples, and perl!
2263
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022642001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002265
2266 * Better cross compilation support
2267
2268 * Ported to Compaq IPAQ
2269
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022702001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002271
Miklos Szeredife25def2001-12-20 15:38:05 +00002272 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002273 patch from Matt Ryan)
2274
Miklos Szeredife25def2001-12-20 15:38:05 +00002275 * Added flags to fusermount and to kernel interface to control
2276 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002277
Miklos Szeredife25def2001-12-20 15:38:05 +00002278 * Integrated fuse_set_operations() into fuse_new()
2279
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022802001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002281
2282 * Applied header protection + extern "C" patch by Roland
2283 Bauerschmidt
2284
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022852001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002286
Miklos Szeredie5183742005-02-02 11:14:04 +00002287 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002288
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022892001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002290
2291 * Cleaned up way of mounting simple filesystems.
2292
2293 * fuse_main() helper function added
2294
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022952001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002296
Miklos Szeredife25def2001-12-20 15:38:05 +00002297 * Optimized read/write operations, so that minimal copying of data
2298 is done
2299
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023002001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002301
2302 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002303
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023042001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002305
2306 * Fixed vfsmount reference leak in fuse_follow_link
2307
2308 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2309 userspace is ignored
2310
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023112001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002312
Miklos Szeredife25def2001-12-20 15:38:05 +00002313 * Started ChangeLog