blob: 7a53ceae1dee9c5c3d54c04239333f35e7320092 [file] [log] [blame]
Csaba Henk3e3a1252006-09-24 14:53:29 +000012006-09-24 Csaba Henk <csaba.henk@creo.hu>
2
3 * Add support for nanosec times on FreeBSD
4
5 * Fix FreeBSD compatibility issues
6
Miklos Szeredieafdf422006-09-22 19:30:17 +000072006-09-22 Miklos Szeredi <miklos@szeredi.hu>
8
9 * Fix compatibility bugs in low level interface. Reported by
10 Ricardo Correia
11
12 * Add workaround for ARM caching bug
13
Miklos Szeredic3b76812006-09-16 08:52:09 +0000142006-09-16 Miklos Szeredi <miklos@szeredi.hu>
15
16 * Rename new utimes() method to more logical utimens()
17
182006-09-14 Miklos Szeredi <miklos@szeredi.hu>
19
20 * Fuse tried to unlink already unlinked hidden files. Bug
21 reported by Milan Svoboda
22
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +0000232006-09-10 Miklos Szeredi <miklos@szeredi.hu>
24
25 * Released 2.6.0-rc1
26
272006-09-10 Miklos Szeredi <miklos@szeredi.hu>
28
29 * kernel: Fix unlock on close for kernels < 2.6.18
30
31 * Add ulockmgr library & server. This can be used for handling
32 file locking requests either directly from libfuse or over a
33 network, etc. This first version is not optimized and the number
34 of file descriptors it uses may get out of hand
35
Miklos Szeredi288ed4e2006-09-07 06:02:44 +0000362006-09-07 Miklos Szeredi <miklos@szeredi.hu>
37
38 * lib: Add interrupt support to high level library, which may be
39 enabled with the 'intr' mount option.
40
41 * When an operation is interrupted the thread handling that
42 operation will receive SIGUSR1 (or other signal specified with the
43 'intr_signal=N' option). The library installs a no-op signal
44 handler for this signal, unless there's already a handler
45 installed.
46
47 * The filesystem may query interrupt status (regardless of 'intr')
48 with the fuse_interrupted() function.
49
Miklos Szeredid8588412006-09-07 06:08:56 +000050 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
51
Miklos Szeredi38f152c2006-09-03 18:28:52 +0000522006-09-03 Miklos Szeredi <miklos@szeredi.hu>
53
54 * lib: Multithreaded loop now allows unlimited number of threads.
55 This is needed for locking operations which may block
56 indefinitely. Also the kernel now doesn't limit the number of
57 outstanding requests so the library shouldn't do so either.
58
Miklos Szeredifa440772006-09-02 09:51:08 +0000592006-09-01 Miklos Szeredi <miklos@szeredi.hu>
60
61 * Fix recursive lock bug in interrupt handling
62
63 * Add utimes() method to highlevel interface, which supports
64 setting times with nanosecond resolution
65
Miklos Szeredi63d3c402006-08-18 16:38:08 +0000662006-08-18 Miklos Szeredi <miklos@szeredi.hu>
67
68 * kernel: fix page leak if fuse_readpages() failed in it's
69 initialization. Bug found and original patch from Alexander
70 Zarochentsev
71
Miklos Szeredi3ded1a32006-08-18 18:43:50 +000072 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
73 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +000074 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +000075
Miklos Szeredi543087d2006-08-18 19:26:23 +000076 * fusermount: try to modprobe fuse module if invoked by root and
77 unable to open device. This is needed with udev, since the device
78 node will be created only when the module is inserted, hence
79 module autoloading won't work. Reported by Szakacsits Szabolcs
80
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000812006-07-30 Miklos Szeredi <miklos@szeredi.hu>
82
83 * fusermount: if selinux is active, restore the original file's
84 security context in unmount_rename(). Redhat bugzilla id 188561.
85 Patch from Yves Perrenoud
86
87 * Add POSIX file locking operation to high level library
88
Miklos Szerediad519562006-07-31 11:07:40 +000089 * Initialize context for unlink of hidden files on umount. Bug
90 reported by Tim Stoakes
91
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000922006-07-14 Miklos Szeredi <miklos@szeredi.hu>
93
94 * Multiple release() calls can race with each other, resulting in
95 the hidden file being deleted before the last release finishes.
96 Bug found and patch tested by Mark Huijgen
97
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000982006-07-05 Miklos Szeredi <miklos@szeredi.hu>
99
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000100 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
101 this makes sense on systems using udev. Reported by Szakacsits
102 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000103
Miklos Szeredi91762cd2006-06-29 14:38:35 +00001042006-06-29 Miklos Szeredi <miklos@szeredi.hu>
105
106 * Released 2.6.0-pre3
107
1082006-06-29 Miklos Szeredi <miklos@szeredi.hu>
109
110 * Support in kernel module for file locking and interruption. The
111 same functionality is available in official kernels >= 2.6.18
112
Miklos Szeredib052a1a2006-06-28 14:51:20 +00001132006-06-28 Miklos Szeredi <miklos@szeredi.hu>
114
115 * Add POSIX file locking support
116
117 * Add request interruption
118
Miklos Szeredi55a84102006-06-06 10:16:38 +00001192006-06-06 Miklos Szeredi <miklos@szeredi.hu>
120
121 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
122
Miklos Szeredi9dedb702006-06-06 09:48:30 +00001232006-06-05 Remy Blank <remy.blank@pobox.com>
124
125 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
126 unmounting succeeds even if mount point was relative.
127
Csaba Henkd021ce42006-06-03 23:04:18 +00001282006-06-04 Csaba Henk <csaba.henk@creo.hu>
129
130 * lib: fix emergency umount in helper.c when malloc fails.
131 (The way it was done would end up in a segfault.)
132
Csaba Henk4f5c7b42006-06-01 14:19:17 +00001332006-06-01 Csaba Henk <csaba.henk@creo.hu>
134
135 * lib: adjust threading related compiler flags.
136 Switch to "-pthread" from "-lpthread" as that's the preferred
137 one on several platforms. Consulted with Terrence Cole and
138 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000139
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00001402006-05-08 Miklos Szeredi <miklos@szeredi.hu>
141
142 * lib: search fusermount in installation directory (bindir) as
143 well as in PATH.
144
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00001452006-05-03 Miklos Szeredi <miklos@szeredi.hu>
146
147 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
148 Reported by Christian Magnusson
149
Csaba Henk2efe48f2006-04-22 22:46:52 +00001502006-04-23 Csaba Henk <csaba.henk@creo.hu>
151
152 * lib: make FreeBSD mount routine recognize if kernel features
153 backgrounded init and if it does, run the mount util in foreground
154 (similarly to Linux)
155
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00001562006-04-21 Miklos Szeredi <miklos@szeredi.hu>
157
158 * kernel: fix fput deadlock fix, the lockless solution could lead
159 to "VFS: busy inodes after umount..."
160
161 * kernel: fix race between checking and setting file->private_data
162 for the device. Found by Al Viro
163
1642006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000165
166 * kernel: remove request pool, instead allocate requests on
167 demand. Account the number of background requests, and if they go
168 over a limit, block the allocation of new requests.
169
170 * kernel: fix deadlock if backgrounded request holds the last
171 reference to the super block
172
173 * kernel: don't use fuse_reset_request() during direct I/O
174
Csaba Henkbaa49d22006-04-06 00:12:44 +00001752006-04-06 Csaba Henk <csaba.henk@creo.hu>
176
177 * lib: Let FreeBSD mount option parsing routine recognize "no"
178 prefixes for FUSE specific options as well
179
Miklos Szeredid0a777a2006-04-05 07:18:00 +00001802006-04-01 Miklos Szeredi <miklos@szeredi.hu>
181
182 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
183
Miklos Szeredi6f385412006-03-17 15:05:40 +00001842006-03-17 Miklos Szeredi <miklos@szeredi.hu>
185
186 * API changes:
187
188 * fuse_main(), fuse_setup() and fuse_new() have an additionl
189 user_data parameter
190
191 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
192 file descriptor
193
194 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
195 destroys the given channel
196
197 * fuse_teardown() no longer has a file descriptor parameter
198
199 * new exported functions: fuse_session_remove_chan(),
200 fuse_get_session(), fuse_daemonize()
201
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000202 * fuse_chan_recv() may now return a new channel which will be used
203 to send the reply
204
Miklos Szeredif51e43f2006-03-16 14:19:25 +00002052006-03-16 Miklos Szeredi <miklos@szeredi.hu>
206
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000207 * Released 2.6.0-pre2
208
2092006-03-16 Miklos Szeredi <miklos@szeredi.hu>
210
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000211 * Don't unmount if already unmounted. This fixes a problem seen
212 in the following situation: Lazy unmount a busy filesystem; Mount
213 a new one in top; When the first finally unmounts, the second also
214 unmounts. Reported by Franco Broi
215
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00002162006-03-15 Miklos Szeredi <miklos@szeredi.hu>
217
218 * lowlevel lib: use indirect function calls instead of a
219 switch/case construct. Besides increased efficiency it helps
220 maintainability & readability too. Patch from Florin Malita
221
Miklos Szeredi67d26d42006-03-13 17:39:56 +00002222006-03-13 Miklos Szeredi <miklos@szeredi.hu>
223
224 * kernel: replace global spinlock with a per-connection spinlock
225
Miklos Szeredi87c77932006-03-10 10:18:20 +00002262006-03-10 Miklos Szeredi <miklos@szeredi.hu>
227
228 * Fix source compatibility breakage for fuse_unmount(). Report
229 from Yura Pakhuchiy
230
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00002312006-03-02 Miklos Szeredi <miklos@szeredi.hu>
232
233 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
234
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00002352006-03-01 Miklos Szeredi <miklos@szeredi.hu>
236
237 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
238 Jeff Dike
239
240 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
241 interface to return -errno in case of error.
242
Csaba Henkee588c02006-03-01 09:40:35 +00002432006-03-01 Csaba Henk <csaba.henk@creo.hu>
244
245 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
246 FreeBSD implementation so that it uses libc (sysctl backed) instead
247 of an embdedded script (kmem backed). Adjust the control flow of
248 hello_ll so that device doesn't get closed before unmount attempt.
249
Miklos Szerediaa8258e2006-02-25 14:42:03 +00002502006-02-25 Miklos Szeredi <miklos@szeredi.hu>
251
252 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
253 implement method. This is needed on FreeBSD, and nicer on Linux
254 too. Highlevel lib already did this. Reported by Csaba Henk
255
256 * Fix negative entry handling. There was a bug, that negative
257 lookups with timeouts (nodeid == 0) returned -EIO.
258
2592006-02-23 Miklos Szeredi <miklos@szeredi.hu>
260
261 * Fix race between RELEASE and UNLINK, which might leave
262 .fuse_hidden* files around
263
Miklos Szeredi6bab4802006-02-21 18:31:29 +00002642006-02-21 Miklos Szeredi <miklos@szeredi.hu>
265
266 * fusexmp_fh: implement flush() method and call close() on the
267 open file descriptor. This is needed if used on an NFS
268 filesystem, which buffers data until file is closed. Franco Broi
269 spotted the situation when 'cp -p' failed to set the modification
270 time because of this.
271
Miklos Szeredie109e282006-02-20 11:06:20 +00002722006-02-20 Miklos Szeredi <miklos@szeredi.hu>
273
274 * Released 2.6.0-pre1
275
Miklos Szeredib67f2162006-02-20 10:55:33 +00002762006-02-19 Miklos Szeredi <miklos@szeredi.hu>
277
278 * libfuse: fix use-after-free bug in interruptred reply_entry().
279 Patch from John Muir
280
281 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
282 ID: 352631. Found by Stéphane Rosi
283
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00002842006-02-17 Miklos Szeredi <miklos@szeredi.hu>
285
286 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
287 into a single function fuse_add_direntry(). This cleans up the
288 interface and makes it possible to do stacking.
289
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00002902006-02-16 Miklos Szeredi <miklos@szeredi.hu>
291
292 * Fix rare race betweeen abort and release caused by failed iget()
293 in fuse_create_open().
294
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000295 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
296 own attribute caching.
297
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00002982006-02-15 Miklos Szeredi <miklos@szeredi.hu>
299
300 * Work around FreeBSD runtime linker "feature" which binds an old
301 version of a symbol to internal references if the symbol has more
302 than one version. This resulted in infinite recursion in
303 fuse_lowlevel_new_compat25().
304
Csaba Henkdcce3e52006-02-10 06:22:15 +00003052006-02-10 Csaba Henk <csaba.henk@creo.hu>
306
307 * Refine clock_gettime() querying so that linker options
308 shall be set as it's appropriate for the target platform.
309
Miklos Szeredi390ae312006-02-10 16:44:34 +00003102006-02-09 Miklos Szeredi <miklos@szeredi.hu>
311
312 * Fix udev rule syntax. Reported by Nix
313
Miklos Szeredieb643582006-02-08 10:54:02 +00003142006-02-08 Miklos Szeredi <miklos@szeredi.hu>
315
316 * In some cases udev rule seems to be ineffective when installed
317 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
318
Miklos Szeredi357529c2006-02-03 09:20:31 +00003192006-02-03 Miklos Szeredi <miklos@szeredi.hu>
320
321 * Fix compilation when build directory is different from source
322 directory. Reported by Frédéric L. W. Meunier
323
Miklos Szeredice28c7e2006-02-02 14:59:05 +00003242006-02-02 Miklos Szeredi <miklos@szeredi.hu>
325
326 * Fix even bigger bug introduced in fix for request_end() on
327 2006-01-14. Reported by Gal Rosen
328
Miklos Szeredi320abe42006-01-30 18:14:51 +00003292006-01-30 Miklos Szeredi <miklos@szeredi.hu>
330
331 * highlevel-lib: add 'auto_cache' option. This caches file data
332 based on modification time and size
333
Miklos Szeredi065f2222006-01-20 15:15:21 +00003342006-01-20 Miklos Szeredi <miklos@szeredi.hu>
335
Miklos Szeredid66b7282006-02-02 15:15:21 +0000336 * Sanitize storage type and help message in mount_bsd.c. Patch
337 from Csaba Henk
338
Miklos Szeredi065f2222006-01-20 15:15:21 +0000339 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
340 FUSE_OPT_KEY_DISCARD
341
342 * Add options 'max_readahead', 'sync_read' and 'async_read'
343
344 * Kernel ABI version 7.6:
345
346 * Negotiate the 'max_readahead' value and 'async_read' flags with
347 userspace in the INIT method
348
349 * Add connection info to ->init() methods to both lowlevel and
350 highlevel API
351
352 * Fall back to synchronous read() behavior if either library or
353 userspace filesystem is using the old interface version. This is
354 needed so non-updated filesystems won't be confused by the
355 different read() behavior
356
3572006-01-19 Miklos Szeredi <miklos@szeredi.hu>
358
359 * lib: if "fsname=" option was given, pass it to fusermount
360
361 * fuse_opt: add new fuse_opt_insert_arg() function, which is
362 needed by filesystems to implement some argument manipulations
363 correctly
364
365 * fuse_opt: fix memory leak in handling "--" option
366
3672006-01-18 Miklos Szeredi <miklos@szeredi.hu>
368
369 * kernel: fix detection of case when fuse is not configured into
370 the kernel either as module or built-in
371
372 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
373 'template' structure member to 'templ'. Reported by Takashi Iwai
374
375 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
376
377 * kernel: support version 2.6.16 (i_sem -> i_mutex)
378
Miklos Szeredi15af1b82006-01-16 17:52:24 +00003792006-01-16 Miklos Szeredi <miklos@szeredi.hu>
380
381 * Added (again) asynchronous readpages support
382
383 * Each connection now shows up under /sys/fs/fuse/connections
384
385 * Connection attributes exported to sysfs: 'waiting' number of
386 waiting requests; 'abort' abort the connection
387
388 * Connection may be aborted through either the sysfs interface or
389 with 'umount -f mountpoint'
390
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00003912006-01-14 Miklos Szeredi <miklos@szeredi.hu>
392
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000393 * Released 2.5.0
394
3952006-01-14 Miklos Szeredi <miklos@szeredi.hu>
396
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000397 * kernel: fix a couple of bugs
398
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000399 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000400 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000401 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000402
403 * request_end() used request pointer after decrementing refcount
404
405 * Clearing ->connected or ->mounted connection flags could race
406 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000407
Miklos Szeredia9820342006-01-10 10:54:11 +00004082006-01-10 Miklos Szeredi <miklos@szeredi.hu>
409
410 * kernel: add necessary compile flags for 2.4.X/x86_64.
411 Report from Sean Ziegeler
412
Miklos Szeredi35676b02006-01-09 10:13:28 +00004132006-01-09 Miklos Szeredi <miklos@szeredi.hu>
414
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000415 * Released 2.5.0-pre2
416
4172006-01-09 Miklos Szeredi <miklos@szeredi.hu>
418
Miklos Szeredi35676b02006-01-09 10:13:28 +0000419 * Applied patch from Csaba Henk, to update mount_bsd to new
420 fuse_mount() semantics
421
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000422 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
423 Steiner and Don Taber
424
Miklos Szeredicb075c82006-01-09 11:33:04 +0000425 * fusermount: add 'dirsync' mount option
426
Miklos Szerediad005972006-01-07 10:14:34 +00004272006-01-07 Miklos Szeredi <miklos@szeredi.hu>
428
429 * Improved help reporting and added version reporting to library
430
Miklos Szeredi0af762a2006-01-06 09:47:54 +00004312006-01-06 Miklos Szeredi <miklos@szeredi.hu>
432
433 * Change working directory to "/" even if running in the
434 foreground. Patch from Jonathan Brandmeyer
435
Miklos Szeredi95da8602006-01-06 18:29:40 +0000436 * Changed lots of functions to use 'struct fuse_args' instead of
437 separate argc and argv
438
439 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
440 fuse_remove_signal_handlers() functions, so that it's now pretty
441 easy to get all the functionality of fuse_main() with a filesystem
442 using the lowlevel API.
443
Miklos Szeredib8638182006-01-02 12:52:24 +00004442006-01-02 Miklos Szeredi <miklos@szeredi.hu>
445
Miklos Szeredif1941472006-01-02 16:27:48 +0000446 * mount.fuse: the 'user' option should be ignored. Report and
447 solution from Mattd.
448
449 * mount.fuse: export PATH in the right place. Report and patch
450 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000451
Miklos Szeredi73f41392005-12-16 11:12:16 +00004522005-12-16 Miklos Szeredi <miklos@szeredi.hu>
453
454 * Clean up the option parsing interface slightly, by creating an
455 "argument list" structure, that contains the argument vector and
456 count
457
Miklos Szeredi4e829092005-12-15 16:13:49 +00004582005-12-15 Miklos Szeredi <miklos@szeredi.hu>
459
460 * fusermount: check if /mnt/mtab is a symlink and don't modify it
461 in that case
462
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000463 * kernel: simplify request size limiting. INIT only contains
464 maximum write size, maximum path component size remains fixed at
465 1024 bytes, and maximum xattr size depends on read buffer.
466
Miklos Szeredie248e4b2005-12-14 16:18:32 +00004672005-12-14 Miklos Szeredi <miklos@szeredi.hu>
468
469 * Fix readdir() failure on x86_64, of 32bit programs compiled
470 without largefile support. Bug report and help from Anthony
471 Kolasny
472
Miklos Szeredi64709572005-12-14 22:16:28 +0000473 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000474 a regular file
475
476 * Add current output argument vector to option processing
477 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000478
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00004792005-12-12 Miklos Szeredi <miklos@szeredi.hu>
480
481 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
482
Miklos Szeredi659743b2005-12-09 17:41:42 +00004832005-12-09 Miklos Szeredi <miklos@szeredi.hu>
484
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000485 * Released 2.5.0-pre1
486
4872005-12-09 Miklos Szeredi <miklos@szeredi.hu>
488
Miklos Szeredi659743b2005-12-09 17:41:42 +0000489 * libfuse: added option parsing interface, defined in
490 <fuse_opt.h>.
491
Miklos Szeredic53cddd2005-12-07 12:57:59 +00004922005-12-07 Miklos Szeredi <miklos@szeredi.hu>
493
494 * Return EIO for file operations (read, write, fsync, flush) on
495 open files whose inode has become "bad". Inodes will be marked
496 "bad" if their type changes. Bug report by Csaba Henk
497
Miklos Szeredi044da2e2005-12-06 17:59:55 +00004982005-12-06 Miklos Szeredi <miklos@szeredi.hu>
499
500 * Use bigger request buffer size. write() did not work on archs
501 with > 4k page size, Bug report by Mark Haney
502
503 * ABI version 7.5:
504
505 * Extend INIT reply with data size limits
506
Miklos Szeredifa829b52005-12-02 11:05:41 +00005072005-12-02 Miklos Szeredi <miklos@szeredi.hu>
508
509 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
510 reported by Vincenzo Ciancia
511
512 * Handle exit-by-umount in fuse_read_cmd()
513
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00005142005-11-29 Miklos Szeredi <miklos@szeredi.hu>
515
516 * Check if '-msoft-float' option is supported by compiler when
517 configuring for a 2.4.x kernel. Bug report by Mark Haney
518
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000519 * In multithreaded loop send a TERM signal to the main thread if
520 one of the other threads exit. Needed on FreeBSD for a clean exit
521 on umount. Should not cause any harm on Linux either
522
Miklos Szerediead7f102005-11-28 16:02:27 +00005232005-11-28 Miklos Szeredi <miklos@szeredi.hu>
524
525 * Fix bug in 32-bit file handle compatibility
526
Miklos Szeredia90b7342005-11-27 19:22:42 +00005272005-11-27 Miklos Szeredi <miklos@szeredi.hu>
528
529 * Block TERM, INT, HUP and QUIT signals in all but the main
530 thread. According to POSIX it's not specified which thread will
531 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000532
533 * Kernel changes:
534
535 * Check for directory aliasing on mkdir, not just on lookup
536
537 * Check for special node ID values in create+open operation
538
539 * Sync with -mm: readv, writev, aio_read and aio_write methods
540 added to file operations
541
542 * Cleanups: lookup code, page offset calculation
543
544 * ABI stepped to 7.4, changes:
545
546 * frsize member added to fuse_kstatfs structure
547
548 * added support for negative entry caching: on lowlevel API if
549 fuse_entry_param::ino is set to zero in reply to a lookup request,
550 the kernel will cache the dentry for the specified amount of time.
551
552 * libfuse: added 'negative_timeout' option: specifies how much
553 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000554 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000555
Miklos Szeredibac4c772005-11-23 13:35:54 +00005562005-11-22 Miklos Szeredi <miklos@szeredi.hu>
557
558 * Add detection of mainline FUSE code in running kernel
559
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00005602005-11-21 Miklos Szeredi <miklos@szeredi.hu>
561
562 * Don't use async cancelation in multithreaded loop. This makes
563 it more portable to systems where read() is not async cancel safe.
564 Report from Andriy Gapon
565
Miklos Szeredi05c97842005-11-20 17:05:07 +00005662005-11-20 Miklos Szeredi <miklos@szeredi.hu>
567
568 * Warn if API version 11 compatibility is requested
569
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00005702005-11-17 Miklos Szeredi <miklos@szeredi.hu>
571
572 * More FreeBSD merge
573
Miklos Szeredi832ee442005-11-18 21:02:36 +0000574 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
575 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000576 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000577
578 * libfuse: don't use system() to invoke 'fusermount -u ...'
579 because it breaks mountpoints with spaces in them into multiple
580 arguments
581
Miklos Szeredib3f99722005-11-16 13:00:24 +00005822005-11-16 Miklos Szeredi <miklos@szeredi.hu>
583
584 * Merge library part of FreeBSD port. Patch by Csaba Henk
585
Miklos Szeredi3a770472005-11-11 21:32:42 +00005862005-11-11 Miklos Szeredi <miklos@szeredi.hu>
587
588 * Use 64bit type for file handle, so the full range supported by
589 the kernel interface is available to applications
590
Miklos Szeredibcc53852005-11-10 09:54:41 +00005912005-11-10 Miklos Szeredi <miklos@szeredi.hu>
592
593 * Moved mountpoint argument checking from fuse_parse_cmdline() to
594 fuse_mount() in preparation to FreeBSD merge.
595
Miklos Szeredi4ec06812005-11-08 13:04:27 +00005962005-11-08 Miklos Szeredi <miklos@szeredi.hu>
597
598 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
599 Henk.
600
Miklos Szeredic706ad92005-11-07 15:30:48 +00006012005-11-07 Miklos Szeredi <miklos@szeredi.hu>
602
603 * Make the statfs change backwards compatible.
604
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00006052005-11-06 Miklos Szeredi <miklos@szeredi.hu>
606
607 * Change ->statfs() method to use 'struct statvfs' instead of
608 'struct statfs'. This makes the API more portable since statvfs()
609 is defined by POSIX.
610
Miklos Szeredif7eec032005-10-28 13:09:50 +00006112005-10-28 Miklos Szeredi <miklos@szeredi.hu>
612
613 * Add fgetattr() method, which currently will only be called after
614 a successful call to a create() method.
615
Miklos Szeredib0b13d12005-10-26 12:53:25 +00006162005-10-26 Miklos Szeredi <miklos@szeredi.hu>
617
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000618 * Change kernel ABI version to 7.3
619
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000620 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000621 call if 'default_permissions' mount option is not given, and is
622 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000623
Miklos Szeredid9079a72005-10-26 15:29:06 +0000624 * Add atomic CREATE+OPEN operation. This will only work with
625 2.6.15 (presumably) or later Linux kernels.
626
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000627 * Add ftruncate() method. This will only work with 2.6.15
628 (presumably) or later Linux kernels.
629
630 * Fix kernel module compile if kernel source and build directories
631 differ. Report and initial patch by John Eastman
632
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00006332005-10-18 Miklos Szeredi <miklos@szeredi.hu>
634
635 * lib: optimize buffer reallocation in fill_dir.
636
Miklos Szeredic9daeb12005-10-17 10:19:21 +00006372005-10-17 Miklos Szeredi <miklos@szeredi.hu>
638
639 * Released 2.4.1
640
Miklos Szeredif412d072005-10-14 21:24:32 +00006412005-10-14 Miklos Szeredi <miklos@szeredi.hu>
642
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000643 * libfuse: add debug for write result (by Shaun Jackman) and
644 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000645
Miklos Szeredib75d4b92005-10-11 10:12:08 +00006462005-10-11 Miklos Szeredi <miklos@szeredi.hu>
647
648 * Spelling fixes, thanks to Ioannis Barkas
649
Miklos Szeredibaab5872005-10-10 08:41:14 +00006502005-10-10 Miklos Szeredi <miklos@szeredi.hu>
651
652 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
653 patch
654
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00006552005-10-07 Miklos Szeredi <miklos@szeredi.hu>
656
657 * highlevel-lib: init() and destroy() methods didn't have an
658 initialized fuse_context. Bug reported by Tim Stoakes
659
Miklos Szeredif2491122005-10-04 10:10:41 +00006602005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000661
662 * Released 2.4.0
663
Miklos Szeredi836ab712005-10-03 14:11:59 +00006642005-10-03 Miklos Szeredi <miklos@szeredi.hu>
665
666 * Add documentation to fuse_lowlevel.h
667
668 * API cleanups:
669
670 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
671
672 * Move fuse_mount() and fuse_unmount() to fuse_common.h
673
674 * Change the return type of fuse_reply_none() from int to void.
675
Miklos Szerediaf138742005-09-30 08:49:59 +00006762005-09-30 Miklos Szeredi <miklos@szeredi.hu>
677
678 * kernel: NFS exporting leaked dentries. Bug found and fixed by
679 Akshat Aranya.
680
Miklos Szeredidb016e02005-09-29 10:06:27 +00006812005-09-29 Miklos Szeredi <miklos@szeredi.hu>
682
683 * fusermount: fix error message, when unable to open /dev/fuse.
684 Report by Balázs Pozsár
685
Miklos Szeredi35200932005-09-28 14:50:49 +00006862005-09-28 Miklos Szeredi <miklos@szeredi.hu>
687
688 * UClibc fixes from Christian Magnusson
689
Miklos Szeredi8eddf642005-09-27 08:58:26 +00006902005-09-27 Miklos Szeredi <miklos@szeredi.hu>
691
692 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
693
Miklos Szerediedec95c2005-09-26 10:22:22 +00006942005-09-26 Miklos Szeredi <miklos@szeredi.hu>
695
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000696 * Released 2.4.0-rc1
697
6982005-09-26 Miklos Szeredi <miklos@szeredi.hu>
699
Miklos Szerediedec95c2005-09-26 10:22:22 +0000700 * fusermount: allow user umount in the case when /etc/mtab is a
701 symlink to /proc/mounts. Reported by Balázs Pozsár.
702
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00007032005-09-23 Miklos Szeredi <miklos@szeredi.hu>
704
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000705 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000706
Miklos Szeredif45f3c12005-09-22 15:14:27 +00007072005-09-22 Miklos Szeredi <miklos@szeredi.hu>
708
709 * Slight optimization in returning EINVAL error in case of an open
710 with O_DIRECT flag.
711
Miklos Szeredi670d07a2005-09-20 11:36:32 +00007122005-09-20 Miklos Szeredi <miklos@szeredi.hu>
713
714 * Remove '--enable-auto-modprobe' configure flag. Module
715 auto-loading is now handled by the kernel.
716
Miklos Szeredid51fca12005-09-15 12:51:00 +00007172005-09-15 Miklos Szeredi <miklos@szeredi.hu>
718
719 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
720 Help from Jens M. Noedler.
721
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00007222005-09-14 Miklos Szeredi <miklos@szeredi.hu>
723
724 * Add memory cleanup on thread exit
725
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00007262005-09-13 Miklos Szeredi <miklos@szeredi.hu>
727
728 * Set umask to zero in fusexmp and fusexmp_fh, so that
729 files/directories are created with the requested mode.
730
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00007312005-09-12 Miklos Szeredi <miklos@szeredi.hu>
732
733 * Don't ignore read error in multithreaded loop
734
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00007352005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000736
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000737 * Released 2.4.0-pre2
738
7392005-09-08 Miklos Szeredi <miklos@szeredi.hu>
740
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000741 * Revert lock and access operations. Postpone these until 2.5.
742
7432005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000744
745 * Fix compile warning on 2.6.13 and later
746
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000747 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000748
Miklos Szeredi77ccf652005-08-19 14:40:27 +00007492005-08-19 Miklos Szeredi <miklos@szeredi.hu>
750
751 * lib: always refresh directory contents after rewinddir() to
752 conform to SUS. Bug found by John Muir.
753
Miklos Szeredia1482422005-08-14 23:00:27 +00007542005-08-15 Miklos Szeredi <miklos@szeredi.hu>
755
Miklos Szeredic43f9412005-08-15 15:10:48 +0000756 * Released 2.4.0-pre1
757
7582005-08-14 Miklos Szeredi <miklos@szeredi.hu>
759
Miklos Szeredia1482422005-08-14 23:00:27 +0000760 * lib: cleaned up (or messed up, depending on your POV) the low
761 level library API. Hopefully this is close to the final form.
762
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00007632005-08-05 Miklos Szeredi <miklos@szeredi.hu>
764
765 * fusermount: don't allow empty mountpoint argument, which defeats
766 automatic umounting in fuse_main(). Bugreport by Václav Jůza
767
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00007682005-08-03 Miklos Szeredi <miklos@szeredi.hu>
769
770 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
771 option is used (Paul Alfille).
772
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00007732005-08-02 Miklos Szeredi <miklos@szeredi.hu>
774
775 * highlevel-lib: added mount options "attr_timeout" and
776 "entry_timeout". These options control the length of time file
777 attributes and entries (names) are cached. Both default to 1.0
778 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000779
780 * kernel: correctly handle zero timeout for attributes and entries
781
Miklos Szeredi56a61f02005-08-01 10:42:25 +00007822005-08-01 Miklos Szeredi <miklos@szeredi.hu>
783
784 * Added missing symbols to versionscript (Joshua J. Berry)
785
Miklos Szeredie77cc072005-08-01 11:58:51 +0000786 * kernel: implement two flags, open can set: 'direct_io' and
787 'keep_cache'. These correspond exactly to mount options
788 'direct_io' and 'kernel_cache', but allow a per-open setting.
789
790 * Move 'direct_io' and 'kernel_cache' mount option handling to
791 userspace. For both mount options, if the option is given, then
792 the respective open flag is set, otherwise the open flag is left
793 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000794
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000795 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000796
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00007972005-07-28 Miklos Szeredi <miklos@szeredi.hu>
798
799 * kernel: invalidate attributes for read/readdir/readlink
800 operations
801
802 * kernel: detect newer UML kernels
803
Miklos Szeredibfb99462005-07-26 11:07:55 +00008042005-07-26 Miklos Szeredi <miklos@szeredi.hu>
805
806 * Make the installation path of fuse.ko and mount.fuse
807 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
808 environment variables. Requirement and help from Csaba Henk.
809
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00008102005-07-22 Miklos Szeredi <miklos@szeredi.hu>
811
812 * Fix bug, that causes filesystem requests to hang when unique
813 request counter becomes negative. This happens after
814 2,147,483,648 operations, so most people won't care. Thanks to
815 Franco Broi for the report and testing.
816
Miklos Szeredi9b813af2005-07-21 07:59:37 +00008172005-07-21 Miklos Szeredi <miklos@szeredi.hu>
818
819 * Don't change mtime/ctime/atime to local time on read/write.
820 Bug reported by Ben Grimm
821
822 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
823 Magnusson
824
825 * fusermount: use getopt_long() for option parsing. It allows the
826 use of '--' to stop argument scanning, so fusermount can now
827 operate on directories whose names begin with a '-'. Patch by
828 Adam Connell
829
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00008302005-07-15 Miklos Szeredi <miklos@szeredi.hu>
831
832 * fusermount: add '-v', '--version' and '--help' options
833
834 * add inode based API
835
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00008362005-07-12 Miklos Szeredi <miklos@szeredi.hu>
837
838 * lib: don't block signals in worker threads. Problem noticed by
839 Usarin Heininga
840
Miklos Szeredic902a852005-07-07 12:35:37 +00008412005-07-07 Miklos Szeredi <miklos@szeredi.hu>
842
843 * lib: don't allow both 'allow_other' and 'allow_root' options to
844 be given
845
Miklos Szeredi437d8112005-07-06 09:14:20 +00008462005-07-06 Miklos Szeredi <miklos@szeredi.hu>
847
848 * fusermount: check if mountpoint is empty (only '.' and '..' for
849 directories, and size = 0 for regular files). If "nonempty"
850 option is given, omit this check. This is useful, so users don't
851 accidentally hide data (e.g. from backup programs). Thanks to
852 Frank van Maarseveen for pointing this out.
853
854 * kernel: check if mandatory mount options ('fd', 'rootmode',
855 'user_id', 'group_id') are all given
856
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000857 * lib: simplify 'readdir_ino' handling
858
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000859 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
860
Miklos Szeredibb9f5172005-07-03 18:03:11 +00008612005-07-03 Miklos Szeredi <miklos@szeredi.hu>
862
863 * kernel: clean up 'direct_io' code
864
Miklos Szeredie1bcece2005-06-28 10:37:06 +00008652005-06-28 Miklos Szeredi <miklos@szeredi.hu>
866
867 * Add 'mount.fuse' written by Petr Klima
868
Miklos Szeredi866826d2005-06-28 12:22:57 +0000869 * '/dev/fuse' is created by 'make install' if does not yet exist
870
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00008712005-06-20 Miklos Szeredi <miklos@szeredi.hu>
872
873 * Fix UCLIBC compile error. Patch by Christian Magnusson
874
Miklos Szerediec12fad2005-06-08 10:26:34 +00008752005-06-08 Miklos Szeredi <miklos@szeredi.hu>
876
877 * Enable the auto-loading of the module via access to the
878 corresponding device file. Patch by Takashi Iwai.
879
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000880 * Allow mounting a regular file (over a regular file) for
881 unprivleged users.
882
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000883 * Do not create temporary device file. Require "/dev/fuse" to
884 exist, and be readable/writable by the mounting user.
885
Miklos Szeredi46960ce2005-06-02 09:05:00 +00008862005-06-02 Miklos Szeredi <miklos@szeredi.hu>
887
Miklos Szeredi56478552005-06-02 10:29:00 +0000888 * Released 2.3.0
889
8902005-06-02 Miklos Szeredi <miklos@szeredi.hu>
891
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000892 * Fix serious information leak: if the filesystem returns a short
893 byte count to a read request, and there are non-zero number of
894 pages which are not filled at all, these pages will not be zeroed.
895 Hence the user can read out previous memory contents. Found by
896 Sven Tantau.
897
Miklos Szeredi33be22d2005-05-27 09:12:43 +00008982005-05-27 Miklos Szeredi <miklos@szeredi.hu>
899
900 * Add "readdir_ino" mount option, which tries to fill in the d_ino
901 field in struct dirent. This mount option is ignored if "use_ino"
902 is used. It helps some programs (e.g. 'pwd' used over NFS from a
903 non-Linux OS). Patch by David Shaw.
904
Miklos Szeredif94e0102005-05-12 14:56:34 +00009052005-05-12 Miklos Szeredi <miklos@szeredi.hu>
906
Miklos Szeredieb009c42005-05-12 15:01:17 +0000907 * Released 2.3-rc1
908
9092005-05-12 Miklos Szeredi <miklos@szeredi.hu>
910
Miklos Szeredif94e0102005-05-12 14:56:34 +0000911 * File save in krusader and other editors doesn't work with sshfs,
912 because open() is interrupted by a periodic signal, and open()
913 restarts forever, without any progress. This could just be fixed
914 in open(), but the problem is more generic: if signals are
915 received more often than the filesystem can get the request to
916 userspace, it will never finish. This is probably only a
917 theoretical problem, nevertheless I'm removing the possibility to
918 interrupt requests with anything other than SIGKILL, even before
919 being sent to userspace. Bugreport by Eduard Czimbalmos.
920
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00009212005-05-09 Miklos Szeredi <miklos@szeredi.hu>
922
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000923 * libfuse: add "tree_lock" rwlock, that is locked for write in
924 rename, unlink and rmdir, and locked for read in all other
925 operations. This should fix the rename/release race reported by
926 Valient Gough and others. The solution is very coarse, a finer
927 grained locking scheme could be implemented, but it would be much
928 more complex. Let's see whether this is good enough.
929
9302005-05-09 Miklos Szeredi <miklos@szeredi.hu>
931
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000932 * Released 2.3-pre7
933
Miklos Szeredi38009022005-05-08 19:47:22 +00009342005-05-08 Miklos Szeredi <miklos@szeredi.hu>
935
936 * Better fix for out of order FORGET messages. Now the
937 LOOKUP/FORGET messages are balanced exactly (one FORGET can
938 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000939 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000940 compatible.
941
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00009422005-05-06 Miklos Szeredi <miklos@szeredi.hu>
943
944 * Fix abort for out of order FORGET messages. Again. Spotted by
945 Franco Broi again. Sorry :)
946
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00009472005-04-29 Miklos Szeredi <miklos@szeredi.hu>
948
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000949 * Released 2.3-pre6
950
9512005-04-29 Miklos Szeredi <miklos@szeredi.hu>
952
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000953 * Make fusermount work with fuse kernel modules not yet supporting
954 the "group_id" option (added for the purpose of stricter
955 permission checking).
956
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00009572005-04-28 Miklos Szeredi <miklos@szeredi.hu>
958
959 * Check for hard-linked directories in lookup. This could cause
960 problems in the VFS, which assumes that such objects never exist.
961
962 * Make checking of permission for other users more strict. Now
963 the same privilege is required for the mount owner as for ptrace
964 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000965
Miklos Szeredi3efcb562005-04-23 13:34:29 +00009662005-04-23 Miklos Szeredi <miklos@szeredi.hu>
967
968 * Released 2.3-pre5
969
Miklos Szeredid001bf92005-04-22 07:54:11 +00009702005-04-22 Miklos Szeredi <miklos@szeredi.hu>
971
972 * Add -msoft-float to kernel module compile flags for 2.4.X. This
973 is needed on certain architectures. Report from Chris Kirby
974
975 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
976 Reported by David Shaw
977
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000978 * Remove "allow_root" option from kernel module, and implement
979 it's functionality in the library
980
981 * Fix Oops caused by premature release of fuse_conn. Clean up
982 related code, to be more readable
983
Miklos Szeredif9137452005-04-23 10:59:44 +0000984 * Sendfile should not use page cache if "direct_io" mount option
985 is given
986
Miklos Szeredib7640d22005-04-08 15:15:28 +00009872005-04-08 Miklos Szeredi <miklos@szeredi.hu>
988
989 * Fix Oops in case of nfs export. Spotted by David Shaw
990
Miklos Szeredi89814a12005-04-08 16:39:09 +0000991 * Fix another Oops in case of write over nfs with direct_io turned
992 on. Again spotted by David Shaw
993
Miklos Szerediab974562005-04-07 15:40:21 +00009942005-04-07 Miklos Szeredi <miklos@szeredi.hu>
995
Miklos Szeredi432d6182005-04-07 15:56:13 +0000996 * Released 2.3-pre4
997
9982005-04-07 Miklos Szeredi <miklos@szeredi.hu>
999
Miklos Szerediab974562005-04-07 15:40:21 +00001000 * lib: finalized new readdir() interface, which now supersedes the
1001 getdir() method.
1002
Miklos Szeredi30e093a2005-04-03 17:44:54 +000010032005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1004
1005 * Released 2.3-pre3
1006
10072005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1008
1009 * Implement backward compatibility with version 5 kernel ABI
1010
Miklos Szeredi18fce982005-04-01 21:07:35 +000010112005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1012
1013 * Released 2.3-pre2
1014
10152005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1016
1017 * kernel: fix dirent offset handling
1018
1019 * lib: add readdir and releasedir methods
1020
1021 * lib: use fh field of fuse_file_info in opendir, readdir,
1022 releasedir and fsyncdir methods
1023
1024 * lib: check kernel API version and bail out of it's old. This
1025 will be properly fixed in the next release
1026
10272005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1028
1029 * Released 2.3-pre1
1030
Miklos Szeredieab72ef2005-03-31 19:59:12 +000010312005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1032
1033 * kernel API: add padding to structures, so 64bit and 32bit
1034 compiler will return the same size
1035
1036 * kernel API: add offset field to fuse_dirent. This will allow
1037 more sophisticated readdir interface for userspace
1038
1039 * kernel API: change major number to 6
1040
1041 * kernel: fix warnings on 64bit archs
1042
1043 * kernel: in case of API version mismatch, return ECONNREFUSED
1044
Miklos Szeredi407e6a72005-03-25 12:19:43 +000010452005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1046
1047 * kernel: trivial cleanups
1048
Miklos Szeredi4283ee72005-03-21 12:09:04 +000010492005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1050
1051 * Add fsyncdir() operation
1052
Miklos Szeredid17da462005-03-21 11:47:04 +000010532005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1054
1055 * kernel: add locking to background list (fixes previous fix)
1056
10572005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1058
1059 * kernel: fix bug which could cause leave busy inodes after
1060 unmount, and Oops.
1061
10622005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1063
1064 * examples: add -lpthread to link flags to work around valgrind
1065 quirk
1066
1067 * lib: don't exit threads, so cancelation doesn't cause segfault
1068
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000010692005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1070
1071 * kernel: fix nasty bug which could cause an Oops under certain
1072 situations. Found by Magnus Johansson
1073
Miklos Szeredif43f0632005-02-28 11:46:56 +000010742005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1075
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001076 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001077 permission checking in getdir() is too late. Thanks to Usarin
1078 Heininga for pointing out this deficiency
1079
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001080 * libfuse: added init() and destroy() methods to fuse_operations
1081
Miklos Szeredif43f0632005-02-28 11:46:56 +00001082 * kernel: llseek() method for files and directories made explicit
1083
1084 * kernel: fixed inode leak in NFS export in case of nodeid
1085 wrapping
1086
Miklos Szeredied3c97c2005-02-15 17:04:50 +000010872005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1088
1089 * libfuse: clean up some unitialized memory found with valgrind
1090
Miklos Szeredi47c52982005-02-23 09:27:38 +00001091 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1092 explicitly linked libpthread for applications
1093
Miklos Szeredia7169412005-02-10 07:35:05 +000010942005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1095
1096 * fusermount: set umask, otherwise /etc/mtab will have
1097 unpredictable permission. Spotted by Jindrich Kolorenc
1098
1099 * fusermount: set owner and group of /etc/mtab to original values
1100 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001101
1102 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001103
Miklos Szeredib92d9782005-02-07 16:10:49 +000011042005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1105
1106 * Cleaned up directory reading (temporary file is not used)
1107
Miklos Szerediff30a6c2005-02-02 10:53:59 +000011082005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1109
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001110 * Released 2.2
1111
11122005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1113
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001114 * Fix possible race when operation is interrupted
1115
Miklos Szeredi7a983952005-01-28 09:58:19 +000011162005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1117
Miklos Szeredie5183742005-02-02 11:14:04 +00001118 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001119
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000011202005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1121
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001122 * Released 2.2-pre6
1123
11242005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1125
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001126 * Fix bug in link() operation which caused the wrong path to be
1127 passed as the first argument. Found by Anton Altaparmakov
1128
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000011292005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1130
1131 * LIB: fix double reply in readdir operation
1132
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001133 * fusermount: fix uid checking bug. Patch by Adam Connell
1134
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001135 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001136 Patch by Keshava Gowda
1137
Miklos Szeredi64074142005-01-20 08:48:11 +000011382005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1139
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001140 * KERNEL: provide correct llseek semantics for fuse device (fixes
1141 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1142
11432005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1144
Miklos Szeredi64074142005-01-20 08:48:11 +00001145 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1146
Miklos Szeredi1adb2272005-01-18 21:19:58 +000011472005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1148
1149 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1150 and RELEASEDIR. This ends the ugly hack of passing a file
1151 descriptor to the kernel, and actually makes the code simpler.
1152
Miklos Szeredi7db35c02005-01-17 09:46:28 +000011532005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1154
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001155 * Released 2.2-pre4
1156
11572005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1158
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001159 * fusermount: remove capability setting, which was the cause of
1160 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001161 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001162
Miklos Szeredidbe0f652005-01-15 14:32:56 +000011632005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001164
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001165 * fix compilation on 2.4 kernels (reported by Valient Gough)
1166
1167 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001168
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001169 * fusermount: improve parsing of /etc/fuse.conf
1170
11712005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1172
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001173 * Remove 'mount_max' and 'user_allow_other' module options. These
1174 are now checked by fusermount, and can be set in /etc/fuse.conf
1175
1176 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1177
Miklos Szeredi81394522005-01-11 14:24:18 +000011782005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1179
1180 * KERNEL: fix possible inode allocation problem, where
1181 sizeof(struct inode) is not aligned (found by Mike Waychison)
1182
1183 * KERNEL: use new follow_link/put_link methods
1184
1185 * KERNEL: cosmetic fixes
1186
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000011872005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1188
1189 * Released 2.2-pre3
1190
11912005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1192
1193 * Add missing code that was accidently left out
1194
Miklos Szeredi8c7da232005-01-09 12:27:41 +000011952005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1196
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001197 * Released 2.2-pre2
1198
11992005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1200
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001201 * Change "uid" mount option to "user_id" to avoid confusion with a
1202 mount option "uid" commonly used by many filesystems
1203
12042005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1205
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001206 * Released 2.2-pre1
1207
12082005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1209
1210 * If FUSE is configured in the kernel, don't build it by default
1211
Miklos Szeredi2a927272005-01-07 11:14:15 +000012122005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1213
1214 * Compile fix by Christian Magnusson
1215
Miklos Szeredib6220192005-01-05 16:19:10 +000012162005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1217
1218 * Fix compilation for 2.6.{0-5} kernels
1219
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012202005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1221
1222 * KERNEL: if request is interrupted, still keep reference to used
1223 inode(s) and file, so that FORGET and RELEASE are not sent until
1224 userspace finishes the request.
1225
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001226 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1227 request with the same information, which is more flexible,
1228 simpler, works on embedded systems.
1229
Miklos Szeredi0f62d722005-01-04 12:45:54 +000012302004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1231
1232 * KERNEL ABI: update interface to make it independent of type
1233 sizes. This will help on 64 bit architectures which can run
1234 legacy 32 bit applications.
1235
1236 * KERNEL ABI: add "len" field to request headers. This will allow
1237 sending/receiving requests in multiple chunks.
1238
1239 * KERNEL: handle file type change more intelligently
1240
1241 * LIB: "-o debug" option should disable backgrounding (fix by
1242 Fabien Reygrobellet)
1243
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000012442004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1245
1246 * KERNEL: invalidate dentry/attributes if interrupted request
1247 could leave filesystem in an unknown state.
1248
Miklos Szeredie56818b2004-12-12 11:45:24 +000012492004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1250
1251 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1252 These will cause some regressions, but stability is considered
1253 more important. If any of these features turns out to be
1254 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001255
Miklos Szeredie56818b2004-12-12 11:45:24 +00001256 * Make all requests interruptible (only with SIGKILL currently).
1257 This can be used to break any deadlock produced by the userspace
1258 filesystem accessing it's own exported files. The RELEASE request
1259 is special, because if it's interrupted before sending it to
1260 userspace it is still sent, but the reply is not awaited.
1261
1262 * If request is interrupted before being sent to userspace, and if
1263 it hasn't yet got any side effects, it is always restarted,
1264 regardless of the SA_RESTART flag. This makes these interruptions
1265 transparent to the process.
1266
1267 * Remove shared-writable mmap support, which was prone to an
1268 out-of-memory deadlock situation
1269
1270 * Remove INVALIDATE userspace initiated request
1271
1272 * Make readpages() synchronous. Asynchronous requests are
1273 deadlock prone, since they cannot be interrupted.
1274
1275 * Add readv/writev support to fuse device operations
1276
1277 * Remove some printks, which userspace FS can use for a DoS
1278 against syslog
1279
1280 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1281 fusermount instead
1282
1283 * LIB: improve compatibility with a fuse.h header installed in
1284 ${prefix}/include which in turn includes the real header.
1285
1286 * LIB: improve compatibility by defining fuse_main() (which is now
1287 not used), so old configure scripts find it.
1288
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000012892004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1290
1291 * When mounting on a subdirectory of / don't duplicate slashes at
1292 the beggining of path (spotted by David Shaw)
1293
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000012942004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1295
1296 * Fix bug causing garbage in mount options (spotted by David Shaw)
1297
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000012982004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1299
1300 * Add 'writepage' flag to 'fuse_file_info'.
1301
1302 * More comments in fuse.h
1303
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001304 * Get rid of double underscores
1305
Miklos Szeredi799993c2004-12-04 21:20:05 +000013062004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1307
1308 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1309
1310 * helper.c: add -ho option, which only displays the options not
1311 the usage header. This can be used by filesystems which have
1312 their own options.
1313
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000013142004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1315
1316 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1317 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1318 including the fuse header
1319
1320 * Add binary compatibility to 2.1 version of library with symbol
1321 versioning
1322
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000013232004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1324
1325 * Released 2.1
1326
Miklos Szeredi039322d2004-12-01 18:39:12 +000013272004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1328
1329 * kernel: clean up writing functions
1330
1331 * kernel: no allocation on write in direct_io mode
1332
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001333 * move linux/fuse.h to fuse_kernel.h
1334
Miklos Szeredi83a07442004-11-30 18:25:20 +000013352004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1336
1337 * kernel: clean up reading functions
1338
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000013392004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1340
1341 * kernel: make readpage() uninterruptible
1342
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001343 * kernel: check readonly filesystem flag in fuse_permission
1344
1345 * lib: don't die if version file not found and new style device
1346 exists
1347
1348 * lib: add '-r' option, which is short for '-o ro'
1349
1350 * fusermount: simplify device opening
1351
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001352 * kernel: when direct_io is turend on, copy data directly to
1353 destination without itermediate buffer. More efficient and safer,
1354 since no allocation is done.
1355
1356 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001357
1358 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001359
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000013602004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1361
1362 * libfuse API change: open, read, write, flush, fsync and release
1363 are passed a 'struct fuse_file_info' pointer containing the open
1364 flags (open and release), and the file handle. Verion changed to
1365 3.0.
1366
Miklos Szeredia25d4c22004-11-23 22:32:16 +000013672004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1368
1369 * More cleanups in the kernel
1370
1371 * The 10,229 charater device number has been assigned for FUSE
1372
1373 * Version file checking fix (reported by Christian Magnusson)
1374
1375 * fusermount: opening the fuse device now doesn't need /sys.
1376
1377 * Optimize reading by controlling the maximum readahead based on
1378 the 'max_read' mount option
1379
1380 * fixes for UCLIBC (Christian Magnusson)
1381
Miklos Szeredi13ed4822004-11-20 11:12:21 +000013822004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1383
1384 * Cleaned up kernel in preparation for merge into mainline:
1385
1386 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1387
1388 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1389
1390 * __user annotations for sparse
1391
1392 * allocate individual pages instead of kmalloc in fuse_readdir,
1393 fuse_read and fuse_write.
1394
1395 * Fix NFS export in case "use_ino" mount option is given
1396
Miklos Szeredif3845c42004-11-20 11:18:34 +00001397 * Make libfuse and fusermount compatible with future versions
1398
1399 * fusermount: properly add mount options to /etc/mtab
1400
14012004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1402
1403 * fusermount: do not resolve last component of mountpoint on if it
1404 is '.' or '..'. This new path resolvation is now done on mount as
1405 well as unmount. This enables relative paths to work on unmount.
1406
1407 * fusermount: parse common mount options like "ro", "rw", etc...
1408
1409 * Allow module params to be changed through sysfs
1410
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000014112004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1412
1413 * Released 2.1-pre1
1414
14152004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1416
1417 * Fix bug in fuse_readpages() causing Oops in certain situations.
1418 Bug found by Vincenzo Ciancia.
1419
1420 * Fix compilation with kernels versions > 2.6.9.
1421
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000014222004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001423
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001424 * Check kernel interface version in fusermount to prevent
1425 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001426
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001427 * No need to allocate fuse_conn until actual mount happens
1428
1429 * Fix potential race between umount and fuse_invalidate
1430
1431 * Check superblock of proc file in addition to inode number
1432
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001433 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001434
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014352004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1436
1437 * Separate configure for the kernel directory
1438
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001439 * Don't allow write to return more than 'count'
1440
1441 * Extend kernel interface for future use
1442
Miklos Szeredi51ec1032004-11-10 11:52:26 +000014432004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1444
1445 * Fix 'makeconf.sh' to use autoreconf if available
1446
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000014472004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1448
Miklos Szeredid507c732004-11-08 17:32:25 +00001449 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1450 compatibility with earlier versions. To compile earier versions
1451 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1452 Do not use the "use_ino" mount flag with filesystems compiled with
1453 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001454
1455 * Add pkg-config support. To compile a FUSE based filesystem you
1456 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1457 or similar. Note, that the PKG_CONFIG_PATH environment variable
1458 usually needs to be set to "/usr/local/lib/pkgconfig".
1459
1460 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001461
Miklos Szeredia13d9002004-11-02 17:32:03 +000014622004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1463
1464 * Added "use_ino" mount option. This enables the filesystems to
1465 set the st_ino field on files
1466
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000014672004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1468
1469 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1470 by Jeremy Smith)
1471
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001472 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1473
1474 * Clear the 'exited' flag when mail loop is finished
1475
Miklos Szeredie989f0d2004-10-28 20:24:58 +000014762004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1477
1478 * Make xattr functions work under 2.6 (bug found by Vincenzo
1479 Ciancia)
1480
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000014812004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1482
1483 * Reset request in fuse_flush() (bugreport by David Shaw)
1484
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000014852004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1486
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001487 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001488 error code
1489
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001490 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001491 make it easier to implement a custom event loop.
1492
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001493 * Use daemon() call to background the filesystem after mounting.
1494 This function closes the standard input, output and error and
1495 changes the current working directory to "/".
1496
Miklos Szeredi127d49b2004-10-14 13:33:39 +000014972004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1498
1499 * Released 1.9
1500
Miklos Szeredid45baf42004-10-10 07:56:12 +000015012004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1502
1503 * Don't allow fuse_flush() to be interrupted (bug found by David
1504 Shaw)
1505
Miklos Szeredi1f18db52004-09-27 06:54:49 +000015062004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1507
1508 * Add PID to fuse_context. Patch by Steven James
1509
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001510 * Change file handle type to 'unsigned long' in kernel interface
1511
Miklos Szeredid169f312004-09-22 08:48:26 +000015122004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1513
1514 * A slight API change: fuse_get_context() doesn't need the "fuse"
1515 pointer, but the returned context contains it instead. The
1516 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001517
1518 * Fix mounting and umounting FUSE filesystem under another FUSE
1519 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001520
Miklos Szeredic2309912004-09-21 13:40:38 +000015212004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1522
1523 * Fix deadlock in case of memory allocation failure. Patch by
1524 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001525
Miklos Szeredib2cf9562004-09-16 08:42:40 +000015262004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1527
1528 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001529
Miklos Szeredi65afea12004-09-14 07:13:45 +000015302004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1531
1532 * Check temporary file creation failure in do_getdir(). Bug
1533 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001534
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000015352004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1536
1537 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001538
1539 * Make requests non-interruptible so race with FORGET is avoided.
1540 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001541
1542 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001543
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000015442004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1545
1546 * Fix bug in case two FORGETs for the same node are executed in
1547 the wrong order. Bug spotted and endured for months by Franco
1548 Broi, and logfile for solution provided by Terje Oseberg
1549
Miklos Szeredi12085102004-09-02 18:13:57 +000015502004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1551
1552 * Add -D_REENTRANT to the compile flags
1553
1554 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001555
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000015562004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1557
1558 * Change release method to be non-interruptible. Fixes bug
1559 causing missing release() call when program which has opened files
1560 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001561
Miklos Szeredi891b8742004-07-29 09:27:49 +000015622004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1563
1564 * Add fuse_invalidate() to library API
1565
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000015662004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1567
1568 * Check permissions in setattr if 'default_permissions' flag is
1569 set. Bug spotted by Damjan Lango
1570
Miklos Szeredid66d3942004-07-24 13:47:44 +000015712004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1572
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001573 * 'large_read' mount option removed for 2.6 kernels, since the
1574 default (dynamic read size) is better
1575
1576 * Extend kernel API with file handles. A file handle is returned
1577 by open, and passed to read, write, flush, fsync and release.
1578 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001579
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001580 * Security changes:
1581
1582 * Change the current directory to the mountpoint before checking
1583 the permissions and mount filesystem on "."
1584
1585 * By default don't modprobe the fuse module for non-root. The old
1586 behavior can be restored with the '--enable-auto-modprobe' flag of
1587 ./configure
1588
1589 * By default don't allow shared writable mappings for non-root.
1590 The old behavior can be restored with the 'user_mmap=1' module
1591 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001592
Miklos Szeredibd7661b2004-07-23 17:16:29 +000015932004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1594
1595 * Clean up mount option passing to fusermount and to fuse_new()
1596 BEWARE: this changes the userspace API slightly, and the command
1597 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001598
Miklos Szeredi58865372004-07-20 14:22:26 +000015992004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1600
1601 * Optimize reading under 2.6 kernels by issuing multiple page
1602 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001603
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000016042004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1605
1606 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001607
Miklos Szeredi069c9502004-07-16 16:17:02 +000016082004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1609
1610 * Separate directory entry and inode attribute validity timer
1611
1612 * New write semaphore to stop page writeback during truncate
1613
1614 * Fsync now waits for all writes to complete before sending the
1615 request
1616
1617 * Optimization: if a page is completely written by
1618 fuse_commit_write(), clear the dirty flag and set the uptodate
1619 flag for that page
1620
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001621 * Some memory cleanup at exit
1622
Miklos Szeredi2529ca22004-07-13 15:36:52 +000016232004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1624
1625 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001626 disable the "hide if open" behavior of unlink/rename.
1627
1628 * If temporary buffer allocation fails in raw read, fall back to a
1629 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001630
Miklos Szeredi73798f92004-07-12 15:55:11 +000016312004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1632
1633 * Fix bug in do_open() in libfuse: open count was incremented
1634 after the reply is sent so it could race with unlink/forget and
1635 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001636
Miklos Szeredi015fe702004-07-12 11:52:24 +000016372004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1638
1639 * When performing create or remove operation, refresh the parent's
1640 attributes on next revalidate, as i_nlink (and maybe size/time)
1641 could be inacurate.
1642
1643 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1644 pages (2.6 only)
1645
1646 * Set set_page_dirty address space operation (2.6 only)
1647
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016482004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001649
1650 * Minor fix in read: print debug info even if read size is zero
1651
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016522004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001653
1654 * Fix race between truncate and writepage (fsx-linux now runs
1655 without error)
1656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016572004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001658
1659 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1660 by Mattias Wadman)
1661
1662 * Added option for direct read/write (-r)
1663
1664 * Fix revalidate time setting for newly created inodes
1665
Miklos Szerediacb4d362004-07-02 16:20:45 +00001666 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1667 this)
1668
1669 * fuse_main() only installs handlers for signals (out of INT, HUP,
1670 TERM, PIPE), for which no handler has yet been installed
1671
1672 * Add module option 'user_allow_other' which if set to non-zero
1673 will allow non root user to specify the 'allow_other' mount option
1674 ('-x' option of fusermount)
1675
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001676 * Fix deadlock between page writeback completion and truncate
1677 (bug found by Valient Gough with the fsx-linux utility)
1678
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016792004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001680
1681 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001682 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1683 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001684
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016852004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001686
1687 * Acquire inode->i_sem before open and release methods to prevent
1688 concurrent rename or unlink operations.
1689
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001690 * Make __fuse_read_cmd() read only one command. This allows
1691 multiplexing the fuse file descriptor with other event sources
1692 using select() or poll() (patch by Jeff Harris)
1693
1694 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1695
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016962004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001697
1698 * Fix file offset wrap around at 4G when doing large reads
1699
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017002004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001701
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001702 * Fix memory leak in open (Valient Gough)
1703
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017042004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001705
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001706 * Add "close after delete" support to libfuse (patch by Valient
1707 Gough)
1708
1709 * Cancel all worker threads before exit in multithreaded mode
1710
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017112004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001712
1713 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001714
1715 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001716
1717 * Work with newer libtool (1.5a)
1718
1719 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001720
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017212004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001722
1723 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001724
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017252004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001726
1727 * Fix possible inode leak in userspace in case of unfinished
1728 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001729
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017302004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001731
1732 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001733
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017342004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001735
1736 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001737
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017382004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001739
1740 * Build shared library as well as static (using libtool)
1741
1742 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1743 there has not been a release with the previous minor number, and I
1744 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001745
1746 * Change fuse_main(), so that default behavior is to go into
1747 background if mount is successful. '-f' and '-d' options disable
1748 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1749 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001750
1751 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1752 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001753
1754 * Don't call getdir method from open() only from first readdir().
1755 Open is sometimes just used to store the current directory
1756 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001757
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017582004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001759
1760 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001761
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017622004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001763
1764 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017662004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001767
1768 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001769
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017702004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001771
1772 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001773
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017742004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001775
1776 * Replaced binary mount data with text options
1777
1778 * Show FUSE specific mount options in /proc/mounts
1779
1780 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1781
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017822004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001783
1784 * Check some limits so userspace won't get too big requests
1785
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017862004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001787
1788 * Kill compile warning
1789
1790 * Upgraded user-mount patch for 2.6.5
1791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017922004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001793
1794 * Add detection of user-mode-linux to configure
1795
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017962004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001797
1798 * fixed zero size case for getxattr and listxattr
1799
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018002004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001801
1802 * new fusermount flag '-z': lazy unmount, default is not lazy
1803
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001804 * Extended attributes operations added (getxattr, setxattr,
1805 listxattr, removexattr)
1806
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018072004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001808
1809 * If filesystem doesn't define a statfs operation, then an
1810 all-zero default statfs is returned instead of ENOSYS
1811
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018122004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001813
1814 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1815
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018162004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001817
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001818 * Fix for uClinux (Christian Magnusson)
1819
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018202004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001821
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001822 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001823
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001824 * More kernel interface changes:
1825
1826 * Lookup/getattr return cache timeout values
1827
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018282004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001829
1830 * Clean up option parsing in fuse_main()
1831
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001832 * Added fuse_get() function which returns the fuse object created
1833 by fuse_main()
1834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018352004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001836
Miklos Szeredic40748a2004-02-20 16:38:45 +00001837 * removed old way of mounting (fusermount mountpoint program)
1838
Miklos Szeredib5958612004-02-20 14:10:49 +00001839 * more kernel interface changes:
1840
1841 * added nanosecond precision to file times
1842
Miklos Szeredic40748a2004-02-20 16:38:45 +00001843 * removed interface version from mount data
1844
1845 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1846
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018472004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001848
1849 * statfs library API changed to match other methods. Since this
1850 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1851
Miklos Szeredi76f65782004-02-19 16:55:40 +00001852 * kernel interface changes follow:
1853
1854 * statfs changed to 64 bits, added 'bavail' field
1855
1856 * add generation number to lookup result
1857
1858 * optimized mknod/mkdir/symlink/link (no separate lookup is
1859 needed)
1860
1861 * rdev size increased to 32 bits for mknod
1862
1863 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001864
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018652004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001866
1867 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001868
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018692004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001870
1871 * Added user-mount.2.6.2-rc3.patch
1872
1873 * Add FS_SAFE flag to fuse filesystem
1874
1875 * fusermount should allow (un)mounting for non-root even if not
1876 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001877
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018782004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001879
1880 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001881
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018822004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001883
1884 * Added check for i_size_read/write functions to configure.in
1885 (patch by Valient Gough)
1886
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018872004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001888
1889 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001890
1891 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001892
1893 * Readpage calls flush_dcache_page() after storing data
1894
1895 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001896
1897 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001898
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018992004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001900
1901 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001902
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019032004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001904
1905 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001906
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019072004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001908
1909 * Added -q option for fusermount
1910
1911 * fuse_unmount() now uses -q option of fusermount, so no error is
1912 printed if the cause of the program exit is that the filesystem
1913 has already been unmounted
1914
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001915 * Fix i_nlink correctness after rmdir/unlink
1916
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019172004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001918
Miklos Szeredib1158392004-01-26 14:43:12 +00001919 * Released 1.1-pre2
1920
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019212004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001922
Miklos Szeredi307242f2004-01-26 11:28:44 +00001923 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001924
1925 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001926
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019272004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001928
1929 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001930
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019312004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001932
1933 * Write all pending data before a RELEASE operation
1934
1935 * Suppress 'Bad file descriptor' warning on exit
1936
1937 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001938 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001939
Miklos Szeredib1158392004-01-26 14:43:12 +00001940 * New fusermount option '-l' which enables big reads. Big reads
1941 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001942
1943 * fuse_main() can accept fusermount arguments after a '--'
1944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019452004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001946
1947 * Support for exporting filesystem over NFS (see README.NFS)
1948
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019492004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001950
1951 * Support non-blocking writepage on 2.6. This makes FUSE behave
1952 much more nicely in low-memory situations
1953
1954 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1955 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001956
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019572004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001958
1959 * Code cleanups
1960
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019612004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001962
1963 * Released 1.1-pre1
1964
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019652004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001966
1967 * Integrated 2.6 kernel support patch by Michael Grigoriev
1968
1969 * Improvements and cleanups for 2.6 kernels
1970
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019712004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001972
Miklos Szeredie5183742005-02-02 11:14:04 +00001973 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001974
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019752003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001976
1977 * Added major+minor version to library API, and minor version to
1978 kernel API
1979
David McNab7a19caf2003-12-13 02:05:46 +000019802003-12-13 David McNab <david@rebirthing.co.nz>
1981
1982 * Implemented fsync support in examples/example.py
1983
1984 * Implemented 'fsync' and 'statfs' methods in python
1985 interface
1986
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019872003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001988
Miklos Szeredie5183742005-02-02 11:14:04 +00001989 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001990
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001991 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001992
David McNab8bf62632003-12-11 22:49:22 +000019932003-12-12 David McNab <david@rebirthing.co.nz>
1994
1995 * Added distutils support to the python module, as per standard
1996 python development practice
1997
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019982003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001999
2000 * Add file locking for mount/unmount (based on patch by Valient
2001 Gough)
2002
20032003-12-11 David McNab <david@rebirthing.co.nz>
2004
2005 * Python filesystem - was broken with python2.3, now fixed:
2006 - changed PyTuple_* calls to PySequence_*, because os.lstat
2007 is no longer returning a pure tuple
2008 - changed PyInt_Check() calls to also call PyLong_Check,
2009 to cover for cases (eg os.lstat) where longs are returned
2010 - Added support for file 'release' handling, which IMO is
2011 essential since this signals to a FS that writes to a file
2012 are complete (and therefore the file can now be disposed of
2013 meaningfully at the python filesystem's discretion)
2014 - Added '__init__' handler to base Fuse class, which allows
2015 your Python class to know the mountpoint and mount args,
2016 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002017
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002018 * General:
2019 - added 'mount.fuse' script (in util/ dir), which is meant to be
2020 symlinked from /sbin, and which allows FUSE filesystems to
2021 be mounted with the 'mount' command, and listed in fstab;
2022 also, mount arguments get passed to your filesystem
2023
2024
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020252003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002026
2027 * Fix kernel version detection (again). Bugreport by Peter Levart
2028
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020292003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002030
2031 * Applied read combining patch by Michael Grigoriev (tested by
2032 Valient Gough and Vincent Wagelaar)
2033
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020342003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002035
2036 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2037 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002038
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020392003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002040
2041 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002042
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020432003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002044
2045 * kernel version detection fix
2046
2047 * fusermount now uses "lazy" umount option
2048
2049 * fusermount can use modprobe with module-init-tools
2050
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020512003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002052
2053 * Integrated caching patch by Michael Grigoriev
2054
Miklos Szeredida4e4862003-09-08 11:14:11 +00002055 * Added "Filesystems" file with descriptions of projects using
2056 FUSE
2057
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002058 * Added patch by Michael Grigoriev to allow compliation of FUSE
2059 kernel module for 2.6 kernels
2060
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020612003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002062
2063 * And another spec-file fix by Achim Settelmeier
2064
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020652003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002066
2067 * Spec-file fix by Achim Settelmeier
2068
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020692003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002070
Miklos Szerediac361172004-11-02 19:14:14 +00002071 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002072
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020732003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002074
2075 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2076
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020772003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002078
2079 * Updated fuse.spec file (Achim Settelmeier)
2080
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020812003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002082
2083 * Version 1.0 released
2084
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020852003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002086
2087 * SuSE compilation fix by Juan-Mariano de Goyeneche
2088
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020892002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002090
2091 * The release() VFS call is now exported to the FUSE interface
2092
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020932002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002094
2095 * 64 bit file offset fixes in the fuse kernel module
2096
2097 * Added function 'fuse_exit()' which can be used to exit the main
2098 loop
2099
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021002002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002101
2102 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2103 an incompatible interface change.
2104
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021052002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002106
2107 * Portablility fix (bug reported by C. Chris Erway)
2108
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021092002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002110
2111 * Use Mark Glines' fd passing method for default operation instead
2112 of old reexec
2113
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021142002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002115
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002116 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2117
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021182002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002119
Miklos Szeredi60c23522002-10-24 09:19:43 +00002120 * fix incompatiblity with Red Hat kernels, with help from Nathan
2121 Thompson-Amato.
2122
Mark Glines65ba2192002-04-18 14:41:48 +000021232002-04-18 Mark Glines <mark@glines.org>
2124
2125 * added an alternative to fuse_mount(), called
2126 fuse_mount_ioslave(), which does not need to reexec the
2127 FUSE program.
2128 * added a small helper util needed by fuse_mount_ioslave().
2129
Mark Glines220635a2002-03-17 07:01:14 +000021302002-03-16 Mark Glines <mark@glines.org>
2131
2132 * use struct fuse_statfs everywhere possible to avoid problems
2133 with the headerfiles changing struct statfs member sizes
2134
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021352002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002136
2137 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2138
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021392002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002140
2141 * RPM support by Achim Settelmeier
2142
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021432002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002144
Miklos Szerediddc862a2002-01-09 13:46:10 +00002145 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002146
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021472002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002148
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002149 * Revaidate all path components not just the last, this means a
2150 very small performance penalty for being more up-to-date.
2151
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021522002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002153
2154 * Update and fix python interface
2155
Mark Glinesd84b39a2002-01-07 16:32:02 +000021562002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002157
Mark Glinesd84b39a2002-01-07 16:32:02 +00002158 * Added statfs() support to kernel, lib, examples, and perl!
2159
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021602001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002161
2162 * Better cross compilation support
2163
2164 * Ported to Compaq IPAQ
2165
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021662001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002167
Miklos Szeredife25def2001-12-20 15:38:05 +00002168 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002169 patch from Matt Ryan)
2170
Miklos Szeredife25def2001-12-20 15:38:05 +00002171 * Added flags to fusermount and to kernel interface to control
2172 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002173
Miklos Szeredife25def2001-12-20 15:38:05 +00002174 * Integrated fuse_set_operations() into fuse_new()
2175
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021762001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002177
2178 * Applied header protection + extern "C" patch by Roland
2179 Bauerschmidt
2180
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021812001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002182
Miklos Szeredie5183742005-02-02 11:14:04 +00002183 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002184
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021852001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002186
2187 * Cleaned up way of mounting simple filesystems.
2188
2189 * fuse_main() helper function added
2190
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021912001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002192
Miklos Szeredife25def2001-12-20 15:38:05 +00002193 * Optimized read/write operations, so that minimal copying of data
2194 is done
2195
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021962001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002197
2198 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002199
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022002001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002201
2202 * Fixed vfsmount reference leak in fuse_follow_link
2203
2204 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2205 userspace is ignored
2206
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022072001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002208
Miklos Szeredife25def2001-12-20 15:38:05 +00002209 * Started ChangeLog