blob: 942c2d96ec8bdabf16f477543a51a8987aa3805e [file] [log] [blame]
Miklos Szeredi6cf952a2006-09-30 07:39:33 +000012006-09-30 Miklos Szeredi <miklos@szeredi.hu>
2
Miklos Szeredi708b4812006-09-30 16:02:25 +00003 * Add support for block device backed filesystems. This mode is
4 selected with the 'blkdev' option, which is privileged.
5
6 * Add support for the bmap (FIBMAP ioctl) operation on block
7 device backed filesystems. This allows swapon and lilo to work on
8 such filesystems.
9
Miklos Szeredid93a4292006-09-30 12:21:49 +000010 * kernel changes:
11
Miklos Szeredi6cf952a2006-09-30 07:39:33 +000012 * Drop support for kernels earlier than 2.6.9. Kernel module from
13 previous (2.5.x) release can be used with library from this
14 release
15
Miklos Szeredid93a4292006-09-30 12:21:49 +000016 * In fuse_dentry_revalidate() use dget_parent() instead of
17 dereferencing d_parent, since there's no protection against parent
18 changing and going away
19
20 * Protect nlookup from concurrent updates
21
22 * In lookup if a directory alias exists but is unused,
23 then get rid of it, otherwise return -EBUSY.
24
25 * In mkdir if a directory alias exists, return success, but leave
26 dentry negative. In reality this could happen if a remote rename
27 immediately followed the mkdir.
28
29 * Don't BUG in fuse_iget() if multiple retries are needed to get a
30 good inode. This could happen if several lookups are racing for
31 the same inode.
32
Miklos Szeredi40ec1752006-09-30 06:17:31 +0000332006-09-29 Miklos Szeredi <miklos@szeredi.hu>
34
35 * Fix compilation on 2.6.9. Report from Troy Ayers
36
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000372006-09-27 Miklos Szeredi <miklos@szeredi.hu>
38
39 * Fix Oops in fuse_readpages(). Reported by David Shaw
40
Csaba Henk3e3a1252006-09-24 14:53:29 +0000412006-09-24 Csaba Henk <csaba.henk@creo.hu>
42
43 * Add support for nanosec times on FreeBSD
44
45 * Fix FreeBSD compatibility issues
46
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000472006-09-23 Miklos Szeredi <miklos@szeredi.hu>
48
49 * Fix one more compatibility bug. Thanks to Ricardo Correia
50
51 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
52
Miklos Szeredieafdf422006-09-22 19:30:17 +0000532006-09-22 Miklos Szeredi <miklos@szeredi.hu>
54
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +000055 * Fixed several compatibility bugs in low level interface.
56 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +000057
58 * Add workaround for ARM caching bug
59
Miklos Szeredic3b76812006-09-16 08:52:09 +0000602006-09-16 Miklos Szeredi <miklos@szeredi.hu>
61
62 * Rename new utimes() method to more logical utimens()
63
642006-09-14 Miklos Szeredi <miklos@szeredi.hu>
65
66 * Fuse tried to unlink already unlinked hidden files. Bug
67 reported by Milan Svoboda
68
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +0000692006-09-10 Miklos Szeredi <miklos@szeredi.hu>
70
71 * Released 2.6.0-rc1
72
732006-09-10 Miklos Szeredi <miklos@szeredi.hu>
74
75 * kernel: Fix unlock on close for kernels < 2.6.18
76
77 * Add ulockmgr library & server. This can be used for handling
78 file locking requests either directly from libfuse or over a
79 network, etc. This first version is not optimized and the number
80 of file descriptors it uses may get out of hand
81
Miklos Szeredi288ed4e2006-09-07 06:02:44 +0000822006-09-07 Miklos Szeredi <miklos@szeredi.hu>
83
84 * lib: Add interrupt support to high level library, which may be
85 enabled with the 'intr' mount option.
86
87 * When an operation is interrupted the thread handling that
88 operation will receive SIGUSR1 (or other signal specified with the
89 'intr_signal=N' option). The library installs a no-op signal
90 handler for this signal, unless there's already a handler
91 installed.
92
93 * The filesystem may query interrupt status (regardless of 'intr')
94 with the fuse_interrupted() function.
95
Miklos Szeredid8588412006-09-07 06:08:56 +000096 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
97
Miklos Szeredi38f152c2006-09-03 18:28:52 +0000982006-09-03 Miklos Szeredi <miklos@szeredi.hu>
99
100 * lib: Multithreaded loop now allows unlimited number of threads.
101 This is needed for locking operations which may block
102 indefinitely. Also the kernel now doesn't limit the number of
103 outstanding requests so the library shouldn't do so either.
104
Miklos Szeredifa440772006-09-02 09:51:08 +00001052006-09-01 Miklos Szeredi <miklos@szeredi.hu>
106
107 * Fix recursive lock bug in interrupt handling
108
109 * Add utimes() method to highlevel interface, which supports
110 setting times with nanosecond resolution
111
Miklos Szeredi63d3c402006-08-18 16:38:08 +00001122006-08-18 Miklos Szeredi <miklos@szeredi.hu>
113
114 * kernel: fix page leak if fuse_readpages() failed in it's
115 initialization. Bug found and original patch from Alexander
116 Zarochentsev
117
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000118 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
119 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000120 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000121
Miklos Szeredi543087d2006-08-18 19:26:23 +0000122 * fusermount: try to modprobe fuse module if invoked by root and
123 unable to open device. This is needed with udev, since the device
124 node will be created only when the module is inserted, hence
125 module autoloading won't work. Reported by Szakacsits Szabolcs
126
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00001272006-07-30 Miklos Szeredi <miklos@szeredi.hu>
128
129 * fusermount: if selinux is active, restore the original file's
130 security context in unmount_rename(). Redhat bugzilla id 188561.
131 Patch from Yves Perrenoud
132
133 * Add POSIX file locking operation to high level library
134
Miklos Szerediad519562006-07-31 11:07:40 +0000135 * Initialize context for unlink of hidden files on umount. Bug
136 reported by Tim Stoakes
137
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00001382006-07-14 Miklos Szeredi <miklos@szeredi.hu>
139
140 * Multiple release() calls can race with each other, resulting in
141 the hidden file being deleted before the last release finishes.
142 Bug found and patch tested by Mark Huijgen
143
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00001442006-07-05 Miklos Szeredi <miklos@szeredi.hu>
145
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000146 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
147 this makes sense on systems using udev. Reported by Szakacsits
148 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000149
Miklos Szeredi91762cd2006-06-29 14:38:35 +00001502006-06-29 Miklos Szeredi <miklos@szeredi.hu>
151
152 * Released 2.6.0-pre3
153
1542006-06-29 Miklos Szeredi <miklos@szeredi.hu>
155
156 * Support in kernel module for file locking and interruption. The
157 same functionality is available in official kernels >= 2.6.18
158
Miklos Szeredib052a1a2006-06-28 14:51:20 +00001592006-06-28 Miklos Szeredi <miklos@szeredi.hu>
160
161 * Add POSIX file locking support
162
163 * Add request interruption
164
Miklos Szeredi55a84102006-06-06 10:16:38 +00001652006-06-06 Miklos Szeredi <miklos@szeredi.hu>
166
167 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
168
Miklos Szeredi9dedb702006-06-06 09:48:30 +00001692006-06-05 Remy Blank <remy.blank@pobox.com>
170
171 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
172 unmounting succeeds even if mount point was relative.
173
Csaba Henkd021ce42006-06-03 23:04:18 +00001742006-06-04 Csaba Henk <csaba.henk@creo.hu>
175
176 * lib: fix emergency umount in helper.c when malloc fails.
177 (The way it was done would end up in a segfault.)
178
Csaba Henk4f5c7b42006-06-01 14:19:17 +00001792006-06-01 Csaba Henk <csaba.henk@creo.hu>
180
181 * lib: adjust threading related compiler flags.
182 Switch to "-pthread" from "-lpthread" as that's the preferred
183 one on several platforms. Consulted with Terrence Cole and
184 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000185
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00001862006-05-08 Miklos Szeredi <miklos@szeredi.hu>
187
188 * lib: search fusermount in installation directory (bindir) as
189 well as in PATH.
190
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00001912006-05-03 Miklos Szeredi <miklos@szeredi.hu>
192
193 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
194 Reported by Christian Magnusson
195
Csaba Henk2efe48f2006-04-22 22:46:52 +00001962006-04-23 Csaba Henk <csaba.henk@creo.hu>
197
198 * lib: make FreeBSD mount routine recognize if kernel features
199 backgrounded init and if it does, run the mount util in foreground
200 (similarly to Linux)
201
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00002022006-04-21 Miklos Szeredi <miklos@szeredi.hu>
203
204 * kernel: fix fput deadlock fix, the lockless solution could lead
205 to "VFS: busy inodes after umount..."
206
207 * kernel: fix race between checking and setting file->private_data
208 for the device. Found by Al Viro
209
2102006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000211
212 * kernel: remove request pool, instead allocate requests on
213 demand. Account the number of background requests, and if they go
214 over a limit, block the allocation of new requests.
215
216 * kernel: fix deadlock if backgrounded request holds the last
217 reference to the super block
218
219 * kernel: don't use fuse_reset_request() during direct I/O
220
Csaba Henkbaa49d22006-04-06 00:12:44 +00002212006-04-06 Csaba Henk <csaba.henk@creo.hu>
222
223 * lib: Let FreeBSD mount option parsing routine recognize "no"
224 prefixes for FUSE specific options as well
225
Miklos Szeredid0a777a2006-04-05 07:18:00 +00002262006-04-01 Miklos Szeredi <miklos@szeredi.hu>
227
228 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
229
Miklos Szeredi6f385412006-03-17 15:05:40 +00002302006-03-17 Miklos Szeredi <miklos@szeredi.hu>
231
232 * API changes:
233
234 * fuse_main(), fuse_setup() and fuse_new() have an additionl
235 user_data parameter
236
237 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
238 file descriptor
239
240 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
241 destroys the given channel
242
243 * fuse_teardown() no longer has a file descriptor parameter
244
245 * new exported functions: fuse_session_remove_chan(),
246 fuse_get_session(), fuse_daemonize()
247
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000248 * fuse_chan_recv() may now return a new channel which will be used
249 to send the reply
250
Miklos Szeredif51e43f2006-03-16 14:19:25 +00002512006-03-16 Miklos Szeredi <miklos@szeredi.hu>
252
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000253 * Released 2.6.0-pre2
254
2552006-03-16 Miklos Szeredi <miklos@szeredi.hu>
256
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000257 * Don't unmount if already unmounted. This fixes a problem seen
258 in the following situation: Lazy unmount a busy filesystem; Mount
259 a new one in top; When the first finally unmounts, the second also
260 unmounts. Reported by Franco Broi
261
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00002622006-03-15 Miklos Szeredi <miklos@szeredi.hu>
263
264 * lowlevel lib: use indirect function calls instead of a
265 switch/case construct. Besides increased efficiency it helps
266 maintainability & readability too. Patch from Florin Malita
267
Miklos Szeredi67d26d42006-03-13 17:39:56 +00002682006-03-13 Miklos Szeredi <miklos@szeredi.hu>
269
270 * kernel: replace global spinlock with a per-connection spinlock
271
Miklos Szeredi87c77932006-03-10 10:18:20 +00002722006-03-10 Miklos Szeredi <miklos@szeredi.hu>
273
274 * Fix source compatibility breakage for fuse_unmount(). Report
275 from Yura Pakhuchiy
276
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00002772006-03-02 Miklos Szeredi <miklos@szeredi.hu>
278
279 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
280
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00002812006-03-01 Miklos Szeredi <miklos@szeredi.hu>
282
283 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
284 Jeff Dike
285
286 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
287 interface to return -errno in case of error.
288
Csaba Henkee588c02006-03-01 09:40:35 +00002892006-03-01 Csaba Henk <csaba.henk@creo.hu>
290
291 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
292 FreeBSD implementation so that it uses libc (sysctl backed) instead
293 of an embdedded script (kmem backed). Adjust the control flow of
294 hello_ll so that device doesn't get closed before unmount attempt.
295
Miklos Szerediaa8258e2006-02-25 14:42:03 +00002962006-02-25 Miklos Szeredi <miklos@szeredi.hu>
297
298 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
299 implement method. This is needed on FreeBSD, and nicer on Linux
300 too. Highlevel lib already did this. Reported by Csaba Henk
301
302 * Fix negative entry handling. There was a bug, that negative
303 lookups with timeouts (nodeid == 0) returned -EIO.
304
3052006-02-23 Miklos Szeredi <miklos@szeredi.hu>
306
307 * Fix race between RELEASE and UNLINK, which might leave
308 .fuse_hidden* files around
309
Miklos Szeredi6bab4802006-02-21 18:31:29 +00003102006-02-21 Miklos Szeredi <miklos@szeredi.hu>
311
312 * fusexmp_fh: implement flush() method and call close() on the
313 open file descriptor. This is needed if used on an NFS
314 filesystem, which buffers data until file is closed. Franco Broi
315 spotted the situation when 'cp -p' failed to set the modification
316 time because of this.
317
Miklos Szeredie109e282006-02-20 11:06:20 +00003182006-02-20 Miklos Szeredi <miklos@szeredi.hu>
319
320 * Released 2.6.0-pre1
321
Miklos Szeredib67f2162006-02-20 10:55:33 +00003222006-02-19 Miklos Szeredi <miklos@szeredi.hu>
323
324 * libfuse: fix use-after-free bug in interruptred reply_entry().
325 Patch from John Muir
326
327 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
328 ID: 352631. Found by Stéphane Rosi
329
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00003302006-02-17 Miklos Szeredi <miklos@szeredi.hu>
331
332 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
333 into a single function fuse_add_direntry(). This cleans up the
334 interface and makes it possible to do stacking.
335
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00003362006-02-16 Miklos Szeredi <miklos@szeredi.hu>
337
338 * Fix rare race betweeen abort and release caused by failed iget()
339 in fuse_create_open().
340
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000341 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
342 own attribute caching.
343
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00003442006-02-15 Miklos Szeredi <miklos@szeredi.hu>
345
346 * Work around FreeBSD runtime linker "feature" which binds an old
347 version of a symbol to internal references if the symbol has more
348 than one version. This resulted in infinite recursion in
349 fuse_lowlevel_new_compat25().
350
Csaba Henkdcce3e52006-02-10 06:22:15 +00003512006-02-10 Csaba Henk <csaba.henk@creo.hu>
352
353 * Refine clock_gettime() querying so that linker options
354 shall be set as it's appropriate for the target platform.
355
Miklos Szeredi390ae312006-02-10 16:44:34 +00003562006-02-09 Miklos Szeredi <miklos@szeredi.hu>
357
358 * Fix udev rule syntax. Reported by Nix
359
Miklos Szeredieb643582006-02-08 10:54:02 +00003602006-02-08 Miklos Szeredi <miklos@szeredi.hu>
361
362 * In some cases udev rule seems to be ineffective when installed
363 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
364
Miklos Szeredi357529c2006-02-03 09:20:31 +00003652006-02-03 Miklos Szeredi <miklos@szeredi.hu>
366
367 * Fix compilation when build directory is different from source
368 directory. Reported by Frédéric L. W. Meunier
369
Miklos Szeredice28c7e2006-02-02 14:59:05 +00003702006-02-02 Miklos Szeredi <miklos@szeredi.hu>
371
372 * Fix even bigger bug introduced in fix for request_end() on
373 2006-01-14. Reported by Gal Rosen
374
Miklos Szeredi320abe42006-01-30 18:14:51 +00003752006-01-30 Miklos Szeredi <miklos@szeredi.hu>
376
377 * highlevel-lib: add 'auto_cache' option. This caches file data
378 based on modification time and size
379
Miklos Szeredi065f2222006-01-20 15:15:21 +00003802006-01-20 Miklos Szeredi <miklos@szeredi.hu>
381
Miklos Szeredid66b7282006-02-02 15:15:21 +0000382 * Sanitize storage type and help message in mount_bsd.c. Patch
383 from Csaba Henk
384
Miklos Szeredi065f2222006-01-20 15:15:21 +0000385 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
386 FUSE_OPT_KEY_DISCARD
387
388 * Add options 'max_readahead', 'sync_read' and 'async_read'
389
390 * Kernel ABI version 7.6:
391
392 * Negotiate the 'max_readahead' value and 'async_read' flags with
393 userspace in the INIT method
394
395 * Add connection info to ->init() methods to both lowlevel and
396 highlevel API
397
398 * Fall back to synchronous read() behavior if either library or
399 userspace filesystem is using the old interface version. This is
400 needed so non-updated filesystems won't be confused by the
401 different read() behavior
402
4032006-01-19 Miklos Szeredi <miklos@szeredi.hu>
404
405 * lib: if "fsname=" option was given, pass it to fusermount
406
407 * fuse_opt: add new fuse_opt_insert_arg() function, which is
408 needed by filesystems to implement some argument manipulations
409 correctly
410
411 * fuse_opt: fix memory leak in handling "--" option
412
4132006-01-18 Miklos Szeredi <miklos@szeredi.hu>
414
415 * kernel: fix detection of case when fuse is not configured into
416 the kernel either as module or built-in
417
418 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
419 'template' structure member to 'templ'. Reported by Takashi Iwai
420
421 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
422
423 * kernel: support version 2.6.16 (i_sem -> i_mutex)
424
Miklos Szeredi15af1b82006-01-16 17:52:24 +00004252006-01-16 Miklos Szeredi <miklos@szeredi.hu>
426
427 * Added (again) asynchronous readpages support
428
429 * Each connection now shows up under /sys/fs/fuse/connections
430
431 * Connection attributes exported to sysfs: 'waiting' number of
432 waiting requests; 'abort' abort the connection
433
434 * Connection may be aborted through either the sysfs interface or
435 with 'umount -f mountpoint'
436
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00004372006-01-14 Miklos Szeredi <miklos@szeredi.hu>
438
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000439 * Released 2.5.0
440
4412006-01-14 Miklos Szeredi <miklos@szeredi.hu>
442
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000443 * kernel: fix a couple of bugs
444
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000445 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000446 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000447 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000448
449 * request_end() used request pointer after decrementing refcount
450
451 * Clearing ->connected or ->mounted connection flags could race
452 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000453
Miklos Szeredia9820342006-01-10 10:54:11 +00004542006-01-10 Miklos Szeredi <miklos@szeredi.hu>
455
456 * kernel: add necessary compile flags for 2.4.X/x86_64.
457 Report from Sean Ziegeler
458
Miklos Szeredi35676b02006-01-09 10:13:28 +00004592006-01-09 Miklos Szeredi <miklos@szeredi.hu>
460
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000461 * Released 2.5.0-pre2
462
4632006-01-09 Miklos Szeredi <miklos@szeredi.hu>
464
Miklos Szeredi35676b02006-01-09 10:13:28 +0000465 * Applied patch from Csaba Henk, to update mount_bsd to new
466 fuse_mount() semantics
467
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000468 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
469 Steiner and Don Taber
470
Miklos Szeredicb075c82006-01-09 11:33:04 +0000471 * fusermount: add 'dirsync' mount option
472
Miklos Szerediad005972006-01-07 10:14:34 +00004732006-01-07 Miklos Szeredi <miklos@szeredi.hu>
474
475 * Improved help reporting and added version reporting to library
476
Miklos Szeredi0af762a2006-01-06 09:47:54 +00004772006-01-06 Miklos Szeredi <miklos@szeredi.hu>
478
479 * Change working directory to "/" even if running in the
480 foreground. Patch from Jonathan Brandmeyer
481
Miklos Szeredi95da8602006-01-06 18:29:40 +0000482 * Changed lots of functions to use 'struct fuse_args' instead of
483 separate argc and argv
484
485 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
486 fuse_remove_signal_handlers() functions, so that it's now pretty
487 easy to get all the functionality of fuse_main() with a filesystem
488 using the lowlevel API.
489
Miklos Szeredib8638182006-01-02 12:52:24 +00004902006-01-02 Miklos Szeredi <miklos@szeredi.hu>
491
Miklos Szeredif1941472006-01-02 16:27:48 +0000492 * mount.fuse: the 'user' option should be ignored. Report and
493 solution from Mattd.
494
495 * mount.fuse: export PATH in the right place. Report and patch
496 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000497
Miklos Szeredi73f41392005-12-16 11:12:16 +00004982005-12-16 Miklos Szeredi <miklos@szeredi.hu>
499
500 * Clean up the option parsing interface slightly, by creating an
501 "argument list" structure, that contains the argument vector and
502 count
503
Miklos Szeredi4e829092005-12-15 16:13:49 +00005042005-12-15 Miklos Szeredi <miklos@szeredi.hu>
505
506 * fusermount: check if /mnt/mtab is a symlink and don't modify it
507 in that case
508
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000509 * kernel: simplify request size limiting. INIT only contains
510 maximum write size, maximum path component size remains fixed at
511 1024 bytes, and maximum xattr size depends on read buffer.
512
Miklos Szeredie248e4b2005-12-14 16:18:32 +00005132005-12-14 Miklos Szeredi <miklos@szeredi.hu>
514
515 * Fix readdir() failure on x86_64, of 32bit programs compiled
516 without largefile support. Bug report and help from Anthony
517 Kolasny
518
Miklos Szeredi64709572005-12-14 22:16:28 +0000519 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000520 a regular file
521
522 * Add current output argument vector to option processing
523 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000524
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00005252005-12-12 Miklos Szeredi <miklos@szeredi.hu>
526
527 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
528
Miklos Szeredi659743b2005-12-09 17:41:42 +00005292005-12-09 Miklos Szeredi <miklos@szeredi.hu>
530
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000531 * Released 2.5.0-pre1
532
5332005-12-09 Miklos Szeredi <miklos@szeredi.hu>
534
Miklos Szeredi659743b2005-12-09 17:41:42 +0000535 * libfuse: added option parsing interface, defined in
536 <fuse_opt.h>.
537
Miklos Szeredic53cddd2005-12-07 12:57:59 +00005382005-12-07 Miklos Szeredi <miklos@szeredi.hu>
539
540 * Return EIO for file operations (read, write, fsync, flush) on
541 open files whose inode has become "bad". Inodes will be marked
542 "bad" if their type changes. Bug report by Csaba Henk
543
Miklos Szeredi044da2e2005-12-06 17:59:55 +00005442005-12-06 Miklos Szeredi <miklos@szeredi.hu>
545
546 * Use bigger request buffer size. write() did not work on archs
547 with > 4k page size, Bug report by Mark Haney
548
549 * ABI version 7.5:
550
551 * Extend INIT reply with data size limits
552
Miklos Szeredifa829b52005-12-02 11:05:41 +00005532005-12-02 Miklos Szeredi <miklos@szeredi.hu>
554
555 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
556 reported by Vincenzo Ciancia
557
558 * Handle exit-by-umount in fuse_read_cmd()
559
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00005602005-11-29 Miklos Szeredi <miklos@szeredi.hu>
561
562 * Check if '-msoft-float' option is supported by compiler when
563 configuring for a 2.4.x kernel. Bug report by Mark Haney
564
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000565 * In multithreaded loop send a TERM signal to the main thread if
566 one of the other threads exit. Needed on FreeBSD for a clean exit
567 on umount. Should not cause any harm on Linux either
568
Miklos Szerediead7f102005-11-28 16:02:27 +00005692005-11-28 Miklos Szeredi <miklos@szeredi.hu>
570
571 * Fix bug in 32-bit file handle compatibility
572
Miklos Szeredia90b7342005-11-27 19:22:42 +00005732005-11-27 Miklos Szeredi <miklos@szeredi.hu>
574
575 * Block TERM, INT, HUP and QUIT signals in all but the main
576 thread. According to POSIX it's not specified which thread will
577 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000578
579 * Kernel changes:
580
581 * Check for directory aliasing on mkdir, not just on lookup
582
583 * Check for special node ID values in create+open operation
584
585 * Sync with -mm: readv, writev, aio_read and aio_write methods
586 added to file operations
587
588 * Cleanups: lookup code, page offset calculation
589
590 * ABI stepped to 7.4, changes:
591
592 * frsize member added to fuse_kstatfs structure
593
594 * added support for negative entry caching: on lowlevel API if
595 fuse_entry_param::ino is set to zero in reply to a lookup request,
596 the kernel will cache the dentry for the specified amount of time.
597
598 * libfuse: added 'negative_timeout' option: specifies how much
599 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000600 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000601
Miklos Szeredibac4c772005-11-23 13:35:54 +00006022005-11-22 Miklos Szeredi <miklos@szeredi.hu>
603
604 * Add detection of mainline FUSE code in running kernel
605
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00006062005-11-21 Miklos Szeredi <miklos@szeredi.hu>
607
608 * Don't use async cancelation in multithreaded loop. This makes
609 it more portable to systems where read() is not async cancel safe.
610 Report from Andriy Gapon
611
Miklos Szeredi05c97842005-11-20 17:05:07 +00006122005-11-20 Miklos Szeredi <miklos@szeredi.hu>
613
614 * Warn if API version 11 compatibility is requested
615
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00006162005-11-17 Miklos Szeredi <miklos@szeredi.hu>
617
618 * More FreeBSD merge
619
Miklos Szeredi832ee442005-11-18 21:02:36 +0000620 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
621 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000622 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000623
624 * libfuse: don't use system() to invoke 'fusermount -u ...'
625 because it breaks mountpoints with spaces in them into multiple
626 arguments
627
Miklos Szeredib3f99722005-11-16 13:00:24 +00006282005-11-16 Miklos Szeredi <miklos@szeredi.hu>
629
630 * Merge library part of FreeBSD port. Patch by Csaba Henk
631
Miklos Szeredi3a770472005-11-11 21:32:42 +00006322005-11-11 Miklos Szeredi <miklos@szeredi.hu>
633
634 * Use 64bit type for file handle, so the full range supported by
635 the kernel interface is available to applications
636
Miklos Szeredibcc53852005-11-10 09:54:41 +00006372005-11-10 Miklos Szeredi <miklos@szeredi.hu>
638
639 * Moved mountpoint argument checking from fuse_parse_cmdline() to
640 fuse_mount() in preparation to FreeBSD merge.
641
Miklos Szeredi4ec06812005-11-08 13:04:27 +00006422005-11-08 Miklos Szeredi <miklos@szeredi.hu>
643
644 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
645 Henk.
646
Miklos Szeredic706ad92005-11-07 15:30:48 +00006472005-11-07 Miklos Szeredi <miklos@szeredi.hu>
648
649 * Make the statfs change backwards compatible.
650
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00006512005-11-06 Miklos Szeredi <miklos@szeredi.hu>
652
653 * Change ->statfs() method to use 'struct statvfs' instead of
654 'struct statfs'. This makes the API more portable since statvfs()
655 is defined by POSIX.
656
Miklos Szeredif7eec032005-10-28 13:09:50 +00006572005-10-28 Miklos Szeredi <miklos@szeredi.hu>
658
659 * Add fgetattr() method, which currently will only be called after
660 a successful call to a create() method.
661
Miklos Szeredib0b13d12005-10-26 12:53:25 +00006622005-10-26 Miklos Szeredi <miklos@szeredi.hu>
663
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000664 * Change kernel ABI version to 7.3
665
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000666 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000667 call if 'default_permissions' mount option is not given, and is
668 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000669
Miklos Szeredid9079a72005-10-26 15:29:06 +0000670 * Add atomic CREATE+OPEN operation. This will only work with
671 2.6.15 (presumably) or later Linux kernels.
672
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000673 * Add ftruncate() method. This will only work with 2.6.15
674 (presumably) or later Linux kernels.
675
676 * Fix kernel module compile if kernel source and build directories
677 differ. Report and initial patch by John Eastman
678
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00006792005-10-18 Miklos Szeredi <miklos@szeredi.hu>
680
681 * lib: optimize buffer reallocation in fill_dir.
682
Miklos Szeredic9daeb12005-10-17 10:19:21 +00006832005-10-17 Miklos Szeredi <miklos@szeredi.hu>
684
685 * Released 2.4.1
686
Miklos Szeredif412d072005-10-14 21:24:32 +00006872005-10-14 Miklos Szeredi <miklos@szeredi.hu>
688
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000689 * libfuse: add debug for write result (by Shaun Jackman) and
690 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000691
Miklos Szeredib75d4b92005-10-11 10:12:08 +00006922005-10-11 Miklos Szeredi <miklos@szeredi.hu>
693
694 * Spelling fixes, thanks to Ioannis Barkas
695
Miklos Szeredibaab5872005-10-10 08:41:14 +00006962005-10-10 Miklos Szeredi <miklos@szeredi.hu>
697
698 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
699 patch
700
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00007012005-10-07 Miklos Szeredi <miklos@szeredi.hu>
702
703 * highlevel-lib: init() and destroy() methods didn't have an
704 initialized fuse_context. Bug reported by Tim Stoakes
705
Miklos Szeredif2491122005-10-04 10:10:41 +00007062005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000707
708 * Released 2.4.0
709
Miklos Szeredi836ab712005-10-03 14:11:59 +00007102005-10-03 Miklos Szeredi <miklos@szeredi.hu>
711
712 * Add documentation to fuse_lowlevel.h
713
714 * API cleanups:
715
716 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
717
718 * Move fuse_mount() and fuse_unmount() to fuse_common.h
719
720 * Change the return type of fuse_reply_none() from int to void.
721
Miklos Szerediaf138742005-09-30 08:49:59 +00007222005-09-30 Miklos Szeredi <miklos@szeredi.hu>
723
724 * kernel: NFS exporting leaked dentries. Bug found and fixed by
725 Akshat Aranya.
726
Miklos Szeredidb016e02005-09-29 10:06:27 +00007272005-09-29 Miklos Szeredi <miklos@szeredi.hu>
728
729 * fusermount: fix error message, when unable to open /dev/fuse.
730 Report by Balázs Pozsár
731
Miklos Szeredi35200932005-09-28 14:50:49 +00007322005-09-28 Miklos Szeredi <miklos@szeredi.hu>
733
734 * UClibc fixes from Christian Magnusson
735
Miklos Szeredi8eddf642005-09-27 08:58:26 +00007362005-09-27 Miklos Szeredi <miklos@szeredi.hu>
737
738 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
739
Miklos Szerediedec95c2005-09-26 10:22:22 +00007402005-09-26 Miklos Szeredi <miklos@szeredi.hu>
741
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000742 * Released 2.4.0-rc1
743
7442005-09-26 Miklos Szeredi <miklos@szeredi.hu>
745
Miklos Szerediedec95c2005-09-26 10:22:22 +0000746 * fusermount: allow user umount in the case when /etc/mtab is a
747 symlink to /proc/mounts. Reported by Balázs Pozsár.
748
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00007492005-09-23 Miklos Szeredi <miklos@szeredi.hu>
750
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000751 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000752
Miklos Szeredif45f3c12005-09-22 15:14:27 +00007532005-09-22 Miklos Szeredi <miklos@szeredi.hu>
754
755 * Slight optimization in returning EINVAL error in case of an open
756 with O_DIRECT flag.
757
Miklos Szeredi670d07a2005-09-20 11:36:32 +00007582005-09-20 Miklos Szeredi <miklos@szeredi.hu>
759
760 * Remove '--enable-auto-modprobe' configure flag. Module
761 auto-loading is now handled by the kernel.
762
Miklos Szeredid51fca12005-09-15 12:51:00 +00007632005-09-15 Miklos Szeredi <miklos@szeredi.hu>
764
765 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
766 Help from Jens M. Noedler.
767
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00007682005-09-14 Miklos Szeredi <miklos@szeredi.hu>
769
770 * Add memory cleanup on thread exit
771
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00007722005-09-13 Miklos Szeredi <miklos@szeredi.hu>
773
774 * Set umask to zero in fusexmp and fusexmp_fh, so that
775 files/directories are created with the requested mode.
776
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00007772005-09-12 Miklos Szeredi <miklos@szeredi.hu>
778
779 * Don't ignore read error in multithreaded loop
780
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00007812005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000782
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000783 * Released 2.4.0-pre2
784
7852005-09-08 Miklos Szeredi <miklos@szeredi.hu>
786
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000787 * Revert lock and access operations. Postpone these until 2.5.
788
7892005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000790
791 * Fix compile warning on 2.6.13 and later
792
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000793 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000794
Miklos Szeredi77ccf652005-08-19 14:40:27 +00007952005-08-19 Miklos Szeredi <miklos@szeredi.hu>
796
797 * lib: always refresh directory contents after rewinddir() to
798 conform to SUS. Bug found by John Muir.
799
Miklos Szeredia1482422005-08-14 23:00:27 +00008002005-08-15 Miklos Szeredi <miklos@szeredi.hu>
801
Miklos Szeredic43f9412005-08-15 15:10:48 +0000802 * Released 2.4.0-pre1
803
8042005-08-14 Miklos Szeredi <miklos@szeredi.hu>
805
Miklos Szeredia1482422005-08-14 23:00:27 +0000806 * lib: cleaned up (or messed up, depending on your POV) the low
807 level library API. Hopefully this is close to the final form.
808
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00008092005-08-05 Miklos Szeredi <miklos@szeredi.hu>
810
811 * fusermount: don't allow empty mountpoint argument, which defeats
812 automatic umounting in fuse_main(). Bugreport by Václav Jůza
813
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00008142005-08-03 Miklos Szeredi <miklos@szeredi.hu>
815
816 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
817 option is used (Paul Alfille).
818
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00008192005-08-02 Miklos Szeredi <miklos@szeredi.hu>
820
821 * highlevel-lib: added mount options "attr_timeout" and
822 "entry_timeout". These options control the length of time file
823 attributes and entries (names) are cached. Both default to 1.0
824 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000825
826 * kernel: correctly handle zero timeout for attributes and entries
827
Miklos Szeredi56a61f02005-08-01 10:42:25 +00008282005-08-01 Miklos Szeredi <miklos@szeredi.hu>
829
830 * Added missing symbols to versionscript (Joshua J. Berry)
831
Miklos Szeredie77cc072005-08-01 11:58:51 +0000832 * kernel: implement two flags, open can set: 'direct_io' and
833 'keep_cache'. These correspond exactly to mount options
834 'direct_io' and 'kernel_cache', but allow a per-open setting.
835
836 * Move 'direct_io' and 'kernel_cache' mount option handling to
837 userspace. For both mount options, if the option is given, then
838 the respective open flag is set, otherwise the open flag is left
839 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000840
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000841 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000842
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00008432005-07-28 Miklos Szeredi <miklos@szeredi.hu>
844
845 * kernel: invalidate attributes for read/readdir/readlink
846 operations
847
848 * kernel: detect newer UML kernels
849
Miklos Szeredibfb99462005-07-26 11:07:55 +00008502005-07-26 Miklos Szeredi <miklos@szeredi.hu>
851
852 * Make the installation path of fuse.ko and mount.fuse
853 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
854 environment variables. Requirement and help from Csaba Henk.
855
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00008562005-07-22 Miklos Szeredi <miklos@szeredi.hu>
857
858 * Fix bug, that causes filesystem requests to hang when unique
859 request counter becomes negative. This happens after
860 2,147,483,648 operations, so most people won't care. Thanks to
861 Franco Broi for the report and testing.
862
Miklos Szeredi9b813af2005-07-21 07:59:37 +00008632005-07-21 Miklos Szeredi <miklos@szeredi.hu>
864
865 * Don't change mtime/ctime/atime to local time on read/write.
866 Bug reported by Ben Grimm
867
868 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
869 Magnusson
870
871 * fusermount: use getopt_long() for option parsing. It allows the
872 use of '--' to stop argument scanning, so fusermount can now
873 operate on directories whose names begin with a '-'. Patch by
874 Adam Connell
875
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00008762005-07-15 Miklos Szeredi <miklos@szeredi.hu>
877
878 * fusermount: add '-v', '--version' and '--help' options
879
880 * add inode based API
881
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00008822005-07-12 Miklos Szeredi <miklos@szeredi.hu>
883
884 * lib: don't block signals in worker threads. Problem noticed by
885 Usarin Heininga
886
Miklos Szeredic902a852005-07-07 12:35:37 +00008872005-07-07 Miklos Szeredi <miklos@szeredi.hu>
888
889 * lib: don't allow both 'allow_other' and 'allow_root' options to
890 be given
891
Miklos Szeredi437d8112005-07-06 09:14:20 +00008922005-07-06 Miklos Szeredi <miklos@szeredi.hu>
893
894 * fusermount: check if mountpoint is empty (only '.' and '..' for
895 directories, and size = 0 for regular files). If "nonempty"
896 option is given, omit this check. This is useful, so users don't
897 accidentally hide data (e.g. from backup programs). Thanks to
898 Frank van Maarseveen for pointing this out.
899
900 * kernel: check if mandatory mount options ('fd', 'rootmode',
901 'user_id', 'group_id') are all given
902
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000903 * lib: simplify 'readdir_ino' handling
904
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000905 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
906
Miklos Szeredibb9f5172005-07-03 18:03:11 +00009072005-07-03 Miklos Szeredi <miklos@szeredi.hu>
908
909 * kernel: clean up 'direct_io' code
910
Miklos Szeredie1bcece2005-06-28 10:37:06 +00009112005-06-28 Miklos Szeredi <miklos@szeredi.hu>
912
913 * Add 'mount.fuse' written by Petr Klima
914
Miklos Szeredi866826d2005-06-28 12:22:57 +0000915 * '/dev/fuse' is created by 'make install' if does not yet exist
916
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00009172005-06-20 Miklos Szeredi <miklos@szeredi.hu>
918
919 * Fix UCLIBC compile error. Patch by Christian Magnusson
920
Miklos Szerediec12fad2005-06-08 10:26:34 +00009212005-06-08 Miklos Szeredi <miklos@szeredi.hu>
922
923 * Enable the auto-loading of the module via access to the
924 corresponding device file. Patch by Takashi Iwai.
925
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000926 * Allow mounting a regular file (over a regular file) for
927 unprivleged users.
928
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000929 * Do not create temporary device file. Require "/dev/fuse" to
930 exist, and be readable/writable by the mounting user.
931
Miklos Szeredi46960ce2005-06-02 09:05:00 +00009322005-06-02 Miklos Szeredi <miklos@szeredi.hu>
933
Miklos Szeredi56478552005-06-02 10:29:00 +0000934 * Released 2.3.0
935
9362005-06-02 Miklos Szeredi <miklos@szeredi.hu>
937
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000938 * Fix serious information leak: if the filesystem returns a short
939 byte count to a read request, and there are non-zero number of
940 pages which are not filled at all, these pages will not be zeroed.
941 Hence the user can read out previous memory contents. Found by
942 Sven Tantau.
943
Miklos Szeredi33be22d2005-05-27 09:12:43 +00009442005-05-27 Miklos Szeredi <miklos@szeredi.hu>
945
946 * Add "readdir_ino" mount option, which tries to fill in the d_ino
947 field in struct dirent. This mount option is ignored if "use_ino"
948 is used. It helps some programs (e.g. 'pwd' used over NFS from a
949 non-Linux OS). Patch by David Shaw.
950
Miklos Szeredif94e0102005-05-12 14:56:34 +00009512005-05-12 Miklos Szeredi <miklos@szeredi.hu>
952
Miklos Szeredieb009c42005-05-12 15:01:17 +0000953 * Released 2.3-rc1
954
9552005-05-12 Miklos Szeredi <miklos@szeredi.hu>
956
Miklos Szeredif94e0102005-05-12 14:56:34 +0000957 * File save in krusader and other editors doesn't work with sshfs,
958 because open() is interrupted by a periodic signal, and open()
959 restarts forever, without any progress. This could just be fixed
960 in open(), but the problem is more generic: if signals are
961 received more often than the filesystem can get the request to
962 userspace, it will never finish. This is probably only a
963 theoretical problem, nevertheless I'm removing the possibility to
964 interrupt requests with anything other than SIGKILL, even before
965 being sent to userspace. Bugreport by Eduard Czimbalmos.
966
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00009672005-05-09 Miklos Szeredi <miklos@szeredi.hu>
968
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000969 * libfuse: add "tree_lock" rwlock, that is locked for write in
970 rename, unlink and rmdir, and locked for read in all other
971 operations. This should fix the rename/release race reported by
972 Valient Gough and others. The solution is very coarse, a finer
973 grained locking scheme could be implemented, but it would be much
974 more complex. Let's see whether this is good enough.
975
9762005-05-09 Miklos Szeredi <miklos@szeredi.hu>
977
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000978 * Released 2.3-pre7
979
Miklos Szeredi38009022005-05-08 19:47:22 +00009802005-05-08 Miklos Szeredi <miklos@szeredi.hu>
981
982 * Better fix for out of order FORGET messages. Now the
983 LOOKUP/FORGET messages are balanced exactly (one FORGET can
984 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000985 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000986 compatible.
987
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00009882005-05-06 Miklos Szeredi <miklos@szeredi.hu>
989
990 * Fix abort for out of order FORGET messages. Again. Spotted by
991 Franco Broi again. Sorry :)
992
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00009932005-04-29 Miklos Szeredi <miklos@szeredi.hu>
994
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000995 * Released 2.3-pre6
996
9972005-04-29 Miklos Szeredi <miklos@szeredi.hu>
998
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000999 * Make fusermount work with fuse kernel modules not yet supporting
1000 the "group_id" option (added for the purpose of stricter
1001 permission checking).
1002
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +000010032005-04-28 Miklos Szeredi <miklos@szeredi.hu>
1004
1005 * Check for hard-linked directories in lookup. This could cause
1006 problems in the VFS, which assumes that such objects never exist.
1007
1008 * Make checking of permission for other users more strict. Now
1009 the same privilege is required for the mount owner as for ptrace
1010 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001011
Miklos Szeredi3efcb562005-04-23 13:34:29 +000010122005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1013
1014 * Released 2.3-pre5
1015
Miklos Szeredid001bf92005-04-22 07:54:11 +000010162005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1017
1018 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1019 is needed on certain architectures. Report from Chris Kirby
1020
1021 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1022 Reported by David Shaw
1023
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001024 * Remove "allow_root" option from kernel module, and implement
1025 it's functionality in the library
1026
1027 * Fix Oops caused by premature release of fuse_conn. Clean up
1028 related code, to be more readable
1029
Miklos Szeredif9137452005-04-23 10:59:44 +00001030 * Sendfile should not use page cache if "direct_io" mount option
1031 is given
1032
Miklos Szeredib7640d22005-04-08 15:15:28 +000010332005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1034
1035 * Fix Oops in case of nfs export. Spotted by David Shaw
1036
Miklos Szeredi89814a12005-04-08 16:39:09 +00001037 * Fix another Oops in case of write over nfs with direct_io turned
1038 on. Again spotted by David Shaw
1039
Miklos Szerediab974562005-04-07 15:40:21 +000010402005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1041
Miklos Szeredi432d6182005-04-07 15:56:13 +00001042 * Released 2.3-pre4
1043
10442005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1045
Miklos Szerediab974562005-04-07 15:40:21 +00001046 * lib: finalized new readdir() interface, which now supersedes the
1047 getdir() method.
1048
Miklos Szeredi30e093a2005-04-03 17:44:54 +000010492005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1050
1051 * Released 2.3-pre3
1052
10532005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1054
1055 * Implement backward compatibility with version 5 kernel ABI
1056
Miklos Szeredi18fce982005-04-01 21:07:35 +000010572005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1058
1059 * Released 2.3-pre2
1060
10612005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1062
1063 * kernel: fix dirent offset handling
1064
1065 * lib: add readdir and releasedir methods
1066
1067 * lib: use fh field of fuse_file_info in opendir, readdir,
1068 releasedir and fsyncdir methods
1069
1070 * lib: check kernel API version and bail out of it's old. This
1071 will be properly fixed in the next release
1072
10732005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1074
1075 * Released 2.3-pre1
1076
Miklos Szeredieab72ef2005-03-31 19:59:12 +000010772005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1078
1079 * kernel API: add padding to structures, so 64bit and 32bit
1080 compiler will return the same size
1081
1082 * kernel API: add offset field to fuse_dirent. This will allow
1083 more sophisticated readdir interface for userspace
1084
1085 * kernel API: change major number to 6
1086
1087 * kernel: fix warnings on 64bit archs
1088
1089 * kernel: in case of API version mismatch, return ECONNREFUSED
1090
Miklos Szeredi407e6a72005-03-25 12:19:43 +000010912005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1092
1093 * kernel: trivial cleanups
1094
Miklos Szeredi4283ee72005-03-21 12:09:04 +000010952005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1096
1097 * Add fsyncdir() operation
1098
Miklos Szeredid17da462005-03-21 11:47:04 +000010992005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1100
1101 * kernel: add locking to background list (fixes previous fix)
1102
11032005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1104
1105 * kernel: fix bug which could cause leave busy inodes after
1106 unmount, and Oops.
1107
11082005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1109
1110 * examples: add -lpthread to link flags to work around valgrind
1111 quirk
1112
1113 * lib: don't exit threads, so cancelation doesn't cause segfault
1114
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000011152005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1116
1117 * kernel: fix nasty bug which could cause an Oops under certain
1118 situations. Found by Magnus Johansson
1119
Miklos Szeredif43f0632005-02-28 11:46:56 +000011202005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1121
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001122 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001123 permission checking in getdir() is too late. Thanks to Usarin
1124 Heininga for pointing out this deficiency
1125
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001126 * libfuse: added init() and destroy() methods to fuse_operations
1127
Miklos Szeredif43f0632005-02-28 11:46:56 +00001128 * kernel: llseek() method for files and directories made explicit
1129
1130 * kernel: fixed inode leak in NFS export in case of nodeid
1131 wrapping
1132
Miklos Szeredied3c97c2005-02-15 17:04:50 +000011332005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1134
1135 * libfuse: clean up some unitialized memory found with valgrind
1136
Miklos Szeredi47c52982005-02-23 09:27:38 +00001137 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1138 explicitly linked libpthread for applications
1139
Miklos Szeredia7169412005-02-10 07:35:05 +000011402005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1141
1142 * fusermount: set umask, otherwise /etc/mtab will have
1143 unpredictable permission. Spotted by Jindrich Kolorenc
1144
1145 * fusermount: set owner and group of /etc/mtab to original values
1146 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001147
1148 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001149
Miklos Szeredib92d9782005-02-07 16:10:49 +000011502005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1151
1152 * Cleaned up directory reading (temporary file is not used)
1153
Miklos Szerediff30a6c2005-02-02 10:53:59 +000011542005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1155
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001156 * Released 2.2
1157
11582005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1159
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001160 * Fix possible race when operation is interrupted
1161
Miklos Szeredi7a983952005-01-28 09:58:19 +000011622005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1163
Miklos Szeredie5183742005-02-02 11:14:04 +00001164 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001165
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000011662005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1167
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001168 * Released 2.2-pre6
1169
11702005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1171
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001172 * Fix bug in link() operation which caused the wrong path to be
1173 passed as the first argument. Found by Anton Altaparmakov
1174
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000011752005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1176
1177 * LIB: fix double reply in readdir operation
1178
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001179 * fusermount: fix uid checking bug. Patch by Adam Connell
1180
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001181 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001182 Patch by Keshava Gowda
1183
Miklos Szeredi64074142005-01-20 08:48:11 +000011842005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1185
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001186 * KERNEL: provide correct llseek semantics for fuse device (fixes
1187 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1188
11892005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1190
Miklos Szeredi64074142005-01-20 08:48:11 +00001191 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1192
Miklos Szeredi1adb2272005-01-18 21:19:58 +000011932005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1194
1195 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1196 and RELEASEDIR. This ends the ugly hack of passing a file
1197 descriptor to the kernel, and actually makes the code simpler.
1198
Miklos Szeredi7db35c02005-01-17 09:46:28 +000011992005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1200
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001201 * Released 2.2-pre4
1202
12032005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1204
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001205 * fusermount: remove capability setting, which was the cause of
1206 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001207 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001208
Miklos Szeredidbe0f652005-01-15 14:32:56 +000012092005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001210
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001211 * fix compilation on 2.4 kernels (reported by Valient Gough)
1212
1213 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001214
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001215 * fusermount: improve parsing of /etc/fuse.conf
1216
12172005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1218
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001219 * Remove 'mount_max' and 'user_allow_other' module options. These
1220 are now checked by fusermount, and can be set in /etc/fuse.conf
1221
1222 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1223
Miklos Szeredi81394522005-01-11 14:24:18 +000012242005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1225
1226 * KERNEL: fix possible inode allocation problem, where
1227 sizeof(struct inode) is not aligned (found by Mike Waychison)
1228
1229 * KERNEL: use new follow_link/put_link methods
1230
1231 * KERNEL: cosmetic fixes
1232
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000012332005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1234
1235 * Released 2.2-pre3
1236
12372005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1238
1239 * Add missing code that was accidently left out
1240
Miklos Szeredi8c7da232005-01-09 12:27:41 +000012412005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1242
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001243 * Released 2.2-pre2
1244
12452005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1246
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001247 * Change "uid" mount option to "user_id" to avoid confusion with a
1248 mount option "uid" commonly used by many filesystems
1249
12502005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1251
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001252 * Released 2.2-pre1
1253
12542005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1255
1256 * If FUSE is configured in the kernel, don't build it by default
1257
Miklos Szeredi2a927272005-01-07 11:14:15 +000012582005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1259
1260 * Compile fix by Christian Magnusson
1261
Miklos Szeredib6220192005-01-05 16:19:10 +000012622005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1263
1264 * Fix compilation for 2.6.{0-5} kernels
1265
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012662005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1267
1268 * KERNEL: if request is interrupted, still keep reference to used
1269 inode(s) and file, so that FORGET and RELEASE are not sent until
1270 userspace finishes the request.
1271
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001272 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1273 request with the same information, which is more flexible,
1274 simpler, works on embedded systems.
1275
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012762004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1277
1278 * KERNEL ABI: update interface to make it independent of type
1279 sizes. This will help on 64 bit architectures which can run
1280 legacy 32 bit applications.
1281
1282 * KERNEL ABI: add "len" field to request headers. This will allow
1283 sending/receiving requests in multiple chunks.
1284
1285 * KERNEL: handle file type change more intelligently
1286
1287 * LIB: "-o debug" option should disable backgrounding (fix by
1288 Fabien Reygrobellet)
1289
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000012902004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1291
1292 * KERNEL: invalidate dentry/attributes if interrupted request
1293 could leave filesystem in an unknown state.
1294
Miklos Szeredie56818b2004-12-12 11:45:24 +000012952004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1296
1297 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1298 These will cause some regressions, but stability is considered
1299 more important. If any of these features turns out to be
1300 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001301
Miklos Szeredie56818b2004-12-12 11:45:24 +00001302 * Make all requests interruptible (only with SIGKILL currently).
1303 This can be used to break any deadlock produced by the userspace
1304 filesystem accessing it's own exported files. The RELEASE request
1305 is special, because if it's interrupted before sending it to
1306 userspace it is still sent, but the reply is not awaited.
1307
1308 * If request is interrupted before being sent to userspace, and if
1309 it hasn't yet got any side effects, it is always restarted,
1310 regardless of the SA_RESTART flag. This makes these interruptions
1311 transparent to the process.
1312
1313 * Remove shared-writable mmap support, which was prone to an
1314 out-of-memory deadlock situation
1315
1316 * Remove INVALIDATE userspace initiated request
1317
1318 * Make readpages() synchronous. Asynchronous requests are
1319 deadlock prone, since they cannot be interrupted.
1320
1321 * Add readv/writev support to fuse device operations
1322
1323 * Remove some printks, which userspace FS can use for a DoS
1324 against syslog
1325
1326 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1327 fusermount instead
1328
1329 * LIB: improve compatibility with a fuse.h header installed in
1330 ${prefix}/include which in turn includes the real header.
1331
1332 * LIB: improve compatibility by defining fuse_main() (which is now
1333 not used), so old configure scripts find it.
1334
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000013352004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1336
1337 * When mounting on a subdirectory of / don't duplicate slashes at
1338 the beggining of path (spotted by David Shaw)
1339
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000013402004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1341
1342 * Fix bug causing garbage in mount options (spotted by David Shaw)
1343
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000013442004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1345
1346 * Add 'writepage' flag to 'fuse_file_info'.
1347
1348 * More comments in fuse.h
1349
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001350 * Get rid of double underscores
1351
Miklos Szeredi799993c2004-12-04 21:20:05 +000013522004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1353
1354 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1355
1356 * helper.c: add -ho option, which only displays the options not
1357 the usage header. This can be used by filesystems which have
1358 their own options.
1359
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000013602004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1361
1362 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1363 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1364 including the fuse header
1365
1366 * Add binary compatibility to 2.1 version of library with symbol
1367 versioning
1368
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000013692004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1370
1371 * Released 2.1
1372
Miklos Szeredi039322d2004-12-01 18:39:12 +000013732004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1374
1375 * kernel: clean up writing functions
1376
1377 * kernel: no allocation on write in direct_io mode
1378
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001379 * move linux/fuse.h to fuse_kernel.h
1380
Miklos Szeredi83a07442004-11-30 18:25:20 +000013812004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1382
1383 * kernel: clean up reading functions
1384
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000013852004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1386
1387 * kernel: make readpage() uninterruptible
1388
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001389 * kernel: check readonly filesystem flag in fuse_permission
1390
1391 * lib: don't die if version file not found and new style device
1392 exists
1393
1394 * lib: add '-r' option, which is short for '-o ro'
1395
1396 * fusermount: simplify device opening
1397
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001398 * kernel: when direct_io is turend on, copy data directly to
1399 destination without itermediate buffer. More efficient and safer,
1400 since no allocation is done.
1401
1402 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001403
1404 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001405
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000014062004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1407
1408 * libfuse API change: open, read, write, flush, fsync and release
1409 are passed a 'struct fuse_file_info' pointer containing the open
1410 flags (open and release), and the file handle. Verion changed to
1411 3.0.
1412
Miklos Szeredia25d4c22004-11-23 22:32:16 +000014132004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1414
1415 * More cleanups in the kernel
1416
1417 * The 10,229 charater device number has been assigned for FUSE
1418
1419 * Version file checking fix (reported by Christian Magnusson)
1420
1421 * fusermount: opening the fuse device now doesn't need /sys.
1422
1423 * Optimize reading by controlling the maximum readahead based on
1424 the 'max_read' mount option
1425
1426 * fixes for UCLIBC (Christian Magnusson)
1427
Miklos Szeredi13ed4822004-11-20 11:12:21 +000014282004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1429
1430 * Cleaned up kernel in preparation for merge into mainline:
1431
1432 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1433
1434 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1435
1436 * __user annotations for sparse
1437
1438 * allocate individual pages instead of kmalloc in fuse_readdir,
1439 fuse_read and fuse_write.
1440
1441 * Fix NFS export in case "use_ino" mount option is given
1442
Miklos Szeredif3845c42004-11-20 11:18:34 +00001443 * Make libfuse and fusermount compatible with future versions
1444
1445 * fusermount: properly add mount options to /etc/mtab
1446
14472004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1448
1449 * fusermount: do not resolve last component of mountpoint on if it
1450 is '.' or '..'. This new path resolvation is now done on mount as
1451 well as unmount. This enables relative paths to work on unmount.
1452
1453 * fusermount: parse common mount options like "ro", "rw", etc...
1454
1455 * Allow module params to be changed through sysfs
1456
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000014572004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1458
1459 * Released 2.1-pre1
1460
14612004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1462
1463 * Fix bug in fuse_readpages() causing Oops in certain situations.
1464 Bug found by Vincenzo Ciancia.
1465
1466 * Fix compilation with kernels versions > 2.6.9.
1467
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000014682004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001469
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001470 * Check kernel interface version in fusermount to prevent
1471 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001472
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001473 * No need to allocate fuse_conn until actual mount happens
1474
1475 * Fix potential race between umount and fuse_invalidate
1476
1477 * Check superblock of proc file in addition to inode number
1478
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001479 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001480
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014812004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1482
1483 * Separate configure for the kernel directory
1484
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001485 * Don't allow write to return more than 'count'
1486
1487 * Extend kernel interface for future use
1488
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014892004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1490
1491 * Fix 'makeconf.sh' to use autoreconf if available
1492
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000014932004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1494
Miklos Szeredid507c732004-11-08 17:32:25 +00001495 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1496 compatibility with earlier versions. To compile earier versions
1497 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1498 Do not use the "use_ino" mount flag with filesystems compiled with
1499 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001500
1501 * Add pkg-config support. To compile a FUSE based filesystem you
1502 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1503 or similar. Note, that the PKG_CONFIG_PATH environment variable
1504 usually needs to be set to "/usr/local/lib/pkgconfig".
1505
1506 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001507
Miklos Szeredia13d9002004-11-02 17:32:03 +000015082004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1509
1510 * Added "use_ino" mount option. This enables the filesystems to
1511 set the st_ino field on files
1512
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000015132004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1514
1515 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1516 by Jeremy Smith)
1517
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001518 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1519
1520 * Clear the 'exited' flag when mail loop is finished
1521
Miklos Szeredie989f0d2004-10-28 20:24:58 +000015222004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1523
1524 * Make xattr functions work under 2.6 (bug found by Vincenzo
1525 Ciancia)
1526
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000015272004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1528
1529 * Reset request in fuse_flush() (bugreport by David Shaw)
1530
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000015312004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1532
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001533 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001534 error code
1535
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001536 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001537 make it easier to implement a custom event loop.
1538
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001539 * Use daemon() call to background the filesystem after mounting.
1540 This function closes the standard input, output and error and
1541 changes the current working directory to "/".
1542
Miklos Szeredi127d49b2004-10-14 13:33:39 +000015432004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1544
1545 * Released 1.9
1546
Miklos Szeredid45baf42004-10-10 07:56:12 +000015472004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1548
1549 * Don't allow fuse_flush() to be interrupted (bug found by David
1550 Shaw)
1551
Miklos Szeredi1f18db52004-09-27 06:54:49 +000015522004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1553
1554 * Add PID to fuse_context. Patch by Steven James
1555
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001556 * Change file handle type to 'unsigned long' in kernel interface
1557
Miklos Szeredid169f312004-09-22 08:48:26 +000015582004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1559
1560 * A slight API change: fuse_get_context() doesn't need the "fuse"
1561 pointer, but the returned context contains it instead. The
1562 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001563
1564 * Fix mounting and umounting FUSE filesystem under another FUSE
1565 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001566
Miklos Szeredic2309912004-09-21 13:40:38 +000015672004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1568
1569 * Fix deadlock in case of memory allocation failure. Patch by
1570 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001571
Miklos Szeredib2cf9562004-09-16 08:42:40 +000015722004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1573
1574 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001575
Miklos Szeredi65afea12004-09-14 07:13:45 +000015762004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1577
1578 * Check temporary file creation failure in do_getdir(). Bug
1579 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001580
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000015812004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1582
1583 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001584
1585 * Make requests non-interruptible so race with FORGET is avoided.
1586 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001587
1588 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001589
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000015902004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1591
1592 * Fix bug in case two FORGETs for the same node are executed in
1593 the wrong order. Bug spotted and endured for months by Franco
1594 Broi, and logfile for solution provided by Terje Oseberg
1595
Miklos Szeredi12085102004-09-02 18:13:57 +000015962004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1597
1598 * Add -D_REENTRANT to the compile flags
1599
1600 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001601
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000016022004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1603
1604 * Change release method to be non-interruptible. Fixes bug
1605 causing missing release() call when program which has opened files
1606 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001607
Miklos Szeredi891b8742004-07-29 09:27:49 +000016082004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1609
1610 * Add fuse_invalidate() to library API
1611
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000016122004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1613
1614 * Check permissions in setattr if 'default_permissions' flag is
1615 set. Bug spotted by Damjan Lango
1616
Miklos Szeredid66d3942004-07-24 13:47:44 +000016172004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1618
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001619 * 'large_read' mount option removed for 2.6 kernels, since the
1620 default (dynamic read size) is better
1621
1622 * Extend kernel API with file handles. A file handle is returned
1623 by open, and passed to read, write, flush, fsync and release.
1624 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001625
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001626 * Security changes:
1627
1628 * Change the current directory to the mountpoint before checking
1629 the permissions and mount filesystem on "."
1630
1631 * By default don't modprobe the fuse module for non-root. The old
1632 behavior can be restored with the '--enable-auto-modprobe' flag of
1633 ./configure
1634
1635 * By default don't allow shared writable mappings for non-root.
1636 The old behavior can be restored with the 'user_mmap=1' module
1637 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001638
Miklos Szeredibd7661b2004-07-23 17:16:29 +000016392004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1640
1641 * Clean up mount option passing to fusermount and to fuse_new()
1642 BEWARE: this changes the userspace API slightly, and the command
1643 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001644
Miklos Szeredi58865372004-07-20 14:22:26 +000016452004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1646
1647 * Optimize reading under 2.6 kernels by issuing multiple page
1648 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001649
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000016502004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1651
1652 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001653
Miklos Szeredi069c9502004-07-16 16:17:02 +000016542004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1655
1656 * Separate directory entry and inode attribute validity timer
1657
1658 * New write semaphore to stop page writeback during truncate
1659
1660 * Fsync now waits for all writes to complete before sending the
1661 request
1662
1663 * Optimization: if a page is completely written by
1664 fuse_commit_write(), clear the dirty flag and set the uptodate
1665 flag for that page
1666
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001667 * Some memory cleanup at exit
1668
Miklos Szeredi2529ca22004-07-13 15:36:52 +000016692004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1670
1671 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001672 disable the "hide if open" behavior of unlink/rename.
1673
1674 * If temporary buffer allocation fails in raw read, fall back to a
1675 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001676
Miklos Szeredi73798f92004-07-12 15:55:11 +000016772004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1678
1679 * Fix bug in do_open() in libfuse: open count was incremented
1680 after the reply is sent so it could race with unlink/forget and
1681 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001682
Miklos Szeredi015fe702004-07-12 11:52:24 +000016832004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1684
1685 * When performing create or remove operation, refresh the parent's
1686 attributes on next revalidate, as i_nlink (and maybe size/time)
1687 could be inacurate.
1688
1689 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1690 pages (2.6 only)
1691
1692 * Set set_page_dirty address space operation (2.6 only)
1693
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016942004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001695
1696 * Minor fix in read: print debug info even if read size is zero
1697
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016982004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001699
1700 * Fix race between truncate and writepage (fsx-linux now runs
1701 without error)
1702
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017032004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001704
1705 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1706 by Mattias Wadman)
1707
1708 * Added option for direct read/write (-r)
1709
1710 * Fix revalidate time setting for newly created inodes
1711
Miklos Szerediacb4d362004-07-02 16:20:45 +00001712 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1713 this)
1714
1715 * fuse_main() only installs handlers for signals (out of INT, HUP,
1716 TERM, PIPE), for which no handler has yet been installed
1717
1718 * Add module option 'user_allow_other' which if set to non-zero
1719 will allow non root user to specify the 'allow_other' mount option
1720 ('-x' option of fusermount)
1721
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001722 * Fix deadlock between page writeback completion and truncate
1723 (bug found by Valient Gough with the fsx-linux utility)
1724
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017252004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001726
1727 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001728 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1729 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001730
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017312004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001732
1733 * Acquire inode->i_sem before open and release methods to prevent
1734 concurrent rename or unlink operations.
1735
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001736 * Make __fuse_read_cmd() read only one command. This allows
1737 multiplexing the fuse file descriptor with other event sources
1738 using select() or poll() (patch by Jeff Harris)
1739
1740 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1741
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017422004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001743
1744 * Fix file offset wrap around at 4G when doing large reads
1745
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017462004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001747
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001748 * Fix memory leak in open (Valient Gough)
1749
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017502004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001751
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001752 * Add "close after delete" support to libfuse (patch by Valient
1753 Gough)
1754
1755 * Cancel all worker threads before exit in multithreaded mode
1756
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017572004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001758
1759 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001760
1761 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001762
1763 * Work with newer libtool (1.5a)
1764
1765 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001766
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017672004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001768
1769 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001770
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017712004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001772
1773 * Fix possible inode leak in userspace in case of unfinished
1774 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001775
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017762004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001777
1778 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001779
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017802004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001781
1782 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001783
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017842004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001785
1786 * Build shared library as well as static (using libtool)
1787
1788 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1789 there has not been a release with the previous minor number, and I
1790 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001791
1792 * Change fuse_main(), so that default behavior is to go into
1793 background if mount is successful. '-f' and '-d' options disable
1794 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1795 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001796
1797 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1798 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001799
1800 * Don't call getdir method from open() only from first readdir().
1801 Open is sometimes just used to store the current directory
1802 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001803
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018042004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001805
1806 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001807
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018082004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001809
1810 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001811
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018122004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001813
1814 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001815
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018162004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001817
1818 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001819
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018202004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001821
1822 * Replaced binary mount data with text options
1823
1824 * Show FUSE specific mount options in /proc/mounts
1825
1826 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1827
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018282004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001829
1830 * Check some limits so userspace won't get too big requests
1831
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018322004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001833
1834 * Kill compile warning
1835
1836 * Upgraded user-mount patch for 2.6.5
1837
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018382004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001839
1840 * Add detection of user-mode-linux to configure
1841
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018422004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001843
1844 * fixed zero size case for getxattr and listxattr
1845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018462004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001847
1848 * new fusermount flag '-z': lazy unmount, default is not lazy
1849
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001850 * Extended attributes operations added (getxattr, setxattr,
1851 listxattr, removexattr)
1852
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018532004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001854
1855 * If filesystem doesn't define a statfs operation, then an
1856 all-zero default statfs is returned instead of ENOSYS
1857
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018582004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001859
1860 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1861
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018622004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001863
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001864 * Fix for uClinux (Christian Magnusson)
1865
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018662004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001867
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001868 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001869
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001870 * More kernel interface changes:
1871
1872 * Lookup/getattr return cache timeout values
1873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018742004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001875
1876 * Clean up option parsing in fuse_main()
1877
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001878 * Added fuse_get() function which returns the fuse object created
1879 by fuse_main()
1880
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018812004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001882
Miklos Szeredic40748a2004-02-20 16:38:45 +00001883 * removed old way of mounting (fusermount mountpoint program)
1884
Miklos Szeredib5958612004-02-20 14:10:49 +00001885 * more kernel interface changes:
1886
1887 * added nanosecond precision to file times
1888
Miklos Szeredic40748a2004-02-20 16:38:45 +00001889 * removed interface version from mount data
1890
1891 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1892
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018932004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001894
1895 * statfs library API changed to match other methods. Since this
1896 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1897
Miklos Szeredi76f65782004-02-19 16:55:40 +00001898 * kernel interface changes follow:
1899
1900 * statfs changed to 64 bits, added 'bavail' field
1901
1902 * add generation number to lookup result
1903
1904 * optimized mknod/mkdir/symlink/link (no separate lookup is
1905 needed)
1906
1907 * rdev size increased to 32 bits for mknod
1908
1909 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001910
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019112004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001912
1913 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001914
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019152004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001916
1917 * Added user-mount.2.6.2-rc3.patch
1918
1919 * Add FS_SAFE flag to fuse filesystem
1920
1921 * fusermount should allow (un)mounting for non-root even if not
1922 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001923
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019242004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001925
1926 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001927
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019282004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001929
1930 * Added check for i_size_read/write functions to configure.in
1931 (patch by Valient Gough)
1932
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019332004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001934
1935 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001936
1937 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001938
1939 * Readpage calls flush_dcache_page() after storing data
1940
1941 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001942
1943 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019452004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001946
1947 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001948
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019492004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001950
1951 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001952
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019532004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001954
1955 * Added -q option for fusermount
1956
1957 * fuse_unmount() now uses -q option of fusermount, so no error is
1958 printed if the cause of the program exit is that the filesystem
1959 has already been unmounted
1960
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001961 * Fix i_nlink correctness after rmdir/unlink
1962
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019632004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001964
Miklos Szeredib1158392004-01-26 14:43:12 +00001965 * Released 1.1-pre2
1966
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019672004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001968
Miklos Szeredi307242f2004-01-26 11:28:44 +00001969 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001970
1971 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001972
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019732004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001974
1975 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001976
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019772004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001978
1979 * Write all pending data before a RELEASE operation
1980
1981 * Suppress 'Bad file descriptor' warning on exit
1982
1983 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001984 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001985
Miklos Szeredib1158392004-01-26 14:43:12 +00001986 * New fusermount option '-l' which enables big reads. Big reads
1987 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001988
1989 * fuse_main() can accept fusermount arguments after a '--'
1990
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019912004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001992
1993 * Support for exporting filesystem over NFS (see README.NFS)
1994
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019952004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001996
1997 * Support non-blocking writepage on 2.6. This makes FUSE behave
1998 much more nicely in low-memory situations
1999
2000 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
2001 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00002002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020032004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00002004
2005 * Code cleanups
2006
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020072004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002008
2009 * Released 1.1-pre1
2010
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020112004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002012
2013 * Integrated 2.6 kernel support patch by Michael Grigoriev
2014
2015 * Improvements and cleanups for 2.6 kernels
2016
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020172004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002018
Miklos Szeredie5183742005-02-02 11:14:04 +00002019 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020212003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002022
2023 * Added major+minor version to library API, and minor version to
2024 kernel API
2025
David McNab7a19caf2003-12-13 02:05:46 +000020262003-12-13 David McNab <david@rebirthing.co.nz>
2027
2028 * Implemented fsync support in examples/example.py
2029
2030 * Implemented 'fsync' and 'statfs' methods in python
2031 interface
2032
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020332003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002034
Miklos Szeredie5183742005-02-02 11:14:04 +00002035 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002036
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002037 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002038
David McNab8bf62632003-12-11 22:49:22 +000020392003-12-12 David McNab <david@rebirthing.co.nz>
2040
2041 * Added distutils support to the python module, as per standard
2042 python development practice
2043
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020442003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002045
2046 * Add file locking for mount/unmount (based on patch by Valient
2047 Gough)
2048
20492003-12-11 David McNab <david@rebirthing.co.nz>
2050
2051 * Python filesystem - was broken with python2.3, now fixed:
2052 - changed PyTuple_* calls to PySequence_*, because os.lstat
2053 is no longer returning a pure tuple
2054 - changed PyInt_Check() calls to also call PyLong_Check,
2055 to cover for cases (eg os.lstat) where longs are returned
2056 - Added support for file 'release' handling, which IMO is
2057 essential since this signals to a FS that writes to a file
2058 are complete (and therefore the file can now be disposed of
2059 meaningfully at the python filesystem's discretion)
2060 - Added '__init__' handler to base Fuse class, which allows
2061 your Python class to know the mountpoint and mount args,
2062 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002063
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002064 * General:
2065 - added 'mount.fuse' script (in util/ dir), which is meant to be
2066 symlinked from /sbin, and which allows FUSE filesystems to
2067 be mounted with the 'mount' command, and listed in fstab;
2068 also, mount arguments get passed to your filesystem
2069
2070
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020712003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002072
2073 * Fix kernel version detection (again). Bugreport by Peter Levart
2074
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020752003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002076
2077 * Applied read combining patch by Michael Grigoriev (tested by
2078 Valient Gough and Vincent Wagelaar)
2079
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020802003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002081
2082 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2083 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002084
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020852003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002086
2087 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002088
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020892003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002090
2091 * kernel version detection fix
2092
2093 * fusermount now uses "lazy" umount option
2094
2095 * fusermount can use modprobe with module-init-tools
2096
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020972003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002098
2099 * Integrated caching patch by Michael Grigoriev
2100
Miklos Szeredida4e4862003-09-08 11:14:11 +00002101 * Added "Filesystems" file with descriptions of projects using
2102 FUSE
2103
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002104 * Added patch by Michael Grigoriev to allow compliation of FUSE
2105 kernel module for 2.6 kernels
2106
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021072003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002108
2109 * And another spec-file fix by Achim Settelmeier
2110
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021112003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002112
2113 * Spec-file fix by Achim Settelmeier
2114
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021152003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002116
Miklos Szerediac361172004-11-02 19:14:14 +00002117 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002118
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021192003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002120
2121 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2122
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021232003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002124
2125 * Updated fuse.spec file (Achim Settelmeier)
2126
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021272003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002128
2129 * Version 1.0 released
2130
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021312003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002132
2133 * SuSE compilation fix by Juan-Mariano de Goyeneche
2134
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021352002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002136
2137 * The release() VFS call is now exported to the FUSE interface
2138
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021392002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002140
2141 * 64 bit file offset fixes in the fuse kernel module
2142
2143 * Added function 'fuse_exit()' which can be used to exit the main
2144 loop
2145
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021462002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002147
2148 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2149 an incompatible interface change.
2150
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021512002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002152
2153 * Portablility fix (bug reported by C. Chris Erway)
2154
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021552002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002156
2157 * Use Mark Glines' fd passing method for default operation instead
2158 of old reexec
2159
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021602002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002161
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002162 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2163
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021642002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002165
Miklos Szeredi60c23522002-10-24 09:19:43 +00002166 * fix incompatiblity with Red Hat kernels, with help from Nathan
2167 Thompson-Amato.
2168
Mark Glines65ba2192002-04-18 14:41:48 +000021692002-04-18 Mark Glines <mark@glines.org>
2170
2171 * added an alternative to fuse_mount(), called
2172 fuse_mount_ioslave(), which does not need to reexec the
2173 FUSE program.
2174 * added a small helper util needed by fuse_mount_ioslave().
2175
Mark Glines220635a2002-03-17 07:01:14 +000021762002-03-16 Mark Glines <mark@glines.org>
2177
2178 * use struct fuse_statfs everywhere possible to avoid problems
2179 with the headerfiles changing struct statfs member sizes
2180
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021812002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002182
2183 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2184
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021852002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002186
2187 * RPM support by Achim Settelmeier
2188
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021892002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002190
Miklos Szerediddc862a2002-01-09 13:46:10 +00002191 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002192
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021932002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002194
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002195 * Revaidate all path components not just the last, this means a
2196 very small performance penalty for being more up-to-date.
2197
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021982002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002199
2200 * Update and fix python interface
2201
Mark Glinesd84b39a2002-01-07 16:32:02 +000022022002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002203
Mark Glinesd84b39a2002-01-07 16:32:02 +00002204 * Added statfs() support to kernel, lib, examples, and perl!
2205
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022062001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002207
2208 * Better cross compilation support
2209
2210 * Ported to Compaq IPAQ
2211
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022122001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002213
Miklos Szeredife25def2001-12-20 15:38:05 +00002214 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002215 patch from Matt Ryan)
2216
Miklos Szeredife25def2001-12-20 15:38:05 +00002217 * Added flags to fusermount and to kernel interface to control
2218 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002219
Miklos Szeredife25def2001-12-20 15:38:05 +00002220 * Integrated fuse_set_operations() into fuse_new()
2221
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022222001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002223
2224 * Applied header protection + extern "C" patch by Roland
2225 Bauerschmidt
2226
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022272001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002228
Miklos Szeredie5183742005-02-02 11:14:04 +00002229 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002230
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022312001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002232
2233 * Cleaned up way of mounting simple filesystems.
2234
2235 * fuse_main() helper function added
2236
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022372001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002238
Miklos Szeredife25def2001-12-20 15:38:05 +00002239 * Optimized read/write operations, so that minimal copying of data
2240 is done
2241
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022422001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002243
2244 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022462001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002247
2248 * Fixed vfsmount reference leak in fuse_follow_link
2249
2250 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2251 userspace is ignored
2252
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022532001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002254
Miklos Szeredife25def2001-12-20 15:38:05 +00002255 * Started ChangeLog