blob: ad21e970c2cc062191dad72b8a4a9ebaf22be809 [file] [log] [blame]
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +000012006-09-10 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Released 2.6.0-rc1
4
52006-09-10 Miklos Szeredi <miklos@szeredi.hu>
6
7 * kernel: Fix unlock on close for kernels < 2.6.18
8
9 * Add ulockmgr library & server. This can be used for handling
10 file locking requests either directly from libfuse or over a
11 network, etc. This first version is not optimized and the number
12 of file descriptors it uses may get out of hand
13
Miklos Szeredi288ed4e2006-09-07 06:02:44 +0000142006-09-07 Miklos Szeredi <miklos@szeredi.hu>
15
16 * lib: Add interrupt support to high level library, which may be
17 enabled with the 'intr' mount option.
18
19 * When an operation is interrupted the thread handling that
20 operation will receive SIGUSR1 (or other signal specified with the
21 'intr_signal=N' option). The library installs a no-op signal
22 handler for this signal, unless there's already a handler
23 installed.
24
25 * The filesystem may query interrupt status (regardless of 'intr')
26 with the fuse_interrupted() function.
27
Miklos Szeredid8588412006-09-07 06:08:56 +000028 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
29
Miklos Szeredi38f152c2006-09-03 18:28:52 +0000302006-09-03 Miklos Szeredi <miklos@szeredi.hu>
31
32 * lib: Multithreaded loop now allows unlimited number of threads.
33 This is needed for locking operations which may block
34 indefinitely. Also the kernel now doesn't limit the number of
35 outstanding requests so the library shouldn't do so either.
36
Miklos Szeredifa440772006-09-02 09:51:08 +0000372006-09-01 Miklos Szeredi <miklos@szeredi.hu>
38
39 * Fix recursive lock bug in interrupt handling
40
41 * Add utimes() method to highlevel interface, which supports
42 setting times with nanosecond resolution
43
Miklos Szeredi63d3c402006-08-18 16:38:08 +0000442006-08-18 Miklos Szeredi <miklos@szeredi.hu>
45
46 * kernel: fix page leak if fuse_readpages() failed in it's
47 initialization. Bug found and original patch from Alexander
48 Zarochentsev
49
Miklos Szeredi3ded1a32006-08-18 18:43:50 +000050 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
51 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +000052 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +000053
Miklos Szeredi543087d2006-08-18 19:26:23 +000054 * fusermount: try to modprobe fuse module if invoked by root and
55 unable to open device. This is needed with udev, since the device
56 node will be created only when the module is inserted, hence
57 module autoloading won't work. Reported by Szakacsits Szabolcs
58
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000592006-07-30 Miklos Szeredi <miklos@szeredi.hu>
60
61 * fusermount: if selinux is active, restore the original file's
62 security context in unmount_rename(). Redhat bugzilla id 188561.
63 Patch from Yves Perrenoud
64
65 * Add POSIX file locking operation to high level library
66
Miklos Szerediad519562006-07-31 11:07:40 +000067 * Initialize context for unlink of hidden files on umount. Bug
68 reported by Tim Stoakes
69
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000702006-07-14 Miklos Szeredi <miklos@szeredi.hu>
71
72 * Multiple release() calls can race with each other, resulting in
73 the hidden file being deleted before the last release finishes.
74 Bug found and patch tested by Mark Huijgen
75
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000762006-07-05 Miklos Szeredi <miklos@szeredi.hu>
77
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +000078 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
79 this makes sense on systems using udev. Reported by Szakacsits
80 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +000081
Miklos Szeredi91762cd2006-06-29 14:38:35 +0000822006-06-29 Miklos Szeredi <miklos@szeredi.hu>
83
84 * Released 2.6.0-pre3
85
862006-06-29 Miklos Szeredi <miklos@szeredi.hu>
87
88 * Support in kernel module for file locking and interruption. The
89 same functionality is available in official kernels >= 2.6.18
90
Miklos Szeredib052a1a2006-06-28 14:51:20 +0000912006-06-28 Miklos Szeredi <miklos@szeredi.hu>
92
93 * Add POSIX file locking support
94
95 * Add request interruption
96
Miklos Szeredi55a84102006-06-06 10:16:38 +0000972006-06-06 Miklos Szeredi <miklos@szeredi.hu>
98
99 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
100
Miklos Szeredi9dedb702006-06-06 09:48:30 +00001012006-06-05 Remy Blank <remy.blank@pobox.com>
102
103 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
104 unmounting succeeds even if mount point was relative.
105
Csaba Henkd021ce42006-06-03 23:04:18 +00001062006-06-04 Csaba Henk <csaba.henk@creo.hu>
107
108 * lib: fix emergency umount in helper.c when malloc fails.
109 (The way it was done would end up in a segfault.)
110
Csaba Henk4f5c7b42006-06-01 14:19:17 +00001112006-06-01 Csaba Henk <csaba.henk@creo.hu>
112
113 * lib: adjust threading related compiler flags.
114 Switch to "-pthread" from "-lpthread" as that's the preferred
115 one on several platforms. Consulted with Terrence Cole and
116 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000117
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00001182006-05-08 Miklos Szeredi <miklos@szeredi.hu>
119
120 * lib: search fusermount in installation directory (bindir) as
121 well as in PATH.
122
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00001232006-05-03 Miklos Szeredi <miklos@szeredi.hu>
124
125 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
126 Reported by Christian Magnusson
127
Csaba Henk2efe48f2006-04-22 22:46:52 +00001282006-04-23 Csaba Henk <csaba.henk@creo.hu>
129
130 * lib: make FreeBSD mount routine recognize if kernel features
131 backgrounded init and if it does, run the mount util in foreground
132 (similarly to Linux)
133
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00001342006-04-21 Miklos Szeredi <miklos@szeredi.hu>
135
136 * kernel: fix fput deadlock fix, the lockless solution could lead
137 to "VFS: busy inodes after umount..."
138
139 * kernel: fix race between checking and setting file->private_data
140 for the device. Found by Al Viro
141
1422006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000143
144 * kernel: remove request pool, instead allocate requests on
145 demand. Account the number of background requests, and if they go
146 over a limit, block the allocation of new requests.
147
148 * kernel: fix deadlock if backgrounded request holds the last
149 reference to the super block
150
151 * kernel: don't use fuse_reset_request() during direct I/O
152
Csaba Henkbaa49d22006-04-06 00:12:44 +00001532006-04-06 Csaba Henk <csaba.henk@creo.hu>
154
155 * lib: Let FreeBSD mount option parsing routine recognize "no"
156 prefixes for FUSE specific options as well
157
Miklos Szeredid0a777a2006-04-05 07:18:00 +00001582006-04-01 Miklos Szeredi <miklos@szeredi.hu>
159
160 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
161
Miklos Szeredi6f385412006-03-17 15:05:40 +00001622006-03-17 Miklos Szeredi <miklos@szeredi.hu>
163
164 * API changes:
165
166 * fuse_main(), fuse_setup() and fuse_new() have an additionl
167 user_data parameter
168
169 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
170 file descriptor
171
172 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
173 destroys the given channel
174
175 * fuse_teardown() no longer has a file descriptor parameter
176
177 * new exported functions: fuse_session_remove_chan(),
178 fuse_get_session(), fuse_daemonize()
179
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000180 * fuse_chan_recv() may now return a new channel which will be used
181 to send the reply
182
Miklos Szeredif51e43f2006-03-16 14:19:25 +00001832006-03-16 Miklos Szeredi <miklos@szeredi.hu>
184
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000185 * Released 2.6.0-pre2
186
1872006-03-16 Miklos Szeredi <miklos@szeredi.hu>
188
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000189 * Don't unmount if already unmounted. This fixes a problem seen
190 in the following situation: Lazy unmount a busy filesystem; Mount
191 a new one in top; When the first finally unmounts, the second also
192 unmounts. Reported by Franco Broi
193
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00001942006-03-15 Miklos Szeredi <miklos@szeredi.hu>
195
196 * lowlevel lib: use indirect function calls instead of a
197 switch/case construct. Besides increased efficiency it helps
198 maintainability & readability too. Patch from Florin Malita
199
Miklos Szeredi67d26d42006-03-13 17:39:56 +00002002006-03-13 Miklos Szeredi <miklos@szeredi.hu>
201
202 * kernel: replace global spinlock with a per-connection spinlock
203
Miklos Szeredi87c77932006-03-10 10:18:20 +00002042006-03-10 Miklos Szeredi <miklos@szeredi.hu>
205
206 * Fix source compatibility breakage for fuse_unmount(). Report
207 from Yura Pakhuchiy
208
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00002092006-03-02 Miklos Szeredi <miklos@szeredi.hu>
210
211 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
212
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00002132006-03-01 Miklos Szeredi <miklos@szeredi.hu>
214
215 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
216 Jeff Dike
217
218 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
219 interface to return -errno in case of error.
220
Csaba Henkee588c02006-03-01 09:40:35 +00002212006-03-01 Csaba Henk <csaba.henk@creo.hu>
222
223 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
224 FreeBSD implementation so that it uses libc (sysctl backed) instead
225 of an embdedded script (kmem backed). Adjust the control flow of
226 hello_ll so that device doesn't get closed before unmount attempt.
227
Miklos Szerediaa8258e2006-02-25 14:42:03 +00002282006-02-25 Miklos Szeredi <miklos@szeredi.hu>
229
230 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
231 implement method. This is needed on FreeBSD, and nicer on Linux
232 too. Highlevel lib already did this. Reported by Csaba Henk
233
234 * Fix negative entry handling. There was a bug, that negative
235 lookups with timeouts (nodeid == 0) returned -EIO.
236
2372006-02-23 Miklos Szeredi <miklos@szeredi.hu>
238
239 * Fix race between RELEASE and UNLINK, which might leave
240 .fuse_hidden* files around
241
Miklos Szeredi6bab4802006-02-21 18:31:29 +00002422006-02-21 Miklos Szeredi <miklos@szeredi.hu>
243
244 * fusexmp_fh: implement flush() method and call close() on the
245 open file descriptor. This is needed if used on an NFS
246 filesystem, which buffers data until file is closed. Franco Broi
247 spotted the situation when 'cp -p' failed to set the modification
248 time because of this.
249
Miklos Szeredie109e282006-02-20 11:06:20 +00002502006-02-20 Miklos Szeredi <miklos@szeredi.hu>
251
252 * Released 2.6.0-pre1
253
Miklos Szeredib67f2162006-02-20 10:55:33 +00002542006-02-19 Miklos Szeredi <miklos@szeredi.hu>
255
256 * libfuse: fix use-after-free bug in interruptred reply_entry().
257 Patch from John Muir
258
259 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
260 ID: 352631. Found by Stéphane Rosi
261
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00002622006-02-17 Miklos Szeredi <miklos@szeredi.hu>
263
264 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
265 into a single function fuse_add_direntry(). This cleans up the
266 interface and makes it possible to do stacking.
267
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00002682006-02-16 Miklos Szeredi <miklos@szeredi.hu>
269
270 * Fix rare race betweeen abort and release caused by failed iget()
271 in fuse_create_open().
272
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000273 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
274 own attribute caching.
275
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00002762006-02-15 Miklos Szeredi <miklos@szeredi.hu>
277
278 * Work around FreeBSD runtime linker "feature" which binds an old
279 version of a symbol to internal references if the symbol has more
280 than one version. This resulted in infinite recursion in
281 fuse_lowlevel_new_compat25().
282
Csaba Henkdcce3e52006-02-10 06:22:15 +00002832006-02-10 Csaba Henk <csaba.henk@creo.hu>
284
285 * Refine clock_gettime() querying so that linker options
286 shall be set as it's appropriate for the target platform.
287
Miklos Szeredi390ae312006-02-10 16:44:34 +00002882006-02-09 Miklos Szeredi <miklos@szeredi.hu>
289
290 * Fix udev rule syntax. Reported by Nix
291
Miklos Szeredieb643582006-02-08 10:54:02 +00002922006-02-08 Miklos Szeredi <miklos@szeredi.hu>
293
294 * In some cases udev rule seems to be ineffective when installed
295 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
296
Miklos Szeredi357529c2006-02-03 09:20:31 +00002972006-02-03 Miklos Szeredi <miklos@szeredi.hu>
298
299 * Fix compilation when build directory is different from source
300 directory. Reported by Frédéric L. W. Meunier
301
Miklos Szeredice28c7e2006-02-02 14:59:05 +00003022006-02-02 Miklos Szeredi <miklos@szeredi.hu>
303
304 * Fix even bigger bug introduced in fix for request_end() on
305 2006-01-14. Reported by Gal Rosen
306
Miklos Szeredi320abe42006-01-30 18:14:51 +00003072006-01-30 Miklos Szeredi <miklos@szeredi.hu>
308
309 * highlevel-lib: add 'auto_cache' option. This caches file data
310 based on modification time and size
311
Miklos Szeredi065f2222006-01-20 15:15:21 +00003122006-01-20 Miklos Szeredi <miklos@szeredi.hu>
313
Miklos Szeredid66b7282006-02-02 15:15:21 +0000314 * Sanitize storage type and help message in mount_bsd.c. Patch
315 from Csaba Henk
316
Miklos Szeredi065f2222006-01-20 15:15:21 +0000317 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
318 FUSE_OPT_KEY_DISCARD
319
320 * Add options 'max_readahead', 'sync_read' and 'async_read'
321
322 * Kernel ABI version 7.6:
323
324 * Negotiate the 'max_readahead' value and 'async_read' flags with
325 userspace in the INIT method
326
327 * Add connection info to ->init() methods to both lowlevel and
328 highlevel API
329
330 * Fall back to synchronous read() behavior if either library or
331 userspace filesystem is using the old interface version. This is
332 needed so non-updated filesystems won't be confused by the
333 different read() behavior
334
3352006-01-19 Miklos Szeredi <miklos@szeredi.hu>
336
337 * lib: if "fsname=" option was given, pass it to fusermount
338
339 * fuse_opt: add new fuse_opt_insert_arg() function, which is
340 needed by filesystems to implement some argument manipulations
341 correctly
342
343 * fuse_opt: fix memory leak in handling "--" option
344
3452006-01-18 Miklos Szeredi <miklos@szeredi.hu>
346
347 * kernel: fix detection of case when fuse is not configured into
348 the kernel either as module or built-in
349
350 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
351 'template' structure member to 'templ'. Reported by Takashi Iwai
352
353 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
354
355 * kernel: support version 2.6.16 (i_sem -> i_mutex)
356
Miklos Szeredi15af1b82006-01-16 17:52:24 +00003572006-01-16 Miklos Szeredi <miklos@szeredi.hu>
358
359 * Added (again) asynchronous readpages support
360
361 * Each connection now shows up under /sys/fs/fuse/connections
362
363 * Connection attributes exported to sysfs: 'waiting' number of
364 waiting requests; 'abort' abort the connection
365
366 * Connection may be aborted through either the sysfs interface or
367 with 'umount -f mountpoint'
368
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00003692006-01-14 Miklos Szeredi <miklos@szeredi.hu>
370
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000371 * Released 2.5.0
372
3732006-01-14 Miklos Szeredi <miklos@szeredi.hu>
374
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000375 * kernel: fix a couple of bugs
376
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000377 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000378 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000379 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000380
381 * request_end() used request pointer after decrementing refcount
382
383 * Clearing ->connected or ->mounted connection flags could race
384 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000385
Miklos Szeredia9820342006-01-10 10:54:11 +00003862006-01-10 Miklos Szeredi <miklos@szeredi.hu>
387
388 * kernel: add necessary compile flags for 2.4.X/x86_64.
389 Report from Sean Ziegeler
390
Miklos Szeredi35676b02006-01-09 10:13:28 +00003912006-01-09 Miklos Szeredi <miklos@szeredi.hu>
392
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000393 * Released 2.5.0-pre2
394
3952006-01-09 Miklos Szeredi <miklos@szeredi.hu>
396
Miklos Szeredi35676b02006-01-09 10:13:28 +0000397 * Applied patch from Csaba Henk, to update mount_bsd to new
398 fuse_mount() semantics
399
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000400 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
401 Steiner and Don Taber
402
Miklos Szeredicb075c82006-01-09 11:33:04 +0000403 * fusermount: add 'dirsync' mount option
404
Miklos Szerediad005972006-01-07 10:14:34 +00004052006-01-07 Miklos Szeredi <miklos@szeredi.hu>
406
407 * Improved help reporting and added version reporting to library
408
Miklos Szeredi0af762a2006-01-06 09:47:54 +00004092006-01-06 Miklos Szeredi <miklos@szeredi.hu>
410
411 * Change working directory to "/" even if running in the
412 foreground. Patch from Jonathan Brandmeyer
413
Miklos Szeredi95da8602006-01-06 18:29:40 +0000414 * Changed lots of functions to use 'struct fuse_args' instead of
415 separate argc and argv
416
417 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
418 fuse_remove_signal_handlers() functions, so that it's now pretty
419 easy to get all the functionality of fuse_main() with a filesystem
420 using the lowlevel API.
421
Miklos Szeredib8638182006-01-02 12:52:24 +00004222006-01-02 Miklos Szeredi <miklos@szeredi.hu>
423
Miklos Szeredif1941472006-01-02 16:27:48 +0000424 * mount.fuse: the 'user' option should be ignored. Report and
425 solution from Mattd.
426
427 * mount.fuse: export PATH in the right place. Report and patch
428 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000429
Miklos Szeredi73f41392005-12-16 11:12:16 +00004302005-12-16 Miklos Szeredi <miklos@szeredi.hu>
431
432 * Clean up the option parsing interface slightly, by creating an
433 "argument list" structure, that contains the argument vector and
434 count
435
Miklos Szeredi4e829092005-12-15 16:13:49 +00004362005-12-15 Miklos Szeredi <miklos@szeredi.hu>
437
438 * fusermount: check if /mnt/mtab is a symlink and don't modify it
439 in that case
440
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000441 * kernel: simplify request size limiting. INIT only contains
442 maximum write size, maximum path component size remains fixed at
443 1024 bytes, and maximum xattr size depends on read buffer.
444
Miklos Szeredie248e4b2005-12-14 16:18:32 +00004452005-12-14 Miklos Szeredi <miklos@szeredi.hu>
446
447 * Fix readdir() failure on x86_64, of 32bit programs compiled
448 without largefile support. Bug report and help from Anthony
449 Kolasny
450
Miklos Szeredi64709572005-12-14 22:16:28 +0000451 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000452 a regular file
453
454 * Add current output argument vector to option processing
455 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000456
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00004572005-12-12 Miklos Szeredi <miklos@szeredi.hu>
458
459 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
460
Miklos Szeredi659743b2005-12-09 17:41:42 +00004612005-12-09 Miklos Szeredi <miklos@szeredi.hu>
462
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000463 * Released 2.5.0-pre1
464
4652005-12-09 Miklos Szeredi <miklos@szeredi.hu>
466
Miklos Szeredi659743b2005-12-09 17:41:42 +0000467 * libfuse: added option parsing interface, defined in
468 <fuse_opt.h>.
469
Miklos Szeredic53cddd2005-12-07 12:57:59 +00004702005-12-07 Miklos Szeredi <miklos@szeredi.hu>
471
472 * Return EIO for file operations (read, write, fsync, flush) on
473 open files whose inode has become "bad". Inodes will be marked
474 "bad" if their type changes. Bug report by Csaba Henk
475
Miklos Szeredi044da2e2005-12-06 17:59:55 +00004762005-12-06 Miklos Szeredi <miklos@szeredi.hu>
477
478 * Use bigger request buffer size. write() did not work on archs
479 with > 4k page size, Bug report by Mark Haney
480
481 * ABI version 7.5:
482
483 * Extend INIT reply with data size limits
484
Miklos Szeredifa829b52005-12-02 11:05:41 +00004852005-12-02 Miklos Szeredi <miklos@szeredi.hu>
486
487 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
488 reported by Vincenzo Ciancia
489
490 * Handle exit-by-umount in fuse_read_cmd()
491
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00004922005-11-29 Miklos Szeredi <miklos@szeredi.hu>
493
494 * Check if '-msoft-float' option is supported by compiler when
495 configuring for a 2.4.x kernel. Bug report by Mark Haney
496
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000497 * In multithreaded loop send a TERM signal to the main thread if
498 one of the other threads exit. Needed on FreeBSD for a clean exit
499 on umount. Should not cause any harm on Linux either
500
Miklos Szerediead7f102005-11-28 16:02:27 +00005012005-11-28 Miklos Szeredi <miklos@szeredi.hu>
502
503 * Fix bug in 32-bit file handle compatibility
504
Miklos Szeredia90b7342005-11-27 19:22:42 +00005052005-11-27 Miklos Szeredi <miklos@szeredi.hu>
506
507 * Block TERM, INT, HUP and QUIT signals in all but the main
508 thread. According to POSIX it's not specified which thread will
509 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000510
511 * Kernel changes:
512
513 * Check for directory aliasing on mkdir, not just on lookup
514
515 * Check for special node ID values in create+open operation
516
517 * Sync with -mm: readv, writev, aio_read and aio_write methods
518 added to file operations
519
520 * Cleanups: lookup code, page offset calculation
521
522 * ABI stepped to 7.4, changes:
523
524 * frsize member added to fuse_kstatfs structure
525
526 * added support for negative entry caching: on lowlevel API if
527 fuse_entry_param::ino is set to zero in reply to a lookup request,
528 the kernel will cache the dentry for the specified amount of time.
529
530 * libfuse: added 'negative_timeout' option: specifies how much
531 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000532 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000533
Miklos Szeredibac4c772005-11-23 13:35:54 +00005342005-11-22 Miklos Szeredi <miklos@szeredi.hu>
535
536 * Add detection of mainline FUSE code in running kernel
537
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00005382005-11-21 Miklos Szeredi <miklos@szeredi.hu>
539
540 * Don't use async cancelation in multithreaded loop. This makes
541 it more portable to systems where read() is not async cancel safe.
542 Report from Andriy Gapon
543
Miklos Szeredi05c97842005-11-20 17:05:07 +00005442005-11-20 Miklos Szeredi <miklos@szeredi.hu>
545
546 * Warn if API version 11 compatibility is requested
547
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00005482005-11-17 Miklos Szeredi <miklos@szeredi.hu>
549
550 * More FreeBSD merge
551
Miklos Szeredi832ee442005-11-18 21:02:36 +0000552 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
553 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000554 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000555
556 * libfuse: don't use system() to invoke 'fusermount -u ...'
557 because it breaks mountpoints with spaces in them into multiple
558 arguments
559
Miklos Szeredib3f99722005-11-16 13:00:24 +00005602005-11-16 Miklos Szeredi <miklos@szeredi.hu>
561
562 * Merge library part of FreeBSD port. Patch by Csaba Henk
563
Miklos Szeredi3a770472005-11-11 21:32:42 +00005642005-11-11 Miklos Szeredi <miklos@szeredi.hu>
565
566 * Use 64bit type for file handle, so the full range supported by
567 the kernel interface is available to applications
568
Miklos Szeredibcc53852005-11-10 09:54:41 +00005692005-11-10 Miklos Szeredi <miklos@szeredi.hu>
570
571 * Moved mountpoint argument checking from fuse_parse_cmdline() to
572 fuse_mount() in preparation to FreeBSD merge.
573
Miklos Szeredi4ec06812005-11-08 13:04:27 +00005742005-11-08 Miklos Szeredi <miklos@szeredi.hu>
575
576 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
577 Henk.
578
Miklos Szeredic706ad92005-11-07 15:30:48 +00005792005-11-07 Miklos Szeredi <miklos@szeredi.hu>
580
581 * Make the statfs change backwards compatible.
582
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00005832005-11-06 Miklos Szeredi <miklos@szeredi.hu>
584
585 * Change ->statfs() method to use 'struct statvfs' instead of
586 'struct statfs'. This makes the API more portable since statvfs()
587 is defined by POSIX.
588
Miklos Szeredif7eec032005-10-28 13:09:50 +00005892005-10-28 Miklos Szeredi <miklos@szeredi.hu>
590
591 * Add fgetattr() method, which currently will only be called after
592 a successful call to a create() method.
593
Miklos Szeredib0b13d12005-10-26 12:53:25 +00005942005-10-26 Miklos Szeredi <miklos@szeredi.hu>
595
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000596 * Change kernel ABI version to 7.3
597
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000598 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000599 call if 'default_permissions' mount option is not given, and is
600 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000601
Miklos Szeredid9079a72005-10-26 15:29:06 +0000602 * Add atomic CREATE+OPEN operation. This will only work with
603 2.6.15 (presumably) or later Linux kernels.
604
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000605 * Add ftruncate() method. This will only work with 2.6.15
606 (presumably) or later Linux kernels.
607
608 * Fix kernel module compile if kernel source and build directories
609 differ. Report and initial patch by John Eastman
610
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00006112005-10-18 Miklos Szeredi <miklos@szeredi.hu>
612
613 * lib: optimize buffer reallocation in fill_dir.
614
Miklos Szeredic9daeb12005-10-17 10:19:21 +00006152005-10-17 Miklos Szeredi <miklos@szeredi.hu>
616
617 * Released 2.4.1
618
Miklos Szeredif412d072005-10-14 21:24:32 +00006192005-10-14 Miklos Szeredi <miklos@szeredi.hu>
620
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000621 * libfuse: add debug for write result (by Shaun Jackman) and
622 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000623
Miklos Szeredib75d4b92005-10-11 10:12:08 +00006242005-10-11 Miklos Szeredi <miklos@szeredi.hu>
625
626 * Spelling fixes, thanks to Ioannis Barkas
627
Miklos Szeredibaab5872005-10-10 08:41:14 +00006282005-10-10 Miklos Szeredi <miklos@szeredi.hu>
629
630 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
631 patch
632
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00006332005-10-07 Miklos Szeredi <miklos@szeredi.hu>
634
635 * highlevel-lib: init() and destroy() methods didn't have an
636 initialized fuse_context. Bug reported by Tim Stoakes
637
Miklos Szeredif2491122005-10-04 10:10:41 +00006382005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000639
640 * Released 2.4.0
641
Miklos Szeredi836ab712005-10-03 14:11:59 +00006422005-10-03 Miklos Szeredi <miklos@szeredi.hu>
643
644 * Add documentation to fuse_lowlevel.h
645
646 * API cleanups:
647
648 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
649
650 * Move fuse_mount() and fuse_unmount() to fuse_common.h
651
652 * Change the return type of fuse_reply_none() from int to void.
653
Miklos Szerediaf138742005-09-30 08:49:59 +00006542005-09-30 Miklos Szeredi <miklos@szeredi.hu>
655
656 * kernel: NFS exporting leaked dentries. Bug found and fixed by
657 Akshat Aranya.
658
Miklos Szeredidb016e02005-09-29 10:06:27 +00006592005-09-29 Miklos Szeredi <miklos@szeredi.hu>
660
661 * fusermount: fix error message, when unable to open /dev/fuse.
662 Report by Balázs Pozsár
663
Miklos Szeredi35200932005-09-28 14:50:49 +00006642005-09-28 Miklos Szeredi <miklos@szeredi.hu>
665
666 * UClibc fixes from Christian Magnusson
667
Miklos Szeredi8eddf642005-09-27 08:58:26 +00006682005-09-27 Miklos Szeredi <miklos@szeredi.hu>
669
670 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
671
Miklos Szerediedec95c2005-09-26 10:22:22 +00006722005-09-26 Miklos Szeredi <miklos@szeredi.hu>
673
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000674 * Released 2.4.0-rc1
675
6762005-09-26 Miklos Szeredi <miklos@szeredi.hu>
677
Miklos Szerediedec95c2005-09-26 10:22:22 +0000678 * fusermount: allow user umount in the case when /etc/mtab is a
679 symlink to /proc/mounts. Reported by Balázs Pozsár.
680
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00006812005-09-23 Miklos Szeredi <miklos@szeredi.hu>
682
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000683 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000684
Miklos Szeredif45f3c12005-09-22 15:14:27 +00006852005-09-22 Miklos Szeredi <miklos@szeredi.hu>
686
687 * Slight optimization in returning EINVAL error in case of an open
688 with O_DIRECT flag.
689
Miklos Szeredi670d07a2005-09-20 11:36:32 +00006902005-09-20 Miklos Szeredi <miklos@szeredi.hu>
691
692 * Remove '--enable-auto-modprobe' configure flag. Module
693 auto-loading is now handled by the kernel.
694
Miklos Szeredid51fca12005-09-15 12:51:00 +00006952005-09-15 Miklos Szeredi <miklos@szeredi.hu>
696
697 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
698 Help from Jens M. Noedler.
699
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00007002005-09-14 Miklos Szeredi <miklos@szeredi.hu>
701
702 * Add memory cleanup on thread exit
703
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00007042005-09-13 Miklos Szeredi <miklos@szeredi.hu>
705
706 * Set umask to zero in fusexmp and fusexmp_fh, so that
707 files/directories are created with the requested mode.
708
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00007092005-09-12 Miklos Szeredi <miklos@szeredi.hu>
710
711 * Don't ignore read error in multithreaded loop
712
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00007132005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000714
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000715 * Released 2.4.0-pre2
716
7172005-09-08 Miklos Szeredi <miklos@szeredi.hu>
718
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000719 * Revert lock and access operations. Postpone these until 2.5.
720
7212005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000722
723 * Fix compile warning on 2.6.13 and later
724
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000725 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000726
Miklos Szeredi77ccf652005-08-19 14:40:27 +00007272005-08-19 Miklos Szeredi <miklos@szeredi.hu>
728
729 * lib: always refresh directory contents after rewinddir() to
730 conform to SUS. Bug found by John Muir.
731
Miklos Szeredia1482422005-08-14 23:00:27 +00007322005-08-15 Miklos Szeredi <miklos@szeredi.hu>
733
Miklos Szeredic43f9412005-08-15 15:10:48 +0000734 * Released 2.4.0-pre1
735
7362005-08-14 Miklos Szeredi <miklos@szeredi.hu>
737
Miklos Szeredia1482422005-08-14 23:00:27 +0000738 * lib: cleaned up (or messed up, depending on your POV) the low
739 level library API. Hopefully this is close to the final form.
740
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00007412005-08-05 Miklos Szeredi <miklos@szeredi.hu>
742
743 * fusermount: don't allow empty mountpoint argument, which defeats
744 automatic umounting in fuse_main(). Bugreport by Václav Jůza
745
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00007462005-08-03 Miklos Szeredi <miklos@szeredi.hu>
747
748 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
749 option is used (Paul Alfille).
750
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00007512005-08-02 Miklos Szeredi <miklos@szeredi.hu>
752
753 * highlevel-lib: added mount options "attr_timeout" and
754 "entry_timeout". These options control the length of time file
755 attributes and entries (names) are cached. Both default to 1.0
756 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000757
758 * kernel: correctly handle zero timeout for attributes and entries
759
Miklos Szeredi56a61f02005-08-01 10:42:25 +00007602005-08-01 Miklos Szeredi <miklos@szeredi.hu>
761
762 * Added missing symbols to versionscript (Joshua J. Berry)
763
Miklos Szeredie77cc072005-08-01 11:58:51 +0000764 * kernel: implement two flags, open can set: 'direct_io' and
765 'keep_cache'. These correspond exactly to mount options
766 'direct_io' and 'kernel_cache', but allow a per-open setting.
767
768 * Move 'direct_io' and 'kernel_cache' mount option handling to
769 userspace. For both mount options, if the option is given, then
770 the respective open flag is set, otherwise the open flag is left
771 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000772
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000773 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000774
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00007752005-07-28 Miklos Szeredi <miklos@szeredi.hu>
776
777 * kernel: invalidate attributes for read/readdir/readlink
778 operations
779
780 * kernel: detect newer UML kernels
781
Miklos Szeredibfb99462005-07-26 11:07:55 +00007822005-07-26 Miklos Szeredi <miklos@szeredi.hu>
783
784 * Make the installation path of fuse.ko and mount.fuse
785 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
786 environment variables. Requirement and help from Csaba Henk.
787
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00007882005-07-22 Miklos Szeredi <miklos@szeredi.hu>
789
790 * Fix bug, that causes filesystem requests to hang when unique
791 request counter becomes negative. This happens after
792 2,147,483,648 operations, so most people won't care. Thanks to
793 Franco Broi for the report and testing.
794
Miklos Szeredi9b813af2005-07-21 07:59:37 +00007952005-07-21 Miklos Szeredi <miklos@szeredi.hu>
796
797 * Don't change mtime/ctime/atime to local time on read/write.
798 Bug reported by Ben Grimm
799
800 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
801 Magnusson
802
803 * fusermount: use getopt_long() for option parsing. It allows the
804 use of '--' to stop argument scanning, so fusermount can now
805 operate on directories whose names begin with a '-'. Patch by
806 Adam Connell
807
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00008082005-07-15 Miklos Szeredi <miklos@szeredi.hu>
809
810 * fusermount: add '-v', '--version' and '--help' options
811
812 * add inode based API
813
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00008142005-07-12 Miklos Szeredi <miklos@szeredi.hu>
815
816 * lib: don't block signals in worker threads. Problem noticed by
817 Usarin Heininga
818
Miklos Szeredic902a852005-07-07 12:35:37 +00008192005-07-07 Miklos Szeredi <miklos@szeredi.hu>
820
821 * lib: don't allow both 'allow_other' and 'allow_root' options to
822 be given
823
Miklos Szeredi437d8112005-07-06 09:14:20 +00008242005-07-06 Miklos Szeredi <miklos@szeredi.hu>
825
826 * fusermount: check if mountpoint is empty (only '.' and '..' for
827 directories, and size = 0 for regular files). If "nonempty"
828 option is given, omit this check. This is useful, so users don't
829 accidentally hide data (e.g. from backup programs). Thanks to
830 Frank van Maarseveen for pointing this out.
831
832 * kernel: check if mandatory mount options ('fd', 'rootmode',
833 'user_id', 'group_id') are all given
834
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000835 * lib: simplify 'readdir_ino' handling
836
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000837 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
838
Miklos Szeredibb9f5172005-07-03 18:03:11 +00008392005-07-03 Miklos Szeredi <miklos@szeredi.hu>
840
841 * kernel: clean up 'direct_io' code
842
Miklos Szeredie1bcece2005-06-28 10:37:06 +00008432005-06-28 Miklos Szeredi <miklos@szeredi.hu>
844
845 * Add 'mount.fuse' written by Petr Klima
846
Miklos Szeredi866826d2005-06-28 12:22:57 +0000847 * '/dev/fuse' is created by 'make install' if does not yet exist
848
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00008492005-06-20 Miklos Szeredi <miklos@szeredi.hu>
850
851 * Fix UCLIBC compile error. Patch by Christian Magnusson
852
Miklos Szerediec12fad2005-06-08 10:26:34 +00008532005-06-08 Miklos Szeredi <miklos@szeredi.hu>
854
855 * Enable the auto-loading of the module via access to the
856 corresponding device file. Patch by Takashi Iwai.
857
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000858 * Allow mounting a regular file (over a regular file) for
859 unprivleged users.
860
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000861 * Do not create temporary device file. Require "/dev/fuse" to
862 exist, and be readable/writable by the mounting user.
863
Miklos Szeredi46960ce2005-06-02 09:05:00 +00008642005-06-02 Miklos Szeredi <miklos@szeredi.hu>
865
Miklos Szeredi56478552005-06-02 10:29:00 +0000866 * Released 2.3.0
867
8682005-06-02 Miklos Szeredi <miklos@szeredi.hu>
869
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000870 * Fix serious information leak: if the filesystem returns a short
871 byte count to a read request, and there are non-zero number of
872 pages which are not filled at all, these pages will not be zeroed.
873 Hence the user can read out previous memory contents. Found by
874 Sven Tantau.
875
Miklos Szeredi33be22d2005-05-27 09:12:43 +00008762005-05-27 Miklos Szeredi <miklos@szeredi.hu>
877
878 * Add "readdir_ino" mount option, which tries to fill in the d_ino
879 field in struct dirent. This mount option is ignored if "use_ino"
880 is used. It helps some programs (e.g. 'pwd' used over NFS from a
881 non-Linux OS). Patch by David Shaw.
882
Miklos Szeredif94e0102005-05-12 14:56:34 +00008832005-05-12 Miklos Szeredi <miklos@szeredi.hu>
884
Miklos Szeredieb009c42005-05-12 15:01:17 +0000885 * Released 2.3-rc1
886
8872005-05-12 Miklos Szeredi <miklos@szeredi.hu>
888
Miklos Szeredif94e0102005-05-12 14:56:34 +0000889 * File save in krusader and other editors doesn't work with sshfs,
890 because open() is interrupted by a periodic signal, and open()
891 restarts forever, without any progress. This could just be fixed
892 in open(), but the problem is more generic: if signals are
893 received more often than the filesystem can get the request to
894 userspace, it will never finish. This is probably only a
895 theoretical problem, nevertheless I'm removing the possibility to
896 interrupt requests with anything other than SIGKILL, even before
897 being sent to userspace. Bugreport by Eduard Czimbalmos.
898
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00008992005-05-09 Miklos Szeredi <miklos@szeredi.hu>
900
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000901 * libfuse: add "tree_lock" rwlock, that is locked for write in
902 rename, unlink and rmdir, and locked for read in all other
903 operations. This should fix the rename/release race reported by
904 Valient Gough and others. The solution is very coarse, a finer
905 grained locking scheme could be implemented, but it would be much
906 more complex. Let's see whether this is good enough.
907
9082005-05-09 Miklos Szeredi <miklos@szeredi.hu>
909
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000910 * Released 2.3-pre7
911
Miklos Szeredi38009022005-05-08 19:47:22 +00009122005-05-08 Miklos Szeredi <miklos@szeredi.hu>
913
914 * Better fix for out of order FORGET messages. Now the
915 LOOKUP/FORGET messages are balanced exactly (one FORGET can
916 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000917 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000918 compatible.
919
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00009202005-05-06 Miklos Szeredi <miklos@szeredi.hu>
921
922 * Fix abort for out of order FORGET messages. Again. Spotted by
923 Franco Broi again. Sorry :)
924
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00009252005-04-29 Miklos Szeredi <miklos@szeredi.hu>
926
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000927 * Released 2.3-pre6
928
9292005-04-29 Miklos Szeredi <miklos@szeredi.hu>
930
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000931 * Make fusermount work with fuse kernel modules not yet supporting
932 the "group_id" option (added for the purpose of stricter
933 permission checking).
934
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00009352005-04-28 Miklos Szeredi <miklos@szeredi.hu>
936
937 * Check for hard-linked directories in lookup. This could cause
938 problems in the VFS, which assumes that such objects never exist.
939
940 * Make checking of permission for other users more strict. Now
941 the same privilege is required for the mount owner as for ptrace
942 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000943
Miklos Szeredi3efcb562005-04-23 13:34:29 +00009442005-04-23 Miklos Szeredi <miklos@szeredi.hu>
945
946 * Released 2.3-pre5
947
Miklos Szeredid001bf92005-04-22 07:54:11 +00009482005-04-22 Miklos Szeredi <miklos@szeredi.hu>
949
950 * Add -msoft-float to kernel module compile flags for 2.4.X. This
951 is needed on certain architectures. Report from Chris Kirby
952
953 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
954 Reported by David Shaw
955
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000956 * Remove "allow_root" option from kernel module, and implement
957 it's functionality in the library
958
959 * Fix Oops caused by premature release of fuse_conn. Clean up
960 related code, to be more readable
961
Miklos Szeredif9137452005-04-23 10:59:44 +0000962 * Sendfile should not use page cache if "direct_io" mount option
963 is given
964
Miklos Szeredib7640d22005-04-08 15:15:28 +00009652005-04-08 Miklos Szeredi <miklos@szeredi.hu>
966
967 * Fix Oops in case of nfs export. Spotted by David Shaw
968
Miklos Szeredi89814a12005-04-08 16:39:09 +0000969 * Fix another Oops in case of write over nfs with direct_io turned
970 on. Again spotted by David Shaw
971
Miklos Szerediab974562005-04-07 15:40:21 +00009722005-04-07 Miklos Szeredi <miklos@szeredi.hu>
973
Miklos Szeredi432d6182005-04-07 15:56:13 +0000974 * Released 2.3-pre4
975
9762005-04-07 Miklos Szeredi <miklos@szeredi.hu>
977
Miklos Szerediab974562005-04-07 15:40:21 +0000978 * lib: finalized new readdir() interface, which now supersedes the
979 getdir() method.
980
Miklos Szeredi30e093a2005-04-03 17:44:54 +00009812005-04-03 Miklos Szeredi <miklos@szeredi.hu>
982
983 * Released 2.3-pre3
984
9852005-04-03 Miklos Szeredi <miklos@szeredi.hu>
986
987 * Implement backward compatibility with version 5 kernel ABI
988
Miklos Szeredi18fce982005-04-01 21:07:35 +00009892005-04-01 Miklos Szeredi <miklos@szeredi.hu>
990
991 * Released 2.3-pre2
992
9932005-04-01 Miklos Szeredi <miklos@szeredi.hu>
994
995 * kernel: fix dirent offset handling
996
997 * lib: add readdir and releasedir methods
998
999 * lib: use fh field of fuse_file_info in opendir, readdir,
1000 releasedir and fsyncdir methods
1001
1002 * lib: check kernel API version and bail out of it's old. This
1003 will be properly fixed in the next release
1004
10052005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1006
1007 * Released 2.3-pre1
1008
Miklos Szeredieab72ef2005-03-31 19:59:12 +000010092005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1010
1011 * kernel API: add padding to structures, so 64bit and 32bit
1012 compiler will return the same size
1013
1014 * kernel API: add offset field to fuse_dirent. This will allow
1015 more sophisticated readdir interface for userspace
1016
1017 * kernel API: change major number to 6
1018
1019 * kernel: fix warnings on 64bit archs
1020
1021 * kernel: in case of API version mismatch, return ECONNREFUSED
1022
Miklos Szeredi407e6a72005-03-25 12:19:43 +000010232005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1024
1025 * kernel: trivial cleanups
1026
Miklos Szeredi4283ee72005-03-21 12:09:04 +000010272005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1028
1029 * Add fsyncdir() operation
1030
Miklos Szeredid17da462005-03-21 11:47:04 +000010312005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1032
1033 * kernel: add locking to background list (fixes previous fix)
1034
10352005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1036
1037 * kernel: fix bug which could cause leave busy inodes after
1038 unmount, and Oops.
1039
10402005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1041
1042 * examples: add -lpthread to link flags to work around valgrind
1043 quirk
1044
1045 * lib: don't exit threads, so cancelation doesn't cause segfault
1046
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000010472005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1048
1049 * kernel: fix nasty bug which could cause an Oops under certain
1050 situations. Found by Magnus Johansson
1051
Miklos Szeredif43f0632005-02-28 11:46:56 +000010522005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1053
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001054 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001055 permission checking in getdir() is too late. Thanks to Usarin
1056 Heininga for pointing out this deficiency
1057
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001058 * libfuse: added init() and destroy() methods to fuse_operations
1059
Miklos Szeredif43f0632005-02-28 11:46:56 +00001060 * kernel: llseek() method for files and directories made explicit
1061
1062 * kernel: fixed inode leak in NFS export in case of nodeid
1063 wrapping
1064
Miklos Szeredied3c97c2005-02-15 17:04:50 +000010652005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1066
1067 * libfuse: clean up some unitialized memory found with valgrind
1068
Miklos Szeredi47c52982005-02-23 09:27:38 +00001069 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1070 explicitly linked libpthread for applications
1071
Miklos Szeredia7169412005-02-10 07:35:05 +000010722005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1073
1074 * fusermount: set umask, otherwise /etc/mtab will have
1075 unpredictable permission. Spotted by Jindrich Kolorenc
1076
1077 * fusermount: set owner and group of /etc/mtab to original values
1078 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001079
1080 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001081
Miklos Szeredib92d9782005-02-07 16:10:49 +000010822005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1083
1084 * Cleaned up directory reading (temporary file is not used)
1085
Miklos Szerediff30a6c2005-02-02 10:53:59 +000010862005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1087
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001088 * Released 2.2
1089
10902005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1091
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001092 * Fix possible race when operation is interrupted
1093
Miklos Szeredi7a983952005-01-28 09:58:19 +000010942005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1095
Miklos Szeredie5183742005-02-02 11:14:04 +00001096 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001097
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000010982005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1099
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001100 * Released 2.2-pre6
1101
11022005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1103
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001104 * Fix bug in link() operation which caused the wrong path to be
1105 passed as the first argument. Found by Anton Altaparmakov
1106
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000011072005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1108
1109 * LIB: fix double reply in readdir operation
1110
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001111 * fusermount: fix uid checking bug. Patch by Adam Connell
1112
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001113 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001114 Patch by Keshava Gowda
1115
Miklos Szeredi64074142005-01-20 08:48:11 +000011162005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1117
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001118 * KERNEL: provide correct llseek semantics for fuse device (fixes
1119 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1120
11212005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1122
Miklos Szeredi64074142005-01-20 08:48:11 +00001123 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1124
Miklos Szeredi1adb2272005-01-18 21:19:58 +000011252005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1126
1127 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1128 and RELEASEDIR. This ends the ugly hack of passing a file
1129 descriptor to the kernel, and actually makes the code simpler.
1130
Miklos Szeredi7db35c02005-01-17 09:46:28 +000011312005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1132
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001133 * Released 2.2-pre4
1134
11352005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1136
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001137 * fusermount: remove capability setting, which was the cause of
1138 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001139 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001140
Miklos Szeredidbe0f652005-01-15 14:32:56 +000011412005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001142
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001143 * fix compilation on 2.4 kernels (reported by Valient Gough)
1144
1145 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001146
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001147 * fusermount: improve parsing of /etc/fuse.conf
1148
11492005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1150
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001151 * Remove 'mount_max' and 'user_allow_other' module options. These
1152 are now checked by fusermount, and can be set in /etc/fuse.conf
1153
1154 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1155
Miklos Szeredi81394522005-01-11 14:24:18 +000011562005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1157
1158 * KERNEL: fix possible inode allocation problem, where
1159 sizeof(struct inode) is not aligned (found by Mike Waychison)
1160
1161 * KERNEL: use new follow_link/put_link methods
1162
1163 * KERNEL: cosmetic fixes
1164
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000011652005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1166
1167 * Released 2.2-pre3
1168
11692005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1170
1171 * Add missing code that was accidently left out
1172
Miklos Szeredi8c7da232005-01-09 12:27:41 +000011732005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1174
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001175 * Released 2.2-pre2
1176
11772005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1178
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001179 * Change "uid" mount option to "user_id" to avoid confusion with a
1180 mount option "uid" commonly used by many filesystems
1181
11822005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1183
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001184 * Released 2.2-pre1
1185
11862005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1187
1188 * If FUSE is configured in the kernel, don't build it by default
1189
Miklos Szeredi2a927272005-01-07 11:14:15 +000011902005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1191
1192 * Compile fix by Christian Magnusson
1193
Miklos Szeredib6220192005-01-05 16:19:10 +000011942005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1195
1196 * Fix compilation for 2.6.{0-5} kernels
1197
Miklos Szeredi0f62d722005-01-04 12:45:54 +000011982005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1199
1200 * KERNEL: if request is interrupted, still keep reference to used
1201 inode(s) and file, so that FORGET and RELEASE are not sent until
1202 userspace finishes the request.
1203
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001204 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1205 request with the same information, which is more flexible,
1206 simpler, works on embedded systems.
1207
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012082004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1209
1210 * KERNEL ABI: update interface to make it independent of type
1211 sizes. This will help on 64 bit architectures which can run
1212 legacy 32 bit applications.
1213
1214 * KERNEL ABI: add "len" field to request headers. This will allow
1215 sending/receiving requests in multiple chunks.
1216
1217 * KERNEL: handle file type change more intelligently
1218
1219 * LIB: "-o debug" option should disable backgrounding (fix by
1220 Fabien Reygrobellet)
1221
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000012222004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1223
1224 * KERNEL: invalidate dentry/attributes if interrupted request
1225 could leave filesystem in an unknown state.
1226
Miklos Szeredie56818b2004-12-12 11:45:24 +000012272004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1228
1229 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1230 These will cause some regressions, but stability is considered
1231 more important. If any of these features turns out to be
1232 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001233
Miklos Szeredie56818b2004-12-12 11:45:24 +00001234 * Make all requests interruptible (only with SIGKILL currently).
1235 This can be used to break any deadlock produced by the userspace
1236 filesystem accessing it's own exported files. The RELEASE request
1237 is special, because if it's interrupted before sending it to
1238 userspace it is still sent, but the reply is not awaited.
1239
1240 * If request is interrupted before being sent to userspace, and if
1241 it hasn't yet got any side effects, it is always restarted,
1242 regardless of the SA_RESTART flag. This makes these interruptions
1243 transparent to the process.
1244
1245 * Remove shared-writable mmap support, which was prone to an
1246 out-of-memory deadlock situation
1247
1248 * Remove INVALIDATE userspace initiated request
1249
1250 * Make readpages() synchronous. Asynchronous requests are
1251 deadlock prone, since they cannot be interrupted.
1252
1253 * Add readv/writev support to fuse device operations
1254
1255 * Remove some printks, which userspace FS can use for a DoS
1256 against syslog
1257
1258 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1259 fusermount instead
1260
1261 * LIB: improve compatibility with a fuse.h header installed in
1262 ${prefix}/include which in turn includes the real header.
1263
1264 * LIB: improve compatibility by defining fuse_main() (which is now
1265 not used), so old configure scripts find it.
1266
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000012672004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1268
1269 * When mounting on a subdirectory of / don't duplicate slashes at
1270 the beggining of path (spotted by David Shaw)
1271
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000012722004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1273
1274 * Fix bug causing garbage in mount options (spotted by David Shaw)
1275
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000012762004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1277
1278 * Add 'writepage' flag to 'fuse_file_info'.
1279
1280 * More comments in fuse.h
1281
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001282 * Get rid of double underscores
1283
Miklos Szeredi799993c2004-12-04 21:20:05 +000012842004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1285
1286 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1287
1288 * helper.c: add -ho option, which only displays the options not
1289 the usage header. This can be used by filesystems which have
1290 their own options.
1291
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000012922004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1293
1294 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1295 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1296 including the fuse header
1297
1298 * Add binary compatibility to 2.1 version of library with symbol
1299 versioning
1300
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000013012004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1302
1303 * Released 2.1
1304
Miklos Szeredi039322d2004-12-01 18:39:12 +000013052004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1306
1307 * kernel: clean up writing functions
1308
1309 * kernel: no allocation on write in direct_io mode
1310
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001311 * move linux/fuse.h to fuse_kernel.h
1312
Miklos Szeredi83a07442004-11-30 18:25:20 +000013132004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1314
1315 * kernel: clean up reading functions
1316
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000013172004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1318
1319 * kernel: make readpage() uninterruptible
1320
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001321 * kernel: check readonly filesystem flag in fuse_permission
1322
1323 * lib: don't die if version file not found and new style device
1324 exists
1325
1326 * lib: add '-r' option, which is short for '-o ro'
1327
1328 * fusermount: simplify device opening
1329
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001330 * kernel: when direct_io is turend on, copy data directly to
1331 destination without itermediate buffer. More efficient and safer,
1332 since no allocation is done.
1333
1334 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001335
1336 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001337
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000013382004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1339
1340 * libfuse API change: open, read, write, flush, fsync and release
1341 are passed a 'struct fuse_file_info' pointer containing the open
1342 flags (open and release), and the file handle. Verion changed to
1343 3.0.
1344
Miklos Szeredia25d4c22004-11-23 22:32:16 +000013452004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1346
1347 * More cleanups in the kernel
1348
1349 * The 10,229 charater device number has been assigned for FUSE
1350
1351 * Version file checking fix (reported by Christian Magnusson)
1352
1353 * fusermount: opening the fuse device now doesn't need /sys.
1354
1355 * Optimize reading by controlling the maximum readahead based on
1356 the 'max_read' mount option
1357
1358 * fixes for UCLIBC (Christian Magnusson)
1359
Miklos Szeredi13ed4822004-11-20 11:12:21 +000013602004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1361
1362 * Cleaned up kernel in preparation for merge into mainline:
1363
1364 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1365
1366 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1367
1368 * __user annotations for sparse
1369
1370 * allocate individual pages instead of kmalloc in fuse_readdir,
1371 fuse_read and fuse_write.
1372
1373 * Fix NFS export in case "use_ino" mount option is given
1374
Miklos Szeredif3845c42004-11-20 11:18:34 +00001375 * Make libfuse and fusermount compatible with future versions
1376
1377 * fusermount: properly add mount options to /etc/mtab
1378
13792004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1380
1381 * fusermount: do not resolve last component of mountpoint on if it
1382 is '.' or '..'. This new path resolvation is now done on mount as
1383 well as unmount. This enables relative paths to work on unmount.
1384
1385 * fusermount: parse common mount options like "ro", "rw", etc...
1386
1387 * Allow module params to be changed through sysfs
1388
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000013892004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1390
1391 * Released 2.1-pre1
1392
13932004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1394
1395 * Fix bug in fuse_readpages() causing Oops in certain situations.
1396 Bug found by Vincenzo Ciancia.
1397
1398 * Fix compilation with kernels versions > 2.6.9.
1399
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000014002004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001401
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001402 * Check kernel interface version in fusermount to prevent
1403 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001404
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001405 * No need to allocate fuse_conn until actual mount happens
1406
1407 * Fix potential race between umount and fuse_invalidate
1408
1409 * Check superblock of proc file in addition to inode number
1410
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001411 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001412
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014132004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1414
1415 * Separate configure for the kernel directory
1416
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001417 * Don't allow write to return more than 'count'
1418
1419 * Extend kernel interface for future use
1420
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014212004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1422
1423 * Fix 'makeconf.sh' to use autoreconf if available
1424
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000014252004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1426
Miklos Szeredid507c732004-11-08 17:32:25 +00001427 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1428 compatibility with earlier versions. To compile earier versions
1429 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1430 Do not use the "use_ino" mount flag with filesystems compiled with
1431 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001432
1433 * Add pkg-config support. To compile a FUSE based filesystem you
1434 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1435 or similar. Note, that the PKG_CONFIG_PATH environment variable
1436 usually needs to be set to "/usr/local/lib/pkgconfig".
1437
1438 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001439
Miklos Szeredia13d9002004-11-02 17:32:03 +000014402004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1441
1442 * Added "use_ino" mount option. This enables the filesystems to
1443 set the st_ino field on files
1444
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000014452004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1446
1447 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1448 by Jeremy Smith)
1449
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001450 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1451
1452 * Clear the 'exited' flag when mail loop is finished
1453
Miklos Szeredie989f0d2004-10-28 20:24:58 +000014542004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1455
1456 * Make xattr functions work under 2.6 (bug found by Vincenzo
1457 Ciancia)
1458
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000014592004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1460
1461 * Reset request in fuse_flush() (bugreport by David Shaw)
1462
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000014632004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1464
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001465 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001466 error code
1467
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001468 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001469 make it easier to implement a custom event loop.
1470
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001471 * Use daemon() call to background the filesystem after mounting.
1472 This function closes the standard input, output and error and
1473 changes the current working directory to "/".
1474
Miklos Szeredi127d49b2004-10-14 13:33:39 +000014752004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1476
1477 * Released 1.9
1478
Miklos Szeredid45baf42004-10-10 07:56:12 +000014792004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1480
1481 * Don't allow fuse_flush() to be interrupted (bug found by David
1482 Shaw)
1483
Miklos Szeredi1f18db52004-09-27 06:54:49 +000014842004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1485
1486 * Add PID to fuse_context. Patch by Steven James
1487
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001488 * Change file handle type to 'unsigned long' in kernel interface
1489
Miklos Szeredid169f312004-09-22 08:48:26 +000014902004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1491
1492 * A slight API change: fuse_get_context() doesn't need the "fuse"
1493 pointer, but the returned context contains it instead. The
1494 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001495
1496 * Fix mounting and umounting FUSE filesystem under another FUSE
1497 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001498
Miklos Szeredic2309912004-09-21 13:40:38 +000014992004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1500
1501 * Fix deadlock in case of memory allocation failure. Patch by
1502 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001503
Miklos Szeredib2cf9562004-09-16 08:42:40 +000015042004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1505
1506 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001507
Miklos Szeredi65afea12004-09-14 07:13:45 +000015082004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1509
1510 * Check temporary file creation failure in do_getdir(). Bug
1511 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001512
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000015132004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1514
1515 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001516
1517 * Make requests non-interruptible so race with FORGET is avoided.
1518 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001519
1520 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001521
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000015222004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1523
1524 * Fix bug in case two FORGETs for the same node are executed in
1525 the wrong order. Bug spotted and endured for months by Franco
1526 Broi, and logfile for solution provided by Terje Oseberg
1527
Miklos Szeredi12085102004-09-02 18:13:57 +000015282004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1529
1530 * Add -D_REENTRANT to the compile flags
1531
1532 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001533
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000015342004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1535
1536 * Change release method to be non-interruptible. Fixes bug
1537 causing missing release() call when program which has opened files
1538 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001539
Miklos Szeredi891b8742004-07-29 09:27:49 +000015402004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1541
1542 * Add fuse_invalidate() to library API
1543
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000015442004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1545
1546 * Check permissions in setattr if 'default_permissions' flag is
1547 set. Bug spotted by Damjan Lango
1548
Miklos Szeredid66d3942004-07-24 13:47:44 +000015492004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1550
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001551 * 'large_read' mount option removed for 2.6 kernels, since the
1552 default (dynamic read size) is better
1553
1554 * Extend kernel API with file handles. A file handle is returned
1555 by open, and passed to read, write, flush, fsync and release.
1556 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001557
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001558 * Security changes:
1559
1560 * Change the current directory to the mountpoint before checking
1561 the permissions and mount filesystem on "."
1562
1563 * By default don't modprobe the fuse module for non-root. The old
1564 behavior can be restored with the '--enable-auto-modprobe' flag of
1565 ./configure
1566
1567 * By default don't allow shared writable mappings for non-root.
1568 The old behavior can be restored with the 'user_mmap=1' module
1569 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001570
Miklos Szeredibd7661b2004-07-23 17:16:29 +000015712004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1572
1573 * Clean up mount option passing to fusermount and to fuse_new()
1574 BEWARE: this changes the userspace API slightly, and the command
1575 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001576
Miklos Szeredi58865372004-07-20 14:22:26 +000015772004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1578
1579 * Optimize reading under 2.6 kernels by issuing multiple page
1580 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001581
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000015822004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1583
1584 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001585
Miklos Szeredi069c9502004-07-16 16:17:02 +000015862004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1587
1588 * Separate directory entry and inode attribute validity timer
1589
1590 * New write semaphore to stop page writeback during truncate
1591
1592 * Fsync now waits for all writes to complete before sending the
1593 request
1594
1595 * Optimization: if a page is completely written by
1596 fuse_commit_write(), clear the dirty flag and set the uptodate
1597 flag for that page
1598
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001599 * Some memory cleanup at exit
1600
Miklos Szeredi2529ca22004-07-13 15:36:52 +000016012004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1602
1603 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001604 disable the "hide if open" behavior of unlink/rename.
1605
1606 * If temporary buffer allocation fails in raw read, fall back to a
1607 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001608
Miklos Szeredi73798f92004-07-12 15:55:11 +000016092004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1610
1611 * Fix bug in do_open() in libfuse: open count was incremented
1612 after the reply is sent so it could race with unlink/forget and
1613 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001614
Miklos Szeredi015fe702004-07-12 11:52:24 +000016152004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1616
1617 * When performing create or remove operation, refresh the parent's
1618 attributes on next revalidate, as i_nlink (and maybe size/time)
1619 could be inacurate.
1620
1621 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1622 pages (2.6 only)
1623
1624 * Set set_page_dirty address space operation (2.6 only)
1625
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016262004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001627
1628 * Minor fix in read: print debug info even if read size is zero
1629
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016302004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001631
1632 * Fix race between truncate and writepage (fsx-linux now runs
1633 without error)
1634
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016352004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001636
1637 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1638 by Mattias Wadman)
1639
1640 * Added option for direct read/write (-r)
1641
1642 * Fix revalidate time setting for newly created inodes
1643
Miklos Szerediacb4d362004-07-02 16:20:45 +00001644 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1645 this)
1646
1647 * fuse_main() only installs handlers for signals (out of INT, HUP,
1648 TERM, PIPE), for which no handler has yet been installed
1649
1650 * Add module option 'user_allow_other' which if set to non-zero
1651 will allow non root user to specify the 'allow_other' mount option
1652 ('-x' option of fusermount)
1653
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001654 * Fix deadlock between page writeback completion and truncate
1655 (bug found by Valient Gough with the fsx-linux utility)
1656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016572004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001658
1659 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001660 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1661 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016632004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001664
1665 * Acquire inode->i_sem before open and release methods to prevent
1666 concurrent rename or unlink operations.
1667
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001668 * Make __fuse_read_cmd() read only one command. This allows
1669 multiplexing the fuse file descriptor with other event sources
1670 using select() or poll() (patch by Jeff Harris)
1671
1672 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1673
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016742004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001675
1676 * Fix file offset wrap around at 4G when doing large reads
1677
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016782004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001679
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001680 * Fix memory leak in open (Valient Gough)
1681
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016822004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001683
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001684 * Add "close after delete" support to libfuse (patch by Valient
1685 Gough)
1686
1687 * Cancel all worker threads before exit in multithreaded mode
1688
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016892004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001690
1691 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001692
1693 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001694
1695 * Work with newer libtool (1.5a)
1696
1697 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001698
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016992004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001700
1701 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001702
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017032004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001704
1705 * Fix possible inode leak in userspace in case of unfinished
1706 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017082004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001709
1710 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017122004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001713
1714 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001715
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017162004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001717
1718 * Build shared library as well as static (using libtool)
1719
1720 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1721 there has not been a release with the previous minor number, and I
1722 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001723
1724 * Change fuse_main(), so that default behavior is to go into
1725 background if mount is successful. '-f' and '-d' options disable
1726 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1727 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001728
1729 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1730 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001731
1732 * Don't call getdir method from open() only from first readdir().
1733 Open is sometimes just used to store the current directory
1734 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001735
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017362004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001737
1738 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001739
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017402004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001741
1742 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001743
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017442004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001745
1746 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001747
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017482004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001749
1750 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017522004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001753
1754 * Replaced binary mount data with text options
1755
1756 * Show FUSE specific mount options in /proc/mounts
1757
1758 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1759
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017602004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001761
1762 * Check some limits so userspace won't get too big requests
1763
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017642004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001765
1766 * Kill compile warning
1767
1768 * Upgraded user-mount patch for 2.6.5
1769
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017702004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001771
1772 * Add detection of user-mode-linux to configure
1773
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017742004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001775
1776 * fixed zero size case for getxattr and listxattr
1777
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017782004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001779
1780 * new fusermount flag '-z': lazy unmount, default is not lazy
1781
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001782 * Extended attributes operations added (getxattr, setxattr,
1783 listxattr, removexattr)
1784
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017852004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001786
1787 * If filesystem doesn't define a statfs operation, then an
1788 all-zero default statfs is returned instead of ENOSYS
1789
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017902004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001791
1792 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1793
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017942004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001795
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001796 * Fix for uClinux (Christian Magnusson)
1797
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017982004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001799
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001800 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001801
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001802 * More kernel interface changes:
1803
1804 * Lookup/getattr return cache timeout values
1805
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018062004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001807
1808 * Clean up option parsing in fuse_main()
1809
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001810 * Added fuse_get() function which returns the fuse object created
1811 by fuse_main()
1812
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018132004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001814
Miklos Szeredic40748a2004-02-20 16:38:45 +00001815 * removed old way of mounting (fusermount mountpoint program)
1816
Miklos Szeredib5958612004-02-20 14:10:49 +00001817 * more kernel interface changes:
1818
1819 * added nanosecond precision to file times
1820
Miklos Szeredic40748a2004-02-20 16:38:45 +00001821 * removed interface version from mount data
1822
1823 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1824
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018252004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001826
1827 * statfs library API changed to match other methods. Since this
1828 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1829
Miklos Szeredi76f65782004-02-19 16:55:40 +00001830 * kernel interface changes follow:
1831
1832 * statfs changed to 64 bits, added 'bavail' field
1833
1834 * add generation number to lookup result
1835
1836 * optimized mknod/mkdir/symlink/link (no separate lookup is
1837 needed)
1838
1839 * rdev size increased to 32 bits for mknod
1840
1841 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001842
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018432004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001844
1845 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001846
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018472004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001848
1849 * Added user-mount.2.6.2-rc3.patch
1850
1851 * Add FS_SAFE flag to fuse filesystem
1852
1853 * fusermount should allow (un)mounting for non-root even if not
1854 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001855
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018562004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001857
1858 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001859
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018602004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001861
1862 * Added check for i_size_read/write functions to configure.in
1863 (patch by Valient Gough)
1864
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018652004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001866
1867 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001868
1869 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001870
1871 * Readpage calls flush_dcache_page() after storing data
1872
1873 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001874
1875 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001876
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018772004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001878
1879 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001880
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018812004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001882
1883 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001884
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018852004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001886
1887 * Added -q option for fusermount
1888
1889 * fuse_unmount() now uses -q option of fusermount, so no error is
1890 printed if the cause of the program exit is that the filesystem
1891 has already been unmounted
1892
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001893 * Fix i_nlink correctness after rmdir/unlink
1894
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018952004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001896
Miklos Szeredib1158392004-01-26 14:43:12 +00001897 * Released 1.1-pre2
1898
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018992004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001900
Miklos Szeredi307242f2004-01-26 11:28:44 +00001901 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001902
1903 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001904
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019052004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001906
1907 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001908
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019092004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001910
1911 * Write all pending data before a RELEASE operation
1912
1913 * Suppress 'Bad file descriptor' warning on exit
1914
1915 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001916 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001917
Miklos Szeredib1158392004-01-26 14:43:12 +00001918 * New fusermount option '-l' which enables big reads. Big reads
1919 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001920
1921 * fuse_main() can accept fusermount arguments after a '--'
1922
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019232004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001924
1925 * Support for exporting filesystem over NFS (see README.NFS)
1926
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019272004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001928
1929 * Support non-blocking writepage on 2.6. This makes FUSE behave
1930 much more nicely in low-memory situations
1931
1932 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1933 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001934
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019352004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001936
1937 * Code cleanups
1938
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019392004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001940
1941 * Released 1.1-pre1
1942
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019432004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001944
1945 * Integrated 2.6 kernel support patch by Michael Grigoriev
1946
1947 * Improvements and cleanups for 2.6 kernels
1948
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019492004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001950
Miklos Szeredie5183742005-02-02 11:14:04 +00001951 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001952
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019532003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001954
1955 * Added major+minor version to library API, and minor version to
1956 kernel API
1957
David McNab7a19caf2003-12-13 02:05:46 +000019582003-12-13 David McNab <david@rebirthing.co.nz>
1959
1960 * Implemented fsync support in examples/example.py
1961
1962 * Implemented 'fsync' and 'statfs' methods in python
1963 interface
1964
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019652003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001966
Miklos Szeredie5183742005-02-02 11:14:04 +00001967 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001968
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001969 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001970
David McNab8bf62632003-12-11 22:49:22 +000019712003-12-12 David McNab <david@rebirthing.co.nz>
1972
1973 * Added distutils support to the python module, as per standard
1974 python development practice
1975
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019762003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001977
1978 * Add file locking for mount/unmount (based on patch by Valient
1979 Gough)
1980
19812003-12-11 David McNab <david@rebirthing.co.nz>
1982
1983 * Python filesystem - was broken with python2.3, now fixed:
1984 - changed PyTuple_* calls to PySequence_*, because os.lstat
1985 is no longer returning a pure tuple
1986 - changed PyInt_Check() calls to also call PyLong_Check,
1987 to cover for cases (eg os.lstat) where longs are returned
1988 - Added support for file 'release' handling, which IMO is
1989 essential since this signals to a FS that writes to a file
1990 are complete (and therefore the file can now be disposed of
1991 meaningfully at the python filesystem's discretion)
1992 - Added '__init__' handler to base Fuse class, which allows
1993 your Python class to know the mountpoint and mount args,
1994 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001995
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001996 * General:
1997 - added 'mount.fuse' script (in util/ dir), which is meant to be
1998 symlinked from /sbin, and which allows FUSE filesystems to
1999 be mounted with the 'mount' command, and listed in fstab;
2000 also, mount arguments get passed to your filesystem
2001
2002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020032003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002004
2005 * Fix kernel version detection (again). Bugreport by Peter Levart
2006
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020072003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002008
2009 * Applied read combining patch by Michael Grigoriev (tested by
2010 Valient Gough and Vincent Wagelaar)
2011
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020122003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002013
2014 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2015 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002016
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020172003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002018
2019 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020212003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002022
2023 * kernel version detection fix
2024
2025 * fusermount now uses "lazy" umount option
2026
2027 * fusermount can use modprobe with module-init-tools
2028
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020292003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002030
2031 * Integrated caching patch by Michael Grigoriev
2032
Miklos Szeredida4e4862003-09-08 11:14:11 +00002033 * Added "Filesystems" file with descriptions of projects using
2034 FUSE
2035
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002036 * Added patch by Michael Grigoriev to allow compliation of FUSE
2037 kernel module for 2.6 kernels
2038
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020392003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002040
2041 * And another spec-file fix by Achim Settelmeier
2042
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020432003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002044
2045 * Spec-file fix by Achim Settelmeier
2046
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020472003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002048
Miklos Szerediac361172004-11-02 19:14:14 +00002049 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002050
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020512003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002052
2053 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2054
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020552003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002056
2057 * Updated fuse.spec file (Achim Settelmeier)
2058
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020592003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002060
2061 * Version 1.0 released
2062
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020632003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002064
2065 * SuSE compilation fix by Juan-Mariano de Goyeneche
2066
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020672002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002068
2069 * The release() VFS call is now exported to the FUSE interface
2070
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020712002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002072
2073 * 64 bit file offset fixes in the fuse kernel module
2074
2075 * Added function 'fuse_exit()' which can be used to exit the main
2076 loop
2077
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020782002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002079
2080 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2081 an incompatible interface change.
2082
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020832002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002084
2085 * Portablility fix (bug reported by C. Chris Erway)
2086
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020872002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002088
2089 * Use Mark Glines' fd passing method for default operation instead
2090 of old reexec
2091
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020922002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002093
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002094 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2095
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020962002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002097
Miklos Szeredi60c23522002-10-24 09:19:43 +00002098 * fix incompatiblity with Red Hat kernels, with help from Nathan
2099 Thompson-Amato.
2100
Mark Glines65ba2192002-04-18 14:41:48 +000021012002-04-18 Mark Glines <mark@glines.org>
2102
2103 * added an alternative to fuse_mount(), called
2104 fuse_mount_ioslave(), which does not need to reexec the
2105 FUSE program.
2106 * added a small helper util needed by fuse_mount_ioslave().
2107
Mark Glines220635a2002-03-17 07:01:14 +000021082002-03-16 Mark Glines <mark@glines.org>
2109
2110 * use struct fuse_statfs everywhere possible to avoid problems
2111 with the headerfiles changing struct statfs member sizes
2112
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021132002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002114
2115 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2116
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021172002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002118
2119 * RPM support by Achim Settelmeier
2120
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021212002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002122
Miklos Szerediddc862a2002-01-09 13:46:10 +00002123 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002124
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021252002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002126
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002127 * Revaidate all path components not just the last, this means a
2128 very small performance penalty for being more up-to-date.
2129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021302002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002131
2132 * Update and fix python interface
2133
Mark Glinesd84b39a2002-01-07 16:32:02 +000021342002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002135
Mark Glinesd84b39a2002-01-07 16:32:02 +00002136 * Added statfs() support to kernel, lib, examples, and perl!
2137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021382001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002139
2140 * Better cross compilation support
2141
2142 * Ported to Compaq IPAQ
2143
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021442001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002145
Miklos Szeredife25def2001-12-20 15:38:05 +00002146 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002147 patch from Matt Ryan)
2148
Miklos Szeredife25def2001-12-20 15:38:05 +00002149 * Added flags to fusermount and to kernel interface to control
2150 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002151
Miklos Szeredife25def2001-12-20 15:38:05 +00002152 * Integrated fuse_set_operations() into fuse_new()
2153
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021542001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002155
2156 * Applied header protection + extern "C" patch by Roland
2157 Bauerschmidt
2158
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021592001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002160
Miklos Szeredie5183742005-02-02 11:14:04 +00002161 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002162
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021632001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002164
2165 * Cleaned up way of mounting simple filesystems.
2166
2167 * fuse_main() helper function added
2168
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021692001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002170
Miklos Szeredife25def2001-12-20 15:38:05 +00002171 * Optimized read/write operations, so that minimal copying of data
2172 is done
2173
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021742001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002175
2176 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002177
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021782001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002179
2180 * Fixed vfsmount reference leak in fuse_follow_link
2181
2182 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2183 userspace is ignored
2184
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021852001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002186
Miklos Szeredife25def2001-12-20 15:38:05 +00002187 * Started ChangeLog