blob: 24d143f05ef28be50651d8385a6269cbbea94180 [file] [log] [blame]
Miklos Szeredifc5309c2006-11-11 09:55:55 +000012006-11-11 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Print an error if an incompatible kernel interface version is
4 detected in INIT. This will only show if filesystem is started
5 with -d or -f
6
7 * Fix order of fuse_destroy()/fuse_unmount() in error cleanup of
8 fuse_setup_common(). Reported by Szakacsits Szabolcs
9
102006-11-06 Miklos Szeredi <miklos@szeredi.hu>
11
12 * Fix recursive locking in fuse_create(). Thanks to Takuya
13 Ishibashi for the bug report
14
Miklos Szeredi10d03ed2006-10-28 07:59:22 +0000152006-10-28 Miklos Szeredi <miklos@szeredi.hu>
16
17 * Fix automake problem. Patch from Nix
18
192006-10-26 Miklos Szeredi <miklos@szeredi.hu>
20
21 * Fix mount.fuse to use /bin/sh instead of /bin/bash, which is not
22 always available on embedded systems. Patch from Paul Smith
23
24 * Fix util/Makefile.am, so that failure to run update-rc.d or
25 device creation doesn't cause make to fail. Reported by Paul
26 Smith
27
Miklos Szeredie414a2f2006-10-22 11:29:14 +0000282006-10-21 Miklos Szeredi <miklos@szeredi.hu>
29
30 * Released 2.6.0
31
Miklos Szeredi87ad64c2006-10-18 08:17:08 +0000322006-10-18 Miklos Szeredi <miklos@szeredi.hu>
33
34 * fusermount: don't try to create a lock file if /etc/mtab is a
35 symlink. Report and patch from Alexei Sheplyakov (debian bug
36 #393693)
37
Miklos Szeredidcfb8212006-10-17 18:17:58 +0000382006-10-17 Miklos Szeredi <miklos@szeredi.hu>
39
40 * Minor changes, sync with mainline tree
41
Miklos Szeredi12e5c982006-10-16 09:06:26 +0000422006-10-16 Miklos Szeredi <miklos@szeredi.hu>
43
44 * Released 2.6.0-rc3
45
462006-10-15 Miklos Szeredi <miklos@szeredi.hu>
47
48 * kernel: cleanups
49
Miklos Szeredid6f8db72006-10-13 09:54:24 +0000502006-10-13 Miklos Szeredi <miklos@szeredi.hu>
51
Miklos Szeredibcfa4162006-10-13 19:48:19 +000052 * kernel: Fix compilation on patched 2.6.18 (fc6) and 2.6.19.
Miklos Szeredid6f8db72006-10-13 09:54:24 +000053 Report from David Shaw
54
Miklos Szeredi744f9d52006-10-13 20:04:46 +000055 * lib: Fix lost error on renaming a file. Report from David Shaw
56
57 * lib: Fix lost error on hiding open files (renaming to
58 .fuse_hiddenXXXX)
Miklos Szeredibcfa4162006-10-13 19:48:19 +000059
60 * kernel: Fix a rare hang on SMP/32bit on heavy filesystem
61 activity. The cause of the bug was that some calls to
62 i_size_write() were not protected by a lock, and hence
63 i_size_seqcount could become corrupted. This caused subsequent
64 calls to i_size_read() to spin forever. This is a long standing
65 bug was probably introduced in version 2.2, and thought to be
66 related to NFS exporting (it's not). It was reported by various
67 people, but Dana Henriksen has finally helped me to track it down,
68 so big thanks to him
69
70 * kernel: Protect against truncation of a swapfile
71
Miklos Szeredi856e5cb2006-10-11 05:44:55 +0000722006-10-10 Miklos Szeredi <miklos@szeredi.hu>
73
74 * kernel: Check for signature of super_operations->umount_begin().
75 Ubuntu kernel 2.6.17 seems to use the new signature found in
76 2.6.18. Thanks to Florent Mertens for the report
77
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +0000782006-10-08 Miklos Szeredi <miklos@szeredi.hu>
79
80 * Make sure inode numers wrap around at 2^32. This is needed on
81 dual 64bit/32bit architectures, because 32bit applications using
82 the non-largefile interface would otherwise break (EOVERFLOW error
83 would be returned by the stat() system call family)
84
85 * ulockmgr: handle the case, when a locking operation fails
86 because no more file desctriptors are available in
87 ulockmgr_server. Also work around a Linux kernel bug (known to
Miklos Szeredi53eec2a2006-10-10 18:53:38 +000088 exist for all Linux kernel versions <= 2.6.18) which may cause
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +000089 sent file descriptors to be lost in the above case
90
91 * ulockmgr: optimize file descriptor use
92
93 * restore needed cpp flags to util/Makefile.am
94
95 * Install udev rules as 99-fuse.rules instead of 60-fuse.rules
96
97 * Minor clean up of udev rules
98
Miklos Szeredib9ea32f2006-10-08 17:35:40 +000099 * Add a synchronous DESTROY message to kernel interface. This is
100 invoked from umount, when the final instance of the filesystem is
101 released. It is only sent for filesystems mounted with the
102 'blkdev' option for security reasons.
103
104 * If the DESTROY message is received, call the filesystem's
105 ->destroy() method. In this case it's not called from session
106 destruction as it would be otherwise.
107
Miklos Szeredi4003dfa2006-10-01 13:46:02 +00001082006-10-01 Miklos Szeredi <miklos@szeredi.hu>
109
Miklos Szerediff1e0d42006-10-01 14:42:02 +0000110 * Released 2.6.0-rc2
111
1122006-10-01 Miklos Szeredi <miklos@szeredi.hu>
113
Miklos Szeredi4fca4322006-10-01 14:41:04 +0000114 * Add support for FLUSH+RELEASE operation for FreeBSD. Original
115 patch by Csaba Henk
116
Miklos Szeredi4003dfa2006-10-01 13:46:02 +0000117 * Add init script to insert fuse module and mount the control
118 filesystem. The script is installed as /etc/init.d/fuse and on
119 debian based systems (where update-rc.d is available) symlinks
120 from /etc/rc*.d/ are also installed.
121
122 * Include '#define FUSE_USE_VERSION=XX' into examples so they
123 become more self contained.
124
Miklos Szeredi6cf952a2006-09-30 07:39:33 +00001252006-09-30 Miklos Szeredi <miklos@szeredi.hu>
126
Miklos Szeredi07407852006-09-30 20:03:52 +0000127 * API changes:
128
129 * Move lock_owner from a separate argument into fuse_file_info
130
131 * Add a flag to fuse_file_info indicating (1) a highlevel lock
132 operation (unlock all) was initiated by a flush, (2) a lowlevel
133 release operation should perform a flush as well.
134
Miklos Szeredi004a8c72006-09-30 16:41:12 +0000135 * fusermount: revert modprobe change (2006-08-18) since it
136 doesn't work reliably with udev
137
Miklos Szeredi708b4812006-09-30 16:02:25 +0000138 * Add support for block device backed filesystems. This mode is
139 selected with the 'blkdev' option, which is privileged.
140
141 * Add support for the bmap (FIBMAP ioctl) operation on block
142 device backed filesystems. This allows swapon and lilo to work on
143 such filesystems.
144
Miklos Szeredid93a4292006-09-30 12:21:49 +0000145 * kernel changes:
146
Miklos Szeredi6cf952a2006-09-30 07:39:33 +0000147 * Drop support for kernels earlier than 2.6.9. Kernel module from
148 previous (2.5.x) release can be used with library from this
149 release
150
Miklos Szeredid93a4292006-09-30 12:21:49 +0000151 * In fuse_dentry_revalidate() use dget_parent() instead of
152 dereferencing d_parent, since there's no protection against parent
153 changing and going away
154
155 * Protect nlookup from concurrent updates
156
157 * In lookup if a directory alias exists but is unused,
158 then get rid of it, otherwise return -EBUSY.
159
160 * In mkdir if a directory alias exists, return success, but leave
161 dentry negative. In reality this could happen if a remote rename
162 immediately followed the mkdir.
163
164 * Don't BUG in fuse_iget() if multiple retries are needed to get a
165 good inode. This could happen if several lookups are racing for
166 the same inode.
167
Miklos Szeredi40ec1752006-09-30 06:17:31 +00001682006-09-29 Miklos Szeredi <miklos@szeredi.hu>
169
170 * Fix compilation on 2.6.9. Report from Troy Ayers
171
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001722006-09-27 Miklos Szeredi <miklos@szeredi.hu>
173
174 * Fix Oops in fuse_readpages(). Reported by David Shaw
175
Csaba Henk3e3a1252006-09-24 14:53:29 +00001762006-09-24 Csaba Henk <csaba.henk@creo.hu>
177
178 * Add support for nanosec times on FreeBSD
179
180 * Fix FreeBSD compatibility issues
181
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001822006-09-23 Miklos Szeredi <miklos@szeredi.hu>
183
184 * Fix one more compatibility bug. Thanks to Ricardo Correia
185
186 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
187
Miklos Szeredieafdf422006-09-22 19:30:17 +00001882006-09-22 Miklos Szeredi <miklos@szeredi.hu>
189
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000190 * Fixed several compatibility bugs in low level interface.
191 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +0000192
193 * Add workaround for ARM caching bug
194
Miklos Szeredic3b76812006-09-16 08:52:09 +00001952006-09-16 Miklos Szeredi <miklos@szeredi.hu>
196
197 * Rename new utimes() method to more logical utimens()
198
1992006-09-14 Miklos Szeredi <miklos@szeredi.hu>
200
201 * Fuse tried to unlink already unlinked hidden files. Bug
202 reported by Milan Svoboda
203
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +00002042006-09-10 Miklos Szeredi <miklos@szeredi.hu>
205
206 * Released 2.6.0-rc1
207
2082006-09-10 Miklos Szeredi <miklos@szeredi.hu>
209
210 * kernel: Fix unlock on close for kernels < 2.6.18
211
212 * Add ulockmgr library & server. This can be used for handling
213 file locking requests either directly from libfuse or over a
214 network, etc. This first version is not optimized and the number
215 of file descriptors it uses may get out of hand
216
Miklos Szeredi288ed4e2006-09-07 06:02:44 +00002172006-09-07 Miklos Szeredi <miklos@szeredi.hu>
218
219 * lib: Add interrupt support to high level library, which may be
220 enabled with the 'intr' mount option.
221
222 * When an operation is interrupted the thread handling that
223 operation will receive SIGUSR1 (or other signal specified with the
224 'intr_signal=N' option). The library installs a no-op signal
225 handler for this signal, unless there's already a handler
226 installed.
227
228 * The filesystem may query interrupt status (regardless of 'intr')
229 with the fuse_interrupted() function.
230
Miklos Szeredid8588412006-09-07 06:08:56 +0000231 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
232
Miklos Szeredi38f152c2006-09-03 18:28:52 +00002332006-09-03 Miklos Szeredi <miklos@szeredi.hu>
234
235 * lib: Multithreaded loop now allows unlimited number of threads.
236 This is needed for locking operations which may block
237 indefinitely. Also the kernel now doesn't limit the number of
238 outstanding requests so the library shouldn't do so either.
239
Miklos Szeredifa440772006-09-02 09:51:08 +00002402006-09-01 Miklos Szeredi <miklos@szeredi.hu>
241
242 * Fix recursive lock bug in interrupt handling
243
244 * Add utimes() method to highlevel interface, which supports
245 setting times with nanosecond resolution
246
Miklos Szeredi63d3c402006-08-18 16:38:08 +00002472006-08-18 Miklos Szeredi <miklos@szeredi.hu>
248
249 * kernel: fix page leak if fuse_readpages() failed in it's
250 initialization. Bug found and original patch from Alexander
251 Zarochentsev
252
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000253 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
254 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000255 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000256
Miklos Szeredi543087d2006-08-18 19:26:23 +0000257 * fusermount: try to modprobe fuse module if invoked by root and
258 unable to open device. This is needed with udev, since the device
259 node will be created only when the module is inserted, hence
260 module autoloading won't work. Reported by Szakacsits Szabolcs
261
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002622006-07-30 Miklos Szeredi <miklos@szeredi.hu>
263
264 * fusermount: if selinux is active, restore the original file's
265 security context in unmount_rename(). Redhat bugzilla id 188561.
266 Patch from Yves Perrenoud
267
268 * Add POSIX file locking operation to high level library
269
Miklos Szerediad519562006-07-31 11:07:40 +0000270 * Initialize context for unlink of hidden files on umount. Bug
271 reported by Tim Stoakes
272
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002732006-07-14 Miklos Szeredi <miklos@szeredi.hu>
274
275 * Multiple release() calls can race with each other, resulting in
276 the hidden file being deleted before the last release finishes.
277 Bug found and patch tested by Mark Huijgen
278
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00002792006-07-05 Miklos Szeredi <miklos@szeredi.hu>
280
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000281 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
282 this makes sense on systems using udev. Reported by Szakacsits
283 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000284
Miklos Szeredi91762cd2006-06-29 14:38:35 +00002852006-06-29 Miklos Szeredi <miklos@szeredi.hu>
286
287 * Released 2.6.0-pre3
288
2892006-06-29 Miklos Szeredi <miklos@szeredi.hu>
290
291 * Support in kernel module for file locking and interruption. The
292 same functionality is available in official kernels >= 2.6.18
293
Miklos Szeredib052a1a2006-06-28 14:51:20 +00002942006-06-28 Miklos Szeredi <miklos@szeredi.hu>
295
296 * Add POSIX file locking support
297
298 * Add request interruption
299
Miklos Szeredi55a84102006-06-06 10:16:38 +00003002006-06-06 Miklos Szeredi <miklos@szeredi.hu>
301
302 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
303
Miklos Szeredi9dedb702006-06-06 09:48:30 +00003042006-06-05 Remy Blank <remy.blank@pobox.com>
305
306 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
307 unmounting succeeds even if mount point was relative.
308
Csaba Henkd021ce42006-06-03 23:04:18 +00003092006-06-04 Csaba Henk <csaba.henk@creo.hu>
310
311 * lib: fix emergency umount in helper.c when malloc fails.
312 (The way it was done would end up in a segfault.)
313
Csaba Henk4f5c7b42006-06-01 14:19:17 +00003142006-06-01 Csaba Henk <csaba.henk@creo.hu>
315
316 * lib: adjust threading related compiler flags.
317 Switch to "-pthread" from "-lpthread" as that's the preferred
318 one on several platforms. Consulted with Terrence Cole and
319 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000320
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00003212006-05-08 Miklos Szeredi <miklos@szeredi.hu>
322
323 * lib: search fusermount in installation directory (bindir) as
324 well as in PATH.
325
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00003262006-05-03 Miklos Szeredi <miklos@szeredi.hu>
327
328 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
329 Reported by Christian Magnusson
330
Csaba Henk2efe48f2006-04-22 22:46:52 +00003312006-04-23 Csaba Henk <csaba.henk@creo.hu>
332
333 * lib: make FreeBSD mount routine recognize if kernel features
334 backgrounded init and if it does, run the mount util in foreground
335 (similarly to Linux)
336
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00003372006-04-21 Miklos Szeredi <miklos@szeredi.hu>
338
339 * kernel: fix fput deadlock fix, the lockless solution could lead
340 to "VFS: busy inodes after umount..."
341
342 * kernel: fix race between checking and setting file->private_data
343 for the device. Found by Al Viro
344
3452006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000346
347 * kernel: remove request pool, instead allocate requests on
348 demand. Account the number of background requests, and if they go
349 over a limit, block the allocation of new requests.
350
351 * kernel: fix deadlock if backgrounded request holds the last
352 reference to the super block
353
354 * kernel: don't use fuse_reset_request() during direct I/O
355
Csaba Henkbaa49d22006-04-06 00:12:44 +00003562006-04-06 Csaba Henk <csaba.henk@creo.hu>
357
358 * lib: Let FreeBSD mount option parsing routine recognize "no"
359 prefixes for FUSE specific options as well
360
Miklos Szeredid0a777a2006-04-05 07:18:00 +00003612006-04-01 Miklos Szeredi <miklos@szeredi.hu>
362
363 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
364
Miklos Szeredi6f385412006-03-17 15:05:40 +00003652006-03-17 Miklos Szeredi <miklos@szeredi.hu>
366
367 * API changes:
368
369 * fuse_main(), fuse_setup() and fuse_new() have an additionl
370 user_data parameter
371
372 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
373 file descriptor
374
375 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
376 destroys the given channel
377
378 * fuse_teardown() no longer has a file descriptor parameter
379
380 * new exported functions: fuse_session_remove_chan(),
381 fuse_get_session(), fuse_daemonize()
382
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000383 * fuse_chan_recv() may now return a new channel which will be used
384 to send the reply
385
Miklos Szeredif51e43f2006-03-16 14:19:25 +00003862006-03-16 Miklos Szeredi <miklos@szeredi.hu>
387
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000388 * Released 2.6.0-pre2
389
3902006-03-16 Miklos Szeredi <miklos@szeredi.hu>
391
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000392 * Don't unmount if already unmounted. This fixes a problem seen
393 in the following situation: Lazy unmount a busy filesystem; Mount
394 a new one in top; When the first finally unmounts, the second also
395 unmounts. Reported by Franco Broi
396
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00003972006-03-15 Miklos Szeredi <miklos@szeredi.hu>
398
399 * lowlevel lib: use indirect function calls instead of a
400 switch/case construct. Besides increased efficiency it helps
401 maintainability & readability too. Patch from Florin Malita
402
Miklos Szeredi67d26d42006-03-13 17:39:56 +00004032006-03-13 Miklos Szeredi <miklos@szeredi.hu>
404
405 * kernel: replace global spinlock with a per-connection spinlock
406
Miklos Szeredi87c77932006-03-10 10:18:20 +00004072006-03-10 Miklos Szeredi <miklos@szeredi.hu>
408
409 * Fix source compatibility breakage for fuse_unmount(). Report
410 from Yura Pakhuchiy
411
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00004122006-03-02 Miklos Szeredi <miklos@szeredi.hu>
413
414 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
415
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00004162006-03-01 Miklos Szeredi <miklos@szeredi.hu>
417
418 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
419 Jeff Dike
420
421 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
422 interface to return -errno in case of error.
423
Csaba Henkee588c02006-03-01 09:40:35 +00004242006-03-01 Csaba Henk <csaba.henk@creo.hu>
425
426 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
427 FreeBSD implementation so that it uses libc (sysctl backed) instead
428 of an embdedded script (kmem backed). Adjust the control flow of
429 hello_ll so that device doesn't get closed before unmount attempt.
430
Miklos Szerediaa8258e2006-02-25 14:42:03 +00004312006-02-25 Miklos Szeredi <miklos@szeredi.hu>
432
433 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
434 implement method. This is needed on FreeBSD, and nicer on Linux
435 too. Highlevel lib already did this. Reported by Csaba Henk
436
437 * Fix negative entry handling. There was a bug, that negative
438 lookups with timeouts (nodeid == 0) returned -EIO.
439
4402006-02-23 Miklos Szeredi <miklos@szeredi.hu>
441
442 * Fix race between RELEASE and UNLINK, which might leave
443 .fuse_hidden* files around
444
Miklos Szeredi6bab4802006-02-21 18:31:29 +00004452006-02-21 Miklos Szeredi <miklos@szeredi.hu>
446
447 * fusexmp_fh: implement flush() method and call close() on the
448 open file descriptor. This is needed if used on an NFS
449 filesystem, which buffers data until file is closed. Franco Broi
450 spotted the situation when 'cp -p' failed to set the modification
451 time because of this.
452
Miklos Szeredie109e282006-02-20 11:06:20 +00004532006-02-20 Miklos Szeredi <miklos@szeredi.hu>
454
455 * Released 2.6.0-pre1
456
Miklos Szeredib67f2162006-02-20 10:55:33 +00004572006-02-19 Miklos Szeredi <miklos@szeredi.hu>
458
459 * libfuse: fix use-after-free bug in interruptred reply_entry().
460 Patch from John Muir
461
462 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
463 ID: 352631. Found by Stéphane Rosi
464
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00004652006-02-17 Miklos Szeredi <miklos@szeredi.hu>
466
467 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
468 into a single function fuse_add_direntry(). This cleans up the
469 interface and makes it possible to do stacking.
470
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00004712006-02-16 Miklos Szeredi <miklos@szeredi.hu>
472
473 * Fix rare race betweeen abort and release caused by failed iget()
474 in fuse_create_open().
475
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000476 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
477 own attribute caching.
478
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00004792006-02-15 Miklos Szeredi <miklos@szeredi.hu>
480
481 * Work around FreeBSD runtime linker "feature" which binds an old
482 version of a symbol to internal references if the symbol has more
483 than one version. This resulted in infinite recursion in
484 fuse_lowlevel_new_compat25().
485
Csaba Henkdcce3e52006-02-10 06:22:15 +00004862006-02-10 Csaba Henk <csaba.henk@creo.hu>
487
488 * Refine clock_gettime() querying so that linker options
489 shall be set as it's appropriate for the target platform.
490
Miklos Szeredi390ae312006-02-10 16:44:34 +00004912006-02-09 Miklos Szeredi <miklos@szeredi.hu>
492
493 * Fix udev rule syntax. Reported by Nix
494
Miklos Szeredieb643582006-02-08 10:54:02 +00004952006-02-08 Miklos Szeredi <miklos@szeredi.hu>
496
497 * In some cases udev rule seems to be ineffective when installed
498 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
499
Miklos Szeredi357529c2006-02-03 09:20:31 +00005002006-02-03 Miklos Szeredi <miklos@szeredi.hu>
501
502 * Fix compilation when build directory is different from source
503 directory. Reported by Frédéric L. W. Meunier
504
Miklos Szeredice28c7e2006-02-02 14:59:05 +00005052006-02-02 Miklos Szeredi <miklos@szeredi.hu>
506
507 * Fix even bigger bug introduced in fix for request_end() on
508 2006-01-14. Reported by Gal Rosen
509
Miklos Szeredi320abe42006-01-30 18:14:51 +00005102006-01-30 Miklos Szeredi <miklos@szeredi.hu>
511
512 * highlevel-lib: add 'auto_cache' option. This caches file data
513 based on modification time and size
514
Miklos Szeredi065f2222006-01-20 15:15:21 +00005152006-01-20 Miklos Szeredi <miklos@szeredi.hu>
516
Miklos Szeredid66b7282006-02-02 15:15:21 +0000517 * Sanitize storage type and help message in mount_bsd.c. Patch
518 from Csaba Henk
519
Miklos Szeredi065f2222006-01-20 15:15:21 +0000520 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
521 FUSE_OPT_KEY_DISCARD
522
523 * Add options 'max_readahead', 'sync_read' and 'async_read'
524
525 * Kernel ABI version 7.6:
526
527 * Negotiate the 'max_readahead' value and 'async_read' flags with
528 userspace in the INIT method
529
530 * Add connection info to ->init() methods to both lowlevel and
531 highlevel API
532
533 * Fall back to synchronous read() behavior if either library or
534 userspace filesystem is using the old interface version. This is
535 needed so non-updated filesystems won't be confused by the
536 different read() behavior
537
5382006-01-19 Miklos Szeredi <miklos@szeredi.hu>
539
540 * lib: if "fsname=" option was given, pass it to fusermount
541
542 * fuse_opt: add new fuse_opt_insert_arg() function, which is
543 needed by filesystems to implement some argument manipulations
544 correctly
545
546 * fuse_opt: fix memory leak in handling "--" option
547
5482006-01-18 Miklos Szeredi <miklos@szeredi.hu>
549
550 * kernel: fix detection of case when fuse is not configured into
551 the kernel either as module or built-in
552
553 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
554 'template' structure member to 'templ'. Reported by Takashi Iwai
555
556 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
557
558 * kernel: support version 2.6.16 (i_sem -> i_mutex)
559
Miklos Szeredi15af1b82006-01-16 17:52:24 +00005602006-01-16 Miklos Szeredi <miklos@szeredi.hu>
561
562 * Added (again) asynchronous readpages support
563
564 * Each connection now shows up under /sys/fs/fuse/connections
565
566 * Connection attributes exported to sysfs: 'waiting' number of
567 waiting requests; 'abort' abort the connection
568
569 * Connection may be aborted through either the sysfs interface or
570 with 'umount -f mountpoint'
571
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00005722006-01-14 Miklos Szeredi <miklos@szeredi.hu>
573
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000574 * Released 2.5.0
575
5762006-01-14 Miklos Szeredi <miklos@szeredi.hu>
577
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000578 * kernel: fix a couple of bugs
579
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000580 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000581 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000582 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000583
584 * request_end() used request pointer after decrementing refcount
585
586 * Clearing ->connected or ->mounted connection flags could race
587 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000588
Miklos Szeredia9820342006-01-10 10:54:11 +00005892006-01-10 Miklos Szeredi <miklos@szeredi.hu>
590
591 * kernel: add necessary compile flags for 2.4.X/x86_64.
592 Report from Sean Ziegeler
593
Miklos Szeredi35676b02006-01-09 10:13:28 +00005942006-01-09 Miklos Szeredi <miklos@szeredi.hu>
595
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000596 * Released 2.5.0-pre2
597
5982006-01-09 Miklos Szeredi <miklos@szeredi.hu>
599
Miklos Szeredi35676b02006-01-09 10:13:28 +0000600 * Applied patch from Csaba Henk, to update mount_bsd to new
601 fuse_mount() semantics
602
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000603 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
604 Steiner and Don Taber
605
Miklos Szeredicb075c82006-01-09 11:33:04 +0000606 * fusermount: add 'dirsync' mount option
607
Miklos Szerediad005972006-01-07 10:14:34 +00006082006-01-07 Miklos Szeredi <miklos@szeredi.hu>
609
610 * Improved help reporting and added version reporting to library
611
Miklos Szeredi0af762a2006-01-06 09:47:54 +00006122006-01-06 Miklos Szeredi <miklos@szeredi.hu>
613
614 * Change working directory to "/" even if running in the
615 foreground. Patch from Jonathan Brandmeyer
616
Miklos Szeredi95da8602006-01-06 18:29:40 +0000617 * Changed lots of functions to use 'struct fuse_args' instead of
618 separate argc and argv
619
620 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
621 fuse_remove_signal_handlers() functions, so that it's now pretty
622 easy to get all the functionality of fuse_main() with a filesystem
623 using the lowlevel API.
624
Miklos Szeredib8638182006-01-02 12:52:24 +00006252006-01-02 Miklos Szeredi <miklos@szeredi.hu>
626
Miklos Szeredif1941472006-01-02 16:27:48 +0000627 * mount.fuse: the 'user' option should be ignored. Report and
628 solution from Mattd.
629
630 * mount.fuse: export PATH in the right place. Report and patch
631 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000632
Miklos Szeredi73f41392005-12-16 11:12:16 +00006332005-12-16 Miklos Szeredi <miklos@szeredi.hu>
634
635 * Clean up the option parsing interface slightly, by creating an
636 "argument list" structure, that contains the argument vector and
637 count
638
Miklos Szeredi4e829092005-12-15 16:13:49 +00006392005-12-15 Miklos Szeredi <miklos@szeredi.hu>
640
641 * fusermount: check if /mnt/mtab is a symlink and don't modify it
642 in that case
643
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000644 * kernel: simplify request size limiting. INIT only contains
645 maximum write size, maximum path component size remains fixed at
646 1024 bytes, and maximum xattr size depends on read buffer.
647
Miklos Szeredie248e4b2005-12-14 16:18:32 +00006482005-12-14 Miklos Szeredi <miklos@szeredi.hu>
649
650 * Fix readdir() failure on x86_64, of 32bit programs compiled
651 without largefile support. Bug report and help from Anthony
652 Kolasny
653
Miklos Szeredi64709572005-12-14 22:16:28 +0000654 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000655 a regular file
656
657 * Add current output argument vector to option processing
658 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000659
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00006602005-12-12 Miklos Szeredi <miklos@szeredi.hu>
661
662 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
663
Miklos Szeredi659743b2005-12-09 17:41:42 +00006642005-12-09 Miklos Szeredi <miklos@szeredi.hu>
665
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000666 * Released 2.5.0-pre1
667
6682005-12-09 Miklos Szeredi <miklos@szeredi.hu>
669
Miklos Szeredi659743b2005-12-09 17:41:42 +0000670 * libfuse: added option parsing interface, defined in
671 <fuse_opt.h>.
672
Miklos Szeredic53cddd2005-12-07 12:57:59 +00006732005-12-07 Miklos Szeredi <miklos@szeredi.hu>
674
675 * Return EIO for file operations (read, write, fsync, flush) on
676 open files whose inode has become "bad". Inodes will be marked
677 "bad" if their type changes. Bug report by Csaba Henk
678
Miklos Szeredi044da2e2005-12-06 17:59:55 +00006792005-12-06 Miklos Szeredi <miklos@szeredi.hu>
680
681 * Use bigger request buffer size. write() did not work on archs
682 with > 4k page size, Bug report by Mark Haney
683
684 * ABI version 7.5:
685
686 * Extend INIT reply with data size limits
687
Miklos Szeredifa829b52005-12-02 11:05:41 +00006882005-12-02 Miklos Szeredi <miklos@szeredi.hu>
689
690 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
691 reported by Vincenzo Ciancia
692
693 * Handle exit-by-umount in fuse_read_cmd()
694
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00006952005-11-29 Miklos Szeredi <miklos@szeredi.hu>
696
697 * Check if '-msoft-float' option is supported by compiler when
698 configuring for a 2.4.x kernel. Bug report by Mark Haney
699
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000700 * In multithreaded loop send a TERM signal to the main thread if
701 one of the other threads exit. Needed on FreeBSD for a clean exit
702 on umount. Should not cause any harm on Linux either
703
Miklos Szerediead7f102005-11-28 16:02:27 +00007042005-11-28 Miklos Szeredi <miklos@szeredi.hu>
705
706 * Fix bug in 32-bit file handle compatibility
707
Miklos Szeredia90b7342005-11-27 19:22:42 +00007082005-11-27 Miklos Szeredi <miklos@szeredi.hu>
709
710 * Block TERM, INT, HUP and QUIT signals in all but the main
711 thread. According to POSIX it's not specified which thread will
712 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000713
714 * Kernel changes:
715
716 * Check for directory aliasing on mkdir, not just on lookup
717
718 * Check for special node ID values in create+open operation
719
720 * Sync with -mm: readv, writev, aio_read and aio_write methods
721 added to file operations
722
723 * Cleanups: lookup code, page offset calculation
724
725 * ABI stepped to 7.4, changes:
726
727 * frsize member added to fuse_kstatfs structure
728
729 * added support for negative entry caching: on lowlevel API if
730 fuse_entry_param::ino is set to zero in reply to a lookup request,
731 the kernel will cache the dentry for the specified amount of time.
732
733 * libfuse: added 'negative_timeout' option: specifies how much
734 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000735 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000736
Miklos Szeredibac4c772005-11-23 13:35:54 +00007372005-11-22 Miklos Szeredi <miklos@szeredi.hu>
738
739 * Add detection of mainline FUSE code in running kernel
740
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00007412005-11-21 Miklos Szeredi <miklos@szeredi.hu>
742
743 * Don't use async cancelation in multithreaded loop. This makes
744 it more portable to systems where read() is not async cancel safe.
745 Report from Andriy Gapon
746
Miklos Szeredi05c97842005-11-20 17:05:07 +00007472005-11-20 Miklos Szeredi <miklos@szeredi.hu>
748
749 * Warn if API version 11 compatibility is requested
750
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00007512005-11-17 Miklos Szeredi <miklos@szeredi.hu>
752
753 * More FreeBSD merge
754
Miklos Szeredi832ee442005-11-18 21:02:36 +0000755 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
756 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000757 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000758
759 * libfuse: don't use system() to invoke 'fusermount -u ...'
760 because it breaks mountpoints with spaces in them into multiple
761 arguments
762
Miklos Szeredib3f99722005-11-16 13:00:24 +00007632005-11-16 Miklos Szeredi <miklos@szeredi.hu>
764
765 * Merge library part of FreeBSD port. Patch by Csaba Henk
766
Miklos Szeredi3a770472005-11-11 21:32:42 +00007672005-11-11 Miklos Szeredi <miklos@szeredi.hu>
768
769 * Use 64bit type for file handle, so the full range supported by
770 the kernel interface is available to applications
771
Miklos Szeredibcc53852005-11-10 09:54:41 +00007722005-11-10 Miklos Szeredi <miklos@szeredi.hu>
773
774 * Moved mountpoint argument checking from fuse_parse_cmdline() to
775 fuse_mount() in preparation to FreeBSD merge.
776
Miklos Szeredi4ec06812005-11-08 13:04:27 +00007772005-11-08 Miklos Szeredi <miklos@szeredi.hu>
778
779 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
780 Henk.
781
Miklos Szeredic706ad92005-11-07 15:30:48 +00007822005-11-07 Miklos Szeredi <miklos@szeredi.hu>
783
784 * Make the statfs change backwards compatible.
785
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00007862005-11-06 Miklos Szeredi <miklos@szeredi.hu>
787
788 * Change ->statfs() method to use 'struct statvfs' instead of
789 'struct statfs'. This makes the API more portable since statvfs()
790 is defined by POSIX.
791
Miklos Szeredif7eec032005-10-28 13:09:50 +00007922005-10-28 Miklos Szeredi <miklos@szeredi.hu>
793
794 * Add fgetattr() method, which currently will only be called after
795 a successful call to a create() method.
796
Miklos Szeredib0b13d12005-10-26 12:53:25 +00007972005-10-26 Miklos Szeredi <miklos@szeredi.hu>
798
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000799 * Change kernel ABI version to 7.3
800
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000801 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000802 call if 'default_permissions' mount option is not given, and is
803 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000804
Miklos Szeredid9079a72005-10-26 15:29:06 +0000805 * Add atomic CREATE+OPEN operation. This will only work with
806 2.6.15 (presumably) or later Linux kernels.
807
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000808 * Add ftruncate() method. This will only work with 2.6.15
809 (presumably) or later Linux kernels.
810
811 * Fix kernel module compile if kernel source and build directories
812 differ. Report and initial patch by John Eastman
813
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00008142005-10-18 Miklos Szeredi <miklos@szeredi.hu>
815
816 * lib: optimize buffer reallocation in fill_dir.
817
Miklos Szeredic9daeb12005-10-17 10:19:21 +00008182005-10-17 Miklos Szeredi <miklos@szeredi.hu>
819
820 * Released 2.4.1
821
Miklos Szeredif412d072005-10-14 21:24:32 +00008222005-10-14 Miklos Szeredi <miklos@szeredi.hu>
823
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000824 * libfuse: add debug for write result (by Shaun Jackman) and
825 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000826
Miklos Szeredib75d4b92005-10-11 10:12:08 +00008272005-10-11 Miklos Szeredi <miklos@szeredi.hu>
828
829 * Spelling fixes, thanks to Ioannis Barkas
830
Miklos Szeredibaab5872005-10-10 08:41:14 +00008312005-10-10 Miklos Szeredi <miklos@szeredi.hu>
832
833 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
834 patch
835
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00008362005-10-07 Miklos Szeredi <miklos@szeredi.hu>
837
838 * highlevel-lib: init() and destroy() methods didn't have an
839 initialized fuse_context. Bug reported by Tim Stoakes
840
Miklos Szeredif2491122005-10-04 10:10:41 +00008412005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000842
843 * Released 2.4.0
844
Miklos Szeredi836ab712005-10-03 14:11:59 +00008452005-10-03 Miklos Szeredi <miklos@szeredi.hu>
846
847 * Add documentation to fuse_lowlevel.h
848
849 * API cleanups:
850
851 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
852
853 * Move fuse_mount() and fuse_unmount() to fuse_common.h
854
855 * Change the return type of fuse_reply_none() from int to void.
856
Miklos Szerediaf138742005-09-30 08:49:59 +00008572005-09-30 Miklos Szeredi <miklos@szeredi.hu>
858
859 * kernel: NFS exporting leaked dentries. Bug found and fixed by
860 Akshat Aranya.
861
Miklos Szeredidb016e02005-09-29 10:06:27 +00008622005-09-29 Miklos Szeredi <miklos@szeredi.hu>
863
864 * fusermount: fix error message, when unable to open /dev/fuse.
865 Report by Balázs Pozsár
866
Miklos Szeredi35200932005-09-28 14:50:49 +00008672005-09-28 Miklos Szeredi <miklos@szeredi.hu>
868
869 * UClibc fixes from Christian Magnusson
870
Miklos Szeredi8eddf642005-09-27 08:58:26 +00008712005-09-27 Miklos Szeredi <miklos@szeredi.hu>
872
873 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
874
Miklos Szerediedec95c2005-09-26 10:22:22 +00008752005-09-26 Miklos Szeredi <miklos@szeredi.hu>
876
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000877 * Released 2.4.0-rc1
878
8792005-09-26 Miklos Szeredi <miklos@szeredi.hu>
880
Miklos Szerediedec95c2005-09-26 10:22:22 +0000881 * fusermount: allow user umount in the case when /etc/mtab is a
882 symlink to /proc/mounts. Reported by Balázs Pozsár.
883
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00008842005-09-23 Miklos Szeredi <miklos@szeredi.hu>
885
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000886 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000887
Miklos Szeredif45f3c12005-09-22 15:14:27 +00008882005-09-22 Miklos Szeredi <miklos@szeredi.hu>
889
890 * Slight optimization in returning EINVAL error in case of an open
891 with O_DIRECT flag.
892
Miklos Szeredi670d07a2005-09-20 11:36:32 +00008932005-09-20 Miklos Szeredi <miklos@szeredi.hu>
894
895 * Remove '--enable-auto-modprobe' configure flag. Module
896 auto-loading is now handled by the kernel.
897
Miklos Szeredid51fca12005-09-15 12:51:00 +00008982005-09-15 Miklos Szeredi <miklos@szeredi.hu>
899
900 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
901 Help from Jens M. Noedler.
902
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00009032005-09-14 Miklos Szeredi <miklos@szeredi.hu>
904
905 * Add memory cleanup on thread exit
906
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00009072005-09-13 Miklos Szeredi <miklos@szeredi.hu>
908
909 * Set umask to zero in fusexmp and fusexmp_fh, so that
910 files/directories are created with the requested mode.
911
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00009122005-09-12 Miklos Szeredi <miklos@szeredi.hu>
913
914 * Don't ignore read error in multithreaded loop
915
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00009162005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000917
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000918 * Released 2.4.0-pre2
919
9202005-09-08 Miklos Szeredi <miklos@szeredi.hu>
921
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000922 * Revert lock and access operations. Postpone these until 2.5.
923
9242005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000925
926 * Fix compile warning on 2.6.13 and later
927
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000928 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000929
Miklos Szeredi77ccf652005-08-19 14:40:27 +00009302005-08-19 Miklos Szeredi <miklos@szeredi.hu>
931
932 * lib: always refresh directory contents after rewinddir() to
933 conform to SUS. Bug found by John Muir.
934
Miklos Szeredia1482422005-08-14 23:00:27 +00009352005-08-15 Miklos Szeredi <miklos@szeredi.hu>
936
Miklos Szeredic43f9412005-08-15 15:10:48 +0000937 * Released 2.4.0-pre1
938
9392005-08-14 Miklos Szeredi <miklos@szeredi.hu>
940
Miklos Szeredia1482422005-08-14 23:00:27 +0000941 * lib: cleaned up (or messed up, depending on your POV) the low
942 level library API. Hopefully this is close to the final form.
943
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00009442005-08-05 Miklos Szeredi <miklos@szeredi.hu>
945
946 * fusermount: don't allow empty mountpoint argument, which defeats
947 automatic umounting in fuse_main(). Bugreport by Václav Jůza
948
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00009492005-08-03 Miklos Szeredi <miklos@szeredi.hu>
950
951 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
952 option is used (Paul Alfille).
953
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00009542005-08-02 Miklos Szeredi <miklos@szeredi.hu>
955
956 * highlevel-lib: added mount options "attr_timeout" and
957 "entry_timeout". These options control the length of time file
958 attributes and entries (names) are cached. Both default to 1.0
959 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000960
961 * kernel: correctly handle zero timeout for attributes and entries
962
Miklos Szeredi56a61f02005-08-01 10:42:25 +00009632005-08-01 Miklos Szeredi <miklos@szeredi.hu>
964
965 * Added missing symbols to versionscript (Joshua J. Berry)
966
Miklos Szeredie77cc072005-08-01 11:58:51 +0000967 * kernel: implement two flags, open can set: 'direct_io' and
968 'keep_cache'. These correspond exactly to mount options
969 'direct_io' and 'kernel_cache', but allow a per-open setting.
970
971 * Move 'direct_io' and 'kernel_cache' mount option handling to
972 userspace. For both mount options, if the option is given, then
973 the respective open flag is set, otherwise the open flag is left
974 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000975
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000976 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000977
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00009782005-07-28 Miklos Szeredi <miklos@szeredi.hu>
979
980 * kernel: invalidate attributes for read/readdir/readlink
981 operations
982
983 * kernel: detect newer UML kernels
984
Miklos Szeredibfb99462005-07-26 11:07:55 +00009852005-07-26 Miklos Szeredi <miklos@szeredi.hu>
986
987 * Make the installation path of fuse.ko and mount.fuse
988 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
989 environment variables. Requirement and help from Csaba Henk.
990
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00009912005-07-22 Miklos Szeredi <miklos@szeredi.hu>
992
993 * Fix bug, that causes filesystem requests to hang when unique
994 request counter becomes negative. This happens after
995 2,147,483,648 operations, so most people won't care. Thanks to
996 Franco Broi for the report and testing.
997
Miklos Szeredi9b813af2005-07-21 07:59:37 +00009982005-07-21 Miklos Szeredi <miklos@szeredi.hu>
999
1000 * Don't change mtime/ctime/atime to local time on read/write.
1001 Bug reported by Ben Grimm
1002
1003 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
1004 Magnusson
1005
1006 * fusermount: use getopt_long() for option parsing. It allows the
1007 use of '--' to stop argument scanning, so fusermount can now
1008 operate on directories whose names begin with a '-'. Patch by
1009 Adam Connell
1010
Miklos Szeredibd10a7b2005-07-15 09:59:59 +000010112005-07-15 Miklos Szeredi <miklos@szeredi.hu>
1012
1013 * fusermount: add '-v', '--version' and '--help' options
1014
1015 * add inode based API
1016
Miklos Szeredi2482fdb2005-07-12 13:23:53 +000010172005-07-12 Miklos Szeredi <miklos@szeredi.hu>
1018
1019 * lib: don't block signals in worker threads. Problem noticed by
1020 Usarin Heininga
1021
Miklos Szeredic902a852005-07-07 12:35:37 +000010222005-07-07 Miklos Szeredi <miklos@szeredi.hu>
1023
1024 * lib: don't allow both 'allow_other' and 'allow_root' options to
1025 be given
1026
Miklos Szeredi437d8112005-07-06 09:14:20 +000010272005-07-06 Miklos Szeredi <miklos@szeredi.hu>
1028
1029 * fusermount: check if mountpoint is empty (only '.' and '..' for
1030 directories, and size = 0 for regular files). If "nonempty"
1031 option is given, omit this check. This is useful, so users don't
1032 accidentally hide data (e.g. from backup programs). Thanks to
1033 Frank van Maarseveen for pointing this out.
1034
1035 * kernel: check if mandatory mount options ('fd', 'rootmode',
1036 'user_id', 'group_id') are all given
1037
Miklos Szeredi340d21f2005-07-06 10:07:52 +00001038 * lib: simplify 'readdir_ino' handling
1039
Miklos Szeredie331c4b2005-07-06 13:34:02 +00001040 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
1041
Miklos Szeredibb9f5172005-07-03 18:03:11 +000010422005-07-03 Miklos Szeredi <miklos@szeredi.hu>
1043
1044 * kernel: clean up 'direct_io' code
1045
Miklos Szeredie1bcece2005-06-28 10:37:06 +000010462005-06-28 Miklos Szeredi <miklos@szeredi.hu>
1047
1048 * Add 'mount.fuse' written by Petr Klima
1049
Miklos Szeredi866826d2005-06-28 12:22:57 +00001050 * '/dev/fuse' is created by 'make install' if does not yet exist
1051
Miklos Szeredi129ef8f2005-06-20 13:48:42 +000010522005-06-20 Miklos Szeredi <miklos@szeredi.hu>
1053
1054 * Fix UCLIBC compile error. Patch by Christian Magnusson
1055
Miklos Szerediec12fad2005-06-08 10:26:34 +000010562005-06-08 Miklos Szeredi <miklos@szeredi.hu>
1057
1058 * Enable the auto-loading of the module via access to the
1059 corresponding device file. Patch by Takashi Iwai.
1060
Miklos Szeredidaa690e2005-06-08 10:41:36 +00001061 * Allow mounting a regular file (over a regular file) for
1062 unprivleged users.
1063
Miklos Szeredi7495abf2005-06-08 11:01:17 +00001064 * Do not create temporary device file. Require "/dev/fuse" to
1065 exist, and be readable/writable by the mounting user.
1066
Miklos Szeredi46960ce2005-06-02 09:05:00 +000010672005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1068
Miklos Szeredi56478552005-06-02 10:29:00 +00001069 * Released 2.3.0
1070
10712005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1072
Miklos Szeredi46960ce2005-06-02 09:05:00 +00001073 * Fix serious information leak: if the filesystem returns a short
1074 byte count to a read request, and there are non-zero number of
1075 pages which are not filled at all, these pages will not be zeroed.
1076 Hence the user can read out previous memory contents. Found by
1077 Sven Tantau.
1078
Miklos Szeredi33be22d2005-05-27 09:12:43 +000010792005-05-27 Miklos Szeredi <miklos@szeredi.hu>
1080
1081 * Add "readdir_ino" mount option, which tries to fill in the d_ino
1082 field in struct dirent. This mount option is ignored if "use_ino"
1083 is used. It helps some programs (e.g. 'pwd' used over NFS from a
1084 non-Linux OS). Patch by David Shaw.
1085
Miklos Szeredif94e0102005-05-12 14:56:34 +000010862005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1087
Miklos Szeredieb009c42005-05-12 15:01:17 +00001088 * Released 2.3-rc1
1089
10902005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1091
Miklos Szeredif94e0102005-05-12 14:56:34 +00001092 * File save in krusader and other editors doesn't work with sshfs,
1093 because open() is interrupted by a periodic signal, and open()
1094 restarts forever, without any progress. This could just be fixed
1095 in open(), but the problem is more generic: if signals are
1096 received more often than the filesystem can get the request to
1097 userspace, it will never finish. This is probably only a
1098 theoretical problem, nevertheless I'm removing the possibility to
1099 interrupt requests with anything other than SIGKILL, even before
1100 being sent to userspace. Bugreport by Eduard Czimbalmos.
1101
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +000011022005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1103
Miklos Szeredic2a33ee2005-05-09 13:29:17 +00001104 * libfuse: add "tree_lock" rwlock, that is locked for write in
1105 rename, unlink and rmdir, and locked for read in all other
1106 operations. This should fix the rename/release race reported by
1107 Valient Gough and others. The solution is very coarse, a finer
1108 grained locking scheme could be implemented, but it would be much
1109 more complex. Let's see whether this is good enough.
1110
11112005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1112
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001113 * Released 2.3-pre7
1114
Miklos Szeredi38009022005-05-08 19:47:22 +000011152005-05-08 Miklos Szeredi <miklos@szeredi.hu>
1116
1117 * Better fix for out of order FORGET messages. Now the
1118 LOOKUP/FORGET messages are balanced exactly (one FORGET can
1119 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001120 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +00001121 compatible.
1122
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +000011232005-05-06 Miklos Szeredi <miklos@szeredi.hu>
1124
1125 * Fix abort for out of order FORGET messages. Again. Spotted by
1126 Franco Broi again. Sorry :)
1127
Miklos Szeredi9372ffd2005-04-29 08:03:24 +000011282005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1129
Miklos Szeredicb6413a2005-04-29 08:16:20 +00001130 * Released 2.3-pre6
1131
11322005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1133
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00001134 * Make fusermount work with fuse kernel modules not yet supporting
1135 the "group_id" option (added for the purpose of stricter
1136 permission checking).
1137
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +000011382005-04-28 Miklos Szeredi <miklos@szeredi.hu>
1139
1140 * Check for hard-linked directories in lookup. This could cause
1141 problems in the VFS, which assumes that such objects never exist.
1142
1143 * Make checking of permission for other users more strict. Now
1144 the same privilege is required for the mount owner as for ptrace
1145 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001146
Miklos Szeredi3efcb562005-04-23 13:34:29 +000011472005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1148
1149 * Released 2.3-pre5
1150
Miklos Szeredid001bf92005-04-22 07:54:11 +000011512005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1152
1153 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1154 is needed on certain architectures. Report from Chris Kirby
1155
1156 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1157 Reported by David Shaw
1158
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001159 * Remove "allow_root" option from kernel module, and implement
1160 it's functionality in the library
1161
1162 * Fix Oops caused by premature release of fuse_conn. Clean up
1163 related code, to be more readable
1164
Miklos Szeredif9137452005-04-23 10:59:44 +00001165 * Sendfile should not use page cache if "direct_io" mount option
1166 is given
1167
Miklos Szeredib7640d22005-04-08 15:15:28 +000011682005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1169
1170 * Fix Oops in case of nfs export. Spotted by David Shaw
1171
Miklos Szeredi89814a12005-04-08 16:39:09 +00001172 * Fix another Oops in case of write over nfs with direct_io turned
1173 on. Again spotted by David Shaw
1174
Miklos Szerediab974562005-04-07 15:40:21 +000011752005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1176
Miklos Szeredi432d6182005-04-07 15:56:13 +00001177 * Released 2.3-pre4
1178
11792005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1180
Miklos Szerediab974562005-04-07 15:40:21 +00001181 * lib: finalized new readdir() interface, which now supersedes the
1182 getdir() method.
1183
Miklos Szeredi30e093a2005-04-03 17:44:54 +000011842005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1185
1186 * Released 2.3-pre3
1187
11882005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1189
1190 * Implement backward compatibility with version 5 kernel ABI
1191
Miklos Szeredi18fce982005-04-01 21:07:35 +000011922005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1193
1194 * Released 2.3-pre2
1195
11962005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1197
1198 * kernel: fix dirent offset handling
1199
1200 * lib: add readdir and releasedir methods
1201
1202 * lib: use fh field of fuse_file_info in opendir, readdir,
1203 releasedir and fsyncdir methods
1204
1205 * lib: check kernel API version and bail out of it's old. This
1206 will be properly fixed in the next release
1207
12082005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1209
1210 * Released 2.3-pre1
1211
Miklos Szeredieab72ef2005-03-31 19:59:12 +000012122005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1213
1214 * kernel API: add padding to structures, so 64bit and 32bit
1215 compiler will return the same size
1216
1217 * kernel API: add offset field to fuse_dirent. This will allow
1218 more sophisticated readdir interface for userspace
1219
1220 * kernel API: change major number to 6
1221
1222 * kernel: fix warnings on 64bit archs
1223
1224 * kernel: in case of API version mismatch, return ECONNREFUSED
1225
Miklos Szeredi407e6a72005-03-25 12:19:43 +000012262005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1227
1228 * kernel: trivial cleanups
1229
Miklos Szeredi4283ee72005-03-21 12:09:04 +000012302005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1231
1232 * Add fsyncdir() operation
1233
Miklos Szeredid17da462005-03-21 11:47:04 +000012342005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1235
1236 * kernel: add locking to background list (fixes previous fix)
1237
12382005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1239
1240 * kernel: fix bug which could cause leave busy inodes after
1241 unmount, and Oops.
1242
12432005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1244
1245 * examples: add -lpthread to link flags to work around valgrind
1246 quirk
1247
1248 * lib: don't exit threads, so cancelation doesn't cause segfault
1249
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000012502005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1251
1252 * kernel: fix nasty bug which could cause an Oops under certain
1253 situations. Found by Magnus Johansson
1254
Miklos Szeredif43f0632005-02-28 11:46:56 +000012552005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1256
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001257 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001258 permission checking in getdir() is too late. Thanks to Usarin
1259 Heininga for pointing out this deficiency
1260
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001261 * libfuse: added init() and destroy() methods to fuse_operations
1262
Miklos Szeredif43f0632005-02-28 11:46:56 +00001263 * kernel: llseek() method for files and directories made explicit
1264
1265 * kernel: fixed inode leak in NFS export in case of nodeid
1266 wrapping
1267
Miklos Szeredied3c97c2005-02-15 17:04:50 +000012682005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1269
1270 * libfuse: clean up some unitialized memory found with valgrind
1271
Miklos Szeredi47c52982005-02-23 09:27:38 +00001272 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1273 explicitly linked libpthread for applications
1274
Miklos Szeredia7169412005-02-10 07:35:05 +000012752005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1276
1277 * fusermount: set umask, otherwise /etc/mtab will have
1278 unpredictable permission. Spotted by Jindrich Kolorenc
1279
1280 * fusermount: set owner and group of /etc/mtab to original values
1281 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001282
1283 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001284
Miklos Szeredib92d9782005-02-07 16:10:49 +000012852005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1286
1287 * Cleaned up directory reading (temporary file is not used)
1288
Miklos Szerediff30a6c2005-02-02 10:53:59 +000012892005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1290
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001291 * Released 2.2
1292
12932005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1294
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001295 * Fix possible race when operation is interrupted
1296
Miklos Szeredi7a983952005-01-28 09:58:19 +000012972005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1298
Miklos Szeredie5183742005-02-02 11:14:04 +00001299 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001300
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000013012005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1302
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001303 * Released 2.2-pre6
1304
13052005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1306
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001307 * Fix bug in link() operation which caused the wrong path to be
1308 passed as the first argument. Found by Anton Altaparmakov
1309
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000013102005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1311
1312 * LIB: fix double reply in readdir operation
1313
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001314 * fusermount: fix uid checking bug. Patch by Adam Connell
1315
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001316 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001317 Patch by Keshava Gowda
1318
Miklos Szeredi64074142005-01-20 08:48:11 +000013192005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1320
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001321 * KERNEL: provide correct llseek semantics for fuse device (fixes
1322 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1323
13242005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1325
Miklos Szeredi64074142005-01-20 08:48:11 +00001326 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1327
Miklos Szeredi1adb2272005-01-18 21:19:58 +000013282005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1329
1330 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1331 and RELEASEDIR. This ends the ugly hack of passing a file
1332 descriptor to the kernel, and actually makes the code simpler.
1333
Miklos Szeredi7db35c02005-01-17 09:46:28 +000013342005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1335
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001336 * Released 2.2-pre4
1337
13382005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1339
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001340 * fusermount: remove capability setting, which was the cause of
1341 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001342 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001343
Miklos Szeredidbe0f652005-01-15 14:32:56 +000013442005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001345
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001346 * fix compilation on 2.4 kernels (reported by Valient Gough)
1347
1348 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001349
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001350 * fusermount: improve parsing of /etc/fuse.conf
1351
13522005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1353
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001354 * Remove 'mount_max' and 'user_allow_other' module options. These
1355 are now checked by fusermount, and can be set in /etc/fuse.conf
1356
1357 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1358
Miklos Szeredi81394522005-01-11 14:24:18 +000013592005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1360
1361 * KERNEL: fix possible inode allocation problem, where
1362 sizeof(struct inode) is not aligned (found by Mike Waychison)
1363
1364 * KERNEL: use new follow_link/put_link methods
1365
1366 * KERNEL: cosmetic fixes
1367
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000013682005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1369
1370 * Released 2.2-pre3
1371
13722005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1373
1374 * Add missing code that was accidently left out
1375
Miklos Szeredi8c7da232005-01-09 12:27:41 +000013762005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1377
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001378 * Released 2.2-pre2
1379
13802005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1381
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001382 * Change "uid" mount option to "user_id" to avoid confusion with a
1383 mount option "uid" commonly used by many filesystems
1384
13852005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1386
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001387 * Released 2.2-pre1
1388
13892005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1390
1391 * If FUSE is configured in the kernel, don't build it by default
1392
Miklos Szeredi2a927272005-01-07 11:14:15 +000013932005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1394
1395 * Compile fix by Christian Magnusson
1396
Miklos Szeredib6220192005-01-05 16:19:10 +000013972005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1398
1399 * Fix compilation for 2.6.{0-5} kernels
1400
Miklos Szeredi0f62d722005-01-04 12:45:54 +000014012005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1402
1403 * KERNEL: if request is interrupted, still keep reference to used
1404 inode(s) and file, so that FORGET and RELEASE are not sent until
1405 userspace finishes the request.
1406
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001407 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1408 request with the same information, which is more flexible,
1409 simpler, works on embedded systems.
1410
Miklos Szeredi0f62d722005-01-04 12:45:54 +000014112004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1412
1413 * KERNEL ABI: update interface to make it independent of type
1414 sizes. This will help on 64 bit architectures which can run
1415 legacy 32 bit applications.
1416
1417 * KERNEL ABI: add "len" field to request headers. This will allow
1418 sending/receiving requests in multiple chunks.
1419
1420 * KERNEL: handle file type change more intelligently
1421
1422 * LIB: "-o debug" option should disable backgrounding (fix by
1423 Fabien Reygrobellet)
1424
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000014252004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1426
1427 * KERNEL: invalidate dentry/attributes if interrupted request
1428 could leave filesystem in an unknown state.
1429
Miklos Szeredie56818b2004-12-12 11:45:24 +000014302004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1431
1432 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1433 These will cause some regressions, but stability is considered
1434 more important. If any of these features turns out to be
1435 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001436
Miklos Szeredie56818b2004-12-12 11:45:24 +00001437 * Make all requests interruptible (only with SIGKILL currently).
1438 This can be used to break any deadlock produced by the userspace
1439 filesystem accessing it's own exported files. The RELEASE request
1440 is special, because if it's interrupted before sending it to
1441 userspace it is still sent, but the reply is not awaited.
1442
1443 * If request is interrupted before being sent to userspace, and if
1444 it hasn't yet got any side effects, it is always restarted,
1445 regardless of the SA_RESTART flag. This makes these interruptions
1446 transparent to the process.
1447
1448 * Remove shared-writable mmap support, which was prone to an
1449 out-of-memory deadlock situation
1450
1451 * Remove INVALIDATE userspace initiated request
1452
1453 * Make readpages() synchronous. Asynchronous requests are
1454 deadlock prone, since they cannot be interrupted.
1455
1456 * Add readv/writev support to fuse device operations
1457
1458 * Remove some printks, which userspace FS can use for a DoS
1459 against syslog
1460
1461 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1462 fusermount instead
1463
1464 * LIB: improve compatibility with a fuse.h header installed in
1465 ${prefix}/include which in turn includes the real header.
1466
1467 * LIB: improve compatibility by defining fuse_main() (which is now
1468 not used), so old configure scripts find it.
1469
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000014702004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1471
1472 * When mounting on a subdirectory of / don't duplicate slashes at
1473 the beggining of path (spotted by David Shaw)
1474
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000014752004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1476
1477 * Fix bug causing garbage in mount options (spotted by David Shaw)
1478
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000014792004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1480
1481 * Add 'writepage' flag to 'fuse_file_info'.
1482
1483 * More comments in fuse.h
1484
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001485 * Get rid of double underscores
1486
Miklos Szeredi799993c2004-12-04 21:20:05 +000014872004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1488
1489 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1490
1491 * helper.c: add -ho option, which only displays the options not
1492 the usage header. This can be used by filesystems which have
1493 their own options.
1494
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000014952004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1496
1497 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1498 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1499 including the fuse header
1500
1501 * Add binary compatibility to 2.1 version of library with symbol
1502 versioning
1503
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000015042004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1505
1506 * Released 2.1
1507
Miklos Szeredi039322d2004-12-01 18:39:12 +000015082004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1509
1510 * kernel: clean up writing functions
1511
1512 * kernel: no allocation on write in direct_io mode
1513
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001514 * move linux/fuse.h to fuse_kernel.h
1515
Miklos Szeredi83a07442004-11-30 18:25:20 +000015162004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1517
1518 * kernel: clean up reading functions
1519
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000015202004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1521
1522 * kernel: make readpage() uninterruptible
1523
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001524 * kernel: check readonly filesystem flag in fuse_permission
1525
1526 * lib: don't die if version file not found and new style device
1527 exists
1528
1529 * lib: add '-r' option, which is short for '-o ro'
1530
1531 * fusermount: simplify device opening
1532
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001533 * kernel: when direct_io is turend on, copy data directly to
1534 destination without itermediate buffer. More efficient and safer,
1535 since no allocation is done.
1536
1537 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001538
1539 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001540
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000015412004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1542
1543 * libfuse API change: open, read, write, flush, fsync and release
1544 are passed a 'struct fuse_file_info' pointer containing the open
1545 flags (open and release), and the file handle. Verion changed to
1546 3.0.
1547
Miklos Szeredia25d4c22004-11-23 22:32:16 +000015482004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1549
1550 * More cleanups in the kernel
1551
1552 * The 10,229 charater device number has been assigned for FUSE
1553
1554 * Version file checking fix (reported by Christian Magnusson)
1555
1556 * fusermount: opening the fuse device now doesn't need /sys.
1557
1558 * Optimize reading by controlling the maximum readahead based on
1559 the 'max_read' mount option
1560
1561 * fixes for UCLIBC (Christian Magnusson)
1562
Miklos Szeredi13ed4822004-11-20 11:12:21 +000015632004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1564
1565 * Cleaned up kernel in preparation for merge into mainline:
1566
1567 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1568
1569 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1570
1571 * __user annotations for sparse
1572
1573 * allocate individual pages instead of kmalloc in fuse_readdir,
1574 fuse_read and fuse_write.
1575
1576 * Fix NFS export in case "use_ino" mount option is given
1577
Miklos Szeredif3845c42004-11-20 11:18:34 +00001578 * Make libfuse and fusermount compatible with future versions
1579
1580 * fusermount: properly add mount options to /etc/mtab
1581
15822004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1583
1584 * fusermount: do not resolve last component of mountpoint on if it
1585 is '.' or '..'. This new path resolvation is now done on mount as
1586 well as unmount. This enables relative paths to work on unmount.
1587
1588 * fusermount: parse common mount options like "ro", "rw", etc...
1589
1590 * Allow module params to be changed through sysfs
1591
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000015922004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1593
1594 * Released 2.1-pre1
1595
15962004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1597
1598 * Fix bug in fuse_readpages() causing Oops in certain situations.
1599 Bug found by Vincenzo Ciancia.
1600
1601 * Fix compilation with kernels versions > 2.6.9.
1602
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000016032004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001604
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001605 * Check kernel interface version in fusermount to prevent
1606 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001607
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001608 * No need to allocate fuse_conn until actual mount happens
1609
1610 * Fix potential race between umount and fuse_invalidate
1611
1612 * Check superblock of proc file in addition to inode number
1613
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001614 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001615
Miklos Szeredi51ec1032004-11-10 11:52:26 +000016162004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1617
1618 * Separate configure for the kernel directory
1619
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001620 * Don't allow write to return more than 'count'
1621
1622 * Extend kernel interface for future use
1623
Miklos Szeredi51ec1032004-11-10 11:52:26 +000016242004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1625
1626 * Fix 'makeconf.sh' to use autoreconf if available
1627
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000016282004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1629
Miklos Szeredid507c732004-11-08 17:32:25 +00001630 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1631 compatibility with earlier versions. To compile earier versions
1632 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1633 Do not use the "use_ino" mount flag with filesystems compiled with
1634 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001635
1636 * Add pkg-config support. To compile a FUSE based filesystem you
1637 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1638 or similar. Note, that the PKG_CONFIG_PATH environment variable
1639 usually needs to be set to "/usr/local/lib/pkgconfig".
1640
1641 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001642
Miklos Szeredia13d9002004-11-02 17:32:03 +000016432004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1644
1645 * Added "use_ino" mount option. This enables the filesystems to
1646 set the st_ino field on files
1647
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000016482004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1649
1650 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1651 by Jeremy Smith)
1652
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001653 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1654
1655 * Clear the 'exited' flag when mail loop is finished
1656
Miklos Szeredie989f0d2004-10-28 20:24:58 +000016572004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1658
1659 * Make xattr functions work under 2.6 (bug found by Vincenzo
1660 Ciancia)
1661
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000016622004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1663
1664 * Reset request in fuse_flush() (bugreport by David Shaw)
1665
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000016662004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1667
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001668 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001669 error code
1670
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001671 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001672 make it easier to implement a custom event loop.
1673
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001674 * Use daemon() call to background the filesystem after mounting.
1675 This function closes the standard input, output and error and
1676 changes the current working directory to "/".
1677
Miklos Szeredi127d49b2004-10-14 13:33:39 +000016782004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1679
1680 * Released 1.9
1681
Miklos Szeredid45baf42004-10-10 07:56:12 +000016822004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1683
1684 * Don't allow fuse_flush() to be interrupted (bug found by David
1685 Shaw)
1686
Miklos Szeredi1f18db52004-09-27 06:54:49 +000016872004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1688
1689 * Add PID to fuse_context. Patch by Steven James
1690
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001691 * Change file handle type to 'unsigned long' in kernel interface
1692
Miklos Szeredid169f312004-09-22 08:48:26 +000016932004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1694
1695 * A slight API change: fuse_get_context() doesn't need the "fuse"
1696 pointer, but the returned context contains it instead. The
1697 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001698
1699 * Fix mounting and umounting FUSE filesystem under another FUSE
1700 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001701
Miklos Szeredic2309912004-09-21 13:40:38 +000017022004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1703
1704 * Fix deadlock in case of memory allocation failure. Patch by
1705 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001706
Miklos Szeredib2cf9562004-09-16 08:42:40 +000017072004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1708
1709 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001710
Miklos Szeredi65afea12004-09-14 07:13:45 +000017112004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1712
1713 * Check temporary file creation failure in do_getdir(). Bug
1714 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001715
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000017162004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1717
1718 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001719
1720 * Make requests non-interruptible so race with FORGET is avoided.
1721 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001722
1723 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001724
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000017252004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1726
1727 * Fix bug in case two FORGETs for the same node are executed in
1728 the wrong order. Bug spotted and endured for months by Franco
1729 Broi, and logfile for solution provided by Terje Oseberg
1730
Miklos Szeredi12085102004-09-02 18:13:57 +000017312004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1732
1733 * Add -D_REENTRANT to the compile flags
1734
1735 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001736
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000017372004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1738
1739 * Change release method to be non-interruptible. Fixes bug
1740 causing missing release() call when program which has opened files
1741 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001742
Miklos Szeredi891b8742004-07-29 09:27:49 +000017432004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1744
1745 * Add fuse_invalidate() to library API
1746
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000017472004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1748
1749 * Check permissions in setattr if 'default_permissions' flag is
1750 set. Bug spotted by Damjan Lango
1751
Miklos Szeredid66d3942004-07-24 13:47:44 +000017522004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1753
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001754 * 'large_read' mount option removed for 2.6 kernels, since the
1755 default (dynamic read size) is better
1756
1757 * Extend kernel API with file handles. A file handle is returned
1758 by open, and passed to read, write, flush, fsync and release.
1759 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001760
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001761 * Security changes:
1762
1763 * Change the current directory to the mountpoint before checking
1764 the permissions and mount filesystem on "."
1765
1766 * By default don't modprobe the fuse module for non-root. The old
1767 behavior can be restored with the '--enable-auto-modprobe' flag of
1768 ./configure
1769
1770 * By default don't allow shared writable mappings for non-root.
1771 The old behavior can be restored with the 'user_mmap=1' module
1772 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001773
Miklos Szeredibd7661b2004-07-23 17:16:29 +000017742004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1775
1776 * Clean up mount option passing to fusermount and to fuse_new()
1777 BEWARE: this changes the userspace API slightly, and the command
1778 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001779
Miklos Szeredi58865372004-07-20 14:22:26 +000017802004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1781
1782 * Optimize reading under 2.6 kernels by issuing multiple page
1783 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001784
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000017852004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1786
1787 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001788
Miklos Szeredi069c9502004-07-16 16:17:02 +000017892004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1790
1791 * Separate directory entry and inode attribute validity timer
1792
1793 * New write semaphore to stop page writeback during truncate
1794
1795 * Fsync now waits for all writes to complete before sending the
1796 request
1797
1798 * Optimization: if a page is completely written by
1799 fuse_commit_write(), clear the dirty flag and set the uptodate
1800 flag for that page
1801
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001802 * Some memory cleanup at exit
1803
Miklos Szeredi2529ca22004-07-13 15:36:52 +000018042004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1805
1806 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001807 disable the "hide if open" behavior of unlink/rename.
1808
1809 * If temporary buffer allocation fails in raw read, fall back to a
1810 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001811
Miklos Szeredi73798f92004-07-12 15:55:11 +000018122004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1813
1814 * Fix bug in do_open() in libfuse: open count was incremented
1815 after the reply is sent so it could race with unlink/forget and
1816 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001817
Miklos Szeredi015fe702004-07-12 11:52:24 +000018182004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1819
1820 * When performing create or remove operation, refresh the parent's
1821 attributes on next revalidate, as i_nlink (and maybe size/time)
1822 could be inacurate.
1823
1824 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1825 pages (2.6 only)
1826
1827 * Set set_page_dirty address space operation (2.6 only)
1828
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018292004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001830
1831 * Minor fix in read: print debug info even if read size is zero
1832
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018332004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001834
1835 * Fix race between truncate and writepage (fsx-linux now runs
1836 without error)
1837
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018382004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001839
1840 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1841 by Mattias Wadman)
1842
1843 * Added option for direct read/write (-r)
1844
1845 * Fix revalidate time setting for newly created inodes
1846
Miklos Szerediacb4d362004-07-02 16:20:45 +00001847 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1848 this)
1849
1850 * fuse_main() only installs handlers for signals (out of INT, HUP,
1851 TERM, PIPE), for which no handler has yet been installed
1852
1853 * Add module option 'user_allow_other' which if set to non-zero
1854 will allow non root user to specify the 'allow_other' mount option
1855 ('-x' option of fusermount)
1856
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001857 * Fix deadlock between page writeback completion and truncate
1858 (bug found by Valient Gough with the fsx-linux utility)
1859
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018602004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001861
1862 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001863 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1864 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001865
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018662004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001867
1868 * Acquire inode->i_sem before open and release methods to prevent
1869 concurrent rename or unlink operations.
1870
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001871 * Make __fuse_read_cmd() read only one command. This allows
1872 multiplexing the fuse file descriptor with other event sources
1873 using select() or poll() (patch by Jeff Harris)
1874
1875 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1876
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018772004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001878
1879 * Fix file offset wrap around at 4G when doing large reads
1880
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018812004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001882
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001883 * Fix memory leak in open (Valient Gough)
1884
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018852004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001886
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001887 * Add "close after delete" support to libfuse (patch by Valient
1888 Gough)
1889
1890 * Cancel all worker threads before exit in multithreaded mode
1891
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018922004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001893
1894 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001895
1896 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001897
1898 * Work with newer libtool (1.5a)
1899
1900 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001901
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019022004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001903
1904 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019062004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001907
1908 * Fix possible inode leak in userspace in case of unfinished
1909 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001910
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019112004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001912
1913 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001914
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019152004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001916
1917 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001918
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019192004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001920
1921 * Build shared library as well as static (using libtool)
1922
1923 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1924 there has not been a release with the previous minor number, and I
1925 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001926
1927 * Change fuse_main(), so that default behavior is to go into
1928 background if mount is successful. '-f' and '-d' options disable
1929 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1930 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001931
1932 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1933 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001934
1935 * Don't call getdir method from open() only from first readdir().
1936 Open is sometimes just used to store the current directory
1937 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001938
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019392004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001940
1941 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001942
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019432004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001944
1945 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001946
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019472004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001948
1949 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001950
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019512004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001952
1953 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001954
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019552004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001956
1957 * Replaced binary mount data with text options
1958
1959 * Show FUSE specific mount options in /proc/mounts
1960
1961 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1962
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019632004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001964
1965 * Check some limits so userspace won't get too big requests
1966
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019672004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001968
1969 * Kill compile warning
1970
1971 * Upgraded user-mount patch for 2.6.5
1972
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019732004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001974
1975 * Add detection of user-mode-linux to configure
1976
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019772004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001978
1979 * fixed zero size case for getxattr and listxattr
1980
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019812004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001982
1983 * new fusermount flag '-z': lazy unmount, default is not lazy
1984
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001985 * Extended attributes operations added (getxattr, setxattr,
1986 listxattr, removexattr)
1987
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019882004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001989
1990 * If filesystem doesn't define a statfs operation, then an
1991 all-zero default statfs is returned instead of ENOSYS
1992
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019932004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001994
1995 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1996
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019972004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001998
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001999 * Fix for uClinux (Christian Magnusson)
2000
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020012004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00002002
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00002003 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00002004
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00002005 * More kernel interface changes:
2006
2007 * Lookup/getattr return cache timeout values
2008
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020092004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00002010
2011 * Clean up option parsing in fuse_main()
2012
Miklos Szeredi33c319c2004-02-25 09:19:29 +00002013 * Added fuse_get() function which returns the fuse object created
2014 by fuse_main()
2015
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020162004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00002017
Miklos Szeredic40748a2004-02-20 16:38:45 +00002018 * removed old way of mounting (fusermount mountpoint program)
2019
Miklos Szeredib5958612004-02-20 14:10:49 +00002020 * more kernel interface changes:
2021
2022 * added nanosecond precision to file times
2023
Miklos Szeredic40748a2004-02-20 16:38:45 +00002024 * removed interface version from mount data
2025
2026 * added /proc/fs/fuse/version which contains MAJOR.MINOR
2027
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020282004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00002029
2030 * statfs library API changed to match other methods. Since this
2031 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
2032
Miklos Szeredi76f65782004-02-19 16:55:40 +00002033 * kernel interface changes follow:
2034
2035 * statfs changed to 64 bits, added 'bavail' field
2036
2037 * add generation number to lookup result
2038
2039 * optimized mknod/mkdir/symlink/link (no separate lookup is
2040 needed)
2041
2042 * rdev size increased to 32 bits for mknod
2043
2044 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002045
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020462004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00002047
2048 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00002049
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020502004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00002051
2052 * Added user-mount.2.6.2-rc3.patch
2053
2054 * Add FS_SAFE flag to fuse filesystem
2055
2056 * fusermount should allow (un)mounting for non-root even if not
2057 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00002058
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020592004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00002060
2061 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00002062
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020632004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00002064
2065 * Added check for i_size_read/write functions to configure.in
2066 (patch by Valient Gough)
2067
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020682004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00002069
2070 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00002071
2072 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00002073
2074 * Readpage calls flush_dcache_page() after storing data
2075
2076 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00002077
2078 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00002079
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020802004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00002081
2082 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002083
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020842004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00002085
2086 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00002087
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020882004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00002089
2090 * Added -q option for fusermount
2091
2092 * fuse_unmount() now uses -q option of fusermount, so no error is
2093 printed if the cause of the program exit is that the filesystem
2094 has already been unmounted
2095
Miklos Szeredif4f8b892004-01-27 17:04:59 +00002096 * Fix i_nlink correctness after rmdir/unlink
2097
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020982004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002099
Miklos Szeredib1158392004-01-26 14:43:12 +00002100 * Released 1.1-pre2
2101
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021022004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00002103
Miklos Szeredi307242f2004-01-26 11:28:44 +00002104 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00002105
2106 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00002107
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021082004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002109
2110 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00002111
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021122004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002113
2114 * Write all pending data before a RELEASE operation
2115
2116 * Suppress 'Bad file descriptor' warning on exit
2117
2118 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00002119 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00002120
Miklos Szeredib1158392004-01-26 14:43:12 +00002121 * New fusermount option '-l' which enables big reads. Big reads
2122 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00002123
2124 * fuse_main() can accept fusermount arguments after a '--'
2125
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021262004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00002127
2128 * Support for exporting filesystem over NFS (see README.NFS)
2129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021302004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00002131
2132 * Support non-blocking writepage on 2.6. This makes FUSE behave
2133 much more nicely in low-memory situations
2134
2135 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
2136 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00002137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021382004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00002139
2140 * Code cleanups
2141
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021422004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002143
2144 * Released 1.1-pre1
2145
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021462004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002147
2148 * Integrated 2.6 kernel support patch by Michael Grigoriev
2149
2150 * Improvements and cleanups for 2.6 kernels
2151
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021522004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002153
Miklos Szeredie5183742005-02-02 11:14:04 +00002154 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002155
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021562003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002157
2158 * Added major+minor version to library API, and minor version to
2159 kernel API
2160
David McNab7a19caf2003-12-13 02:05:46 +000021612003-12-13 David McNab <david@rebirthing.co.nz>
2162
2163 * Implemented fsync support in examples/example.py
2164
2165 * Implemented 'fsync' and 'statfs' methods in python
2166 interface
2167
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021682003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002169
Miklos Szeredie5183742005-02-02 11:14:04 +00002170 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002171
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002172 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002173
David McNab8bf62632003-12-11 22:49:22 +000021742003-12-12 David McNab <david@rebirthing.co.nz>
2175
2176 * Added distutils support to the python module, as per standard
2177 python development practice
2178
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021792003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002180
2181 * Add file locking for mount/unmount (based on patch by Valient
2182 Gough)
2183
21842003-12-11 David McNab <david@rebirthing.co.nz>
2185
2186 * Python filesystem - was broken with python2.3, now fixed:
2187 - changed PyTuple_* calls to PySequence_*, because os.lstat
2188 is no longer returning a pure tuple
2189 - changed PyInt_Check() calls to also call PyLong_Check,
2190 to cover for cases (eg os.lstat) where longs are returned
2191 - Added support for file 'release' handling, which IMO is
2192 essential since this signals to a FS that writes to a file
2193 are complete (and therefore the file can now be disposed of
2194 meaningfully at the python filesystem's discretion)
2195 - Added '__init__' handler to base Fuse class, which allows
2196 your Python class to know the mountpoint and mount args,
2197 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002198
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002199 * General:
2200 - added 'mount.fuse' script (in util/ dir), which is meant to be
2201 symlinked from /sbin, and which allows FUSE filesystems to
2202 be mounted with the 'mount' command, and listed in fstab;
2203 also, mount arguments get passed to your filesystem
2204
2205
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022062003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002207
2208 * Fix kernel version detection (again). Bugreport by Peter Levart
2209
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022102003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002211
2212 * Applied read combining patch by Michael Grigoriev (tested by
2213 Valient Gough and Vincent Wagelaar)
2214
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022152003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002216
2217 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2218 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002219
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022202003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002221
2222 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002223
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022242003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002225
2226 * kernel version detection fix
2227
2228 * fusermount now uses "lazy" umount option
2229
2230 * fusermount can use modprobe with module-init-tools
2231
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022322003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002233
2234 * Integrated caching patch by Michael Grigoriev
2235
Miklos Szeredida4e4862003-09-08 11:14:11 +00002236 * Added "Filesystems" file with descriptions of projects using
2237 FUSE
2238
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002239 * Added patch by Michael Grigoriev to allow compliation of FUSE
2240 kernel module for 2.6 kernels
2241
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022422003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002243
2244 * And another spec-file fix by Achim Settelmeier
2245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022462003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002247
2248 * Spec-file fix by Achim Settelmeier
2249
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022502003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002251
Miklos Szerediac361172004-11-02 19:14:14 +00002252 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002253
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022542003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002255
2256 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2257
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022582003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002259
2260 * Updated fuse.spec file (Achim Settelmeier)
2261
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022622003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002263
2264 * Version 1.0 released
2265
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022662003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002267
2268 * SuSE compilation fix by Juan-Mariano de Goyeneche
2269
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022702002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002271
2272 * The release() VFS call is now exported to the FUSE interface
2273
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022742002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002275
2276 * 64 bit file offset fixes in the fuse kernel module
2277
2278 * Added function 'fuse_exit()' which can be used to exit the main
2279 loop
2280
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022812002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002282
2283 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2284 an incompatible interface change.
2285
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022862002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002287
2288 * Portablility fix (bug reported by C. Chris Erway)
2289
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022902002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002291
2292 * Use Mark Glines' fd passing method for default operation instead
2293 of old reexec
2294
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022952002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002296
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002297 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2298
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022992002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002300
Miklos Szeredi60c23522002-10-24 09:19:43 +00002301 * fix incompatiblity with Red Hat kernels, with help from Nathan
2302 Thompson-Amato.
2303
Mark Glines65ba2192002-04-18 14:41:48 +000023042002-04-18 Mark Glines <mark@glines.org>
2305
2306 * added an alternative to fuse_mount(), called
2307 fuse_mount_ioslave(), which does not need to reexec the
2308 FUSE program.
2309 * added a small helper util needed by fuse_mount_ioslave().
2310
Mark Glines220635a2002-03-17 07:01:14 +000023112002-03-16 Mark Glines <mark@glines.org>
2312
2313 * use struct fuse_statfs everywhere possible to avoid problems
2314 with the headerfiles changing struct statfs member sizes
2315
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023162002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002317
2318 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2319
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023202002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002321
2322 * RPM support by Achim Settelmeier
2323
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023242002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002325
Miklos Szerediddc862a2002-01-09 13:46:10 +00002326 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002327
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023282002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002329
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002330 * Revaidate all path components not just the last, this means a
2331 very small performance penalty for being more up-to-date.
2332
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023332002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002334
2335 * Update and fix python interface
2336
Mark Glinesd84b39a2002-01-07 16:32:02 +000023372002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002338
Mark Glinesd84b39a2002-01-07 16:32:02 +00002339 * Added statfs() support to kernel, lib, examples, and perl!
2340
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023412001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002342
2343 * Better cross compilation support
2344
2345 * Ported to Compaq IPAQ
2346
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023472001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002348
Miklos Szeredife25def2001-12-20 15:38:05 +00002349 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002350 patch from Matt Ryan)
2351
Miklos Szeredife25def2001-12-20 15:38:05 +00002352 * Added flags to fusermount and to kernel interface to control
2353 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002354
Miklos Szeredife25def2001-12-20 15:38:05 +00002355 * Integrated fuse_set_operations() into fuse_new()
2356
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023572001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002358
2359 * Applied header protection + extern "C" patch by Roland
2360 Bauerschmidt
2361
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023622001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002363
Miklos Szeredie5183742005-02-02 11:14:04 +00002364 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002365
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023662001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002367
2368 * Cleaned up way of mounting simple filesystems.
2369
2370 * fuse_main() helper function added
2371
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023722001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002373
Miklos Szeredife25def2001-12-20 15:38:05 +00002374 * Optimized read/write operations, so that minimal copying of data
2375 is done
2376
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023772001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002378
2379 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002380
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023812001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002382
2383 * Fixed vfsmount reference leak in fuse_follow_link
2384
2385 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2386 userspace is ignored
2387
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023882001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002389
Miklos Szeredife25def2001-12-20 15:38:05 +00002390 * Started ChangeLog