blob: eedd12d7441995b7bd3f1a6b43e9017f51bb7dce [file] [log] [blame]
Miklos Szeredic3b76812006-09-16 08:52:09 +000012006-09-16 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Rename new utimes() method to more logical utimens()
4
52006-09-14 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Fuse tried to unlink already unlinked hidden files. Bug
8 reported by Milan Svoboda
9
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +0000102006-09-10 Miklos Szeredi <miklos@szeredi.hu>
11
12 * Released 2.6.0-rc1
13
142006-09-10 Miklos Szeredi <miklos@szeredi.hu>
15
16 * kernel: Fix unlock on close for kernels < 2.6.18
17
18 * Add ulockmgr library & server. This can be used for handling
19 file locking requests either directly from libfuse or over a
20 network, etc. This first version is not optimized and the number
21 of file descriptors it uses may get out of hand
22
Miklos Szeredi288ed4e2006-09-07 06:02:44 +0000232006-09-07 Miklos Szeredi <miklos@szeredi.hu>
24
25 * lib: Add interrupt support to high level library, which may be
26 enabled with the 'intr' mount option.
27
28 * When an operation is interrupted the thread handling that
29 operation will receive SIGUSR1 (or other signal specified with the
30 'intr_signal=N' option). The library installs a no-op signal
31 handler for this signal, unless there's already a handler
32 installed.
33
34 * The filesystem may query interrupt status (regardless of 'intr')
35 with the fuse_interrupted() function.
36
Miklos Szeredid8588412006-09-07 06:08:56 +000037 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
38
Miklos Szeredi38f152c2006-09-03 18:28:52 +0000392006-09-03 Miklos Szeredi <miklos@szeredi.hu>
40
41 * lib: Multithreaded loop now allows unlimited number of threads.
42 This is needed for locking operations which may block
43 indefinitely. Also the kernel now doesn't limit the number of
44 outstanding requests so the library shouldn't do so either.
45
Miklos Szeredifa440772006-09-02 09:51:08 +0000462006-09-01 Miklos Szeredi <miklos@szeredi.hu>
47
48 * Fix recursive lock bug in interrupt handling
49
50 * Add utimes() method to highlevel interface, which supports
51 setting times with nanosecond resolution
52
Miklos Szeredi63d3c402006-08-18 16:38:08 +0000532006-08-18 Miklos Szeredi <miklos@szeredi.hu>
54
55 * kernel: fix page leak if fuse_readpages() failed in it's
56 initialization. Bug found and original patch from Alexander
57 Zarochentsev
58
Miklos Szeredi3ded1a32006-08-18 18:43:50 +000059 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
60 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +000061 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +000062
Miklos Szeredi543087d2006-08-18 19:26:23 +000063 * fusermount: try to modprobe fuse module if invoked by root and
64 unable to open device. This is needed with udev, since the device
65 node will be created only when the module is inserted, hence
66 module autoloading won't work. Reported by Szakacsits Szabolcs
67
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000682006-07-30 Miklos Szeredi <miklos@szeredi.hu>
69
70 * fusermount: if selinux is active, restore the original file's
71 security context in unmount_rename(). Redhat bugzilla id 188561.
72 Patch from Yves Perrenoud
73
74 * Add POSIX file locking operation to high level library
75
Miklos Szerediad519562006-07-31 11:07:40 +000076 * Initialize context for unlink of hidden files on umount. Bug
77 reported by Tim Stoakes
78
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000792006-07-14 Miklos Szeredi <miklos@szeredi.hu>
80
81 * Multiple release() calls can race with each other, resulting in
82 the hidden file being deleted before the last release finishes.
83 Bug found and patch tested by Mark Huijgen
84
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000852006-07-05 Miklos Szeredi <miklos@szeredi.hu>
86
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +000087 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
88 this makes sense on systems using udev. Reported by Szakacsits
89 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +000090
Miklos Szeredi91762cd2006-06-29 14:38:35 +0000912006-06-29 Miklos Szeredi <miklos@szeredi.hu>
92
93 * Released 2.6.0-pre3
94
952006-06-29 Miklos Szeredi <miklos@szeredi.hu>
96
97 * Support in kernel module for file locking and interruption. The
98 same functionality is available in official kernels >= 2.6.18
99
Miklos Szeredib052a1a2006-06-28 14:51:20 +00001002006-06-28 Miklos Szeredi <miklos@szeredi.hu>
101
102 * Add POSIX file locking support
103
104 * Add request interruption
105
Miklos Szeredi55a84102006-06-06 10:16:38 +00001062006-06-06 Miklos Szeredi <miklos@szeredi.hu>
107
108 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
109
Miklos Szeredi9dedb702006-06-06 09:48:30 +00001102006-06-05 Remy Blank <remy.blank@pobox.com>
111
112 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
113 unmounting succeeds even if mount point was relative.
114
Csaba Henkd021ce42006-06-03 23:04:18 +00001152006-06-04 Csaba Henk <csaba.henk@creo.hu>
116
117 * lib: fix emergency umount in helper.c when malloc fails.
118 (The way it was done would end up in a segfault.)
119
Csaba Henk4f5c7b42006-06-01 14:19:17 +00001202006-06-01 Csaba Henk <csaba.henk@creo.hu>
121
122 * lib: adjust threading related compiler flags.
123 Switch to "-pthread" from "-lpthread" as that's the preferred
124 one on several platforms. Consulted with Terrence Cole and
125 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000126
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00001272006-05-08 Miklos Szeredi <miklos@szeredi.hu>
128
129 * lib: search fusermount in installation directory (bindir) as
130 well as in PATH.
131
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00001322006-05-03 Miklos Szeredi <miklos@szeredi.hu>
133
134 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
135 Reported by Christian Magnusson
136
Csaba Henk2efe48f2006-04-22 22:46:52 +00001372006-04-23 Csaba Henk <csaba.henk@creo.hu>
138
139 * lib: make FreeBSD mount routine recognize if kernel features
140 backgrounded init and if it does, run the mount util in foreground
141 (similarly to Linux)
142
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00001432006-04-21 Miklos Szeredi <miklos@szeredi.hu>
144
145 * kernel: fix fput deadlock fix, the lockless solution could lead
146 to "VFS: busy inodes after umount..."
147
148 * kernel: fix race between checking and setting file->private_data
149 for the device. Found by Al Viro
150
1512006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000152
153 * kernel: remove request pool, instead allocate requests on
154 demand. Account the number of background requests, and if they go
155 over a limit, block the allocation of new requests.
156
157 * kernel: fix deadlock if backgrounded request holds the last
158 reference to the super block
159
160 * kernel: don't use fuse_reset_request() during direct I/O
161
Csaba Henkbaa49d22006-04-06 00:12:44 +00001622006-04-06 Csaba Henk <csaba.henk@creo.hu>
163
164 * lib: Let FreeBSD mount option parsing routine recognize "no"
165 prefixes for FUSE specific options as well
166
Miklos Szeredid0a777a2006-04-05 07:18:00 +00001672006-04-01 Miklos Szeredi <miklos@szeredi.hu>
168
169 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
170
Miklos Szeredi6f385412006-03-17 15:05:40 +00001712006-03-17 Miklos Szeredi <miklos@szeredi.hu>
172
173 * API changes:
174
175 * fuse_main(), fuse_setup() and fuse_new() have an additionl
176 user_data parameter
177
178 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
179 file descriptor
180
181 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
182 destroys the given channel
183
184 * fuse_teardown() no longer has a file descriptor parameter
185
186 * new exported functions: fuse_session_remove_chan(),
187 fuse_get_session(), fuse_daemonize()
188
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000189 * fuse_chan_recv() may now return a new channel which will be used
190 to send the reply
191
Miklos Szeredif51e43f2006-03-16 14:19:25 +00001922006-03-16 Miklos Szeredi <miklos@szeredi.hu>
193
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000194 * Released 2.6.0-pre2
195
1962006-03-16 Miklos Szeredi <miklos@szeredi.hu>
197
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000198 * Don't unmount if already unmounted. This fixes a problem seen
199 in the following situation: Lazy unmount a busy filesystem; Mount
200 a new one in top; When the first finally unmounts, the second also
201 unmounts. Reported by Franco Broi
202
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00002032006-03-15 Miklos Szeredi <miklos@szeredi.hu>
204
205 * lowlevel lib: use indirect function calls instead of a
206 switch/case construct. Besides increased efficiency it helps
207 maintainability & readability too. Patch from Florin Malita
208
Miklos Szeredi67d26d42006-03-13 17:39:56 +00002092006-03-13 Miklos Szeredi <miklos@szeredi.hu>
210
211 * kernel: replace global spinlock with a per-connection spinlock
212
Miklos Szeredi87c77932006-03-10 10:18:20 +00002132006-03-10 Miklos Szeredi <miklos@szeredi.hu>
214
215 * Fix source compatibility breakage for fuse_unmount(). Report
216 from Yura Pakhuchiy
217
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00002182006-03-02 Miklos Szeredi <miklos@szeredi.hu>
219
220 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
221
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00002222006-03-01 Miklos Szeredi <miklos@szeredi.hu>
223
224 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
225 Jeff Dike
226
227 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
228 interface to return -errno in case of error.
229
Csaba Henkee588c02006-03-01 09:40:35 +00002302006-03-01 Csaba Henk <csaba.henk@creo.hu>
231
232 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
233 FreeBSD implementation so that it uses libc (sysctl backed) instead
234 of an embdedded script (kmem backed). Adjust the control flow of
235 hello_ll so that device doesn't get closed before unmount attempt.
236
Miklos Szerediaa8258e2006-02-25 14:42:03 +00002372006-02-25 Miklos Szeredi <miklos@szeredi.hu>
238
239 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
240 implement method. This is needed on FreeBSD, and nicer on Linux
241 too. Highlevel lib already did this. Reported by Csaba Henk
242
243 * Fix negative entry handling. There was a bug, that negative
244 lookups with timeouts (nodeid == 0) returned -EIO.
245
2462006-02-23 Miklos Szeredi <miklos@szeredi.hu>
247
248 * Fix race between RELEASE and UNLINK, which might leave
249 .fuse_hidden* files around
250
Miklos Szeredi6bab4802006-02-21 18:31:29 +00002512006-02-21 Miklos Szeredi <miklos@szeredi.hu>
252
253 * fusexmp_fh: implement flush() method and call close() on the
254 open file descriptor. This is needed if used on an NFS
255 filesystem, which buffers data until file is closed. Franco Broi
256 spotted the situation when 'cp -p' failed to set the modification
257 time because of this.
258
Miklos Szeredie109e282006-02-20 11:06:20 +00002592006-02-20 Miklos Szeredi <miklos@szeredi.hu>
260
261 * Released 2.6.0-pre1
262
Miklos Szeredib67f2162006-02-20 10:55:33 +00002632006-02-19 Miklos Szeredi <miklos@szeredi.hu>
264
265 * libfuse: fix use-after-free bug in interruptred reply_entry().
266 Patch from John Muir
267
268 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
269 ID: 352631. Found by Stéphane Rosi
270
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00002712006-02-17 Miklos Szeredi <miklos@szeredi.hu>
272
273 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
274 into a single function fuse_add_direntry(). This cleans up the
275 interface and makes it possible to do stacking.
276
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00002772006-02-16 Miklos Szeredi <miklos@szeredi.hu>
278
279 * Fix rare race betweeen abort and release caused by failed iget()
280 in fuse_create_open().
281
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000282 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
283 own attribute caching.
284
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00002852006-02-15 Miklos Szeredi <miklos@szeredi.hu>
286
287 * Work around FreeBSD runtime linker "feature" which binds an old
288 version of a symbol to internal references if the symbol has more
289 than one version. This resulted in infinite recursion in
290 fuse_lowlevel_new_compat25().
291
Csaba Henkdcce3e52006-02-10 06:22:15 +00002922006-02-10 Csaba Henk <csaba.henk@creo.hu>
293
294 * Refine clock_gettime() querying so that linker options
295 shall be set as it's appropriate for the target platform.
296
Miklos Szeredi390ae312006-02-10 16:44:34 +00002972006-02-09 Miklos Szeredi <miklos@szeredi.hu>
298
299 * Fix udev rule syntax. Reported by Nix
300
Miklos Szeredieb643582006-02-08 10:54:02 +00003012006-02-08 Miklos Szeredi <miklos@szeredi.hu>
302
303 * In some cases udev rule seems to be ineffective when installed
304 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
305
Miklos Szeredi357529c2006-02-03 09:20:31 +00003062006-02-03 Miklos Szeredi <miklos@szeredi.hu>
307
308 * Fix compilation when build directory is different from source
309 directory. Reported by Frédéric L. W. Meunier
310
Miklos Szeredice28c7e2006-02-02 14:59:05 +00003112006-02-02 Miklos Szeredi <miklos@szeredi.hu>
312
313 * Fix even bigger bug introduced in fix for request_end() on
314 2006-01-14. Reported by Gal Rosen
315
Miklos Szeredi320abe42006-01-30 18:14:51 +00003162006-01-30 Miklos Szeredi <miklos@szeredi.hu>
317
318 * highlevel-lib: add 'auto_cache' option. This caches file data
319 based on modification time and size
320
Miklos Szeredi065f2222006-01-20 15:15:21 +00003212006-01-20 Miklos Szeredi <miklos@szeredi.hu>
322
Miklos Szeredid66b7282006-02-02 15:15:21 +0000323 * Sanitize storage type and help message in mount_bsd.c. Patch
324 from Csaba Henk
325
Miklos Szeredi065f2222006-01-20 15:15:21 +0000326 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
327 FUSE_OPT_KEY_DISCARD
328
329 * Add options 'max_readahead', 'sync_read' and 'async_read'
330
331 * Kernel ABI version 7.6:
332
333 * Negotiate the 'max_readahead' value and 'async_read' flags with
334 userspace in the INIT method
335
336 * Add connection info to ->init() methods to both lowlevel and
337 highlevel API
338
339 * Fall back to synchronous read() behavior if either library or
340 userspace filesystem is using the old interface version. This is
341 needed so non-updated filesystems won't be confused by the
342 different read() behavior
343
3442006-01-19 Miklos Szeredi <miklos@szeredi.hu>
345
346 * lib: if "fsname=" option was given, pass it to fusermount
347
348 * fuse_opt: add new fuse_opt_insert_arg() function, which is
349 needed by filesystems to implement some argument manipulations
350 correctly
351
352 * fuse_opt: fix memory leak in handling "--" option
353
3542006-01-18 Miklos Szeredi <miklos@szeredi.hu>
355
356 * kernel: fix detection of case when fuse is not configured into
357 the kernel either as module or built-in
358
359 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
360 'template' structure member to 'templ'. Reported by Takashi Iwai
361
362 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
363
364 * kernel: support version 2.6.16 (i_sem -> i_mutex)
365
Miklos Szeredi15af1b82006-01-16 17:52:24 +00003662006-01-16 Miklos Szeredi <miklos@szeredi.hu>
367
368 * Added (again) asynchronous readpages support
369
370 * Each connection now shows up under /sys/fs/fuse/connections
371
372 * Connection attributes exported to sysfs: 'waiting' number of
373 waiting requests; 'abort' abort the connection
374
375 * Connection may be aborted through either the sysfs interface or
376 with 'umount -f mountpoint'
377
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00003782006-01-14 Miklos Szeredi <miklos@szeredi.hu>
379
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000380 * Released 2.5.0
381
3822006-01-14 Miklos Szeredi <miklos@szeredi.hu>
383
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000384 * kernel: fix a couple of bugs
385
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000386 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000387 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000388 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000389
390 * request_end() used request pointer after decrementing refcount
391
392 * Clearing ->connected or ->mounted connection flags could race
393 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000394
Miklos Szeredia9820342006-01-10 10:54:11 +00003952006-01-10 Miklos Szeredi <miklos@szeredi.hu>
396
397 * kernel: add necessary compile flags for 2.4.X/x86_64.
398 Report from Sean Ziegeler
399
Miklos Szeredi35676b02006-01-09 10:13:28 +00004002006-01-09 Miklos Szeredi <miklos@szeredi.hu>
401
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000402 * Released 2.5.0-pre2
403
4042006-01-09 Miklos Szeredi <miklos@szeredi.hu>
405
Miklos Szeredi35676b02006-01-09 10:13:28 +0000406 * Applied patch from Csaba Henk, to update mount_bsd to new
407 fuse_mount() semantics
408
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000409 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
410 Steiner and Don Taber
411
Miklos Szeredicb075c82006-01-09 11:33:04 +0000412 * fusermount: add 'dirsync' mount option
413
Miklos Szerediad005972006-01-07 10:14:34 +00004142006-01-07 Miklos Szeredi <miklos@szeredi.hu>
415
416 * Improved help reporting and added version reporting to library
417
Miklos Szeredi0af762a2006-01-06 09:47:54 +00004182006-01-06 Miklos Szeredi <miklos@szeredi.hu>
419
420 * Change working directory to "/" even if running in the
421 foreground. Patch from Jonathan Brandmeyer
422
Miklos Szeredi95da8602006-01-06 18:29:40 +0000423 * Changed lots of functions to use 'struct fuse_args' instead of
424 separate argc and argv
425
426 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
427 fuse_remove_signal_handlers() functions, so that it's now pretty
428 easy to get all the functionality of fuse_main() with a filesystem
429 using the lowlevel API.
430
Miklos Szeredib8638182006-01-02 12:52:24 +00004312006-01-02 Miklos Szeredi <miklos@szeredi.hu>
432
Miklos Szeredif1941472006-01-02 16:27:48 +0000433 * mount.fuse: the 'user' option should be ignored. Report and
434 solution from Mattd.
435
436 * mount.fuse: export PATH in the right place. Report and patch
437 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000438
Miklos Szeredi73f41392005-12-16 11:12:16 +00004392005-12-16 Miklos Szeredi <miklos@szeredi.hu>
440
441 * Clean up the option parsing interface slightly, by creating an
442 "argument list" structure, that contains the argument vector and
443 count
444
Miklos Szeredi4e829092005-12-15 16:13:49 +00004452005-12-15 Miklos Szeredi <miklos@szeredi.hu>
446
447 * fusermount: check if /mnt/mtab is a symlink and don't modify it
448 in that case
449
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000450 * kernel: simplify request size limiting. INIT only contains
451 maximum write size, maximum path component size remains fixed at
452 1024 bytes, and maximum xattr size depends on read buffer.
453
Miklos Szeredie248e4b2005-12-14 16:18:32 +00004542005-12-14 Miklos Szeredi <miklos@szeredi.hu>
455
456 * Fix readdir() failure on x86_64, of 32bit programs compiled
457 without largefile support. Bug report and help from Anthony
458 Kolasny
459
Miklos Szeredi64709572005-12-14 22:16:28 +0000460 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000461 a regular file
462
463 * Add current output argument vector to option processing
464 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000465
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00004662005-12-12 Miklos Szeredi <miklos@szeredi.hu>
467
468 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
469
Miklos Szeredi659743b2005-12-09 17:41:42 +00004702005-12-09 Miklos Szeredi <miklos@szeredi.hu>
471
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000472 * Released 2.5.0-pre1
473
4742005-12-09 Miklos Szeredi <miklos@szeredi.hu>
475
Miklos Szeredi659743b2005-12-09 17:41:42 +0000476 * libfuse: added option parsing interface, defined in
477 <fuse_opt.h>.
478
Miklos Szeredic53cddd2005-12-07 12:57:59 +00004792005-12-07 Miklos Szeredi <miklos@szeredi.hu>
480
481 * Return EIO for file operations (read, write, fsync, flush) on
482 open files whose inode has become "bad". Inodes will be marked
483 "bad" if their type changes. Bug report by Csaba Henk
484
Miklos Szeredi044da2e2005-12-06 17:59:55 +00004852005-12-06 Miklos Szeredi <miklos@szeredi.hu>
486
487 * Use bigger request buffer size. write() did not work on archs
488 with > 4k page size, Bug report by Mark Haney
489
490 * ABI version 7.5:
491
492 * Extend INIT reply with data size limits
493
Miklos Szeredifa829b52005-12-02 11:05:41 +00004942005-12-02 Miklos Szeredi <miklos@szeredi.hu>
495
496 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
497 reported by Vincenzo Ciancia
498
499 * Handle exit-by-umount in fuse_read_cmd()
500
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00005012005-11-29 Miklos Szeredi <miklos@szeredi.hu>
502
503 * Check if '-msoft-float' option is supported by compiler when
504 configuring for a 2.4.x kernel. Bug report by Mark Haney
505
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000506 * In multithreaded loop send a TERM signal to the main thread if
507 one of the other threads exit. Needed on FreeBSD for a clean exit
508 on umount. Should not cause any harm on Linux either
509
Miklos Szerediead7f102005-11-28 16:02:27 +00005102005-11-28 Miklos Szeredi <miklos@szeredi.hu>
511
512 * Fix bug in 32-bit file handle compatibility
513
Miklos Szeredia90b7342005-11-27 19:22:42 +00005142005-11-27 Miklos Szeredi <miklos@szeredi.hu>
515
516 * Block TERM, INT, HUP and QUIT signals in all but the main
517 thread. According to POSIX it's not specified which thread will
518 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000519
520 * Kernel changes:
521
522 * Check for directory aliasing on mkdir, not just on lookup
523
524 * Check for special node ID values in create+open operation
525
526 * Sync with -mm: readv, writev, aio_read and aio_write methods
527 added to file operations
528
529 * Cleanups: lookup code, page offset calculation
530
531 * ABI stepped to 7.4, changes:
532
533 * frsize member added to fuse_kstatfs structure
534
535 * added support for negative entry caching: on lowlevel API if
536 fuse_entry_param::ino is set to zero in reply to a lookup request,
537 the kernel will cache the dentry for the specified amount of time.
538
539 * libfuse: added 'negative_timeout' option: specifies how much
540 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000541 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000542
Miklos Szeredibac4c772005-11-23 13:35:54 +00005432005-11-22 Miklos Szeredi <miklos@szeredi.hu>
544
545 * Add detection of mainline FUSE code in running kernel
546
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00005472005-11-21 Miklos Szeredi <miklos@szeredi.hu>
548
549 * Don't use async cancelation in multithreaded loop. This makes
550 it more portable to systems where read() is not async cancel safe.
551 Report from Andriy Gapon
552
Miklos Szeredi05c97842005-11-20 17:05:07 +00005532005-11-20 Miklos Szeredi <miklos@szeredi.hu>
554
555 * Warn if API version 11 compatibility is requested
556
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00005572005-11-17 Miklos Szeredi <miklos@szeredi.hu>
558
559 * More FreeBSD merge
560
Miklos Szeredi832ee442005-11-18 21:02:36 +0000561 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
562 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000563 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000564
565 * libfuse: don't use system() to invoke 'fusermount -u ...'
566 because it breaks mountpoints with spaces in them into multiple
567 arguments
568
Miklos Szeredib3f99722005-11-16 13:00:24 +00005692005-11-16 Miklos Szeredi <miklos@szeredi.hu>
570
571 * Merge library part of FreeBSD port. Patch by Csaba Henk
572
Miklos Szeredi3a770472005-11-11 21:32:42 +00005732005-11-11 Miklos Szeredi <miklos@szeredi.hu>
574
575 * Use 64bit type for file handle, so the full range supported by
576 the kernel interface is available to applications
577
Miklos Szeredibcc53852005-11-10 09:54:41 +00005782005-11-10 Miklos Szeredi <miklos@szeredi.hu>
579
580 * Moved mountpoint argument checking from fuse_parse_cmdline() to
581 fuse_mount() in preparation to FreeBSD merge.
582
Miklos Szeredi4ec06812005-11-08 13:04:27 +00005832005-11-08 Miklos Szeredi <miklos@szeredi.hu>
584
585 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
586 Henk.
587
Miklos Szeredic706ad92005-11-07 15:30:48 +00005882005-11-07 Miklos Szeredi <miklos@szeredi.hu>
589
590 * Make the statfs change backwards compatible.
591
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00005922005-11-06 Miklos Szeredi <miklos@szeredi.hu>
593
594 * Change ->statfs() method to use 'struct statvfs' instead of
595 'struct statfs'. This makes the API more portable since statvfs()
596 is defined by POSIX.
597
Miklos Szeredif7eec032005-10-28 13:09:50 +00005982005-10-28 Miklos Szeredi <miklos@szeredi.hu>
599
600 * Add fgetattr() method, which currently will only be called after
601 a successful call to a create() method.
602
Miklos Szeredib0b13d12005-10-26 12:53:25 +00006032005-10-26 Miklos Szeredi <miklos@szeredi.hu>
604
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000605 * Change kernel ABI version to 7.3
606
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000607 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000608 call if 'default_permissions' mount option is not given, and is
609 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000610
Miklos Szeredid9079a72005-10-26 15:29:06 +0000611 * Add atomic CREATE+OPEN operation. This will only work with
612 2.6.15 (presumably) or later Linux kernels.
613
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000614 * Add ftruncate() method. This will only work with 2.6.15
615 (presumably) or later Linux kernels.
616
617 * Fix kernel module compile if kernel source and build directories
618 differ. Report and initial patch by John Eastman
619
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00006202005-10-18 Miklos Szeredi <miklos@szeredi.hu>
621
622 * lib: optimize buffer reallocation in fill_dir.
623
Miklos Szeredic9daeb12005-10-17 10:19:21 +00006242005-10-17 Miklos Szeredi <miklos@szeredi.hu>
625
626 * Released 2.4.1
627
Miklos Szeredif412d072005-10-14 21:24:32 +00006282005-10-14 Miklos Szeredi <miklos@szeredi.hu>
629
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000630 * libfuse: add debug for write result (by Shaun Jackman) and
631 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000632
Miklos Szeredib75d4b92005-10-11 10:12:08 +00006332005-10-11 Miklos Szeredi <miklos@szeredi.hu>
634
635 * Spelling fixes, thanks to Ioannis Barkas
636
Miklos Szeredibaab5872005-10-10 08:41:14 +00006372005-10-10 Miklos Szeredi <miklos@szeredi.hu>
638
639 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
640 patch
641
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00006422005-10-07 Miklos Szeredi <miklos@szeredi.hu>
643
644 * highlevel-lib: init() and destroy() methods didn't have an
645 initialized fuse_context. Bug reported by Tim Stoakes
646
Miklos Szeredif2491122005-10-04 10:10:41 +00006472005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000648
649 * Released 2.4.0
650
Miklos Szeredi836ab712005-10-03 14:11:59 +00006512005-10-03 Miklos Szeredi <miklos@szeredi.hu>
652
653 * Add documentation to fuse_lowlevel.h
654
655 * API cleanups:
656
657 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
658
659 * Move fuse_mount() and fuse_unmount() to fuse_common.h
660
661 * Change the return type of fuse_reply_none() from int to void.
662
Miklos Szerediaf138742005-09-30 08:49:59 +00006632005-09-30 Miklos Szeredi <miklos@szeredi.hu>
664
665 * kernel: NFS exporting leaked dentries. Bug found and fixed by
666 Akshat Aranya.
667
Miklos Szeredidb016e02005-09-29 10:06:27 +00006682005-09-29 Miklos Szeredi <miklos@szeredi.hu>
669
670 * fusermount: fix error message, when unable to open /dev/fuse.
671 Report by Balázs Pozsár
672
Miklos Szeredi35200932005-09-28 14:50:49 +00006732005-09-28 Miklos Szeredi <miklos@szeredi.hu>
674
675 * UClibc fixes from Christian Magnusson
676
Miklos Szeredi8eddf642005-09-27 08:58:26 +00006772005-09-27 Miklos Szeredi <miklos@szeredi.hu>
678
679 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
680
Miklos Szerediedec95c2005-09-26 10:22:22 +00006812005-09-26 Miklos Szeredi <miklos@szeredi.hu>
682
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000683 * Released 2.4.0-rc1
684
6852005-09-26 Miklos Szeredi <miklos@szeredi.hu>
686
Miklos Szerediedec95c2005-09-26 10:22:22 +0000687 * fusermount: allow user umount in the case when /etc/mtab is a
688 symlink to /proc/mounts. Reported by Balázs Pozsár.
689
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00006902005-09-23 Miklos Szeredi <miklos@szeredi.hu>
691
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000692 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000693
Miklos Szeredif45f3c12005-09-22 15:14:27 +00006942005-09-22 Miklos Szeredi <miklos@szeredi.hu>
695
696 * Slight optimization in returning EINVAL error in case of an open
697 with O_DIRECT flag.
698
Miklos Szeredi670d07a2005-09-20 11:36:32 +00006992005-09-20 Miklos Szeredi <miklos@szeredi.hu>
700
701 * Remove '--enable-auto-modprobe' configure flag. Module
702 auto-loading is now handled by the kernel.
703
Miklos Szeredid51fca12005-09-15 12:51:00 +00007042005-09-15 Miklos Szeredi <miklos@szeredi.hu>
705
706 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
707 Help from Jens M. Noedler.
708
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00007092005-09-14 Miklos Szeredi <miklos@szeredi.hu>
710
711 * Add memory cleanup on thread exit
712
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00007132005-09-13 Miklos Szeredi <miklos@szeredi.hu>
714
715 * Set umask to zero in fusexmp and fusexmp_fh, so that
716 files/directories are created with the requested mode.
717
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00007182005-09-12 Miklos Szeredi <miklos@szeredi.hu>
719
720 * Don't ignore read error in multithreaded loop
721
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00007222005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000723
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000724 * Released 2.4.0-pre2
725
7262005-09-08 Miklos Szeredi <miklos@szeredi.hu>
727
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000728 * Revert lock and access operations. Postpone these until 2.5.
729
7302005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000731
732 * Fix compile warning on 2.6.13 and later
733
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000734 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000735
Miklos Szeredi77ccf652005-08-19 14:40:27 +00007362005-08-19 Miklos Szeredi <miklos@szeredi.hu>
737
738 * lib: always refresh directory contents after rewinddir() to
739 conform to SUS. Bug found by John Muir.
740
Miklos Szeredia1482422005-08-14 23:00:27 +00007412005-08-15 Miklos Szeredi <miklos@szeredi.hu>
742
Miklos Szeredic43f9412005-08-15 15:10:48 +0000743 * Released 2.4.0-pre1
744
7452005-08-14 Miklos Szeredi <miklos@szeredi.hu>
746
Miklos Szeredia1482422005-08-14 23:00:27 +0000747 * lib: cleaned up (or messed up, depending on your POV) the low
748 level library API. Hopefully this is close to the final form.
749
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00007502005-08-05 Miklos Szeredi <miklos@szeredi.hu>
751
752 * fusermount: don't allow empty mountpoint argument, which defeats
753 automatic umounting in fuse_main(). Bugreport by Václav Jůza
754
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00007552005-08-03 Miklos Szeredi <miklos@szeredi.hu>
756
757 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
758 option is used (Paul Alfille).
759
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00007602005-08-02 Miklos Szeredi <miklos@szeredi.hu>
761
762 * highlevel-lib: added mount options "attr_timeout" and
763 "entry_timeout". These options control the length of time file
764 attributes and entries (names) are cached. Both default to 1.0
765 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000766
767 * kernel: correctly handle zero timeout for attributes and entries
768
Miklos Szeredi56a61f02005-08-01 10:42:25 +00007692005-08-01 Miklos Szeredi <miklos@szeredi.hu>
770
771 * Added missing symbols to versionscript (Joshua J. Berry)
772
Miklos Szeredie77cc072005-08-01 11:58:51 +0000773 * kernel: implement two flags, open can set: 'direct_io' and
774 'keep_cache'. These correspond exactly to mount options
775 'direct_io' and 'kernel_cache', but allow a per-open setting.
776
777 * Move 'direct_io' and 'kernel_cache' mount option handling to
778 userspace. For both mount options, if the option is given, then
779 the respective open flag is set, otherwise the open flag is left
780 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000781
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000782 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000783
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00007842005-07-28 Miklos Szeredi <miklos@szeredi.hu>
785
786 * kernel: invalidate attributes for read/readdir/readlink
787 operations
788
789 * kernel: detect newer UML kernels
790
Miklos Szeredibfb99462005-07-26 11:07:55 +00007912005-07-26 Miklos Szeredi <miklos@szeredi.hu>
792
793 * Make the installation path of fuse.ko and mount.fuse
794 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
795 environment variables. Requirement and help from Csaba Henk.
796
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00007972005-07-22 Miklos Szeredi <miklos@szeredi.hu>
798
799 * Fix bug, that causes filesystem requests to hang when unique
800 request counter becomes negative. This happens after
801 2,147,483,648 operations, so most people won't care. Thanks to
802 Franco Broi for the report and testing.
803
Miklos Szeredi9b813af2005-07-21 07:59:37 +00008042005-07-21 Miklos Szeredi <miklos@szeredi.hu>
805
806 * Don't change mtime/ctime/atime to local time on read/write.
807 Bug reported by Ben Grimm
808
809 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
810 Magnusson
811
812 * fusermount: use getopt_long() for option parsing. It allows the
813 use of '--' to stop argument scanning, so fusermount can now
814 operate on directories whose names begin with a '-'. Patch by
815 Adam Connell
816
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00008172005-07-15 Miklos Szeredi <miklos@szeredi.hu>
818
819 * fusermount: add '-v', '--version' and '--help' options
820
821 * add inode based API
822
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00008232005-07-12 Miklos Szeredi <miklos@szeredi.hu>
824
825 * lib: don't block signals in worker threads. Problem noticed by
826 Usarin Heininga
827
Miklos Szeredic902a852005-07-07 12:35:37 +00008282005-07-07 Miklos Szeredi <miklos@szeredi.hu>
829
830 * lib: don't allow both 'allow_other' and 'allow_root' options to
831 be given
832
Miklos Szeredi437d8112005-07-06 09:14:20 +00008332005-07-06 Miklos Szeredi <miklos@szeredi.hu>
834
835 * fusermount: check if mountpoint is empty (only '.' and '..' for
836 directories, and size = 0 for regular files). If "nonempty"
837 option is given, omit this check. This is useful, so users don't
838 accidentally hide data (e.g. from backup programs). Thanks to
839 Frank van Maarseveen for pointing this out.
840
841 * kernel: check if mandatory mount options ('fd', 'rootmode',
842 'user_id', 'group_id') are all given
843
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000844 * lib: simplify 'readdir_ino' handling
845
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000846 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
847
Miklos Szeredibb9f5172005-07-03 18:03:11 +00008482005-07-03 Miklos Szeredi <miklos@szeredi.hu>
849
850 * kernel: clean up 'direct_io' code
851
Miklos Szeredie1bcece2005-06-28 10:37:06 +00008522005-06-28 Miklos Szeredi <miklos@szeredi.hu>
853
854 * Add 'mount.fuse' written by Petr Klima
855
Miklos Szeredi866826d2005-06-28 12:22:57 +0000856 * '/dev/fuse' is created by 'make install' if does not yet exist
857
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00008582005-06-20 Miklos Szeredi <miklos@szeredi.hu>
859
860 * Fix UCLIBC compile error. Patch by Christian Magnusson
861
Miklos Szerediec12fad2005-06-08 10:26:34 +00008622005-06-08 Miklos Szeredi <miklos@szeredi.hu>
863
864 * Enable the auto-loading of the module via access to the
865 corresponding device file. Patch by Takashi Iwai.
866
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000867 * Allow mounting a regular file (over a regular file) for
868 unprivleged users.
869
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000870 * Do not create temporary device file. Require "/dev/fuse" to
871 exist, and be readable/writable by the mounting user.
872
Miklos Szeredi46960ce2005-06-02 09:05:00 +00008732005-06-02 Miklos Szeredi <miklos@szeredi.hu>
874
Miklos Szeredi56478552005-06-02 10:29:00 +0000875 * Released 2.3.0
876
8772005-06-02 Miklos Szeredi <miklos@szeredi.hu>
878
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000879 * Fix serious information leak: if the filesystem returns a short
880 byte count to a read request, and there are non-zero number of
881 pages which are not filled at all, these pages will not be zeroed.
882 Hence the user can read out previous memory contents. Found by
883 Sven Tantau.
884
Miklos Szeredi33be22d2005-05-27 09:12:43 +00008852005-05-27 Miklos Szeredi <miklos@szeredi.hu>
886
887 * Add "readdir_ino" mount option, which tries to fill in the d_ino
888 field in struct dirent. This mount option is ignored if "use_ino"
889 is used. It helps some programs (e.g. 'pwd' used over NFS from a
890 non-Linux OS). Patch by David Shaw.
891
Miklos Szeredif94e0102005-05-12 14:56:34 +00008922005-05-12 Miklos Szeredi <miklos@szeredi.hu>
893
Miklos Szeredieb009c42005-05-12 15:01:17 +0000894 * Released 2.3-rc1
895
8962005-05-12 Miklos Szeredi <miklos@szeredi.hu>
897
Miklos Szeredif94e0102005-05-12 14:56:34 +0000898 * File save in krusader and other editors doesn't work with sshfs,
899 because open() is interrupted by a periodic signal, and open()
900 restarts forever, without any progress. This could just be fixed
901 in open(), but the problem is more generic: if signals are
902 received more often than the filesystem can get the request to
903 userspace, it will never finish. This is probably only a
904 theoretical problem, nevertheless I'm removing the possibility to
905 interrupt requests with anything other than SIGKILL, even before
906 being sent to userspace. Bugreport by Eduard Czimbalmos.
907
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00009082005-05-09 Miklos Szeredi <miklos@szeredi.hu>
909
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000910 * libfuse: add "tree_lock" rwlock, that is locked for write in
911 rename, unlink and rmdir, and locked for read in all other
912 operations. This should fix the rename/release race reported by
913 Valient Gough and others. The solution is very coarse, a finer
914 grained locking scheme could be implemented, but it would be much
915 more complex. Let's see whether this is good enough.
916
9172005-05-09 Miklos Szeredi <miklos@szeredi.hu>
918
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000919 * Released 2.3-pre7
920
Miklos Szeredi38009022005-05-08 19:47:22 +00009212005-05-08 Miklos Szeredi <miklos@szeredi.hu>
922
923 * Better fix for out of order FORGET messages. Now the
924 LOOKUP/FORGET messages are balanced exactly (one FORGET can
925 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000926 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000927 compatible.
928
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00009292005-05-06 Miklos Szeredi <miklos@szeredi.hu>
930
931 * Fix abort for out of order FORGET messages. Again. Spotted by
932 Franco Broi again. Sorry :)
933
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00009342005-04-29 Miklos Szeredi <miklos@szeredi.hu>
935
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000936 * Released 2.3-pre6
937
9382005-04-29 Miklos Szeredi <miklos@szeredi.hu>
939
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000940 * Make fusermount work with fuse kernel modules not yet supporting
941 the "group_id" option (added for the purpose of stricter
942 permission checking).
943
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00009442005-04-28 Miklos Szeredi <miklos@szeredi.hu>
945
946 * Check for hard-linked directories in lookup. This could cause
947 problems in the VFS, which assumes that such objects never exist.
948
949 * Make checking of permission for other users more strict. Now
950 the same privilege is required for the mount owner as for ptrace
951 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000952
Miklos Szeredi3efcb562005-04-23 13:34:29 +00009532005-04-23 Miklos Szeredi <miklos@szeredi.hu>
954
955 * Released 2.3-pre5
956
Miklos Szeredid001bf92005-04-22 07:54:11 +00009572005-04-22 Miklos Szeredi <miklos@szeredi.hu>
958
959 * Add -msoft-float to kernel module compile flags for 2.4.X. This
960 is needed on certain architectures. Report from Chris Kirby
961
962 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
963 Reported by David Shaw
964
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000965 * Remove "allow_root" option from kernel module, and implement
966 it's functionality in the library
967
968 * Fix Oops caused by premature release of fuse_conn. Clean up
969 related code, to be more readable
970
Miklos Szeredif9137452005-04-23 10:59:44 +0000971 * Sendfile should not use page cache if "direct_io" mount option
972 is given
973
Miklos Szeredib7640d22005-04-08 15:15:28 +00009742005-04-08 Miklos Szeredi <miklos@szeredi.hu>
975
976 * Fix Oops in case of nfs export. Spotted by David Shaw
977
Miklos Szeredi89814a12005-04-08 16:39:09 +0000978 * Fix another Oops in case of write over nfs with direct_io turned
979 on. Again spotted by David Shaw
980
Miklos Szerediab974562005-04-07 15:40:21 +00009812005-04-07 Miklos Szeredi <miklos@szeredi.hu>
982
Miklos Szeredi432d6182005-04-07 15:56:13 +0000983 * Released 2.3-pre4
984
9852005-04-07 Miklos Szeredi <miklos@szeredi.hu>
986
Miklos Szerediab974562005-04-07 15:40:21 +0000987 * lib: finalized new readdir() interface, which now supersedes the
988 getdir() method.
989
Miklos Szeredi30e093a2005-04-03 17:44:54 +00009902005-04-03 Miklos Szeredi <miklos@szeredi.hu>
991
992 * Released 2.3-pre3
993
9942005-04-03 Miklos Szeredi <miklos@szeredi.hu>
995
996 * Implement backward compatibility with version 5 kernel ABI
997
Miklos Szeredi18fce982005-04-01 21:07:35 +00009982005-04-01 Miklos Szeredi <miklos@szeredi.hu>
999
1000 * Released 2.3-pre2
1001
10022005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1003
1004 * kernel: fix dirent offset handling
1005
1006 * lib: add readdir and releasedir methods
1007
1008 * lib: use fh field of fuse_file_info in opendir, readdir,
1009 releasedir and fsyncdir methods
1010
1011 * lib: check kernel API version and bail out of it's old. This
1012 will be properly fixed in the next release
1013
10142005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1015
1016 * Released 2.3-pre1
1017
Miklos Szeredieab72ef2005-03-31 19:59:12 +000010182005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1019
1020 * kernel API: add padding to structures, so 64bit and 32bit
1021 compiler will return the same size
1022
1023 * kernel API: add offset field to fuse_dirent. This will allow
1024 more sophisticated readdir interface for userspace
1025
1026 * kernel API: change major number to 6
1027
1028 * kernel: fix warnings on 64bit archs
1029
1030 * kernel: in case of API version mismatch, return ECONNREFUSED
1031
Miklos Szeredi407e6a72005-03-25 12:19:43 +000010322005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1033
1034 * kernel: trivial cleanups
1035
Miklos Szeredi4283ee72005-03-21 12:09:04 +000010362005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1037
1038 * Add fsyncdir() operation
1039
Miklos Szeredid17da462005-03-21 11:47:04 +000010402005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1041
1042 * kernel: add locking to background list (fixes previous fix)
1043
10442005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1045
1046 * kernel: fix bug which could cause leave busy inodes after
1047 unmount, and Oops.
1048
10492005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1050
1051 * examples: add -lpthread to link flags to work around valgrind
1052 quirk
1053
1054 * lib: don't exit threads, so cancelation doesn't cause segfault
1055
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000010562005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1057
1058 * kernel: fix nasty bug which could cause an Oops under certain
1059 situations. Found by Magnus Johansson
1060
Miklos Szeredif43f0632005-02-28 11:46:56 +000010612005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1062
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001063 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001064 permission checking in getdir() is too late. Thanks to Usarin
1065 Heininga for pointing out this deficiency
1066
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001067 * libfuse: added init() and destroy() methods to fuse_operations
1068
Miklos Szeredif43f0632005-02-28 11:46:56 +00001069 * kernel: llseek() method for files and directories made explicit
1070
1071 * kernel: fixed inode leak in NFS export in case of nodeid
1072 wrapping
1073
Miklos Szeredied3c97c2005-02-15 17:04:50 +000010742005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1075
1076 * libfuse: clean up some unitialized memory found with valgrind
1077
Miklos Szeredi47c52982005-02-23 09:27:38 +00001078 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1079 explicitly linked libpthread for applications
1080
Miklos Szeredia7169412005-02-10 07:35:05 +000010812005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1082
1083 * fusermount: set umask, otherwise /etc/mtab will have
1084 unpredictable permission. Spotted by Jindrich Kolorenc
1085
1086 * fusermount: set owner and group of /etc/mtab to original values
1087 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001088
1089 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001090
Miklos Szeredib92d9782005-02-07 16:10:49 +000010912005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1092
1093 * Cleaned up directory reading (temporary file is not used)
1094
Miklos Szerediff30a6c2005-02-02 10:53:59 +000010952005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1096
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001097 * Released 2.2
1098
10992005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1100
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001101 * Fix possible race when operation is interrupted
1102
Miklos Szeredi7a983952005-01-28 09:58:19 +000011032005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1104
Miklos Szeredie5183742005-02-02 11:14:04 +00001105 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001106
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000011072005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1108
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001109 * Released 2.2-pre6
1110
11112005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1112
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001113 * Fix bug in link() operation which caused the wrong path to be
1114 passed as the first argument. Found by Anton Altaparmakov
1115
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000011162005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1117
1118 * LIB: fix double reply in readdir operation
1119
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001120 * fusermount: fix uid checking bug. Patch by Adam Connell
1121
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001122 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001123 Patch by Keshava Gowda
1124
Miklos Szeredi64074142005-01-20 08:48:11 +000011252005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1126
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001127 * KERNEL: provide correct llseek semantics for fuse device (fixes
1128 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1129
11302005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1131
Miklos Szeredi64074142005-01-20 08:48:11 +00001132 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1133
Miklos Szeredi1adb2272005-01-18 21:19:58 +000011342005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1135
1136 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1137 and RELEASEDIR. This ends the ugly hack of passing a file
1138 descriptor to the kernel, and actually makes the code simpler.
1139
Miklos Szeredi7db35c02005-01-17 09:46:28 +000011402005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1141
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001142 * Released 2.2-pre4
1143
11442005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1145
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001146 * fusermount: remove capability setting, which was the cause of
1147 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001148 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001149
Miklos Szeredidbe0f652005-01-15 14:32:56 +000011502005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001151
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001152 * fix compilation on 2.4 kernels (reported by Valient Gough)
1153
1154 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001155
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001156 * fusermount: improve parsing of /etc/fuse.conf
1157
11582005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1159
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001160 * Remove 'mount_max' and 'user_allow_other' module options. These
1161 are now checked by fusermount, and can be set in /etc/fuse.conf
1162
1163 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1164
Miklos Szeredi81394522005-01-11 14:24:18 +000011652005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1166
1167 * KERNEL: fix possible inode allocation problem, where
1168 sizeof(struct inode) is not aligned (found by Mike Waychison)
1169
1170 * KERNEL: use new follow_link/put_link methods
1171
1172 * KERNEL: cosmetic fixes
1173
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000011742005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1175
1176 * Released 2.2-pre3
1177
11782005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1179
1180 * Add missing code that was accidently left out
1181
Miklos Szeredi8c7da232005-01-09 12:27:41 +000011822005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1183
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001184 * Released 2.2-pre2
1185
11862005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1187
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001188 * Change "uid" mount option to "user_id" to avoid confusion with a
1189 mount option "uid" commonly used by many filesystems
1190
11912005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1192
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001193 * Released 2.2-pre1
1194
11952005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1196
1197 * If FUSE is configured in the kernel, don't build it by default
1198
Miklos Szeredi2a927272005-01-07 11:14:15 +000011992005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1200
1201 * Compile fix by Christian Magnusson
1202
Miklos Szeredib6220192005-01-05 16:19:10 +000012032005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1204
1205 * Fix compilation for 2.6.{0-5} kernels
1206
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012072005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1208
1209 * KERNEL: if request is interrupted, still keep reference to used
1210 inode(s) and file, so that FORGET and RELEASE are not sent until
1211 userspace finishes the request.
1212
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001213 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1214 request with the same information, which is more flexible,
1215 simpler, works on embedded systems.
1216
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012172004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1218
1219 * KERNEL ABI: update interface to make it independent of type
1220 sizes. This will help on 64 bit architectures which can run
1221 legacy 32 bit applications.
1222
1223 * KERNEL ABI: add "len" field to request headers. This will allow
1224 sending/receiving requests in multiple chunks.
1225
1226 * KERNEL: handle file type change more intelligently
1227
1228 * LIB: "-o debug" option should disable backgrounding (fix by
1229 Fabien Reygrobellet)
1230
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000012312004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1232
1233 * KERNEL: invalidate dentry/attributes if interrupted request
1234 could leave filesystem in an unknown state.
1235
Miklos Szeredie56818b2004-12-12 11:45:24 +000012362004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1237
1238 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1239 These will cause some regressions, but stability is considered
1240 more important. If any of these features turns out to be
1241 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001242
Miklos Szeredie56818b2004-12-12 11:45:24 +00001243 * Make all requests interruptible (only with SIGKILL currently).
1244 This can be used to break any deadlock produced by the userspace
1245 filesystem accessing it's own exported files. The RELEASE request
1246 is special, because if it's interrupted before sending it to
1247 userspace it is still sent, but the reply is not awaited.
1248
1249 * If request is interrupted before being sent to userspace, and if
1250 it hasn't yet got any side effects, it is always restarted,
1251 regardless of the SA_RESTART flag. This makes these interruptions
1252 transparent to the process.
1253
1254 * Remove shared-writable mmap support, which was prone to an
1255 out-of-memory deadlock situation
1256
1257 * Remove INVALIDATE userspace initiated request
1258
1259 * Make readpages() synchronous. Asynchronous requests are
1260 deadlock prone, since they cannot be interrupted.
1261
1262 * Add readv/writev support to fuse device operations
1263
1264 * Remove some printks, which userspace FS can use for a DoS
1265 against syslog
1266
1267 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1268 fusermount instead
1269
1270 * LIB: improve compatibility with a fuse.h header installed in
1271 ${prefix}/include which in turn includes the real header.
1272
1273 * LIB: improve compatibility by defining fuse_main() (which is now
1274 not used), so old configure scripts find it.
1275
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000012762004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1277
1278 * When mounting on a subdirectory of / don't duplicate slashes at
1279 the beggining of path (spotted by David Shaw)
1280
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000012812004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1282
1283 * Fix bug causing garbage in mount options (spotted by David Shaw)
1284
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000012852004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1286
1287 * Add 'writepage' flag to 'fuse_file_info'.
1288
1289 * More comments in fuse.h
1290
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001291 * Get rid of double underscores
1292
Miklos Szeredi799993c2004-12-04 21:20:05 +000012932004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1294
1295 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1296
1297 * helper.c: add -ho option, which only displays the options not
1298 the usage header. This can be used by filesystems which have
1299 their own options.
1300
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000013012004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1302
1303 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1304 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1305 including the fuse header
1306
1307 * Add binary compatibility to 2.1 version of library with symbol
1308 versioning
1309
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000013102004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1311
1312 * Released 2.1
1313
Miklos Szeredi039322d2004-12-01 18:39:12 +000013142004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1315
1316 * kernel: clean up writing functions
1317
1318 * kernel: no allocation on write in direct_io mode
1319
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001320 * move linux/fuse.h to fuse_kernel.h
1321
Miklos Szeredi83a07442004-11-30 18:25:20 +000013222004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1323
1324 * kernel: clean up reading functions
1325
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000013262004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1327
1328 * kernel: make readpage() uninterruptible
1329
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001330 * kernel: check readonly filesystem flag in fuse_permission
1331
1332 * lib: don't die if version file not found and new style device
1333 exists
1334
1335 * lib: add '-r' option, which is short for '-o ro'
1336
1337 * fusermount: simplify device opening
1338
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001339 * kernel: when direct_io is turend on, copy data directly to
1340 destination without itermediate buffer. More efficient and safer,
1341 since no allocation is done.
1342
1343 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001344
1345 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001346
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000013472004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1348
1349 * libfuse API change: open, read, write, flush, fsync and release
1350 are passed a 'struct fuse_file_info' pointer containing the open
1351 flags (open and release), and the file handle. Verion changed to
1352 3.0.
1353
Miklos Szeredia25d4c22004-11-23 22:32:16 +000013542004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1355
1356 * More cleanups in the kernel
1357
1358 * The 10,229 charater device number has been assigned for FUSE
1359
1360 * Version file checking fix (reported by Christian Magnusson)
1361
1362 * fusermount: opening the fuse device now doesn't need /sys.
1363
1364 * Optimize reading by controlling the maximum readahead based on
1365 the 'max_read' mount option
1366
1367 * fixes for UCLIBC (Christian Magnusson)
1368
Miklos Szeredi13ed4822004-11-20 11:12:21 +000013692004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1370
1371 * Cleaned up kernel in preparation for merge into mainline:
1372
1373 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1374
1375 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1376
1377 * __user annotations for sparse
1378
1379 * allocate individual pages instead of kmalloc in fuse_readdir,
1380 fuse_read and fuse_write.
1381
1382 * Fix NFS export in case "use_ino" mount option is given
1383
Miklos Szeredif3845c42004-11-20 11:18:34 +00001384 * Make libfuse and fusermount compatible with future versions
1385
1386 * fusermount: properly add mount options to /etc/mtab
1387
13882004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1389
1390 * fusermount: do not resolve last component of mountpoint on if it
1391 is '.' or '..'. This new path resolvation is now done on mount as
1392 well as unmount. This enables relative paths to work on unmount.
1393
1394 * fusermount: parse common mount options like "ro", "rw", etc...
1395
1396 * Allow module params to be changed through sysfs
1397
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000013982004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1399
1400 * Released 2.1-pre1
1401
14022004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1403
1404 * Fix bug in fuse_readpages() causing Oops in certain situations.
1405 Bug found by Vincenzo Ciancia.
1406
1407 * Fix compilation with kernels versions > 2.6.9.
1408
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000014092004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001410
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001411 * Check kernel interface version in fusermount to prevent
1412 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001413
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001414 * No need to allocate fuse_conn until actual mount happens
1415
1416 * Fix potential race between umount and fuse_invalidate
1417
1418 * Check superblock of proc file in addition to inode number
1419
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001420 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001421
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014222004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1423
1424 * Separate configure for the kernel directory
1425
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001426 * Don't allow write to return more than 'count'
1427
1428 * Extend kernel interface for future use
1429
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014302004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1431
1432 * Fix 'makeconf.sh' to use autoreconf if available
1433
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000014342004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1435
Miklos Szeredid507c732004-11-08 17:32:25 +00001436 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1437 compatibility with earlier versions. To compile earier versions
1438 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1439 Do not use the "use_ino" mount flag with filesystems compiled with
1440 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001441
1442 * Add pkg-config support. To compile a FUSE based filesystem you
1443 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1444 or similar. Note, that the PKG_CONFIG_PATH environment variable
1445 usually needs to be set to "/usr/local/lib/pkgconfig".
1446
1447 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001448
Miklos Szeredia13d9002004-11-02 17:32:03 +000014492004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1450
1451 * Added "use_ino" mount option. This enables the filesystems to
1452 set the st_ino field on files
1453
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000014542004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1455
1456 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1457 by Jeremy Smith)
1458
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001459 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1460
1461 * Clear the 'exited' flag when mail loop is finished
1462
Miklos Szeredie989f0d2004-10-28 20:24:58 +000014632004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1464
1465 * Make xattr functions work under 2.6 (bug found by Vincenzo
1466 Ciancia)
1467
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000014682004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1469
1470 * Reset request in fuse_flush() (bugreport by David Shaw)
1471
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000014722004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1473
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001474 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001475 error code
1476
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001477 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001478 make it easier to implement a custom event loop.
1479
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001480 * Use daemon() call to background the filesystem after mounting.
1481 This function closes the standard input, output and error and
1482 changes the current working directory to "/".
1483
Miklos Szeredi127d49b2004-10-14 13:33:39 +000014842004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1485
1486 * Released 1.9
1487
Miklos Szeredid45baf42004-10-10 07:56:12 +000014882004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1489
1490 * Don't allow fuse_flush() to be interrupted (bug found by David
1491 Shaw)
1492
Miklos Szeredi1f18db52004-09-27 06:54:49 +000014932004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1494
1495 * Add PID to fuse_context. Patch by Steven James
1496
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001497 * Change file handle type to 'unsigned long' in kernel interface
1498
Miklos Szeredid169f312004-09-22 08:48:26 +000014992004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1500
1501 * A slight API change: fuse_get_context() doesn't need the "fuse"
1502 pointer, but the returned context contains it instead. The
1503 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001504
1505 * Fix mounting and umounting FUSE filesystem under another FUSE
1506 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001507
Miklos Szeredic2309912004-09-21 13:40:38 +000015082004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1509
1510 * Fix deadlock in case of memory allocation failure. Patch by
1511 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001512
Miklos Szeredib2cf9562004-09-16 08:42:40 +000015132004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1514
1515 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001516
Miklos Szeredi65afea12004-09-14 07:13:45 +000015172004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1518
1519 * Check temporary file creation failure in do_getdir(). Bug
1520 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001521
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000015222004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1523
1524 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001525
1526 * Make requests non-interruptible so race with FORGET is avoided.
1527 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001528
1529 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001530
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000015312004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1532
1533 * Fix bug in case two FORGETs for the same node are executed in
1534 the wrong order. Bug spotted and endured for months by Franco
1535 Broi, and logfile for solution provided by Terje Oseberg
1536
Miklos Szeredi12085102004-09-02 18:13:57 +000015372004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1538
1539 * Add -D_REENTRANT to the compile flags
1540
1541 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001542
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000015432004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1544
1545 * Change release method to be non-interruptible. Fixes bug
1546 causing missing release() call when program which has opened files
1547 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001548
Miklos Szeredi891b8742004-07-29 09:27:49 +000015492004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1550
1551 * Add fuse_invalidate() to library API
1552
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000015532004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1554
1555 * Check permissions in setattr if 'default_permissions' flag is
1556 set. Bug spotted by Damjan Lango
1557
Miklos Szeredid66d3942004-07-24 13:47:44 +000015582004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1559
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001560 * 'large_read' mount option removed for 2.6 kernels, since the
1561 default (dynamic read size) is better
1562
1563 * Extend kernel API with file handles. A file handle is returned
1564 by open, and passed to read, write, flush, fsync and release.
1565 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001566
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001567 * Security changes:
1568
1569 * Change the current directory to the mountpoint before checking
1570 the permissions and mount filesystem on "."
1571
1572 * By default don't modprobe the fuse module for non-root. The old
1573 behavior can be restored with the '--enable-auto-modprobe' flag of
1574 ./configure
1575
1576 * By default don't allow shared writable mappings for non-root.
1577 The old behavior can be restored with the 'user_mmap=1' module
1578 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001579
Miklos Szeredibd7661b2004-07-23 17:16:29 +000015802004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1581
1582 * Clean up mount option passing to fusermount and to fuse_new()
1583 BEWARE: this changes the userspace API slightly, and the command
1584 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001585
Miklos Szeredi58865372004-07-20 14:22:26 +000015862004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1587
1588 * Optimize reading under 2.6 kernels by issuing multiple page
1589 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001590
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000015912004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1592
1593 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001594
Miklos Szeredi069c9502004-07-16 16:17:02 +000015952004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1596
1597 * Separate directory entry and inode attribute validity timer
1598
1599 * New write semaphore to stop page writeback during truncate
1600
1601 * Fsync now waits for all writes to complete before sending the
1602 request
1603
1604 * Optimization: if a page is completely written by
1605 fuse_commit_write(), clear the dirty flag and set the uptodate
1606 flag for that page
1607
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001608 * Some memory cleanup at exit
1609
Miklos Szeredi2529ca22004-07-13 15:36:52 +000016102004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1611
1612 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001613 disable the "hide if open" behavior of unlink/rename.
1614
1615 * If temporary buffer allocation fails in raw read, fall back to a
1616 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001617
Miklos Szeredi73798f92004-07-12 15:55:11 +000016182004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1619
1620 * Fix bug in do_open() in libfuse: open count was incremented
1621 after the reply is sent so it could race with unlink/forget and
1622 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001623
Miklos Szeredi015fe702004-07-12 11:52:24 +000016242004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1625
1626 * When performing create or remove operation, refresh the parent's
1627 attributes on next revalidate, as i_nlink (and maybe size/time)
1628 could be inacurate.
1629
1630 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1631 pages (2.6 only)
1632
1633 * Set set_page_dirty address space operation (2.6 only)
1634
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016352004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001636
1637 * Minor fix in read: print debug info even if read size is zero
1638
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016392004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001640
1641 * Fix race between truncate and writepage (fsx-linux now runs
1642 without error)
1643
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016442004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001645
1646 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1647 by Mattias Wadman)
1648
1649 * Added option for direct read/write (-r)
1650
1651 * Fix revalidate time setting for newly created inodes
1652
Miklos Szerediacb4d362004-07-02 16:20:45 +00001653 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1654 this)
1655
1656 * fuse_main() only installs handlers for signals (out of INT, HUP,
1657 TERM, PIPE), for which no handler has yet been installed
1658
1659 * Add module option 'user_allow_other' which if set to non-zero
1660 will allow non root user to specify the 'allow_other' mount option
1661 ('-x' option of fusermount)
1662
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001663 * Fix deadlock between page writeback completion and truncate
1664 (bug found by Valient Gough with the fsx-linux utility)
1665
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016662004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001667
1668 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001669 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1670 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001671
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016722004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001673
1674 * Acquire inode->i_sem before open and release methods to prevent
1675 concurrent rename or unlink operations.
1676
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001677 * Make __fuse_read_cmd() read only one command. This allows
1678 multiplexing the fuse file descriptor with other event sources
1679 using select() or poll() (patch by Jeff Harris)
1680
1681 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1682
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016832004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001684
1685 * Fix file offset wrap around at 4G when doing large reads
1686
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016872004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001688
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001689 * Fix memory leak in open (Valient Gough)
1690
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016912004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001692
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001693 * Add "close after delete" support to libfuse (patch by Valient
1694 Gough)
1695
1696 * Cancel all worker threads before exit in multithreaded mode
1697
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016982004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001699
1700 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001701
1702 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001703
1704 * Work with newer libtool (1.5a)
1705
1706 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017082004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001709
1710 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017122004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001713
1714 * Fix possible inode leak in userspace in case of unfinished
1715 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001716
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017172004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001718
1719 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001720
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017212004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001722
1723 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001724
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017252004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001726
1727 * Build shared library as well as static (using libtool)
1728
1729 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1730 there has not been a release with the previous minor number, and I
1731 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001732
1733 * Change fuse_main(), so that default behavior is to go into
1734 background if mount is successful. '-f' and '-d' options disable
1735 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1736 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001737
1738 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1739 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001740
1741 * Don't call getdir method from open() only from first readdir().
1742 Open is sometimes just used to store the current directory
1743 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001744
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017452004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001746
1747 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001748
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017492004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001750
1751 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001752
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017532004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001754
1755 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001756
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017572004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001758
1759 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001760
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017612004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001762
1763 * Replaced binary mount data with text options
1764
1765 * Show FUSE specific mount options in /proc/mounts
1766
1767 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1768
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017692004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001770
1771 * Check some limits so userspace won't get too big requests
1772
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017732004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001774
1775 * Kill compile warning
1776
1777 * Upgraded user-mount patch for 2.6.5
1778
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017792004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001780
1781 * Add detection of user-mode-linux to configure
1782
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017832004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001784
1785 * fixed zero size case for getxattr and listxattr
1786
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017872004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001788
1789 * new fusermount flag '-z': lazy unmount, default is not lazy
1790
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001791 * Extended attributes operations added (getxattr, setxattr,
1792 listxattr, removexattr)
1793
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017942004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001795
1796 * If filesystem doesn't define a statfs operation, then an
1797 all-zero default statfs is returned instead of ENOSYS
1798
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017992004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001800
1801 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1802
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018032004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001804
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001805 * Fix for uClinux (Christian Magnusson)
1806
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018072004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001808
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001809 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001810
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001811 * More kernel interface changes:
1812
1813 * Lookup/getattr return cache timeout values
1814
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018152004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001816
1817 * Clean up option parsing in fuse_main()
1818
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001819 * Added fuse_get() function which returns the fuse object created
1820 by fuse_main()
1821
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018222004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001823
Miklos Szeredic40748a2004-02-20 16:38:45 +00001824 * removed old way of mounting (fusermount mountpoint program)
1825
Miklos Szeredib5958612004-02-20 14:10:49 +00001826 * more kernel interface changes:
1827
1828 * added nanosecond precision to file times
1829
Miklos Szeredic40748a2004-02-20 16:38:45 +00001830 * removed interface version from mount data
1831
1832 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1833
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018342004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001835
1836 * statfs library API changed to match other methods. Since this
1837 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1838
Miklos Szeredi76f65782004-02-19 16:55:40 +00001839 * kernel interface changes follow:
1840
1841 * statfs changed to 64 bits, added 'bavail' field
1842
1843 * add generation number to lookup result
1844
1845 * optimized mknod/mkdir/symlink/link (no separate lookup is
1846 needed)
1847
1848 * rdev size increased to 32 bits for mknod
1849
1850 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001851
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018522004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001853
1854 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001855
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018562004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001857
1858 * Added user-mount.2.6.2-rc3.patch
1859
1860 * Add FS_SAFE flag to fuse filesystem
1861
1862 * fusermount should allow (un)mounting for non-root even if not
1863 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001864
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018652004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001866
1867 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001868
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018692004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001870
1871 * Added check for i_size_read/write functions to configure.in
1872 (patch by Valient Gough)
1873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018742004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001875
1876 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001877
1878 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001879
1880 * Readpage calls flush_dcache_page() after storing data
1881
1882 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001883
1884 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001885
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018862004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001887
1888 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001891
1892 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001893
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018942004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001895
1896 * Added -q option for fusermount
1897
1898 * fuse_unmount() now uses -q option of fusermount, so no error is
1899 printed if the cause of the program exit is that the filesystem
1900 has already been unmounted
1901
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001902 * Fix i_nlink correctness after rmdir/unlink
1903
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019042004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001905
Miklos Szeredib1158392004-01-26 14:43:12 +00001906 * Released 1.1-pre2
1907
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019082004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001909
Miklos Szeredi307242f2004-01-26 11:28:44 +00001910 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001911
1912 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001915
1916 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001917
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019182004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001919
1920 * Write all pending data before a RELEASE operation
1921
1922 * Suppress 'Bad file descriptor' warning on exit
1923
1924 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001925 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001926
Miklos Szeredib1158392004-01-26 14:43:12 +00001927 * New fusermount option '-l' which enables big reads. Big reads
1928 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001929
1930 * fuse_main() can accept fusermount arguments after a '--'
1931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019322004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001933
1934 * Support for exporting filesystem over NFS (see README.NFS)
1935
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019362004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001937
1938 * Support non-blocking writepage on 2.6. This makes FUSE behave
1939 much more nicely in low-memory situations
1940
1941 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1942 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001943
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019442004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001945
1946 * Code cleanups
1947
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019482004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001949
1950 * Released 1.1-pre1
1951
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019522004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001953
1954 * Integrated 2.6 kernel support patch by Michael Grigoriev
1955
1956 * Improvements and cleanups for 2.6 kernels
1957
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019582004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001959
Miklos Szeredie5183742005-02-02 11:14:04 +00001960 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001961
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019622003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001963
1964 * Added major+minor version to library API, and minor version to
1965 kernel API
1966
David McNab7a19caf2003-12-13 02:05:46 +000019672003-12-13 David McNab <david@rebirthing.co.nz>
1968
1969 * Implemented fsync support in examples/example.py
1970
1971 * Implemented 'fsync' and 'statfs' methods in python
1972 interface
1973
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019742003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001975
Miklos Szeredie5183742005-02-02 11:14:04 +00001976 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001977
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001978 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001979
David McNab8bf62632003-12-11 22:49:22 +000019802003-12-12 David McNab <david@rebirthing.co.nz>
1981
1982 * Added distutils support to the python module, as per standard
1983 python development practice
1984
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019852003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001986
1987 * Add file locking for mount/unmount (based on patch by Valient
1988 Gough)
1989
19902003-12-11 David McNab <david@rebirthing.co.nz>
1991
1992 * Python filesystem - was broken with python2.3, now fixed:
1993 - changed PyTuple_* calls to PySequence_*, because os.lstat
1994 is no longer returning a pure tuple
1995 - changed PyInt_Check() calls to also call PyLong_Check,
1996 to cover for cases (eg os.lstat) where longs are returned
1997 - Added support for file 'release' handling, which IMO is
1998 essential since this signals to a FS that writes to a file
1999 are complete (and therefore the file can now be disposed of
2000 meaningfully at the python filesystem's discretion)
2001 - Added '__init__' handler to base Fuse class, which allows
2002 your Python class to know the mountpoint and mount args,
2003 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002004
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002005 * General:
2006 - added 'mount.fuse' script (in util/ dir), which is meant to be
2007 symlinked from /sbin, and which allows FUSE filesystems to
2008 be mounted with the 'mount' command, and listed in fstab;
2009 also, mount arguments get passed to your filesystem
2010
2011
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020122003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002013
2014 * Fix kernel version detection (again). Bugreport by Peter Levart
2015
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020162003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002017
2018 * Applied read combining patch by Michael Grigoriev (tested by
2019 Valient Gough and Vincent Wagelaar)
2020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020212003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002022
2023 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2024 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002025
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020262003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002027
2028 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002029
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020302003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002031
2032 * kernel version detection fix
2033
2034 * fusermount now uses "lazy" umount option
2035
2036 * fusermount can use modprobe with module-init-tools
2037
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020382003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002039
2040 * Integrated caching patch by Michael Grigoriev
2041
Miklos Szeredida4e4862003-09-08 11:14:11 +00002042 * Added "Filesystems" file with descriptions of projects using
2043 FUSE
2044
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002045 * Added patch by Michael Grigoriev to allow compliation of FUSE
2046 kernel module for 2.6 kernels
2047
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020482003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002049
2050 * And another spec-file fix by Achim Settelmeier
2051
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020522003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002053
2054 * Spec-file fix by Achim Settelmeier
2055
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020562003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002057
Miklos Szerediac361172004-11-02 19:14:14 +00002058 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002059
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020602003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002061
2062 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2063
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020642003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002065
2066 * Updated fuse.spec file (Achim Settelmeier)
2067
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020682003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002069
2070 * Version 1.0 released
2071
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020722003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002073
2074 * SuSE compilation fix by Juan-Mariano de Goyeneche
2075
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020762002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002077
2078 * The release() VFS call is now exported to the FUSE interface
2079
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020802002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002081
2082 * 64 bit file offset fixes in the fuse kernel module
2083
2084 * Added function 'fuse_exit()' which can be used to exit the main
2085 loop
2086
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020872002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002088
2089 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2090 an incompatible interface change.
2091
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020922002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002093
2094 * Portablility fix (bug reported by C. Chris Erway)
2095
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020962002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002097
2098 * Use Mark Glines' fd passing method for default operation instead
2099 of old reexec
2100
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021012002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002102
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002103 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2104
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021052002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002106
Miklos Szeredi60c23522002-10-24 09:19:43 +00002107 * fix incompatiblity with Red Hat kernels, with help from Nathan
2108 Thompson-Amato.
2109
Mark Glines65ba2192002-04-18 14:41:48 +000021102002-04-18 Mark Glines <mark@glines.org>
2111
2112 * added an alternative to fuse_mount(), called
2113 fuse_mount_ioslave(), which does not need to reexec the
2114 FUSE program.
2115 * added a small helper util needed by fuse_mount_ioslave().
2116
Mark Glines220635a2002-03-17 07:01:14 +000021172002-03-16 Mark Glines <mark@glines.org>
2118
2119 * use struct fuse_statfs everywhere possible to avoid problems
2120 with the headerfiles changing struct statfs member sizes
2121
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021222002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002123
2124 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2125
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021262002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002127
2128 * RPM support by Achim Settelmeier
2129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021302002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002131
Miklos Szerediddc862a2002-01-09 13:46:10 +00002132 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002133
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021342002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002135
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002136 * Revaidate all path components not just the last, this means a
2137 very small performance penalty for being more up-to-date.
2138
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021392002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002140
2141 * Update and fix python interface
2142
Mark Glinesd84b39a2002-01-07 16:32:02 +000021432002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002144
Mark Glinesd84b39a2002-01-07 16:32:02 +00002145 * Added statfs() support to kernel, lib, examples, and perl!
2146
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021472001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002148
2149 * Better cross compilation support
2150
2151 * Ported to Compaq IPAQ
2152
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021532001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002154
Miklos Szeredife25def2001-12-20 15:38:05 +00002155 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002156 patch from Matt Ryan)
2157
Miklos Szeredife25def2001-12-20 15:38:05 +00002158 * Added flags to fusermount and to kernel interface to control
2159 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002160
Miklos Szeredife25def2001-12-20 15:38:05 +00002161 * Integrated fuse_set_operations() into fuse_new()
2162
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021632001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002164
2165 * Applied header protection + extern "C" patch by Roland
2166 Bauerschmidt
2167
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021682001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002169
Miklos Szeredie5183742005-02-02 11:14:04 +00002170 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002171
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021722001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002173
2174 * Cleaned up way of mounting simple filesystems.
2175
2176 * fuse_main() helper function added
2177
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021782001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002179
Miklos Szeredife25def2001-12-20 15:38:05 +00002180 * Optimized read/write operations, so that minimal copying of data
2181 is done
2182
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021832001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002184
2185 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002186
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021872001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002188
2189 * Fixed vfsmount reference leak in fuse_follow_link
2190
2191 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2192 userspace is ignored
2193
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021942001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002195
Miklos Szeredife25def2001-12-20 15:38:05 +00002196 * Started ChangeLog