blob: 2244e8950aedac248c4fc04ebe8d8529cb51e98e [file] [log] [blame]
Miklos Szeredi63d3c402006-08-18 16:38:08 +000012006-08-18 Miklos Szeredi <miklos@szeredi.hu>
2
3 * kernel: fix page leak if fuse_readpages() failed in it's
4 initialization. Bug found and original patch from Alexander
5 Zarochentsev
6
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +000072006-07-30 Miklos Szeredi <miklos@szeredi.hu>
8
9 * fusermount: if selinux is active, restore the original file's
10 security context in unmount_rename(). Redhat bugzilla id 188561.
11 Patch from Yves Perrenoud
12
13 * Add POSIX file locking operation to high level library
14
Miklos Szerediad519562006-07-31 11:07:40 +000015 * Initialize context for unlink of hidden files on umount. Bug
16 reported by Tim Stoakes
17
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000182006-07-14 Miklos Szeredi <miklos@szeredi.hu>
19
20 * Multiple release() calls can race with each other, resulting in
21 the hidden file being deleted before the last release finishes.
22 Bug found and patch tested by Mark Huijgen
23
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000242006-07-05 Miklos Szeredi <miklos@szeredi.hu>
25
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +000026 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
27 this makes sense on systems using udev. Reported by Szakacsits
28 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +000029
Miklos Szeredi91762cd2006-06-29 14:38:35 +0000302006-06-29 Miklos Szeredi <miklos@szeredi.hu>
31
32 * Released 2.6.0-pre3
33
342006-06-29 Miklos Szeredi <miklos@szeredi.hu>
35
36 * Support in kernel module for file locking and interruption. The
37 same functionality is available in official kernels >= 2.6.18
38
Miklos Szeredib052a1a2006-06-28 14:51:20 +0000392006-06-28 Miklos Szeredi <miklos@szeredi.hu>
40
41 * Add POSIX file locking support
42
43 * Add request interruption
44
Miklos Szeredi55a84102006-06-06 10:16:38 +0000452006-06-06 Miklos Szeredi <miklos@szeredi.hu>
46
47 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
48
Miklos Szeredi9dedb702006-06-06 09:48:30 +0000492006-06-05 Remy Blank <remy.blank@pobox.com>
50
51 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
52 unmounting succeeds even if mount point was relative.
53
Csaba Henkd021ce42006-06-03 23:04:18 +0000542006-06-04 Csaba Henk <csaba.henk@creo.hu>
55
56 * lib: fix emergency umount in helper.c when malloc fails.
57 (The way it was done would end up in a segfault.)
58
Csaba Henk4f5c7b42006-06-01 14:19:17 +0000592006-06-01 Csaba Henk <csaba.henk@creo.hu>
60
61 * lib: adjust threading related compiler flags.
62 Switch to "-pthread" from "-lpthread" as that's the preferred
63 one on several platforms. Consulted with Terrence Cole and
64 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +000065
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +0000662006-05-08 Miklos Szeredi <miklos@szeredi.hu>
67
68 * lib: search fusermount in installation directory (bindir) as
69 well as in PATH.
70
Miklos Szeredi2512aaa2006-05-03 14:54:59 +0000712006-05-03 Miklos Szeredi <miklos@szeredi.hu>
72
73 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
74 Reported by Christian Magnusson
75
Csaba Henk2efe48f2006-04-22 22:46:52 +0000762006-04-23 Csaba Henk <csaba.henk@creo.hu>
77
78 * lib: make FreeBSD mount routine recognize if kernel features
79 backgrounded init and if it does, run the mount util in foreground
80 (similarly to Linux)
81
Miklos Szeredi5fe07d62006-04-21 14:09:28 +0000822006-04-21 Miklos Szeredi <miklos@szeredi.hu>
83
84 * kernel: fix fput deadlock fix, the lockless solution could lead
85 to "VFS: busy inodes after umount..."
86
87 * kernel: fix race between checking and setting file->private_data
88 for the device. Found by Al Viro
89
902006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +000091
92 * kernel: remove request pool, instead allocate requests on
93 demand. Account the number of background requests, and if they go
94 over a limit, block the allocation of new requests.
95
96 * kernel: fix deadlock if backgrounded request holds the last
97 reference to the super block
98
99 * kernel: don't use fuse_reset_request() during direct I/O
100
Csaba Henkbaa49d22006-04-06 00:12:44 +00001012006-04-06 Csaba Henk <csaba.henk@creo.hu>
102
103 * lib: Let FreeBSD mount option parsing routine recognize "no"
104 prefixes for FUSE specific options as well
105
Miklos Szeredid0a777a2006-04-05 07:18:00 +00001062006-04-01 Miklos Szeredi <miklos@szeredi.hu>
107
108 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
109
Miklos Szeredi6f385412006-03-17 15:05:40 +00001102006-03-17 Miklos Szeredi <miklos@szeredi.hu>
111
112 * API changes:
113
114 * fuse_main(), fuse_setup() and fuse_new() have an additionl
115 user_data parameter
116
117 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
118 file descriptor
119
120 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
121 destroys the given channel
122
123 * fuse_teardown() no longer has a file descriptor parameter
124
125 * new exported functions: fuse_session_remove_chan(),
126 fuse_get_session(), fuse_daemonize()
127
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000128 * fuse_chan_recv() may now return a new channel which will be used
129 to send the reply
130
Miklos Szeredif51e43f2006-03-16 14:19:25 +00001312006-03-16 Miklos Szeredi <miklos@szeredi.hu>
132
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000133 * Released 2.6.0-pre2
134
1352006-03-16 Miklos Szeredi <miklos@szeredi.hu>
136
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000137 * Don't unmount if already unmounted. This fixes a problem seen
138 in the following situation: Lazy unmount a busy filesystem; Mount
139 a new one in top; When the first finally unmounts, the second also
140 unmounts. Reported by Franco Broi
141
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00001422006-03-15 Miklos Szeredi <miklos@szeredi.hu>
143
144 * lowlevel lib: use indirect function calls instead of a
145 switch/case construct. Besides increased efficiency it helps
146 maintainability & readability too. Patch from Florin Malita
147
Miklos Szeredi67d26d42006-03-13 17:39:56 +00001482006-03-13 Miklos Szeredi <miklos@szeredi.hu>
149
150 * kernel: replace global spinlock with a per-connection spinlock
151
Miklos Szeredi87c77932006-03-10 10:18:20 +00001522006-03-10 Miklos Szeredi <miklos@szeredi.hu>
153
154 * Fix source compatibility breakage for fuse_unmount(). Report
155 from Yura Pakhuchiy
156
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00001572006-03-02 Miklos Szeredi <miklos@szeredi.hu>
158
159 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
160
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00001612006-03-01 Miklos Szeredi <miklos@szeredi.hu>
162
163 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
164 Jeff Dike
165
166 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
167 interface to return -errno in case of error.
168
Csaba Henkee588c02006-03-01 09:40:35 +00001692006-03-01 Csaba Henk <csaba.henk@creo.hu>
170
171 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
172 FreeBSD implementation so that it uses libc (sysctl backed) instead
173 of an embdedded script (kmem backed). Adjust the control flow of
174 hello_ll so that device doesn't get closed before unmount attempt.
175
Miklos Szerediaa8258e2006-02-25 14:42:03 +00001762006-02-25 Miklos Szeredi <miklos@szeredi.hu>
177
178 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
179 implement method. This is needed on FreeBSD, and nicer on Linux
180 too. Highlevel lib already did this. Reported by Csaba Henk
181
182 * Fix negative entry handling. There was a bug, that negative
183 lookups with timeouts (nodeid == 0) returned -EIO.
184
1852006-02-23 Miklos Szeredi <miklos@szeredi.hu>
186
187 * Fix race between RELEASE and UNLINK, which might leave
188 .fuse_hidden* files around
189
Miklos Szeredi6bab4802006-02-21 18:31:29 +00001902006-02-21 Miklos Szeredi <miklos@szeredi.hu>
191
192 * fusexmp_fh: implement flush() method and call close() on the
193 open file descriptor. This is needed if used on an NFS
194 filesystem, which buffers data until file is closed. Franco Broi
195 spotted the situation when 'cp -p' failed to set the modification
196 time because of this.
197
Miklos Szeredie109e282006-02-20 11:06:20 +00001982006-02-20 Miklos Szeredi <miklos@szeredi.hu>
199
200 * Released 2.6.0-pre1
201
Miklos Szeredib67f2162006-02-20 10:55:33 +00002022006-02-19 Miklos Szeredi <miklos@szeredi.hu>
203
204 * libfuse: fix use-after-free bug in interruptred reply_entry().
205 Patch from John Muir
206
207 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
208 ID: 352631. Found by Stéphane Rosi
209
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00002102006-02-17 Miklos Szeredi <miklos@szeredi.hu>
211
212 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
213 into a single function fuse_add_direntry(). This cleans up the
214 interface and makes it possible to do stacking.
215
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00002162006-02-16 Miklos Szeredi <miklos@szeredi.hu>
217
218 * Fix rare race betweeen abort and release caused by failed iget()
219 in fuse_create_open().
220
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000221 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
222 own attribute caching.
223
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00002242006-02-15 Miklos Szeredi <miklos@szeredi.hu>
225
226 * Work around FreeBSD runtime linker "feature" which binds an old
227 version of a symbol to internal references if the symbol has more
228 than one version. This resulted in infinite recursion in
229 fuse_lowlevel_new_compat25().
230
Csaba Henkdcce3e52006-02-10 06:22:15 +00002312006-02-10 Csaba Henk <csaba.henk@creo.hu>
232
233 * Refine clock_gettime() querying so that linker options
234 shall be set as it's appropriate for the target platform.
235
Miklos Szeredi390ae312006-02-10 16:44:34 +00002362006-02-09 Miklos Szeredi <miklos@szeredi.hu>
237
238 * Fix udev rule syntax. Reported by Nix
239
Miklos Szeredieb643582006-02-08 10:54:02 +00002402006-02-08 Miklos Szeredi <miklos@szeredi.hu>
241
242 * In some cases udev rule seems to be ineffective when installed
243 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
244
Miklos Szeredi357529c2006-02-03 09:20:31 +00002452006-02-03 Miklos Szeredi <miklos@szeredi.hu>
246
247 * Fix compilation when build directory is different from source
248 directory. Reported by Frédéric L. W. Meunier
249
Miklos Szeredice28c7e2006-02-02 14:59:05 +00002502006-02-02 Miklos Szeredi <miklos@szeredi.hu>
251
252 * Fix even bigger bug introduced in fix for request_end() on
253 2006-01-14. Reported by Gal Rosen
254
Miklos Szeredi320abe42006-01-30 18:14:51 +00002552006-01-30 Miklos Szeredi <miklos@szeredi.hu>
256
257 * highlevel-lib: add 'auto_cache' option. This caches file data
258 based on modification time and size
259
Miklos Szeredi065f2222006-01-20 15:15:21 +00002602006-01-20 Miklos Szeredi <miklos@szeredi.hu>
261
Miklos Szeredid66b7282006-02-02 15:15:21 +0000262 * Sanitize storage type and help message in mount_bsd.c. Patch
263 from Csaba Henk
264
Miklos Szeredi065f2222006-01-20 15:15:21 +0000265 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
266 FUSE_OPT_KEY_DISCARD
267
268 * Add options 'max_readahead', 'sync_read' and 'async_read'
269
270 * Kernel ABI version 7.6:
271
272 * Negotiate the 'max_readahead' value and 'async_read' flags with
273 userspace in the INIT method
274
275 * Add connection info to ->init() methods to both lowlevel and
276 highlevel API
277
278 * Fall back to synchronous read() behavior if either library or
279 userspace filesystem is using the old interface version. This is
280 needed so non-updated filesystems won't be confused by the
281 different read() behavior
282
2832006-01-19 Miklos Szeredi <miklos@szeredi.hu>
284
285 * lib: if "fsname=" option was given, pass it to fusermount
286
287 * fuse_opt: add new fuse_opt_insert_arg() function, which is
288 needed by filesystems to implement some argument manipulations
289 correctly
290
291 * fuse_opt: fix memory leak in handling "--" option
292
2932006-01-18 Miklos Szeredi <miklos@szeredi.hu>
294
295 * kernel: fix detection of case when fuse is not configured into
296 the kernel either as module or built-in
297
298 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
299 'template' structure member to 'templ'. Reported by Takashi Iwai
300
301 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
302
303 * kernel: support version 2.6.16 (i_sem -> i_mutex)
304
Miklos Szeredi15af1b82006-01-16 17:52:24 +00003052006-01-16 Miklos Szeredi <miklos@szeredi.hu>
306
307 * Added (again) asynchronous readpages support
308
309 * Each connection now shows up under /sys/fs/fuse/connections
310
311 * Connection attributes exported to sysfs: 'waiting' number of
312 waiting requests; 'abort' abort the connection
313
314 * Connection may be aborted through either the sysfs interface or
315 with 'umount -f mountpoint'
316
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00003172006-01-14 Miklos Szeredi <miklos@szeredi.hu>
318
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000319 * Released 2.5.0
320
3212006-01-14 Miklos Szeredi <miklos@szeredi.hu>
322
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000323 * kernel: fix a couple of bugs
324
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000325 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000326 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000327 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000328
329 * request_end() used request pointer after decrementing refcount
330
331 * Clearing ->connected or ->mounted connection flags could race
332 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000333
Miklos Szeredia9820342006-01-10 10:54:11 +00003342006-01-10 Miklos Szeredi <miklos@szeredi.hu>
335
336 * kernel: add necessary compile flags for 2.4.X/x86_64.
337 Report from Sean Ziegeler
338
Miklos Szeredi35676b02006-01-09 10:13:28 +00003392006-01-09 Miklos Szeredi <miklos@szeredi.hu>
340
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000341 * Released 2.5.0-pre2
342
3432006-01-09 Miklos Szeredi <miklos@szeredi.hu>
344
Miklos Szeredi35676b02006-01-09 10:13:28 +0000345 * Applied patch from Csaba Henk, to update mount_bsd to new
346 fuse_mount() semantics
347
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000348 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
349 Steiner and Don Taber
350
Miklos Szeredicb075c82006-01-09 11:33:04 +0000351 * fusermount: add 'dirsync' mount option
352
Miklos Szerediad005972006-01-07 10:14:34 +00003532006-01-07 Miklos Szeredi <miklos@szeredi.hu>
354
355 * Improved help reporting and added version reporting to library
356
Miklos Szeredi0af762a2006-01-06 09:47:54 +00003572006-01-06 Miklos Szeredi <miklos@szeredi.hu>
358
359 * Change working directory to "/" even if running in the
360 foreground. Patch from Jonathan Brandmeyer
361
Miklos Szeredi95da8602006-01-06 18:29:40 +0000362 * Changed lots of functions to use 'struct fuse_args' instead of
363 separate argc and argv
364
365 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
366 fuse_remove_signal_handlers() functions, so that it's now pretty
367 easy to get all the functionality of fuse_main() with a filesystem
368 using the lowlevel API.
369
Miklos Szeredib8638182006-01-02 12:52:24 +00003702006-01-02 Miklos Szeredi <miklos@szeredi.hu>
371
Miklos Szeredif1941472006-01-02 16:27:48 +0000372 * mount.fuse: the 'user' option should be ignored. Report and
373 solution from Mattd.
374
375 * mount.fuse: export PATH in the right place. Report and patch
376 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000377
Miklos Szeredi73f41392005-12-16 11:12:16 +00003782005-12-16 Miklos Szeredi <miklos@szeredi.hu>
379
380 * Clean up the option parsing interface slightly, by creating an
381 "argument list" structure, that contains the argument vector and
382 count
383
Miklos Szeredi4e829092005-12-15 16:13:49 +00003842005-12-15 Miklos Szeredi <miklos@szeredi.hu>
385
386 * fusermount: check if /mnt/mtab is a symlink and don't modify it
387 in that case
388
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000389 * kernel: simplify request size limiting. INIT only contains
390 maximum write size, maximum path component size remains fixed at
391 1024 bytes, and maximum xattr size depends on read buffer.
392
Miklos Szeredie248e4b2005-12-14 16:18:32 +00003932005-12-14 Miklos Szeredi <miklos@szeredi.hu>
394
395 * Fix readdir() failure on x86_64, of 32bit programs compiled
396 without largefile support. Bug report and help from Anthony
397 Kolasny
398
Miklos Szeredi64709572005-12-14 22:16:28 +0000399 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000400 a regular file
401
402 * Add current output argument vector to option processing
403 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000404
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00004052005-12-12 Miklos Szeredi <miklos@szeredi.hu>
406
407 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
408
Miklos Szeredi659743b2005-12-09 17:41:42 +00004092005-12-09 Miklos Szeredi <miklos@szeredi.hu>
410
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000411 * Released 2.5.0-pre1
412
4132005-12-09 Miklos Szeredi <miklos@szeredi.hu>
414
Miklos Szeredi659743b2005-12-09 17:41:42 +0000415 * libfuse: added option parsing interface, defined in
416 <fuse_opt.h>.
417
Miklos Szeredic53cddd2005-12-07 12:57:59 +00004182005-12-07 Miklos Szeredi <miklos@szeredi.hu>
419
420 * Return EIO for file operations (read, write, fsync, flush) on
421 open files whose inode has become "bad". Inodes will be marked
422 "bad" if their type changes. Bug report by Csaba Henk
423
Miklos Szeredi044da2e2005-12-06 17:59:55 +00004242005-12-06 Miklos Szeredi <miklos@szeredi.hu>
425
426 * Use bigger request buffer size. write() did not work on archs
427 with > 4k page size, Bug report by Mark Haney
428
429 * ABI version 7.5:
430
431 * Extend INIT reply with data size limits
432
Miklos Szeredifa829b52005-12-02 11:05:41 +00004332005-12-02 Miklos Szeredi <miklos@szeredi.hu>
434
435 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
436 reported by Vincenzo Ciancia
437
438 * Handle exit-by-umount in fuse_read_cmd()
439
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00004402005-11-29 Miklos Szeredi <miklos@szeredi.hu>
441
442 * Check if '-msoft-float' option is supported by compiler when
443 configuring for a 2.4.x kernel. Bug report by Mark Haney
444
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000445 * In multithreaded loop send a TERM signal to the main thread if
446 one of the other threads exit. Needed on FreeBSD for a clean exit
447 on umount. Should not cause any harm on Linux either
448
Miklos Szerediead7f102005-11-28 16:02:27 +00004492005-11-28 Miklos Szeredi <miklos@szeredi.hu>
450
451 * Fix bug in 32-bit file handle compatibility
452
Miklos Szeredia90b7342005-11-27 19:22:42 +00004532005-11-27 Miklos Szeredi <miklos@szeredi.hu>
454
455 * Block TERM, INT, HUP and QUIT signals in all but the main
456 thread. According to POSIX it's not specified which thread will
457 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000458
459 * Kernel changes:
460
461 * Check for directory aliasing on mkdir, not just on lookup
462
463 * Check for special node ID values in create+open operation
464
465 * Sync with -mm: readv, writev, aio_read and aio_write methods
466 added to file operations
467
468 * Cleanups: lookup code, page offset calculation
469
470 * ABI stepped to 7.4, changes:
471
472 * frsize member added to fuse_kstatfs structure
473
474 * added support for negative entry caching: on lowlevel API if
475 fuse_entry_param::ino is set to zero in reply to a lookup request,
476 the kernel will cache the dentry for the specified amount of time.
477
478 * libfuse: added 'negative_timeout' option: specifies how much
479 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000480 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000481
Miklos Szeredibac4c772005-11-23 13:35:54 +00004822005-11-22 Miklos Szeredi <miklos@szeredi.hu>
483
484 * Add detection of mainline FUSE code in running kernel
485
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00004862005-11-21 Miklos Szeredi <miklos@szeredi.hu>
487
488 * Don't use async cancelation in multithreaded loop. This makes
489 it more portable to systems where read() is not async cancel safe.
490 Report from Andriy Gapon
491
Miklos Szeredi05c97842005-11-20 17:05:07 +00004922005-11-20 Miklos Szeredi <miklos@szeredi.hu>
493
494 * Warn if API version 11 compatibility is requested
495
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00004962005-11-17 Miklos Szeredi <miklos@szeredi.hu>
497
498 * More FreeBSD merge
499
Miklos Szeredi832ee442005-11-18 21:02:36 +0000500 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
501 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000502 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000503
504 * libfuse: don't use system() to invoke 'fusermount -u ...'
505 because it breaks mountpoints with spaces in them into multiple
506 arguments
507
Miklos Szeredib3f99722005-11-16 13:00:24 +00005082005-11-16 Miklos Szeredi <miklos@szeredi.hu>
509
510 * Merge library part of FreeBSD port. Patch by Csaba Henk
511
Miklos Szeredi3a770472005-11-11 21:32:42 +00005122005-11-11 Miklos Szeredi <miklos@szeredi.hu>
513
514 * Use 64bit type for file handle, so the full range supported by
515 the kernel interface is available to applications
516
Miklos Szeredibcc53852005-11-10 09:54:41 +00005172005-11-10 Miklos Szeredi <miklos@szeredi.hu>
518
519 * Moved mountpoint argument checking from fuse_parse_cmdline() to
520 fuse_mount() in preparation to FreeBSD merge.
521
Miklos Szeredi4ec06812005-11-08 13:04:27 +00005222005-11-08 Miklos Szeredi <miklos@szeredi.hu>
523
524 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
525 Henk.
526
Miklos Szeredic706ad92005-11-07 15:30:48 +00005272005-11-07 Miklos Szeredi <miklos@szeredi.hu>
528
529 * Make the statfs change backwards compatible.
530
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00005312005-11-06 Miklos Szeredi <miklos@szeredi.hu>
532
533 * Change ->statfs() method to use 'struct statvfs' instead of
534 'struct statfs'. This makes the API more portable since statvfs()
535 is defined by POSIX.
536
Miklos Szeredif7eec032005-10-28 13:09:50 +00005372005-10-28 Miklos Szeredi <miklos@szeredi.hu>
538
539 * Add fgetattr() method, which currently will only be called after
540 a successful call to a create() method.
541
Miklos Szeredib0b13d12005-10-26 12:53:25 +00005422005-10-26 Miklos Szeredi <miklos@szeredi.hu>
543
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000544 * Change kernel ABI version to 7.3
545
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000546 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000547 call if 'default_permissions' mount option is not given, and is
548 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000549
Miklos Szeredid9079a72005-10-26 15:29:06 +0000550 * Add atomic CREATE+OPEN operation. This will only work with
551 2.6.15 (presumably) or later Linux kernels.
552
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000553 * Add ftruncate() method. This will only work with 2.6.15
554 (presumably) or later Linux kernels.
555
556 * Fix kernel module compile if kernel source and build directories
557 differ. Report and initial patch by John Eastman
558
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00005592005-10-18 Miklos Szeredi <miklos@szeredi.hu>
560
561 * lib: optimize buffer reallocation in fill_dir.
562
Miklos Szeredic9daeb12005-10-17 10:19:21 +00005632005-10-17 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Released 2.4.1
566
Miklos Szeredif412d072005-10-14 21:24:32 +00005672005-10-14 Miklos Szeredi <miklos@szeredi.hu>
568
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000569 * libfuse: add debug for write result (by Shaun Jackman) and
570 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000571
Miklos Szeredib75d4b92005-10-11 10:12:08 +00005722005-10-11 Miklos Szeredi <miklos@szeredi.hu>
573
574 * Spelling fixes, thanks to Ioannis Barkas
575
Miklos Szeredibaab5872005-10-10 08:41:14 +00005762005-10-10 Miklos Szeredi <miklos@szeredi.hu>
577
578 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
579 patch
580
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00005812005-10-07 Miklos Szeredi <miklos@szeredi.hu>
582
583 * highlevel-lib: init() and destroy() methods didn't have an
584 initialized fuse_context. Bug reported by Tim Stoakes
585
Miklos Szeredif2491122005-10-04 10:10:41 +00005862005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000587
588 * Released 2.4.0
589
Miklos Szeredi836ab712005-10-03 14:11:59 +00005902005-10-03 Miklos Szeredi <miklos@szeredi.hu>
591
592 * Add documentation to fuse_lowlevel.h
593
594 * API cleanups:
595
596 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
597
598 * Move fuse_mount() and fuse_unmount() to fuse_common.h
599
600 * Change the return type of fuse_reply_none() from int to void.
601
Miklos Szerediaf138742005-09-30 08:49:59 +00006022005-09-30 Miklos Szeredi <miklos@szeredi.hu>
603
604 * kernel: NFS exporting leaked dentries. Bug found and fixed by
605 Akshat Aranya.
606
Miklos Szeredidb016e02005-09-29 10:06:27 +00006072005-09-29 Miklos Szeredi <miklos@szeredi.hu>
608
609 * fusermount: fix error message, when unable to open /dev/fuse.
610 Report by Balázs Pozsár
611
Miklos Szeredi35200932005-09-28 14:50:49 +00006122005-09-28 Miklos Szeredi <miklos@szeredi.hu>
613
614 * UClibc fixes from Christian Magnusson
615
Miklos Szeredi8eddf642005-09-27 08:58:26 +00006162005-09-27 Miklos Szeredi <miklos@szeredi.hu>
617
618 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
619
Miklos Szerediedec95c2005-09-26 10:22:22 +00006202005-09-26 Miklos Szeredi <miklos@szeredi.hu>
621
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000622 * Released 2.4.0-rc1
623
6242005-09-26 Miklos Szeredi <miklos@szeredi.hu>
625
Miklos Szerediedec95c2005-09-26 10:22:22 +0000626 * fusermount: allow user umount in the case when /etc/mtab is a
627 symlink to /proc/mounts. Reported by Balázs Pozsár.
628
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00006292005-09-23 Miklos Szeredi <miklos@szeredi.hu>
630
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000631 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000632
Miklos Szeredif45f3c12005-09-22 15:14:27 +00006332005-09-22 Miklos Szeredi <miklos@szeredi.hu>
634
635 * Slight optimization in returning EINVAL error in case of an open
636 with O_DIRECT flag.
637
Miklos Szeredi670d07a2005-09-20 11:36:32 +00006382005-09-20 Miklos Szeredi <miklos@szeredi.hu>
639
640 * Remove '--enable-auto-modprobe' configure flag. Module
641 auto-loading is now handled by the kernel.
642
Miklos Szeredid51fca12005-09-15 12:51:00 +00006432005-09-15 Miklos Szeredi <miklos@szeredi.hu>
644
645 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
646 Help from Jens M. Noedler.
647
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00006482005-09-14 Miklos Szeredi <miklos@szeredi.hu>
649
650 * Add memory cleanup on thread exit
651
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00006522005-09-13 Miklos Szeredi <miklos@szeredi.hu>
653
654 * Set umask to zero in fusexmp and fusexmp_fh, so that
655 files/directories are created with the requested mode.
656
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00006572005-09-12 Miklos Szeredi <miklos@szeredi.hu>
658
659 * Don't ignore read error in multithreaded loop
660
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00006612005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000662
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000663 * Released 2.4.0-pre2
664
6652005-09-08 Miklos Szeredi <miklos@szeredi.hu>
666
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000667 * Revert lock and access operations. Postpone these until 2.5.
668
6692005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000670
671 * Fix compile warning on 2.6.13 and later
672
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000673 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000674
Miklos Szeredi77ccf652005-08-19 14:40:27 +00006752005-08-19 Miklos Szeredi <miklos@szeredi.hu>
676
677 * lib: always refresh directory contents after rewinddir() to
678 conform to SUS. Bug found by John Muir.
679
Miklos Szeredia1482422005-08-14 23:00:27 +00006802005-08-15 Miklos Szeredi <miklos@szeredi.hu>
681
Miklos Szeredic43f9412005-08-15 15:10:48 +0000682 * Released 2.4.0-pre1
683
6842005-08-14 Miklos Szeredi <miklos@szeredi.hu>
685
Miklos Szeredia1482422005-08-14 23:00:27 +0000686 * lib: cleaned up (or messed up, depending on your POV) the low
687 level library API. Hopefully this is close to the final form.
688
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00006892005-08-05 Miklos Szeredi <miklos@szeredi.hu>
690
691 * fusermount: don't allow empty mountpoint argument, which defeats
692 automatic umounting in fuse_main(). Bugreport by Václav Jůza
693
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00006942005-08-03 Miklos Szeredi <miklos@szeredi.hu>
695
696 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
697 option is used (Paul Alfille).
698
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00006992005-08-02 Miklos Szeredi <miklos@szeredi.hu>
700
701 * highlevel-lib: added mount options "attr_timeout" and
702 "entry_timeout". These options control the length of time file
703 attributes and entries (names) are cached. Both default to 1.0
704 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000705
706 * kernel: correctly handle zero timeout for attributes and entries
707
Miklos Szeredi56a61f02005-08-01 10:42:25 +00007082005-08-01 Miklos Szeredi <miklos@szeredi.hu>
709
710 * Added missing symbols to versionscript (Joshua J. Berry)
711
Miklos Szeredie77cc072005-08-01 11:58:51 +0000712 * kernel: implement two flags, open can set: 'direct_io' and
713 'keep_cache'. These correspond exactly to mount options
714 'direct_io' and 'kernel_cache', but allow a per-open setting.
715
716 * Move 'direct_io' and 'kernel_cache' mount option handling to
717 userspace. For both mount options, if the option is given, then
718 the respective open flag is set, otherwise the open flag is left
719 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000720
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000721 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000722
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00007232005-07-28 Miklos Szeredi <miklos@szeredi.hu>
724
725 * kernel: invalidate attributes for read/readdir/readlink
726 operations
727
728 * kernel: detect newer UML kernels
729
Miklos Szeredibfb99462005-07-26 11:07:55 +00007302005-07-26 Miklos Szeredi <miklos@szeredi.hu>
731
732 * Make the installation path of fuse.ko and mount.fuse
733 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
734 environment variables. Requirement and help from Csaba Henk.
735
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00007362005-07-22 Miklos Szeredi <miklos@szeredi.hu>
737
738 * Fix bug, that causes filesystem requests to hang when unique
739 request counter becomes negative. This happens after
740 2,147,483,648 operations, so most people won't care. Thanks to
741 Franco Broi for the report and testing.
742
Miklos Szeredi9b813af2005-07-21 07:59:37 +00007432005-07-21 Miklos Szeredi <miklos@szeredi.hu>
744
745 * Don't change mtime/ctime/atime to local time on read/write.
746 Bug reported by Ben Grimm
747
748 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
749 Magnusson
750
751 * fusermount: use getopt_long() for option parsing. It allows the
752 use of '--' to stop argument scanning, so fusermount can now
753 operate on directories whose names begin with a '-'. Patch by
754 Adam Connell
755
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00007562005-07-15 Miklos Szeredi <miklos@szeredi.hu>
757
758 * fusermount: add '-v', '--version' and '--help' options
759
760 * add inode based API
761
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00007622005-07-12 Miklos Szeredi <miklos@szeredi.hu>
763
764 * lib: don't block signals in worker threads. Problem noticed by
765 Usarin Heininga
766
Miklos Szeredic902a852005-07-07 12:35:37 +00007672005-07-07 Miklos Szeredi <miklos@szeredi.hu>
768
769 * lib: don't allow both 'allow_other' and 'allow_root' options to
770 be given
771
Miklos Szeredi437d8112005-07-06 09:14:20 +00007722005-07-06 Miklos Szeredi <miklos@szeredi.hu>
773
774 * fusermount: check if mountpoint is empty (only '.' and '..' for
775 directories, and size = 0 for regular files). If "nonempty"
776 option is given, omit this check. This is useful, so users don't
777 accidentally hide data (e.g. from backup programs). Thanks to
778 Frank van Maarseveen for pointing this out.
779
780 * kernel: check if mandatory mount options ('fd', 'rootmode',
781 'user_id', 'group_id') are all given
782
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000783 * lib: simplify 'readdir_ino' handling
784
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000785 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
786
Miklos Szeredibb9f5172005-07-03 18:03:11 +00007872005-07-03 Miklos Szeredi <miklos@szeredi.hu>
788
789 * kernel: clean up 'direct_io' code
790
Miklos Szeredie1bcece2005-06-28 10:37:06 +00007912005-06-28 Miklos Szeredi <miklos@szeredi.hu>
792
793 * Add 'mount.fuse' written by Petr Klima
794
Miklos Szeredi866826d2005-06-28 12:22:57 +0000795 * '/dev/fuse' is created by 'make install' if does not yet exist
796
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00007972005-06-20 Miklos Szeredi <miklos@szeredi.hu>
798
799 * Fix UCLIBC compile error. Patch by Christian Magnusson
800
Miklos Szerediec12fad2005-06-08 10:26:34 +00008012005-06-08 Miklos Szeredi <miklos@szeredi.hu>
802
803 * Enable the auto-loading of the module via access to the
804 corresponding device file. Patch by Takashi Iwai.
805
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000806 * Allow mounting a regular file (over a regular file) for
807 unprivleged users.
808
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000809 * Do not create temporary device file. Require "/dev/fuse" to
810 exist, and be readable/writable by the mounting user.
811
Miklos Szeredi46960ce2005-06-02 09:05:00 +00008122005-06-02 Miklos Szeredi <miklos@szeredi.hu>
813
Miklos Szeredi56478552005-06-02 10:29:00 +0000814 * Released 2.3.0
815
8162005-06-02 Miklos Szeredi <miklos@szeredi.hu>
817
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000818 * Fix serious information leak: if the filesystem returns a short
819 byte count to a read request, and there are non-zero number of
820 pages which are not filled at all, these pages will not be zeroed.
821 Hence the user can read out previous memory contents. Found by
822 Sven Tantau.
823
Miklos Szeredi33be22d2005-05-27 09:12:43 +00008242005-05-27 Miklos Szeredi <miklos@szeredi.hu>
825
826 * Add "readdir_ino" mount option, which tries to fill in the d_ino
827 field in struct dirent. This mount option is ignored if "use_ino"
828 is used. It helps some programs (e.g. 'pwd' used over NFS from a
829 non-Linux OS). Patch by David Shaw.
830
Miklos Szeredif94e0102005-05-12 14:56:34 +00008312005-05-12 Miklos Szeredi <miklos@szeredi.hu>
832
Miklos Szeredieb009c42005-05-12 15:01:17 +0000833 * Released 2.3-rc1
834
8352005-05-12 Miklos Szeredi <miklos@szeredi.hu>
836
Miklos Szeredif94e0102005-05-12 14:56:34 +0000837 * File save in krusader and other editors doesn't work with sshfs,
838 because open() is interrupted by a periodic signal, and open()
839 restarts forever, without any progress. This could just be fixed
840 in open(), but the problem is more generic: if signals are
841 received more often than the filesystem can get the request to
842 userspace, it will never finish. This is probably only a
843 theoretical problem, nevertheless I'm removing the possibility to
844 interrupt requests with anything other than SIGKILL, even before
845 being sent to userspace. Bugreport by Eduard Czimbalmos.
846
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00008472005-05-09 Miklos Szeredi <miklos@szeredi.hu>
848
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000849 * libfuse: add "tree_lock" rwlock, that is locked for write in
850 rename, unlink and rmdir, and locked for read in all other
851 operations. This should fix the rename/release race reported by
852 Valient Gough and others. The solution is very coarse, a finer
853 grained locking scheme could be implemented, but it would be much
854 more complex. Let's see whether this is good enough.
855
8562005-05-09 Miklos Szeredi <miklos@szeredi.hu>
857
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000858 * Released 2.3-pre7
859
Miklos Szeredi38009022005-05-08 19:47:22 +00008602005-05-08 Miklos Szeredi <miklos@szeredi.hu>
861
862 * Better fix for out of order FORGET messages. Now the
863 LOOKUP/FORGET messages are balanced exactly (one FORGET can
864 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000865 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000866 compatible.
867
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00008682005-05-06 Miklos Szeredi <miklos@szeredi.hu>
869
870 * Fix abort for out of order FORGET messages. Again. Spotted by
871 Franco Broi again. Sorry :)
872
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00008732005-04-29 Miklos Szeredi <miklos@szeredi.hu>
874
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000875 * Released 2.3-pre6
876
8772005-04-29 Miklos Szeredi <miklos@szeredi.hu>
878
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000879 * Make fusermount work with fuse kernel modules not yet supporting
880 the "group_id" option (added for the purpose of stricter
881 permission checking).
882
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00008832005-04-28 Miklos Szeredi <miklos@szeredi.hu>
884
885 * Check for hard-linked directories in lookup. This could cause
886 problems in the VFS, which assumes that such objects never exist.
887
888 * Make checking of permission for other users more strict. Now
889 the same privilege is required for the mount owner as for ptrace
890 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000891
Miklos Szeredi3efcb562005-04-23 13:34:29 +00008922005-04-23 Miklos Szeredi <miklos@szeredi.hu>
893
894 * Released 2.3-pre5
895
Miklos Szeredid001bf92005-04-22 07:54:11 +00008962005-04-22 Miklos Szeredi <miklos@szeredi.hu>
897
898 * Add -msoft-float to kernel module compile flags for 2.4.X. This
899 is needed on certain architectures. Report from Chris Kirby
900
901 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
902 Reported by David Shaw
903
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000904 * Remove "allow_root" option from kernel module, and implement
905 it's functionality in the library
906
907 * Fix Oops caused by premature release of fuse_conn. Clean up
908 related code, to be more readable
909
Miklos Szeredif9137452005-04-23 10:59:44 +0000910 * Sendfile should not use page cache if "direct_io" mount option
911 is given
912
Miklos Szeredib7640d22005-04-08 15:15:28 +00009132005-04-08 Miklos Szeredi <miklos@szeredi.hu>
914
915 * Fix Oops in case of nfs export. Spotted by David Shaw
916
Miklos Szeredi89814a12005-04-08 16:39:09 +0000917 * Fix another Oops in case of write over nfs with direct_io turned
918 on. Again spotted by David Shaw
919
Miklos Szerediab974562005-04-07 15:40:21 +00009202005-04-07 Miklos Szeredi <miklos@szeredi.hu>
921
Miklos Szeredi432d6182005-04-07 15:56:13 +0000922 * Released 2.3-pre4
923
9242005-04-07 Miklos Szeredi <miklos@szeredi.hu>
925
Miklos Szerediab974562005-04-07 15:40:21 +0000926 * lib: finalized new readdir() interface, which now supersedes the
927 getdir() method.
928
Miklos Szeredi30e093a2005-04-03 17:44:54 +00009292005-04-03 Miklos Szeredi <miklos@szeredi.hu>
930
931 * Released 2.3-pre3
932
9332005-04-03 Miklos Szeredi <miklos@szeredi.hu>
934
935 * Implement backward compatibility with version 5 kernel ABI
936
Miklos Szeredi18fce982005-04-01 21:07:35 +00009372005-04-01 Miklos Szeredi <miklos@szeredi.hu>
938
939 * Released 2.3-pre2
940
9412005-04-01 Miklos Szeredi <miklos@szeredi.hu>
942
943 * kernel: fix dirent offset handling
944
945 * lib: add readdir and releasedir methods
946
947 * lib: use fh field of fuse_file_info in opendir, readdir,
948 releasedir and fsyncdir methods
949
950 * lib: check kernel API version and bail out of it's old. This
951 will be properly fixed in the next release
952
9532005-03-31 Miklos Szeredi <miklos@szeredi.hu>
954
955 * Released 2.3-pre1
956
Miklos Szeredieab72ef2005-03-31 19:59:12 +00009572005-03-31 Miklos Szeredi <miklos@szeredi.hu>
958
959 * kernel API: add padding to structures, so 64bit and 32bit
960 compiler will return the same size
961
962 * kernel API: add offset field to fuse_dirent. This will allow
963 more sophisticated readdir interface for userspace
964
965 * kernel API: change major number to 6
966
967 * kernel: fix warnings on 64bit archs
968
969 * kernel: in case of API version mismatch, return ECONNREFUSED
970
Miklos Szeredi407e6a72005-03-25 12:19:43 +00009712005-03-24 Miklos Szeredi <miklos@szeredi.hu>
972
973 * kernel: trivial cleanups
974
Miklos Szeredi4283ee72005-03-21 12:09:04 +00009752005-03-21 Miklos Szeredi <miklos@szeredi.hu>
976
977 * Add fsyncdir() operation
978
Miklos Szeredid17da462005-03-21 11:47:04 +00009792005-03-19 Miklos Szeredi <miklos@szeredi.hu>
980
981 * kernel: add locking to background list (fixes previous fix)
982
9832005-03-18 Miklos Szeredi <miklos@szeredi.hu>
984
985 * kernel: fix bug which could cause leave busy inodes after
986 unmount, and Oops.
987
9882005-03-08 Miklos Szeredi <miklos@szeredi.hu>
989
990 * examples: add -lpthread to link flags to work around valgrind
991 quirk
992
993 * lib: don't exit threads, so cancelation doesn't cause segfault
994
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00009952005-03-04 Miklos Szeredi <miklos@szeredi.hu>
996
997 * kernel: fix nasty bug which could cause an Oops under certain
998 situations. Found by Magnus Johansson
999
Miklos Szeredif43f0632005-02-28 11:46:56 +000010002005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1001
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001002 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001003 permission checking in getdir() is too late. Thanks to Usarin
1004 Heininga for pointing out this deficiency
1005
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001006 * libfuse: added init() and destroy() methods to fuse_operations
1007
Miklos Szeredif43f0632005-02-28 11:46:56 +00001008 * kernel: llseek() method for files and directories made explicit
1009
1010 * kernel: fixed inode leak in NFS export in case of nodeid
1011 wrapping
1012
Miklos Szeredied3c97c2005-02-15 17:04:50 +000010132005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1014
1015 * libfuse: clean up some unitialized memory found with valgrind
1016
Miklos Szeredi47c52982005-02-23 09:27:38 +00001017 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1018 explicitly linked libpthread for applications
1019
Miklos Szeredia7169412005-02-10 07:35:05 +000010202005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1021
1022 * fusermount: set umask, otherwise /etc/mtab will have
1023 unpredictable permission. Spotted by Jindrich Kolorenc
1024
1025 * fusermount: set owner and group of /etc/mtab to original values
1026 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001027
1028 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001029
Miklos Szeredib92d9782005-02-07 16:10:49 +000010302005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1031
1032 * Cleaned up directory reading (temporary file is not used)
1033
Miklos Szerediff30a6c2005-02-02 10:53:59 +000010342005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1035
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001036 * Released 2.2
1037
10382005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1039
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001040 * Fix possible race when operation is interrupted
1041
Miklos Szeredi7a983952005-01-28 09:58:19 +000010422005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1043
Miklos Szeredie5183742005-02-02 11:14:04 +00001044 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001045
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000010462005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1047
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001048 * Released 2.2-pre6
1049
10502005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1051
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001052 * Fix bug in link() operation which caused the wrong path to be
1053 passed as the first argument. Found by Anton Altaparmakov
1054
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000010552005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1056
1057 * LIB: fix double reply in readdir operation
1058
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001059 * fusermount: fix uid checking bug. Patch by Adam Connell
1060
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001061 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001062 Patch by Keshava Gowda
1063
Miklos Szeredi64074142005-01-20 08:48:11 +000010642005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1065
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001066 * KERNEL: provide correct llseek semantics for fuse device (fixes
1067 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1068
10692005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1070
Miklos Szeredi64074142005-01-20 08:48:11 +00001071 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1072
Miklos Szeredi1adb2272005-01-18 21:19:58 +000010732005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1074
1075 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1076 and RELEASEDIR. This ends the ugly hack of passing a file
1077 descriptor to the kernel, and actually makes the code simpler.
1078
Miklos Szeredi7db35c02005-01-17 09:46:28 +000010792005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1080
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001081 * Released 2.2-pre4
1082
10832005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1084
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001085 * fusermount: remove capability setting, which was the cause of
1086 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001087 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001088
Miklos Szeredidbe0f652005-01-15 14:32:56 +000010892005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001090
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001091 * fix compilation on 2.4 kernels (reported by Valient Gough)
1092
1093 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001094
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001095 * fusermount: improve parsing of /etc/fuse.conf
1096
10972005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1098
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001099 * Remove 'mount_max' and 'user_allow_other' module options. These
1100 are now checked by fusermount, and can be set in /etc/fuse.conf
1101
1102 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1103
Miklos Szeredi81394522005-01-11 14:24:18 +000011042005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1105
1106 * KERNEL: fix possible inode allocation problem, where
1107 sizeof(struct inode) is not aligned (found by Mike Waychison)
1108
1109 * KERNEL: use new follow_link/put_link methods
1110
1111 * KERNEL: cosmetic fixes
1112
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000011132005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1114
1115 * Released 2.2-pre3
1116
11172005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1118
1119 * Add missing code that was accidently left out
1120
Miklos Szeredi8c7da232005-01-09 12:27:41 +000011212005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1122
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001123 * Released 2.2-pre2
1124
11252005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1126
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001127 * Change "uid" mount option to "user_id" to avoid confusion with a
1128 mount option "uid" commonly used by many filesystems
1129
11302005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1131
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001132 * Released 2.2-pre1
1133
11342005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1135
1136 * If FUSE is configured in the kernel, don't build it by default
1137
Miklos Szeredi2a927272005-01-07 11:14:15 +000011382005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1139
1140 * Compile fix by Christian Magnusson
1141
Miklos Szeredib6220192005-01-05 16:19:10 +000011422005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1143
1144 * Fix compilation for 2.6.{0-5} kernels
1145
Miklos Szeredi0f62d722005-01-04 12:45:54 +000011462005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1147
1148 * KERNEL: if request is interrupted, still keep reference to used
1149 inode(s) and file, so that FORGET and RELEASE are not sent until
1150 userspace finishes the request.
1151
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001152 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1153 request with the same information, which is more flexible,
1154 simpler, works on embedded systems.
1155
Miklos Szeredi0f62d722005-01-04 12:45:54 +000011562004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1157
1158 * KERNEL ABI: update interface to make it independent of type
1159 sizes. This will help on 64 bit architectures which can run
1160 legacy 32 bit applications.
1161
1162 * KERNEL ABI: add "len" field to request headers. This will allow
1163 sending/receiving requests in multiple chunks.
1164
1165 * KERNEL: handle file type change more intelligently
1166
1167 * LIB: "-o debug" option should disable backgrounding (fix by
1168 Fabien Reygrobellet)
1169
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000011702004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1171
1172 * KERNEL: invalidate dentry/attributes if interrupted request
1173 could leave filesystem in an unknown state.
1174
Miklos Szeredie56818b2004-12-12 11:45:24 +000011752004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1176
1177 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1178 These will cause some regressions, but stability is considered
1179 more important. If any of these features turns out to be
1180 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001181
Miklos Szeredie56818b2004-12-12 11:45:24 +00001182 * Make all requests interruptible (only with SIGKILL currently).
1183 This can be used to break any deadlock produced by the userspace
1184 filesystem accessing it's own exported files. The RELEASE request
1185 is special, because if it's interrupted before sending it to
1186 userspace it is still sent, but the reply is not awaited.
1187
1188 * If request is interrupted before being sent to userspace, and if
1189 it hasn't yet got any side effects, it is always restarted,
1190 regardless of the SA_RESTART flag. This makes these interruptions
1191 transparent to the process.
1192
1193 * Remove shared-writable mmap support, which was prone to an
1194 out-of-memory deadlock situation
1195
1196 * Remove INVALIDATE userspace initiated request
1197
1198 * Make readpages() synchronous. Asynchronous requests are
1199 deadlock prone, since they cannot be interrupted.
1200
1201 * Add readv/writev support to fuse device operations
1202
1203 * Remove some printks, which userspace FS can use for a DoS
1204 against syslog
1205
1206 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1207 fusermount instead
1208
1209 * LIB: improve compatibility with a fuse.h header installed in
1210 ${prefix}/include which in turn includes the real header.
1211
1212 * LIB: improve compatibility by defining fuse_main() (which is now
1213 not used), so old configure scripts find it.
1214
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000012152004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1216
1217 * When mounting on a subdirectory of / don't duplicate slashes at
1218 the beggining of path (spotted by David Shaw)
1219
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000012202004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1221
1222 * Fix bug causing garbage in mount options (spotted by David Shaw)
1223
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000012242004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1225
1226 * Add 'writepage' flag to 'fuse_file_info'.
1227
1228 * More comments in fuse.h
1229
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001230 * Get rid of double underscores
1231
Miklos Szeredi799993c2004-12-04 21:20:05 +000012322004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1233
1234 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1235
1236 * helper.c: add -ho option, which only displays the options not
1237 the usage header. This can be used by filesystems which have
1238 their own options.
1239
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000012402004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1241
1242 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1243 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1244 including the fuse header
1245
1246 * Add binary compatibility to 2.1 version of library with symbol
1247 versioning
1248
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000012492004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1250
1251 * Released 2.1
1252
Miklos Szeredi039322d2004-12-01 18:39:12 +000012532004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1254
1255 * kernel: clean up writing functions
1256
1257 * kernel: no allocation on write in direct_io mode
1258
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001259 * move linux/fuse.h to fuse_kernel.h
1260
Miklos Szeredi83a07442004-11-30 18:25:20 +000012612004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1262
1263 * kernel: clean up reading functions
1264
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000012652004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1266
1267 * kernel: make readpage() uninterruptible
1268
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001269 * kernel: check readonly filesystem flag in fuse_permission
1270
1271 * lib: don't die if version file not found and new style device
1272 exists
1273
1274 * lib: add '-r' option, which is short for '-o ro'
1275
1276 * fusermount: simplify device opening
1277
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001278 * kernel: when direct_io is turend on, copy data directly to
1279 destination without itermediate buffer. More efficient and safer,
1280 since no allocation is done.
1281
1282 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001283
1284 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001285
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000012862004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1287
1288 * libfuse API change: open, read, write, flush, fsync and release
1289 are passed a 'struct fuse_file_info' pointer containing the open
1290 flags (open and release), and the file handle. Verion changed to
1291 3.0.
1292
Miklos Szeredia25d4c22004-11-23 22:32:16 +000012932004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1294
1295 * More cleanups in the kernel
1296
1297 * The 10,229 charater device number has been assigned for FUSE
1298
1299 * Version file checking fix (reported by Christian Magnusson)
1300
1301 * fusermount: opening the fuse device now doesn't need /sys.
1302
1303 * Optimize reading by controlling the maximum readahead based on
1304 the 'max_read' mount option
1305
1306 * fixes for UCLIBC (Christian Magnusson)
1307
Miklos Szeredi13ed4822004-11-20 11:12:21 +000013082004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1309
1310 * Cleaned up kernel in preparation for merge into mainline:
1311
1312 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1313
1314 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1315
1316 * __user annotations for sparse
1317
1318 * allocate individual pages instead of kmalloc in fuse_readdir,
1319 fuse_read and fuse_write.
1320
1321 * Fix NFS export in case "use_ino" mount option is given
1322
Miklos Szeredif3845c42004-11-20 11:18:34 +00001323 * Make libfuse and fusermount compatible with future versions
1324
1325 * fusermount: properly add mount options to /etc/mtab
1326
13272004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1328
1329 * fusermount: do not resolve last component of mountpoint on if it
1330 is '.' or '..'. This new path resolvation is now done on mount as
1331 well as unmount. This enables relative paths to work on unmount.
1332
1333 * fusermount: parse common mount options like "ro", "rw", etc...
1334
1335 * Allow module params to be changed through sysfs
1336
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000013372004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1338
1339 * Released 2.1-pre1
1340
13412004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1342
1343 * Fix bug in fuse_readpages() causing Oops in certain situations.
1344 Bug found by Vincenzo Ciancia.
1345
1346 * Fix compilation with kernels versions > 2.6.9.
1347
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000013482004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001349
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001350 * Check kernel interface version in fusermount to prevent
1351 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001352
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001353 * No need to allocate fuse_conn until actual mount happens
1354
1355 * Fix potential race between umount and fuse_invalidate
1356
1357 * Check superblock of proc file in addition to inode number
1358
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001359 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001360
Miklos Szeredi51ec1032004-11-10 11:52:26 +000013612004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1362
1363 * Separate configure for the kernel directory
1364
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001365 * Don't allow write to return more than 'count'
1366
1367 * Extend kernel interface for future use
1368
Miklos Szeredi51ec1032004-11-10 11:52:26 +000013692004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1370
1371 * Fix 'makeconf.sh' to use autoreconf if available
1372
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000013732004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1374
Miklos Szeredid507c732004-11-08 17:32:25 +00001375 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1376 compatibility with earlier versions. To compile earier versions
1377 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1378 Do not use the "use_ino" mount flag with filesystems compiled with
1379 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001380
1381 * Add pkg-config support. To compile a FUSE based filesystem you
1382 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1383 or similar. Note, that the PKG_CONFIG_PATH environment variable
1384 usually needs to be set to "/usr/local/lib/pkgconfig".
1385
1386 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001387
Miklos Szeredia13d9002004-11-02 17:32:03 +000013882004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1389
1390 * Added "use_ino" mount option. This enables the filesystems to
1391 set the st_ino field on files
1392
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000013932004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1394
1395 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1396 by Jeremy Smith)
1397
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001398 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1399
1400 * Clear the 'exited' flag when mail loop is finished
1401
Miklos Szeredie989f0d2004-10-28 20:24:58 +000014022004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1403
1404 * Make xattr functions work under 2.6 (bug found by Vincenzo
1405 Ciancia)
1406
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000014072004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1408
1409 * Reset request in fuse_flush() (bugreport by David Shaw)
1410
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000014112004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1412
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001413 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001414 error code
1415
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001416 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001417 make it easier to implement a custom event loop.
1418
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001419 * Use daemon() call to background the filesystem after mounting.
1420 This function closes the standard input, output and error and
1421 changes the current working directory to "/".
1422
Miklos Szeredi127d49b2004-10-14 13:33:39 +000014232004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1424
1425 * Released 1.9
1426
Miklos Szeredid45baf42004-10-10 07:56:12 +000014272004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1428
1429 * Don't allow fuse_flush() to be interrupted (bug found by David
1430 Shaw)
1431
Miklos Szeredi1f18db52004-09-27 06:54:49 +000014322004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1433
1434 * Add PID to fuse_context. Patch by Steven James
1435
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001436 * Change file handle type to 'unsigned long' in kernel interface
1437
Miklos Szeredid169f312004-09-22 08:48:26 +000014382004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1439
1440 * A slight API change: fuse_get_context() doesn't need the "fuse"
1441 pointer, but the returned context contains it instead. The
1442 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001443
1444 * Fix mounting and umounting FUSE filesystem under another FUSE
1445 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001446
Miklos Szeredic2309912004-09-21 13:40:38 +000014472004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1448
1449 * Fix deadlock in case of memory allocation failure. Patch by
1450 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001451
Miklos Szeredib2cf9562004-09-16 08:42:40 +000014522004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1453
1454 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001455
Miklos Szeredi65afea12004-09-14 07:13:45 +000014562004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1457
1458 * Check temporary file creation failure in do_getdir(). Bug
1459 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001460
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000014612004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1462
1463 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001464
1465 * Make requests non-interruptible so race with FORGET is avoided.
1466 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001467
1468 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001469
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000014702004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1471
1472 * Fix bug in case two FORGETs for the same node are executed in
1473 the wrong order. Bug spotted and endured for months by Franco
1474 Broi, and logfile for solution provided by Terje Oseberg
1475
Miklos Szeredi12085102004-09-02 18:13:57 +000014762004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1477
1478 * Add -D_REENTRANT to the compile flags
1479
1480 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001481
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000014822004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1483
1484 * Change release method to be non-interruptible. Fixes bug
1485 causing missing release() call when program which has opened files
1486 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001487
Miklos Szeredi891b8742004-07-29 09:27:49 +000014882004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1489
1490 * Add fuse_invalidate() to library API
1491
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000014922004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1493
1494 * Check permissions in setattr if 'default_permissions' flag is
1495 set. Bug spotted by Damjan Lango
1496
Miklos Szeredid66d3942004-07-24 13:47:44 +000014972004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1498
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001499 * 'large_read' mount option removed for 2.6 kernels, since the
1500 default (dynamic read size) is better
1501
1502 * Extend kernel API with file handles. A file handle is returned
1503 by open, and passed to read, write, flush, fsync and release.
1504 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001505
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001506 * Security changes:
1507
1508 * Change the current directory to the mountpoint before checking
1509 the permissions and mount filesystem on "."
1510
1511 * By default don't modprobe the fuse module for non-root. The old
1512 behavior can be restored with the '--enable-auto-modprobe' flag of
1513 ./configure
1514
1515 * By default don't allow shared writable mappings for non-root.
1516 The old behavior can be restored with the 'user_mmap=1' module
1517 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001518
Miklos Szeredibd7661b2004-07-23 17:16:29 +000015192004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1520
1521 * Clean up mount option passing to fusermount and to fuse_new()
1522 BEWARE: this changes the userspace API slightly, and the command
1523 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001524
Miklos Szeredi58865372004-07-20 14:22:26 +000015252004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1526
1527 * Optimize reading under 2.6 kernels by issuing multiple page
1528 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001529
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000015302004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1531
1532 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001533
Miklos Szeredi069c9502004-07-16 16:17:02 +000015342004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1535
1536 * Separate directory entry and inode attribute validity timer
1537
1538 * New write semaphore to stop page writeback during truncate
1539
1540 * Fsync now waits for all writes to complete before sending the
1541 request
1542
1543 * Optimization: if a page is completely written by
1544 fuse_commit_write(), clear the dirty flag and set the uptodate
1545 flag for that page
1546
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001547 * Some memory cleanup at exit
1548
Miklos Szeredi2529ca22004-07-13 15:36:52 +000015492004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1550
1551 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001552 disable the "hide if open" behavior of unlink/rename.
1553
1554 * If temporary buffer allocation fails in raw read, fall back to a
1555 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001556
Miklos Szeredi73798f92004-07-12 15:55:11 +000015572004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1558
1559 * Fix bug in do_open() in libfuse: open count was incremented
1560 after the reply is sent so it could race with unlink/forget and
1561 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001562
Miklos Szeredi015fe702004-07-12 11:52:24 +000015632004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1564
1565 * When performing create or remove operation, refresh the parent's
1566 attributes on next revalidate, as i_nlink (and maybe size/time)
1567 could be inacurate.
1568
1569 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1570 pages (2.6 only)
1571
1572 * Set set_page_dirty address space operation (2.6 only)
1573
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015742004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001575
1576 * Minor fix in read: print debug info even if read size is zero
1577
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015782004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001579
1580 * Fix race between truncate and writepage (fsx-linux now runs
1581 without error)
1582
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015832004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001584
1585 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1586 by Mattias Wadman)
1587
1588 * Added option for direct read/write (-r)
1589
1590 * Fix revalidate time setting for newly created inodes
1591
Miklos Szerediacb4d362004-07-02 16:20:45 +00001592 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1593 this)
1594
1595 * fuse_main() only installs handlers for signals (out of INT, HUP,
1596 TERM, PIPE), for which no handler has yet been installed
1597
1598 * Add module option 'user_allow_other' which if set to non-zero
1599 will allow non root user to specify the 'allow_other' mount option
1600 ('-x' option of fusermount)
1601
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001602 * Fix deadlock between page writeback completion and truncate
1603 (bug found by Valient Gough with the fsx-linux utility)
1604
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016052004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001606
1607 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001608 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1609 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001610
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016112004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001612
1613 * Acquire inode->i_sem before open and release methods to prevent
1614 concurrent rename or unlink operations.
1615
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001616 * Make __fuse_read_cmd() read only one command. This allows
1617 multiplexing the fuse file descriptor with other event sources
1618 using select() or poll() (patch by Jeff Harris)
1619
1620 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1621
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016222004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001623
1624 * Fix file offset wrap around at 4G when doing large reads
1625
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016262004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001627
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001628 * Fix memory leak in open (Valient Gough)
1629
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016302004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001631
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001632 * Add "close after delete" support to libfuse (patch by Valient
1633 Gough)
1634
1635 * Cancel all worker threads before exit in multithreaded mode
1636
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016372004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001638
1639 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001640
1641 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001642
1643 * Work with newer libtool (1.5a)
1644
1645 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001646
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016472004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001648
1649 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001650
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016512004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001652
1653 * Fix possible inode leak in userspace in case of unfinished
1654 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001655
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016562004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001657
1658 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001659
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016602004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001661
1662 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001663
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016642004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001665
1666 * Build shared library as well as static (using libtool)
1667
1668 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1669 there has not been a release with the previous minor number, and I
1670 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001671
1672 * Change fuse_main(), so that default behavior is to go into
1673 background if mount is successful. '-f' and '-d' options disable
1674 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1675 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001676
1677 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1678 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001679
1680 * Don't call getdir method from open() only from first readdir().
1681 Open is sometimes just used to store the current directory
1682 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001683
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016842004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001685
1686 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001687
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016882004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001689
1690 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001691
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016922004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001693
1694 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001695
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016962004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001697
1698 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001699
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017002004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001701
1702 * Replaced binary mount data with text options
1703
1704 * Show FUSE specific mount options in /proc/mounts
1705
1706 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017082004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001709
1710 * Check some limits so userspace won't get too big requests
1711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017122004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001713
1714 * Kill compile warning
1715
1716 * Upgraded user-mount patch for 2.6.5
1717
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017182004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001719
1720 * Add detection of user-mode-linux to configure
1721
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017222004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001723
1724 * fixed zero size case for getxattr and listxattr
1725
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017262004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001727
1728 * new fusermount flag '-z': lazy unmount, default is not lazy
1729
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001730 * Extended attributes operations added (getxattr, setxattr,
1731 listxattr, removexattr)
1732
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017332004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001734
1735 * If filesystem doesn't define a statfs operation, then an
1736 all-zero default statfs is returned instead of ENOSYS
1737
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017382004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001739
1740 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1741
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017422004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001743
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001744 * Fix for uClinux (Christian Magnusson)
1745
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017462004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001747
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001748 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001749
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001750 * More kernel interface changes:
1751
1752 * Lookup/getattr return cache timeout values
1753
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017542004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001755
1756 * Clean up option parsing in fuse_main()
1757
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001758 * Added fuse_get() function which returns the fuse object created
1759 by fuse_main()
1760
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017612004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001762
Miklos Szeredic40748a2004-02-20 16:38:45 +00001763 * removed old way of mounting (fusermount mountpoint program)
1764
Miklos Szeredib5958612004-02-20 14:10:49 +00001765 * more kernel interface changes:
1766
1767 * added nanosecond precision to file times
1768
Miklos Szeredic40748a2004-02-20 16:38:45 +00001769 * removed interface version from mount data
1770
1771 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1772
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017732004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001774
1775 * statfs library API changed to match other methods. Since this
1776 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1777
Miklos Szeredi76f65782004-02-19 16:55:40 +00001778 * kernel interface changes follow:
1779
1780 * statfs changed to 64 bits, added 'bavail' field
1781
1782 * add generation number to lookup result
1783
1784 * optimized mknod/mkdir/symlink/link (no separate lookup is
1785 needed)
1786
1787 * rdev size increased to 32 bits for mknod
1788
1789 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001790
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017912004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001792
1793 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001794
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017952004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001796
1797 * Added user-mount.2.6.2-rc3.patch
1798
1799 * Add FS_SAFE flag to fuse filesystem
1800
1801 * fusermount should allow (un)mounting for non-root even if not
1802 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001803
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018042004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001805
1806 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001807
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018082004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001809
1810 * Added check for i_size_read/write functions to configure.in
1811 (patch by Valient Gough)
1812
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018132004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001814
1815 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001816
1817 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001818
1819 * Readpage calls flush_dcache_page() after storing data
1820
1821 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001822
1823 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001824
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018252004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001826
1827 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001828
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018292004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001830
1831 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001832
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018332004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001834
1835 * Added -q option for fusermount
1836
1837 * fuse_unmount() now uses -q option of fusermount, so no error is
1838 printed if the cause of the program exit is that the filesystem
1839 has already been unmounted
1840
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001841 * Fix i_nlink correctness after rmdir/unlink
1842
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018432004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001844
Miklos Szeredib1158392004-01-26 14:43:12 +00001845 * Released 1.1-pre2
1846
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018472004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001848
Miklos Szeredi307242f2004-01-26 11:28:44 +00001849 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001850
1851 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001852
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018532004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001854
1855 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001856
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018572004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001858
1859 * Write all pending data before a RELEASE operation
1860
1861 * Suppress 'Bad file descriptor' warning on exit
1862
1863 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001864 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001865
Miklos Szeredib1158392004-01-26 14:43:12 +00001866 * New fusermount option '-l' which enables big reads. Big reads
1867 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001868
1869 * fuse_main() can accept fusermount arguments after a '--'
1870
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018712004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001872
1873 * Support for exporting filesystem over NFS (see README.NFS)
1874
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018752004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001876
1877 * Support non-blocking writepage on 2.6. This makes FUSE behave
1878 much more nicely in low-memory situations
1879
1880 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1881 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001882
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018832004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001884
1885 * Code cleanups
1886
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018872004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001888
1889 * Released 1.1-pre1
1890
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018912004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001892
1893 * Integrated 2.6 kernel support patch by Michael Grigoriev
1894
1895 * Improvements and cleanups for 2.6 kernels
1896
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018972004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001898
Miklos Szeredie5183742005-02-02 11:14:04 +00001899 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001900
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019012003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001902
1903 * Added major+minor version to library API, and minor version to
1904 kernel API
1905
David McNab7a19caf2003-12-13 02:05:46 +000019062003-12-13 David McNab <david@rebirthing.co.nz>
1907
1908 * Implemented fsync support in examples/example.py
1909
1910 * Implemented 'fsync' and 'statfs' methods in python
1911 interface
1912
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019132003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001914
Miklos Szeredie5183742005-02-02 11:14:04 +00001915 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001916
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001917 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001918
David McNab8bf62632003-12-11 22:49:22 +000019192003-12-12 David McNab <david@rebirthing.co.nz>
1920
1921 * Added distutils support to the python module, as per standard
1922 python development practice
1923
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019242003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001925
1926 * Add file locking for mount/unmount (based on patch by Valient
1927 Gough)
1928
19292003-12-11 David McNab <david@rebirthing.co.nz>
1930
1931 * Python filesystem - was broken with python2.3, now fixed:
1932 - changed PyTuple_* calls to PySequence_*, because os.lstat
1933 is no longer returning a pure tuple
1934 - changed PyInt_Check() calls to also call PyLong_Check,
1935 to cover for cases (eg os.lstat) where longs are returned
1936 - Added support for file 'release' handling, which IMO is
1937 essential since this signals to a FS that writes to a file
1938 are complete (and therefore the file can now be disposed of
1939 meaningfully at the python filesystem's discretion)
1940 - Added '__init__' handler to base Fuse class, which allows
1941 your Python class to know the mountpoint and mount args,
1942 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001943
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001944 * General:
1945 - added 'mount.fuse' script (in util/ dir), which is meant to be
1946 symlinked from /sbin, and which allows FUSE filesystems to
1947 be mounted with the 'mount' command, and listed in fstab;
1948 also, mount arguments get passed to your filesystem
1949
1950
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019512003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001952
1953 * Fix kernel version detection (again). Bugreport by Peter Levart
1954
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019552003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001956
1957 * Applied read combining patch by Michael Grigoriev (tested by
1958 Valient Gough and Vincent Wagelaar)
1959
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019602003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001961
1962 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1963 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001964
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019652003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001966
1967 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001968
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019692003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001970
1971 * kernel version detection fix
1972
1973 * fusermount now uses "lazy" umount option
1974
1975 * fusermount can use modprobe with module-init-tools
1976
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019772003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001978
1979 * Integrated caching patch by Michael Grigoriev
1980
Miklos Szeredida4e4862003-09-08 11:14:11 +00001981 * Added "Filesystems" file with descriptions of projects using
1982 FUSE
1983
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001984 * Added patch by Michael Grigoriev to allow compliation of FUSE
1985 kernel module for 2.6 kernels
1986
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019872003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001988
1989 * And another spec-file fix by Achim Settelmeier
1990
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019912003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001992
1993 * Spec-file fix by Achim Settelmeier
1994
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019952003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001996
Miklos Szerediac361172004-11-02 19:14:14 +00001997 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001998
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019992003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002000
2001 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020032003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002004
2005 * Updated fuse.spec file (Achim Settelmeier)
2006
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020072003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002008
2009 * Version 1.0 released
2010
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020112003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002012
2013 * SuSE compilation fix by Juan-Mariano de Goyeneche
2014
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020152002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002016
2017 * The release() VFS call is now exported to the FUSE interface
2018
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020192002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002020
2021 * 64 bit file offset fixes in the fuse kernel module
2022
2023 * Added function 'fuse_exit()' which can be used to exit the main
2024 loop
2025
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020262002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002027
2028 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2029 an incompatible interface change.
2030
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020312002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002032
2033 * Portablility fix (bug reported by C. Chris Erway)
2034
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020352002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002036
2037 * Use Mark Glines' fd passing method for default operation instead
2038 of old reexec
2039
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020402002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002041
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002042 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2043
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020442002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002045
Miklos Szeredi60c23522002-10-24 09:19:43 +00002046 * fix incompatiblity with Red Hat kernels, with help from Nathan
2047 Thompson-Amato.
2048
Mark Glines65ba2192002-04-18 14:41:48 +000020492002-04-18 Mark Glines <mark@glines.org>
2050
2051 * added an alternative to fuse_mount(), called
2052 fuse_mount_ioslave(), which does not need to reexec the
2053 FUSE program.
2054 * added a small helper util needed by fuse_mount_ioslave().
2055
Mark Glines220635a2002-03-17 07:01:14 +000020562002-03-16 Mark Glines <mark@glines.org>
2057
2058 * use struct fuse_statfs everywhere possible to avoid problems
2059 with the headerfiles changing struct statfs member sizes
2060
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020612002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002062
2063 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2064
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020652002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002066
2067 * RPM support by Achim Settelmeier
2068
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020692002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002070
Miklos Szerediddc862a2002-01-09 13:46:10 +00002071 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002072
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020732002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002074
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002075 * Revaidate all path components not just the last, this means a
2076 very small performance penalty for being more up-to-date.
2077
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020782002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002079
2080 * Update and fix python interface
2081
Mark Glinesd84b39a2002-01-07 16:32:02 +000020822002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002083
Mark Glinesd84b39a2002-01-07 16:32:02 +00002084 * Added statfs() support to kernel, lib, examples, and perl!
2085
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020862001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002087
2088 * Better cross compilation support
2089
2090 * Ported to Compaq IPAQ
2091
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020922001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002093
Miklos Szeredife25def2001-12-20 15:38:05 +00002094 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002095 patch from Matt Ryan)
2096
Miklos Szeredife25def2001-12-20 15:38:05 +00002097 * Added flags to fusermount and to kernel interface to control
2098 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002099
Miklos Szeredife25def2001-12-20 15:38:05 +00002100 * Integrated fuse_set_operations() into fuse_new()
2101
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021022001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002103
2104 * Applied header protection + extern "C" patch by Roland
2105 Bauerschmidt
2106
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021072001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002108
Miklos Szeredie5183742005-02-02 11:14:04 +00002109 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002110
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021112001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002112
2113 * Cleaned up way of mounting simple filesystems.
2114
2115 * fuse_main() helper function added
2116
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021172001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002118
Miklos Szeredife25def2001-12-20 15:38:05 +00002119 * Optimized read/write operations, so that minimal copying of data
2120 is done
2121
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021222001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002123
2124 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002125
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021262001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002127
2128 * Fixed vfsmount reference leak in fuse_follow_link
2129
2130 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2131 userspace is ignored
2132
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021332001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002134
Miklos Szeredife25def2001-12-20 15:38:05 +00002135 * Started ChangeLog