blob: 893ebdde605953a9a9b5cf9d80183231c89ef50b [file] [log] [blame]
Miklos Szeredi03fe09b2006-11-30 11:57:58 +000012006-11-30 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Fix API version 21 and 22 compatibility for fuse_teardown.
4 Reported by Bgs
5
Miklos Szeredi04d12782006-11-29 16:01:23 +000062006-11-29 Miklos Szeredi <miklos@szeredi.hu>
7
8 * fusermount: Print a more helpful message in case the kernel
9 doesn't support the 'fuseblk' filesystem type. This has been
10 biting ntfs-3g users. Reported by Yura Pakhuchiy
11
Miklos Szeredi229e8d92006-11-29 16:22:31 +000012 * kernel: fix build problem for "make -C ...". Reported by
13 Stephen Bryant
14
Miklos Szeredife621f92006-11-19 19:53:37 +0000152006-11-19 Miklos Szeredi <miklos@szeredi.hu>
16
17 * Fix bug in certain error paths of lookup routines. The request
18 object was reused for sending FORGET, which is illegal. This bug
19 could cause an Oops in linux-2.6.18 or in fuse-2.6.0, and might
20 silently corrupt memory in earlier versions. Report and test
21 program by Russ Cox
22
Miklos Szeredifc5309c2006-11-11 09:55:55 +0000232006-11-11 Miklos Szeredi <miklos@szeredi.hu>
24
25 * Print an error if an incompatible kernel interface version is
26 detected in INIT. This will only show if filesystem is started
27 with -d or -f
28
29 * Fix order of fuse_destroy()/fuse_unmount() in error cleanup of
30 fuse_setup_common(). Reported by Szakacsits Szabolcs
31
322006-11-06 Miklos Szeredi <miklos@szeredi.hu>
33
34 * Fix recursive locking in fuse_create(). Thanks to Takuya
35 Ishibashi for the bug report
36
Miklos Szeredi10d03ed2006-10-28 07:59:22 +0000372006-10-28 Miklos Szeredi <miklos@szeredi.hu>
38
39 * Fix automake problem. Patch from Nix
40
412006-10-26 Miklos Szeredi <miklos@szeredi.hu>
42
43 * Fix mount.fuse to use /bin/sh instead of /bin/bash, which is not
44 always available on embedded systems. Patch from Paul Smith
45
46 * Fix util/Makefile.am, so that failure to run update-rc.d or
47 device creation doesn't cause make to fail. Reported by Paul
48 Smith
49
Miklos Szeredie414a2f2006-10-22 11:29:14 +0000502006-10-21 Miklos Szeredi <miklos@szeredi.hu>
51
52 * Released 2.6.0
53
Miklos Szeredi87ad64c2006-10-18 08:17:08 +0000542006-10-18 Miklos Szeredi <miklos@szeredi.hu>
55
56 * fusermount: don't try to create a lock file if /etc/mtab is a
57 symlink. Report and patch from Alexei Sheplyakov (debian bug
58 #393693)
59
Miklos Szeredidcfb8212006-10-17 18:17:58 +0000602006-10-17 Miklos Szeredi <miklos@szeredi.hu>
61
62 * Minor changes, sync with mainline tree
63
Miklos Szeredi12e5c982006-10-16 09:06:26 +0000642006-10-16 Miklos Szeredi <miklos@szeredi.hu>
65
66 * Released 2.6.0-rc3
67
682006-10-15 Miklos Szeredi <miklos@szeredi.hu>
69
70 * kernel: cleanups
71
Miklos Szeredid6f8db72006-10-13 09:54:24 +0000722006-10-13 Miklos Szeredi <miklos@szeredi.hu>
73
Miklos Szeredibcfa4162006-10-13 19:48:19 +000074 * kernel: Fix compilation on patched 2.6.18 (fc6) and 2.6.19.
Miklos Szeredid6f8db72006-10-13 09:54:24 +000075 Report from David Shaw
76
Miklos Szeredi744f9d52006-10-13 20:04:46 +000077 * lib: Fix lost error on renaming a file. Report from David Shaw
78
79 * lib: Fix lost error on hiding open files (renaming to
80 .fuse_hiddenXXXX)
Miklos Szeredibcfa4162006-10-13 19:48:19 +000081
82 * kernel: Fix a rare hang on SMP/32bit on heavy filesystem
83 activity. The cause of the bug was that some calls to
84 i_size_write() were not protected by a lock, and hence
85 i_size_seqcount could become corrupted. This caused subsequent
86 calls to i_size_read() to spin forever. This is a long standing
87 bug was probably introduced in version 2.2, and thought to be
88 related to NFS exporting (it's not). It was reported by various
89 people, but Dana Henriksen has finally helped me to track it down,
90 so big thanks to him
91
92 * kernel: Protect against truncation of a swapfile
93
Miklos Szeredi856e5cb2006-10-11 05:44:55 +0000942006-10-10 Miklos Szeredi <miklos@szeredi.hu>
95
96 * kernel: Check for signature of super_operations->umount_begin().
97 Ubuntu kernel 2.6.17 seems to use the new signature found in
98 2.6.18. Thanks to Florent Mertens for the report
99
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +00001002006-10-08 Miklos Szeredi <miklos@szeredi.hu>
101
102 * Make sure inode numers wrap around at 2^32. This is needed on
103 dual 64bit/32bit architectures, because 32bit applications using
104 the non-largefile interface would otherwise break (EOVERFLOW error
105 would be returned by the stat() system call family)
106
107 * ulockmgr: handle the case, when a locking operation fails
108 because no more file desctriptors are available in
109 ulockmgr_server. Also work around a Linux kernel bug (known to
Miklos Szeredi53eec2a2006-10-10 18:53:38 +0000110 exist for all Linux kernel versions <= 2.6.18) which may cause
Miklos Szeredi7e7fa1f2006-10-08 15:41:20 +0000111 sent file descriptors to be lost in the above case
112
113 * ulockmgr: optimize file descriptor use
114
115 * restore needed cpp flags to util/Makefile.am
116
117 * Install udev rules as 99-fuse.rules instead of 60-fuse.rules
118
119 * Minor clean up of udev rules
120
Miklos Szeredib9ea32f2006-10-08 17:35:40 +0000121 * Add a synchronous DESTROY message to kernel interface. This is
122 invoked from umount, when the final instance of the filesystem is
123 released. It is only sent for filesystems mounted with the
124 'blkdev' option for security reasons.
125
126 * If the DESTROY message is received, call the filesystem's
127 ->destroy() method. In this case it's not called from session
128 destruction as it would be otherwise.
129
Miklos Szeredi4003dfa2006-10-01 13:46:02 +00001302006-10-01 Miklos Szeredi <miklos@szeredi.hu>
131
Miklos Szerediff1e0d42006-10-01 14:42:02 +0000132 * Released 2.6.0-rc2
133
1342006-10-01 Miklos Szeredi <miklos@szeredi.hu>
135
Miklos Szeredi4fca4322006-10-01 14:41:04 +0000136 * Add support for FLUSH+RELEASE operation for FreeBSD. Original
137 patch by Csaba Henk
138
Miklos Szeredi4003dfa2006-10-01 13:46:02 +0000139 * Add init script to insert fuse module and mount the control
140 filesystem. The script is installed as /etc/init.d/fuse and on
141 debian based systems (where update-rc.d is available) symlinks
142 from /etc/rc*.d/ are also installed.
143
144 * Include '#define FUSE_USE_VERSION=XX' into examples so they
145 become more self contained.
146
Miklos Szeredi6cf952a2006-09-30 07:39:33 +00001472006-09-30 Miklos Szeredi <miklos@szeredi.hu>
148
Miklos Szeredi07407852006-09-30 20:03:52 +0000149 * API changes:
150
151 * Move lock_owner from a separate argument into fuse_file_info
152
153 * Add a flag to fuse_file_info indicating (1) a highlevel lock
154 operation (unlock all) was initiated by a flush, (2) a lowlevel
155 release operation should perform a flush as well.
156
Miklos Szeredi004a8c72006-09-30 16:41:12 +0000157 * fusermount: revert modprobe change (2006-08-18) since it
158 doesn't work reliably with udev
159
Miklos Szeredi708b4812006-09-30 16:02:25 +0000160 * Add support for block device backed filesystems. This mode is
161 selected with the 'blkdev' option, which is privileged.
162
163 * Add support for the bmap (FIBMAP ioctl) operation on block
164 device backed filesystems. This allows swapon and lilo to work on
165 such filesystems.
166
Miklos Szeredid93a4292006-09-30 12:21:49 +0000167 * kernel changes:
168
Miklos Szeredi6cf952a2006-09-30 07:39:33 +0000169 * Drop support for kernels earlier than 2.6.9. Kernel module from
170 previous (2.5.x) release can be used with library from this
171 release
172
Miklos Szeredid93a4292006-09-30 12:21:49 +0000173 * In fuse_dentry_revalidate() use dget_parent() instead of
174 dereferencing d_parent, since there's no protection against parent
175 changing and going away
176
177 * Protect nlookup from concurrent updates
178
179 * In lookup if a directory alias exists but is unused,
180 then get rid of it, otherwise return -EBUSY.
181
182 * In mkdir if a directory alias exists, return success, but leave
183 dentry negative. In reality this could happen if a remote rename
184 immediately followed the mkdir.
185
186 * Don't BUG in fuse_iget() if multiple retries are needed to get a
187 good inode. This could happen if several lookups are racing for
188 the same inode.
189
Miklos Szeredi40ec1752006-09-30 06:17:31 +00001902006-09-29 Miklos Szeredi <miklos@szeredi.hu>
191
192 * Fix compilation on 2.6.9. Report from Troy Ayers
193
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00001942006-09-27 Miklos Szeredi <miklos@szeredi.hu>
195
196 * Fix Oops in fuse_readpages(). Reported by David Shaw
197
Csaba Henk3e3a1252006-09-24 14:53:29 +00001982006-09-24 Csaba Henk <csaba.henk@creo.hu>
199
200 * Add support for nanosec times on FreeBSD
201
202 * Fix FreeBSD compatibility issues
203
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +00002042006-09-23 Miklos Szeredi <miklos@szeredi.hu>
205
206 * Fix one more compatibility bug. Thanks to Ricardo Correia
207
208 * Fix utimens compilation with uClibc. Patch from Jamie Guinan
209
Miklos Szeredieafdf422006-09-22 19:30:17 +00002102006-09-22 Miklos Szeredi <miklos@szeredi.hu>
211
Miklos Szeredi07cf0fe2006-09-27 18:48:06 +0000212 * Fixed several compatibility bugs in low level interface.
213 Reported by Ricardo Correia
Miklos Szeredieafdf422006-09-22 19:30:17 +0000214
215 * Add workaround for ARM caching bug
216
Miklos Szeredic3b76812006-09-16 08:52:09 +00002172006-09-16 Miklos Szeredi <miklos@szeredi.hu>
218
219 * Rename new utimes() method to more logical utimens()
220
2212006-09-14 Miklos Szeredi <miklos@szeredi.hu>
222
223 * Fuse tried to unlink already unlinked hidden files. Bug
224 reported by Milan Svoboda
225
Miklos Szeredi0c59ebf2006-09-10 20:53:36 +00002262006-09-10 Miklos Szeredi <miklos@szeredi.hu>
227
228 * Released 2.6.0-rc1
229
2302006-09-10 Miklos Szeredi <miklos@szeredi.hu>
231
232 * kernel: Fix unlock on close for kernels < 2.6.18
233
234 * Add ulockmgr library & server. This can be used for handling
235 file locking requests either directly from libfuse or over a
236 network, etc. This first version is not optimized and the number
237 of file descriptors it uses may get out of hand
238
Miklos Szeredi288ed4e2006-09-07 06:02:44 +00002392006-09-07 Miklos Szeredi <miklos@szeredi.hu>
240
241 * lib: Add interrupt support to high level library, which may be
242 enabled with the 'intr' mount option.
243
244 * When an operation is interrupted the thread handling that
245 operation will receive SIGUSR1 (or other signal specified with the
246 'intr_signal=N' option). The library installs a no-op signal
247 handler for this signal, unless there's already a handler
248 installed.
249
250 * The filesystem may query interrupt status (regardless of 'intr')
251 with the fuse_interrupted() function.
252
Miklos Szeredid8588412006-09-07 06:08:56 +0000253 * mount.fuse: initialize $HOME if not set. Report from Sven Goldt
254
Miklos Szeredi38f152c2006-09-03 18:28:52 +00002552006-09-03 Miklos Szeredi <miklos@szeredi.hu>
256
257 * lib: Multithreaded loop now allows unlimited number of threads.
258 This is needed for locking operations which may block
259 indefinitely. Also the kernel now doesn't limit the number of
260 outstanding requests so the library shouldn't do so either.
261
Miklos Szeredifa440772006-09-02 09:51:08 +00002622006-09-01 Miklos Szeredi <miklos@szeredi.hu>
263
264 * Fix recursive lock bug in interrupt handling
265
266 * Add utimes() method to highlevel interface, which supports
267 setting times with nanosecond resolution
268
Miklos Szeredi63d3c402006-08-18 16:38:08 +00002692006-08-18 Miklos Szeredi <miklos@szeredi.hu>
270
271 * kernel: fix page leak if fuse_readpages() failed in it's
272 initialization. Bug found and original patch from Alexander
273 Zarochentsev
274
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000275 * For linux kernels >=2.6.18 (2.6.19 if using the fuse module from
276 the kernel tree) the statfs method will receive the path within
Miklos Szeredid2bda142006-08-19 09:26:16 +0000277 the filesystem on which the stat(v)fs syscall was called
Miklos Szeredi3ded1a32006-08-18 18:43:50 +0000278
Miklos Szeredi543087d2006-08-18 19:26:23 +0000279 * fusermount: try to modprobe fuse module if invoked by root and
280 unable to open device. This is needed with udev, since the device
281 node will be created only when the module is inserted, hence
282 module autoloading won't work. Reported by Szakacsits Szabolcs
283
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002842006-07-30 Miklos Szeredi <miklos@szeredi.hu>
285
286 * fusermount: if selinux is active, restore the original file's
287 security context in unmount_rename(). Redhat bugzilla id 188561.
288 Patch from Yves Perrenoud
289
290 * Add POSIX file locking operation to high level library
291
Miklos Szerediad519562006-07-31 11:07:40 +0000292 * Initialize context for unlink of hidden files on umount. Bug
293 reported by Tim Stoakes
294
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +00002952006-07-14 Miklos Szeredi <miklos@szeredi.hu>
296
297 * Multiple release() calls can race with each other, resulting in
298 the hidden file being deleted before the last release finishes.
299 Bug found and patch tested by Mark Huijgen
300
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +00003012006-07-05 Miklos Szeredi <miklos@szeredi.hu>
302
Miklos Szeredi9a5c11d2006-07-30 17:33:40 +0000303 * fusermount: if /dev/fuse doesn't exist, suggest modprobing fuse;
304 this makes sense on systems using udev. Reported by Szakacsits
305 Szabolcs
Miklos Szeredi3b0e4fa2006-07-14 10:13:16 +0000306
Miklos Szeredi91762cd2006-06-29 14:38:35 +00003072006-06-29 Miklos Szeredi <miklos@szeredi.hu>
308
309 * Released 2.6.0-pre3
310
3112006-06-29 Miklos Szeredi <miklos@szeredi.hu>
312
313 * Support in kernel module for file locking and interruption. The
314 same functionality is available in official kernels >= 2.6.18
315
Miklos Szeredib052a1a2006-06-28 14:51:20 +00003162006-06-28 Miklos Szeredi <miklos@szeredi.hu>
317
318 * Add POSIX file locking support
319
320 * Add request interruption
321
Miklos Szeredi55a84102006-06-06 10:16:38 +00003222006-06-06 Miklos Szeredi <miklos@szeredi.hu>
323
324 * Add missing pthread_rwlock_destroy(). Patch from Remy Blank
325
Miklos Szeredi9dedb702006-06-06 09:48:30 +00003262006-06-05 Remy Blank <remy.blank@pobox.com>
327
328 * lib: canonicalize mount point in fuse_helper_opt_proc() so that
329 unmounting succeeds even if mount point was relative.
330
Csaba Henkd021ce42006-06-03 23:04:18 +00003312006-06-04 Csaba Henk <csaba.henk@creo.hu>
332
333 * lib: fix emergency umount in helper.c when malloc fails.
334 (The way it was done would end up in a segfault.)
335
Csaba Henk4f5c7b42006-06-01 14:19:17 +00003362006-06-01 Csaba Henk <csaba.henk@creo.hu>
337
338 * lib: adjust threading related compiler flags.
339 Switch to "-pthread" from "-lpthread" as that's the preferred
340 one on several platforms. Consulted with Terrence Cole and
341 Miklos Szeredi
Miklos Szeredi06908f42006-05-16 14:39:47 +0000342
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +00003432006-05-08 Miklos Szeredi <miklos@szeredi.hu>
344
345 * lib: search fusermount in installation directory (bindir) as
346 well as in PATH.
347
Miklos Szeredi2512aaa2006-05-03 14:54:59 +00003482006-05-03 Miklos Szeredi <miklos@szeredi.hu>
349
350 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
351 Reported by Christian Magnusson
352
Csaba Henk2efe48f2006-04-22 22:46:52 +00003532006-04-23 Csaba Henk <csaba.henk@creo.hu>
354
355 * lib: make FreeBSD mount routine recognize if kernel features
356 backgrounded init and if it does, run the mount util in foreground
357 (similarly to Linux)
358
Miklos Szeredi5fe07d62006-04-21 14:09:28 +00003592006-04-21 Miklos Szeredi <miklos@szeredi.hu>
360
361 * kernel: fix fput deadlock fix, the lockless solution could lead
362 to "VFS: busy inodes after umount..."
363
364 * kernel: fix race between checking and setting file->private_data
365 for the device. Found by Al Viro
366
3672006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +0000368
369 * kernel: remove request pool, instead allocate requests on
370 demand. Account the number of background requests, and if they go
371 over a limit, block the allocation of new requests.
372
373 * kernel: fix deadlock if backgrounded request holds the last
374 reference to the super block
375
376 * kernel: don't use fuse_reset_request() during direct I/O
377
Csaba Henkbaa49d22006-04-06 00:12:44 +00003782006-04-06 Csaba Henk <csaba.henk@creo.hu>
379
380 * lib: Let FreeBSD mount option parsing routine recognize "no"
381 prefixes for FUSE specific options as well
382
Miklos Szeredid0a777a2006-04-05 07:18:00 +00003832006-04-01 Miklos Szeredi <miklos@szeredi.hu>
384
385 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
386
Miklos Szeredi6f385412006-03-17 15:05:40 +00003872006-03-17 Miklos Szeredi <miklos@szeredi.hu>
388
389 * API changes:
390
391 * fuse_main(), fuse_setup() and fuse_new() have an additionl
392 user_data parameter
393
394 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
395 file descriptor
396
397 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
398 destroys the given channel
399
400 * fuse_teardown() no longer has a file descriptor parameter
401
402 * new exported functions: fuse_session_remove_chan(),
403 fuse_get_session(), fuse_daemonize()
404
Miklos Szeredi8d975f62006-03-17 15:56:05 +0000405 * fuse_chan_recv() may now return a new channel which will be used
406 to send the reply
407
Miklos Szeredif51e43f2006-03-16 14:19:25 +00004082006-03-16 Miklos Szeredi <miklos@szeredi.hu>
409
Miklos Szeredi9db31dc2006-03-16 14:43:28 +0000410 * Released 2.6.0-pre2
411
4122006-03-16 Miklos Szeredi <miklos@szeredi.hu>
413
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000414 * Don't unmount if already unmounted. This fixes a problem seen
415 in the following situation: Lazy unmount a busy filesystem; Mount
416 a new one in top; When the first finally unmounts, the second also
417 unmounts. Reported by Franco Broi
418
Miklos Szeredi2c1381f2006-03-15 20:34:10 +00004192006-03-15 Miklos Szeredi <miklos@szeredi.hu>
420
421 * lowlevel lib: use indirect function calls instead of a
422 switch/case construct. Besides increased efficiency it helps
423 maintainability & readability too. Patch from Florin Malita
424
Miklos Szeredi67d26d42006-03-13 17:39:56 +00004252006-03-13 Miklos Szeredi <miklos@szeredi.hu>
426
427 * kernel: replace global spinlock with a per-connection spinlock
428
Miklos Szeredi87c77932006-03-10 10:18:20 +00004292006-03-10 Miklos Szeredi <miklos@szeredi.hu>
430
431 * Fix source compatibility breakage for fuse_unmount(). Report
432 from Yura Pakhuchiy
433
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +00004342006-03-02 Miklos Szeredi <miklos@szeredi.hu>
435
436 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
437
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00004382006-03-01 Miklos Szeredi <miklos@szeredi.hu>
439
440 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
441 Jeff Dike
442
443 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
444 interface to return -errno in case of error.
445
Csaba Henkee588c02006-03-01 09:40:35 +00004462006-03-01 Csaba Henk <csaba.henk@creo.hu>
447
448 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
449 FreeBSD implementation so that it uses libc (sysctl backed) instead
450 of an embdedded script (kmem backed). Adjust the control flow of
451 hello_ll so that device doesn't get closed before unmount attempt.
452
Miklos Szerediaa8258e2006-02-25 14:42:03 +00004532006-02-25 Miklos Szeredi <miklos@szeredi.hu>
454
455 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
456 implement method. This is needed on FreeBSD, and nicer on Linux
457 too. Highlevel lib already did this. Reported by Csaba Henk
458
459 * Fix negative entry handling. There was a bug, that negative
460 lookups with timeouts (nodeid == 0) returned -EIO.
461
4622006-02-23 Miklos Szeredi <miklos@szeredi.hu>
463
464 * Fix race between RELEASE and UNLINK, which might leave
465 .fuse_hidden* files around
466
Miklos Szeredi6bab4802006-02-21 18:31:29 +00004672006-02-21 Miklos Szeredi <miklos@szeredi.hu>
468
469 * fusexmp_fh: implement flush() method and call close() on the
470 open file descriptor. This is needed if used on an NFS
471 filesystem, which buffers data until file is closed. Franco Broi
472 spotted the situation when 'cp -p' failed to set the modification
473 time because of this.
474
Miklos Szeredie109e282006-02-20 11:06:20 +00004752006-02-20 Miklos Szeredi <miklos@szeredi.hu>
476
477 * Released 2.6.0-pre1
478
Miklos Szeredib67f2162006-02-20 10:55:33 +00004792006-02-19 Miklos Szeredi <miklos@szeredi.hu>
480
481 * libfuse: fix use-after-free bug in interruptred reply_entry().
482 Patch from John Muir
483
484 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
485 ID: 352631. Found by Stéphane Rosi
486
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00004872006-02-17 Miklos Szeredi <miklos@szeredi.hu>
488
489 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
490 into a single function fuse_add_direntry(). This cleans up the
491 interface and makes it possible to do stacking.
492
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00004932006-02-16 Miklos Szeredi <miklos@szeredi.hu>
494
495 * Fix rare race betweeen abort and release caused by failed iget()
496 in fuse_create_open().
497
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000498 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
499 own attribute caching.
500
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00005012006-02-15 Miklos Szeredi <miklos@szeredi.hu>
502
503 * Work around FreeBSD runtime linker "feature" which binds an old
504 version of a symbol to internal references if the symbol has more
505 than one version. This resulted in infinite recursion in
506 fuse_lowlevel_new_compat25().
507
Csaba Henkdcce3e52006-02-10 06:22:15 +00005082006-02-10 Csaba Henk <csaba.henk@creo.hu>
509
510 * Refine clock_gettime() querying so that linker options
511 shall be set as it's appropriate for the target platform.
512
Miklos Szeredi390ae312006-02-10 16:44:34 +00005132006-02-09 Miklos Szeredi <miklos@szeredi.hu>
514
515 * Fix udev rule syntax. Reported by Nix
516
Miklos Szeredieb643582006-02-08 10:54:02 +00005172006-02-08 Miklos Szeredi <miklos@szeredi.hu>
518
519 * In some cases udev rule seems to be ineffective when installed
520 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
521
Miklos Szeredi357529c2006-02-03 09:20:31 +00005222006-02-03 Miklos Szeredi <miklos@szeredi.hu>
523
524 * Fix compilation when build directory is different from source
525 directory. Reported by Frédéric L. W. Meunier
526
Miklos Szeredice28c7e2006-02-02 14:59:05 +00005272006-02-02 Miklos Szeredi <miklos@szeredi.hu>
528
529 * Fix even bigger bug introduced in fix for request_end() on
530 2006-01-14. Reported by Gal Rosen
531
Miklos Szeredi320abe42006-01-30 18:14:51 +00005322006-01-30 Miklos Szeredi <miklos@szeredi.hu>
533
534 * highlevel-lib: add 'auto_cache' option. This caches file data
535 based on modification time and size
536
Miklos Szeredi065f2222006-01-20 15:15:21 +00005372006-01-20 Miklos Szeredi <miklos@szeredi.hu>
538
Miklos Szeredid66b7282006-02-02 15:15:21 +0000539 * Sanitize storage type and help message in mount_bsd.c. Patch
540 from Csaba Henk
541
Miklos Szeredi065f2222006-01-20 15:15:21 +0000542 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
543 FUSE_OPT_KEY_DISCARD
544
545 * Add options 'max_readahead', 'sync_read' and 'async_read'
546
547 * Kernel ABI version 7.6:
548
549 * Negotiate the 'max_readahead' value and 'async_read' flags with
550 userspace in the INIT method
551
552 * Add connection info to ->init() methods to both lowlevel and
553 highlevel API
554
555 * Fall back to synchronous read() behavior if either library or
556 userspace filesystem is using the old interface version. This is
557 needed so non-updated filesystems won't be confused by the
558 different read() behavior
559
5602006-01-19 Miklos Szeredi <miklos@szeredi.hu>
561
562 * lib: if "fsname=" option was given, pass it to fusermount
563
564 * fuse_opt: add new fuse_opt_insert_arg() function, which is
565 needed by filesystems to implement some argument manipulations
566 correctly
567
568 * fuse_opt: fix memory leak in handling "--" option
569
5702006-01-18 Miklos Szeredi <miklos@szeredi.hu>
571
572 * kernel: fix detection of case when fuse is not configured into
573 the kernel either as module or built-in
574
575 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
576 'template' structure member to 'templ'. Reported by Takashi Iwai
577
578 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
579
580 * kernel: support version 2.6.16 (i_sem -> i_mutex)
581
Miklos Szeredi15af1b82006-01-16 17:52:24 +00005822006-01-16 Miklos Szeredi <miklos@szeredi.hu>
583
584 * Added (again) asynchronous readpages support
585
586 * Each connection now shows up under /sys/fs/fuse/connections
587
588 * Connection attributes exported to sysfs: 'waiting' number of
589 waiting requests; 'abort' abort the connection
590
591 * Connection may be aborted through either the sysfs interface or
592 with 'umount -f mountpoint'
593
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00005942006-01-14 Miklos Szeredi <miklos@szeredi.hu>
595
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000596 * Released 2.5.0
597
5982006-01-14 Miklos Szeredi <miklos@szeredi.hu>
599
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000600 * kernel: fix a couple of bugs
601
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000602 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000603 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000604 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000605
606 * request_end() used request pointer after decrementing refcount
607
608 * Clearing ->connected or ->mounted connection flags could race
609 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000610
Miklos Szeredia9820342006-01-10 10:54:11 +00006112006-01-10 Miklos Szeredi <miklos@szeredi.hu>
612
613 * kernel: add necessary compile flags for 2.4.X/x86_64.
614 Report from Sean Ziegeler
615
Miklos Szeredi35676b02006-01-09 10:13:28 +00006162006-01-09 Miklos Szeredi <miklos@szeredi.hu>
617
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000618 * Released 2.5.0-pre2
619
6202006-01-09 Miklos Szeredi <miklos@szeredi.hu>
621
Miklos Szeredi35676b02006-01-09 10:13:28 +0000622 * Applied patch from Csaba Henk, to update mount_bsd to new
623 fuse_mount() semantics
624
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000625 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
626 Steiner and Don Taber
627
Miklos Szeredicb075c82006-01-09 11:33:04 +0000628 * fusermount: add 'dirsync' mount option
629
Miklos Szerediad005972006-01-07 10:14:34 +00006302006-01-07 Miklos Szeredi <miklos@szeredi.hu>
631
632 * Improved help reporting and added version reporting to library
633
Miklos Szeredi0af762a2006-01-06 09:47:54 +00006342006-01-06 Miklos Szeredi <miklos@szeredi.hu>
635
636 * Change working directory to "/" even if running in the
637 foreground. Patch from Jonathan Brandmeyer
638
Miklos Szeredi95da8602006-01-06 18:29:40 +0000639 * Changed lots of functions to use 'struct fuse_args' instead of
640 separate argc and argv
641
642 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
643 fuse_remove_signal_handlers() functions, so that it's now pretty
644 easy to get all the functionality of fuse_main() with a filesystem
645 using the lowlevel API.
646
Miklos Szeredib8638182006-01-02 12:52:24 +00006472006-01-02 Miklos Szeredi <miklos@szeredi.hu>
648
Miklos Szeredif1941472006-01-02 16:27:48 +0000649 * mount.fuse: the 'user' option should be ignored. Report and
650 solution from Mattd.
651
652 * mount.fuse: export PATH in the right place. Report and patch
653 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000654
Miklos Szeredi73f41392005-12-16 11:12:16 +00006552005-12-16 Miklos Szeredi <miklos@szeredi.hu>
656
657 * Clean up the option parsing interface slightly, by creating an
658 "argument list" structure, that contains the argument vector and
659 count
660
Miklos Szeredi4e829092005-12-15 16:13:49 +00006612005-12-15 Miklos Szeredi <miklos@szeredi.hu>
662
663 * fusermount: check if /mnt/mtab is a symlink and don't modify it
664 in that case
665
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000666 * kernel: simplify request size limiting. INIT only contains
667 maximum write size, maximum path component size remains fixed at
668 1024 bytes, and maximum xattr size depends on read buffer.
669
Miklos Szeredie248e4b2005-12-14 16:18:32 +00006702005-12-14 Miklos Szeredi <miklos@szeredi.hu>
671
672 * Fix readdir() failure on x86_64, of 32bit programs compiled
673 without largefile support. Bug report and help from Anthony
674 Kolasny
675
Miklos Szeredi64709572005-12-14 22:16:28 +0000676 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000677 a regular file
678
679 * Add current output argument vector to option processing
680 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000681
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00006822005-12-12 Miklos Szeredi <miklos@szeredi.hu>
683
684 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
685
Miklos Szeredi659743b2005-12-09 17:41:42 +00006862005-12-09 Miklos Szeredi <miklos@szeredi.hu>
687
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000688 * Released 2.5.0-pre1
689
6902005-12-09 Miklos Szeredi <miklos@szeredi.hu>
691
Miklos Szeredi659743b2005-12-09 17:41:42 +0000692 * libfuse: added option parsing interface, defined in
693 <fuse_opt.h>.
694
Miklos Szeredic53cddd2005-12-07 12:57:59 +00006952005-12-07 Miklos Szeredi <miklos@szeredi.hu>
696
697 * Return EIO for file operations (read, write, fsync, flush) on
698 open files whose inode has become "bad". Inodes will be marked
699 "bad" if their type changes. Bug report by Csaba Henk
700
Miklos Szeredi044da2e2005-12-06 17:59:55 +00007012005-12-06 Miklos Szeredi <miklos@szeredi.hu>
702
703 * Use bigger request buffer size. write() did not work on archs
704 with > 4k page size, Bug report by Mark Haney
705
706 * ABI version 7.5:
707
708 * Extend INIT reply with data size limits
709
Miklos Szeredifa829b52005-12-02 11:05:41 +00007102005-12-02 Miklos Szeredi <miklos@szeredi.hu>
711
712 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
713 reported by Vincenzo Ciancia
714
715 * Handle exit-by-umount in fuse_read_cmd()
716
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00007172005-11-29 Miklos Szeredi <miklos@szeredi.hu>
718
719 * Check if '-msoft-float' option is supported by compiler when
720 configuring for a 2.4.x kernel. Bug report by Mark Haney
721
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000722 * In multithreaded loop send a TERM signal to the main thread if
723 one of the other threads exit. Needed on FreeBSD for a clean exit
724 on umount. Should not cause any harm on Linux either
725
Miklos Szerediead7f102005-11-28 16:02:27 +00007262005-11-28 Miklos Szeredi <miklos@szeredi.hu>
727
728 * Fix bug in 32-bit file handle compatibility
729
Miklos Szeredia90b7342005-11-27 19:22:42 +00007302005-11-27 Miklos Szeredi <miklos@szeredi.hu>
731
732 * Block TERM, INT, HUP and QUIT signals in all but the main
733 thread. According to POSIX it's not specified which thread will
734 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000735
736 * Kernel changes:
737
738 * Check for directory aliasing on mkdir, not just on lookup
739
740 * Check for special node ID values in create+open operation
741
742 * Sync with -mm: readv, writev, aio_read and aio_write methods
743 added to file operations
744
745 * Cleanups: lookup code, page offset calculation
746
747 * ABI stepped to 7.4, changes:
748
749 * frsize member added to fuse_kstatfs structure
750
751 * added support for negative entry caching: on lowlevel API if
752 fuse_entry_param::ino is set to zero in reply to a lookup request,
753 the kernel will cache the dentry for the specified amount of time.
754
755 * libfuse: added 'negative_timeout' option: specifies how much
756 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000757 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000758
Miklos Szeredibac4c772005-11-23 13:35:54 +00007592005-11-22 Miklos Szeredi <miklos@szeredi.hu>
760
761 * Add detection of mainline FUSE code in running kernel
762
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00007632005-11-21 Miklos Szeredi <miklos@szeredi.hu>
764
765 * Don't use async cancelation in multithreaded loop. This makes
766 it more portable to systems where read() is not async cancel safe.
767 Report from Andriy Gapon
768
Miklos Szeredi05c97842005-11-20 17:05:07 +00007692005-11-20 Miklos Szeredi <miklos@szeredi.hu>
770
771 * Warn if API version 11 compatibility is requested
772
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00007732005-11-17 Miklos Szeredi <miklos@szeredi.hu>
774
775 * More FreeBSD merge
776
Miklos Szeredi832ee442005-11-18 21:02:36 +0000777 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
778 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000779 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000780
781 * libfuse: don't use system() to invoke 'fusermount -u ...'
782 because it breaks mountpoints with spaces in them into multiple
783 arguments
784
Miklos Szeredib3f99722005-11-16 13:00:24 +00007852005-11-16 Miklos Szeredi <miklos@szeredi.hu>
786
787 * Merge library part of FreeBSD port. Patch by Csaba Henk
788
Miklos Szeredi3a770472005-11-11 21:32:42 +00007892005-11-11 Miklos Szeredi <miklos@szeredi.hu>
790
791 * Use 64bit type for file handle, so the full range supported by
792 the kernel interface is available to applications
793
Miklos Szeredibcc53852005-11-10 09:54:41 +00007942005-11-10 Miklos Szeredi <miklos@szeredi.hu>
795
796 * Moved mountpoint argument checking from fuse_parse_cmdline() to
797 fuse_mount() in preparation to FreeBSD merge.
798
Miklos Szeredi4ec06812005-11-08 13:04:27 +00007992005-11-08 Miklos Szeredi <miklos@szeredi.hu>
800
801 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
802 Henk.
803
Miklos Szeredic706ad92005-11-07 15:30:48 +00008042005-11-07 Miklos Szeredi <miklos@szeredi.hu>
805
806 * Make the statfs change backwards compatible.
807
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00008082005-11-06 Miklos Szeredi <miklos@szeredi.hu>
809
810 * Change ->statfs() method to use 'struct statvfs' instead of
811 'struct statfs'. This makes the API more portable since statvfs()
812 is defined by POSIX.
813
Miklos Szeredif7eec032005-10-28 13:09:50 +00008142005-10-28 Miklos Szeredi <miklos@szeredi.hu>
815
816 * Add fgetattr() method, which currently will only be called after
817 a successful call to a create() method.
818
Miklos Szeredib0b13d12005-10-26 12:53:25 +00008192005-10-26 Miklos Szeredi <miklos@szeredi.hu>
820
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000821 * Change kernel ABI version to 7.3
822
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000823 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000824 call if 'default_permissions' mount option is not given, and is
825 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000826
Miklos Szeredid9079a72005-10-26 15:29:06 +0000827 * Add atomic CREATE+OPEN operation. This will only work with
828 2.6.15 (presumably) or later Linux kernels.
829
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000830 * Add ftruncate() method. This will only work with 2.6.15
831 (presumably) or later Linux kernels.
832
833 * Fix kernel module compile if kernel source and build directories
834 differ. Report and initial patch by John Eastman
835
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00008362005-10-18 Miklos Szeredi <miklos@szeredi.hu>
837
838 * lib: optimize buffer reallocation in fill_dir.
839
Miklos Szeredic9daeb12005-10-17 10:19:21 +00008402005-10-17 Miklos Szeredi <miklos@szeredi.hu>
841
842 * Released 2.4.1
843
Miklos Szeredif412d072005-10-14 21:24:32 +00008442005-10-14 Miklos Szeredi <miklos@szeredi.hu>
845
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000846 * libfuse: add debug for write result (by Shaun Jackman) and
847 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000848
Miklos Szeredib75d4b92005-10-11 10:12:08 +00008492005-10-11 Miklos Szeredi <miklos@szeredi.hu>
850
851 * Spelling fixes, thanks to Ioannis Barkas
852
Miklos Szeredibaab5872005-10-10 08:41:14 +00008532005-10-10 Miklos Szeredi <miklos@szeredi.hu>
854
855 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
856 patch
857
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00008582005-10-07 Miklos Szeredi <miklos@szeredi.hu>
859
860 * highlevel-lib: init() and destroy() methods didn't have an
861 initialized fuse_context. Bug reported by Tim Stoakes
862
Miklos Szeredif2491122005-10-04 10:10:41 +00008632005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000864
865 * Released 2.4.0
866
Miklos Szeredi836ab712005-10-03 14:11:59 +00008672005-10-03 Miklos Szeredi <miklos@szeredi.hu>
868
869 * Add documentation to fuse_lowlevel.h
870
871 * API cleanups:
872
873 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
874
875 * Move fuse_mount() and fuse_unmount() to fuse_common.h
876
877 * Change the return type of fuse_reply_none() from int to void.
878
Miklos Szerediaf138742005-09-30 08:49:59 +00008792005-09-30 Miklos Szeredi <miklos@szeredi.hu>
880
881 * kernel: NFS exporting leaked dentries. Bug found and fixed by
882 Akshat Aranya.
883
Miklos Szeredidb016e02005-09-29 10:06:27 +00008842005-09-29 Miklos Szeredi <miklos@szeredi.hu>
885
886 * fusermount: fix error message, when unable to open /dev/fuse.
887 Report by Balázs Pozsár
888
Miklos Szeredi35200932005-09-28 14:50:49 +00008892005-09-28 Miklos Szeredi <miklos@szeredi.hu>
890
891 * UClibc fixes from Christian Magnusson
892
Miklos Szeredi8eddf642005-09-27 08:58:26 +00008932005-09-27 Miklos Szeredi <miklos@szeredi.hu>
894
895 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
896
Miklos Szerediedec95c2005-09-26 10:22:22 +00008972005-09-26 Miklos Szeredi <miklos@szeredi.hu>
898
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000899 * Released 2.4.0-rc1
900
9012005-09-26 Miklos Szeredi <miklos@szeredi.hu>
902
Miklos Szerediedec95c2005-09-26 10:22:22 +0000903 * fusermount: allow user umount in the case when /etc/mtab is a
904 symlink to /proc/mounts. Reported by Balázs Pozsár.
905
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00009062005-09-23 Miklos Szeredi <miklos@szeredi.hu>
907
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000908 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000909
Miklos Szeredif45f3c12005-09-22 15:14:27 +00009102005-09-22 Miklos Szeredi <miklos@szeredi.hu>
911
912 * Slight optimization in returning EINVAL error in case of an open
913 with O_DIRECT flag.
914
Miklos Szeredi670d07a2005-09-20 11:36:32 +00009152005-09-20 Miklos Szeredi <miklos@szeredi.hu>
916
917 * Remove '--enable-auto-modprobe' configure flag. Module
918 auto-loading is now handled by the kernel.
919
Miklos Szeredid51fca12005-09-15 12:51:00 +00009202005-09-15 Miklos Szeredi <miklos@szeredi.hu>
921
922 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
923 Help from Jens M. Noedler.
924
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00009252005-09-14 Miklos Szeredi <miklos@szeredi.hu>
926
927 * Add memory cleanup on thread exit
928
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00009292005-09-13 Miklos Szeredi <miklos@szeredi.hu>
930
931 * Set umask to zero in fusexmp and fusexmp_fh, so that
932 files/directories are created with the requested mode.
933
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00009342005-09-12 Miklos Szeredi <miklos@szeredi.hu>
935
936 * Don't ignore read error in multithreaded loop
937
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00009382005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000939
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000940 * Released 2.4.0-pre2
941
9422005-09-08 Miklos Szeredi <miklos@szeredi.hu>
943
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000944 * Revert lock and access operations. Postpone these until 2.5.
945
9462005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000947
948 * Fix compile warning on 2.6.13 and later
949
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000950 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000951
Miklos Szeredi77ccf652005-08-19 14:40:27 +00009522005-08-19 Miklos Szeredi <miklos@szeredi.hu>
953
954 * lib: always refresh directory contents after rewinddir() to
955 conform to SUS. Bug found by John Muir.
956
Miklos Szeredia1482422005-08-14 23:00:27 +00009572005-08-15 Miklos Szeredi <miklos@szeredi.hu>
958
Miklos Szeredic43f9412005-08-15 15:10:48 +0000959 * Released 2.4.0-pre1
960
9612005-08-14 Miklos Szeredi <miklos@szeredi.hu>
962
Miklos Szeredia1482422005-08-14 23:00:27 +0000963 * lib: cleaned up (or messed up, depending on your POV) the low
964 level library API. Hopefully this is close to the final form.
965
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00009662005-08-05 Miklos Szeredi <miklos@szeredi.hu>
967
968 * fusermount: don't allow empty mountpoint argument, which defeats
969 automatic umounting in fuse_main(). Bugreport by Václav Jůza
970
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00009712005-08-03 Miklos Szeredi <miklos@szeredi.hu>
972
973 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
974 option is used (Paul Alfille).
975
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00009762005-08-02 Miklos Szeredi <miklos@szeredi.hu>
977
978 * highlevel-lib: added mount options "attr_timeout" and
979 "entry_timeout". These options control the length of time file
980 attributes and entries (names) are cached. Both default to 1.0
981 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000982
983 * kernel: correctly handle zero timeout for attributes and entries
984
Miklos Szeredi56a61f02005-08-01 10:42:25 +00009852005-08-01 Miklos Szeredi <miklos@szeredi.hu>
986
987 * Added missing symbols to versionscript (Joshua J. Berry)
988
Miklos Szeredie77cc072005-08-01 11:58:51 +0000989 * kernel: implement two flags, open can set: 'direct_io' and
990 'keep_cache'. These correspond exactly to mount options
991 'direct_io' and 'kernel_cache', but allow a per-open setting.
992
993 * Move 'direct_io' and 'kernel_cache' mount option handling to
994 userspace. For both mount options, if the option is given, then
995 the respective open flag is set, otherwise the open flag is left
996 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000997
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000998 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000999
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +000010002005-07-28 Miklos Szeredi <miklos@szeredi.hu>
1001
1002 * kernel: invalidate attributes for read/readdir/readlink
1003 operations
1004
1005 * kernel: detect newer UML kernels
1006
Miklos Szeredibfb99462005-07-26 11:07:55 +000010072005-07-26 Miklos Szeredi <miklos@szeredi.hu>
1008
1009 * Make the installation path of fuse.ko and mount.fuse
1010 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
1011 environment variables. Requirement and help from Csaba Henk.
1012
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +000010132005-07-22 Miklos Szeredi <miklos@szeredi.hu>
1014
1015 * Fix bug, that causes filesystem requests to hang when unique
1016 request counter becomes negative. This happens after
1017 2,147,483,648 operations, so most people won't care. Thanks to
1018 Franco Broi for the report and testing.
1019
Miklos Szeredi9b813af2005-07-21 07:59:37 +000010202005-07-21 Miklos Szeredi <miklos@szeredi.hu>
1021
1022 * Don't change mtime/ctime/atime to local time on read/write.
1023 Bug reported by Ben Grimm
1024
1025 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
1026 Magnusson
1027
1028 * fusermount: use getopt_long() for option parsing. It allows the
1029 use of '--' to stop argument scanning, so fusermount can now
1030 operate on directories whose names begin with a '-'. Patch by
1031 Adam Connell
1032
Miklos Szeredibd10a7b2005-07-15 09:59:59 +000010332005-07-15 Miklos Szeredi <miklos@szeredi.hu>
1034
1035 * fusermount: add '-v', '--version' and '--help' options
1036
1037 * add inode based API
1038
Miklos Szeredi2482fdb2005-07-12 13:23:53 +000010392005-07-12 Miklos Szeredi <miklos@szeredi.hu>
1040
1041 * lib: don't block signals in worker threads. Problem noticed by
1042 Usarin Heininga
1043
Miklos Szeredic902a852005-07-07 12:35:37 +000010442005-07-07 Miklos Szeredi <miklos@szeredi.hu>
1045
1046 * lib: don't allow both 'allow_other' and 'allow_root' options to
1047 be given
1048
Miklos Szeredi437d8112005-07-06 09:14:20 +000010492005-07-06 Miklos Szeredi <miklos@szeredi.hu>
1050
1051 * fusermount: check if mountpoint is empty (only '.' and '..' for
1052 directories, and size = 0 for regular files). If "nonempty"
1053 option is given, omit this check. This is useful, so users don't
1054 accidentally hide data (e.g. from backup programs). Thanks to
1055 Frank van Maarseveen for pointing this out.
1056
1057 * kernel: check if mandatory mount options ('fd', 'rootmode',
1058 'user_id', 'group_id') are all given
1059
Miklos Szeredi340d21f2005-07-06 10:07:52 +00001060 * lib: simplify 'readdir_ino' handling
1061
Miklos Szeredie331c4b2005-07-06 13:34:02 +00001062 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
1063
Miklos Szeredibb9f5172005-07-03 18:03:11 +000010642005-07-03 Miklos Szeredi <miklos@szeredi.hu>
1065
1066 * kernel: clean up 'direct_io' code
1067
Miklos Szeredie1bcece2005-06-28 10:37:06 +000010682005-06-28 Miklos Szeredi <miklos@szeredi.hu>
1069
1070 * Add 'mount.fuse' written by Petr Klima
1071
Miklos Szeredi866826d2005-06-28 12:22:57 +00001072 * '/dev/fuse' is created by 'make install' if does not yet exist
1073
Miklos Szeredi129ef8f2005-06-20 13:48:42 +000010742005-06-20 Miklos Szeredi <miklos@szeredi.hu>
1075
1076 * Fix UCLIBC compile error. Patch by Christian Magnusson
1077
Miklos Szerediec12fad2005-06-08 10:26:34 +000010782005-06-08 Miklos Szeredi <miklos@szeredi.hu>
1079
1080 * Enable the auto-loading of the module via access to the
1081 corresponding device file. Patch by Takashi Iwai.
1082
Miklos Szeredidaa690e2005-06-08 10:41:36 +00001083 * Allow mounting a regular file (over a regular file) for
1084 unprivleged users.
1085
Miklos Szeredi7495abf2005-06-08 11:01:17 +00001086 * Do not create temporary device file. Require "/dev/fuse" to
1087 exist, and be readable/writable by the mounting user.
1088
Miklos Szeredi46960ce2005-06-02 09:05:00 +000010892005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1090
Miklos Szeredi56478552005-06-02 10:29:00 +00001091 * Released 2.3.0
1092
10932005-06-02 Miklos Szeredi <miklos@szeredi.hu>
1094
Miklos Szeredi46960ce2005-06-02 09:05:00 +00001095 * Fix serious information leak: if the filesystem returns a short
1096 byte count to a read request, and there are non-zero number of
1097 pages which are not filled at all, these pages will not be zeroed.
1098 Hence the user can read out previous memory contents. Found by
1099 Sven Tantau.
1100
Miklos Szeredi33be22d2005-05-27 09:12:43 +000011012005-05-27 Miklos Szeredi <miklos@szeredi.hu>
1102
1103 * Add "readdir_ino" mount option, which tries to fill in the d_ino
1104 field in struct dirent. This mount option is ignored if "use_ino"
1105 is used. It helps some programs (e.g. 'pwd' used over NFS from a
1106 non-Linux OS). Patch by David Shaw.
1107
Miklos Szeredif94e0102005-05-12 14:56:34 +000011082005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1109
Miklos Szeredieb009c42005-05-12 15:01:17 +00001110 * Released 2.3-rc1
1111
11122005-05-12 Miklos Szeredi <miklos@szeredi.hu>
1113
Miklos Szeredif94e0102005-05-12 14:56:34 +00001114 * File save in krusader and other editors doesn't work with sshfs,
1115 because open() is interrupted by a periodic signal, and open()
1116 restarts forever, without any progress. This could just be fixed
1117 in open(), but the problem is more generic: if signals are
1118 received more often than the filesystem can get the request to
1119 userspace, it will never finish. This is probably only a
1120 theoretical problem, nevertheless I'm removing the possibility to
1121 interrupt requests with anything other than SIGKILL, even before
1122 being sent to userspace. Bugreport by Eduard Czimbalmos.
1123
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +000011242005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1125
Miklos Szeredic2a33ee2005-05-09 13:29:17 +00001126 * libfuse: add "tree_lock" rwlock, that is locked for write in
1127 rename, unlink and rmdir, and locked for read in all other
1128 operations. This should fix the rename/release race reported by
1129 Valient Gough and others. The solution is very coarse, a finer
1130 grained locking scheme could be implemented, but it would be much
1131 more complex. Let's see whether this is good enough.
1132
11332005-05-09 Miklos Szeredi <miklos@szeredi.hu>
1134
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001135 * Released 2.3-pre7
1136
Miklos Szeredi38009022005-05-08 19:47:22 +000011372005-05-08 Miklos Szeredi <miklos@szeredi.hu>
1138
1139 * Better fix for out of order FORGET messages. Now the
1140 LOOKUP/FORGET messages are balanced exactly (one FORGET can
1141 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00001142 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +00001143 compatible.
1144
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +000011452005-05-06 Miklos Szeredi <miklos@szeredi.hu>
1146
1147 * Fix abort for out of order FORGET messages. Again. Spotted by
1148 Franco Broi again. Sorry :)
1149
Miklos Szeredi9372ffd2005-04-29 08:03:24 +000011502005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1151
Miklos Szeredicb6413a2005-04-29 08:16:20 +00001152 * Released 2.3-pre6
1153
11542005-04-29 Miklos Szeredi <miklos@szeredi.hu>
1155
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00001156 * Make fusermount work with fuse kernel modules not yet supporting
1157 the "group_id" option (added for the purpose of stricter
1158 permission checking).
1159
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +000011602005-04-28 Miklos Szeredi <miklos@szeredi.hu>
1161
1162 * Check for hard-linked directories in lookup. This could cause
1163 problems in the VFS, which assumes that such objects never exist.
1164
1165 * Make checking of permission for other users more strict. Now
1166 the same privilege is required for the mount owner as for ptrace
1167 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +00001168
Miklos Szeredi3efcb562005-04-23 13:34:29 +000011692005-04-23 Miklos Szeredi <miklos@szeredi.hu>
1170
1171 * Released 2.3-pre5
1172
Miklos Szeredid001bf92005-04-22 07:54:11 +000011732005-04-22 Miklos Szeredi <miklos@szeredi.hu>
1174
1175 * Add -msoft-float to kernel module compile flags for 2.4.X. This
1176 is needed on certain architectures. Report from Chris Kirby
1177
1178 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
1179 Reported by David Shaw
1180
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00001181 * Remove "allow_root" option from kernel module, and implement
1182 it's functionality in the library
1183
1184 * Fix Oops caused by premature release of fuse_conn. Clean up
1185 related code, to be more readable
1186
Miklos Szeredif9137452005-04-23 10:59:44 +00001187 * Sendfile should not use page cache if "direct_io" mount option
1188 is given
1189
Miklos Szeredib7640d22005-04-08 15:15:28 +000011902005-04-08 Miklos Szeredi <miklos@szeredi.hu>
1191
1192 * Fix Oops in case of nfs export. Spotted by David Shaw
1193
Miklos Szeredi89814a12005-04-08 16:39:09 +00001194 * Fix another Oops in case of write over nfs with direct_io turned
1195 on. Again spotted by David Shaw
1196
Miklos Szerediab974562005-04-07 15:40:21 +000011972005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1198
Miklos Szeredi432d6182005-04-07 15:56:13 +00001199 * Released 2.3-pre4
1200
12012005-04-07 Miklos Szeredi <miklos@szeredi.hu>
1202
Miklos Szerediab974562005-04-07 15:40:21 +00001203 * lib: finalized new readdir() interface, which now supersedes the
1204 getdir() method.
1205
Miklos Szeredi30e093a2005-04-03 17:44:54 +000012062005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1207
1208 * Released 2.3-pre3
1209
12102005-04-03 Miklos Szeredi <miklos@szeredi.hu>
1211
1212 * Implement backward compatibility with version 5 kernel ABI
1213
Miklos Szeredi18fce982005-04-01 21:07:35 +000012142005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1215
1216 * Released 2.3-pre2
1217
12182005-04-01 Miklos Szeredi <miklos@szeredi.hu>
1219
1220 * kernel: fix dirent offset handling
1221
1222 * lib: add readdir and releasedir methods
1223
1224 * lib: use fh field of fuse_file_info in opendir, readdir,
1225 releasedir and fsyncdir methods
1226
1227 * lib: check kernel API version and bail out of it's old. This
1228 will be properly fixed in the next release
1229
12302005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1231
1232 * Released 2.3-pre1
1233
Miklos Szeredieab72ef2005-03-31 19:59:12 +000012342005-03-31 Miklos Szeredi <miklos@szeredi.hu>
1235
1236 * kernel API: add padding to structures, so 64bit and 32bit
1237 compiler will return the same size
1238
1239 * kernel API: add offset field to fuse_dirent. This will allow
1240 more sophisticated readdir interface for userspace
1241
1242 * kernel API: change major number to 6
1243
1244 * kernel: fix warnings on 64bit archs
1245
1246 * kernel: in case of API version mismatch, return ECONNREFUSED
1247
Miklos Szeredi407e6a72005-03-25 12:19:43 +000012482005-03-24 Miklos Szeredi <miklos@szeredi.hu>
1249
1250 * kernel: trivial cleanups
1251
Miklos Szeredi4283ee72005-03-21 12:09:04 +000012522005-03-21 Miklos Szeredi <miklos@szeredi.hu>
1253
1254 * Add fsyncdir() operation
1255
Miklos Szeredid17da462005-03-21 11:47:04 +000012562005-03-19 Miklos Szeredi <miklos@szeredi.hu>
1257
1258 * kernel: add locking to background list (fixes previous fix)
1259
12602005-03-18 Miklos Szeredi <miklos@szeredi.hu>
1261
1262 * kernel: fix bug which could cause leave busy inodes after
1263 unmount, and Oops.
1264
12652005-03-08 Miklos Szeredi <miklos@szeredi.hu>
1266
1267 * examples: add -lpthread to link flags to work around valgrind
1268 quirk
1269
1270 * lib: don't exit threads, so cancelation doesn't cause segfault
1271
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000012722005-03-04 Miklos Szeredi <miklos@szeredi.hu>
1273
1274 * kernel: fix nasty bug which could cause an Oops under certain
1275 situations. Found by Magnus Johansson
1276
Miklos Szeredif43f0632005-02-28 11:46:56 +000012772005-02-28 Miklos Szeredi <miklos@szeredi.hu>
1278
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001279 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00001280 permission checking in getdir() is too late. Thanks to Usarin
1281 Heininga for pointing out this deficiency
1282
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00001283 * libfuse: added init() and destroy() methods to fuse_operations
1284
Miklos Szeredif43f0632005-02-28 11:46:56 +00001285 * kernel: llseek() method for files and directories made explicit
1286
1287 * kernel: fixed inode leak in NFS export in case of nodeid
1288 wrapping
1289
Miklos Szeredied3c97c2005-02-15 17:04:50 +000012902005-02-15 Miklos Szeredi <miklos@szeredi.hu>
1291
1292 * libfuse: clean up some unitialized memory found with valgrind
1293
Miklos Szeredi47c52982005-02-23 09:27:38 +00001294 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
1295 explicitly linked libpthread for applications
1296
Miklos Szeredia7169412005-02-10 07:35:05 +000012972005-02-10 Miklos Szeredi <miklos@szeredi.hu>
1298
1299 * fusermount: set umask, otherwise /etc/mtab will have
1300 unpredictable permission. Spotted by Jindrich Kolorenc
1301
1302 * fusermount: set owner and group of /etc/mtab to original values
1303 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +00001304
1305 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +00001306
Miklos Szeredib92d9782005-02-07 16:10:49 +000013072005-02-07 Miklos Szeredi <miklos@szeredi.hu>
1308
1309 * Cleaned up directory reading (temporary file is not used)
1310
Miklos Szerediff30a6c2005-02-02 10:53:59 +000013112005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1312
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00001313 * Released 2.2
1314
13152005-02-02 Miklos Szeredi <miklos@szeredi.hu>
1316
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001317 * Fix possible race when operation is interrupted
1318
Miklos Szeredi7a983952005-01-28 09:58:19 +000013192005-01-28 Miklos Szeredi <miklos@szeredi.hu>
1320
Miklos Szeredie5183742005-02-02 11:14:04 +00001321 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +00001322
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000013232005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1324
Miklos Szeredid48d5f72005-01-26 20:43:41 +00001325 * Released 2.2-pre6
1326
13272005-01-26 Miklos Szeredi <miklos@szeredi.hu>
1328
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001329 * Fix bug in link() operation which caused the wrong path to be
1330 passed as the first argument. Found by Anton Altaparmakov
1331
Miklos Szeredi01fd89c2005-01-21 11:18:35 +000013322005-01-21 Miklos Szeredi <miklos@szeredi.hu>
1333
1334 * LIB: fix double reply in readdir operation
1335
Miklos Szeredi773d4ae2005-01-21 16:09:08 +00001336 * fusermount: fix uid checking bug. Patch by Adam Connell
1337
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001338 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001339 Patch by Keshava Gowda
1340
Miklos Szeredi64074142005-01-20 08:48:11 +000013412005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1342
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001343 * KERNEL: provide correct llseek semantics for fuse device (fixes
1344 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1345
13462005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1347
Miklos Szeredi64074142005-01-20 08:48:11 +00001348 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1349
Miklos Szeredi1adb2272005-01-18 21:19:58 +000013502005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1351
1352 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1353 and RELEASEDIR. This ends the ugly hack of passing a file
1354 descriptor to the kernel, and actually makes the code simpler.
1355
Miklos Szeredi7db35c02005-01-17 09:46:28 +000013562005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1357
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001358 * Released 2.2-pre4
1359
13602005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1361
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001362 * fusermount: remove capability setting, which was the cause of
1363 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001364 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001365
Miklos Szeredidbe0f652005-01-15 14:32:56 +000013662005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001367
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001368 * fix compilation on 2.4 kernels (reported by Valient Gough)
1369
1370 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001371
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001372 * fusermount: improve parsing of /etc/fuse.conf
1373
13742005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1375
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001376 * Remove 'mount_max' and 'user_allow_other' module options. These
1377 are now checked by fusermount, and can be set in /etc/fuse.conf
1378
1379 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1380
Miklos Szeredi81394522005-01-11 14:24:18 +000013812005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1382
1383 * KERNEL: fix possible inode allocation problem, where
1384 sizeof(struct inode) is not aligned (found by Mike Waychison)
1385
1386 * KERNEL: use new follow_link/put_link methods
1387
1388 * KERNEL: cosmetic fixes
1389
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000013902005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1391
1392 * Released 2.2-pre3
1393
13942005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1395
1396 * Add missing code that was accidently left out
1397
Miklos Szeredi8c7da232005-01-09 12:27:41 +000013982005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1399
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001400 * Released 2.2-pre2
1401
14022005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1403
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001404 * Change "uid" mount option to "user_id" to avoid confusion with a
1405 mount option "uid" commonly used by many filesystems
1406
14072005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1408
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001409 * Released 2.2-pre1
1410
14112005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1412
1413 * If FUSE is configured in the kernel, don't build it by default
1414
Miklos Szeredi2a927272005-01-07 11:14:15 +000014152005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1416
1417 * Compile fix by Christian Magnusson
1418
Miklos Szeredib6220192005-01-05 16:19:10 +000014192005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1420
1421 * Fix compilation for 2.6.{0-5} kernels
1422
Miklos Szeredi0f62d722005-01-04 12:45:54 +000014232005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1424
1425 * KERNEL: if request is interrupted, still keep reference to used
1426 inode(s) and file, so that FORGET and RELEASE are not sent until
1427 userspace finishes the request.
1428
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001429 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1430 request with the same information, which is more flexible,
1431 simpler, works on embedded systems.
1432
Miklos Szeredi0f62d722005-01-04 12:45:54 +000014332004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1434
1435 * KERNEL ABI: update interface to make it independent of type
1436 sizes. This will help on 64 bit architectures which can run
1437 legacy 32 bit applications.
1438
1439 * KERNEL ABI: add "len" field to request headers. This will allow
1440 sending/receiving requests in multiple chunks.
1441
1442 * KERNEL: handle file type change more intelligently
1443
1444 * LIB: "-o debug" option should disable backgrounding (fix by
1445 Fabien Reygrobellet)
1446
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000014472004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1448
1449 * KERNEL: invalidate dentry/attributes if interrupted request
1450 could leave filesystem in an unknown state.
1451
Miklos Szeredie56818b2004-12-12 11:45:24 +000014522004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1453
1454 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1455 These will cause some regressions, but stability is considered
1456 more important. If any of these features turns out to be
1457 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001458
Miklos Szeredie56818b2004-12-12 11:45:24 +00001459 * Make all requests interruptible (only with SIGKILL currently).
1460 This can be used to break any deadlock produced by the userspace
1461 filesystem accessing it's own exported files. The RELEASE request
1462 is special, because if it's interrupted before sending it to
1463 userspace it is still sent, but the reply is not awaited.
1464
1465 * If request is interrupted before being sent to userspace, and if
1466 it hasn't yet got any side effects, it is always restarted,
1467 regardless of the SA_RESTART flag. This makes these interruptions
1468 transparent to the process.
1469
1470 * Remove shared-writable mmap support, which was prone to an
1471 out-of-memory deadlock situation
1472
1473 * Remove INVALIDATE userspace initiated request
1474
1475 * Make readpages() synchronous. Asynchronous requests are
1476 deadlock prone, since they cannot be interrupted.
1477
1478 * Add readv/writev support to fuse device operations
1479
1480 * Remove some printks, which userspace FS can use for a DoS
1481 against syslog
1482
1483 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1484 fusermount instead
1485
1486 * LIB: improve compatibility with a fuse.h header installed in
1487 ${prefix}/include which in turn includes the real header.
1488
1489 * LIB: improve compatibility by defining fuse_main() (which is now
1490 not used), so old configure scripts find it.
1491
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000014922004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1493
1494 * When mounting on a subdirectory of / don't duplicate slashes at
1495 the beggining of path (spotted by David Shaw)
1496
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000014972004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1498
1499 * Fix bug causing garbage in mount options (spotted by David Shaw)
1500
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000015012004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1502
1503 * Add 'writepage' flag to 'fuse_file_info'.
1504
1505 * More comments in fuse.h
1506
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001507 * Get rid of double underscores
1508
Miklos Szeredi799993c2004-12-04 21:20:05 +000015092004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1510
1511 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1512
1513 * helper.c: add -ho option, which only displays the options not
1514 the usage header. This can be used by filesystems which have
1515 their own options.
1516
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000015172004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1518
1519 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1520 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1521 including the fuse header
1522
1523 * Add binary compatibility to 2.1 version of library with symbol
1524 versioning
1525
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000015262004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1527
1528 * Released 2.1
1529
Miklos Szeredi039322d2004-12-01 18:39:12 +000015302004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1531
1532 * kernel: clean up writing functions
1533
1534 * kernel: no allocation on write in direct_io mode
1535
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001536 * move linux/fuse.h to fuse_kernel.h
1537
Miklos Szeredi83a07442004-11-30 18:25:20 +000015382004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1539
1540 * kernel: clean up reading functions
1541
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000015422004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1543
1544 * kernel: make readpage() uninterruptible
1545
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001546 * kernel: check readonly filesystem flag in fuse_permission
1547
1548 * lib: don't die if version file not found and new style device
1549 exists
1550
1551 * lib: add '-r' option, which is short for '-o ro'
1552
1553 * fusermount: simplify device opening
1554
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001555 * kernel: when direct_io is turend on, copy data directly to
1556 destination without itermediate buffer. More efficient and safer,
1557 since no allocation is done.
1558
1559 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001560
1561 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001562
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000015632004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1564
1565 * libfuse API change: open, read, write, flush, fsync and release
1566 are passed a 'struct fuse_file_info' pointer containing the open
1567 flags (open and release), and the file handle. Verion changed to
1568 3.0.
1569
Miklos Szeredia25d4c22004-11-23 22:32:16 +000015702004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1571
1572 * More cleanups in the kernel
1573
1574 * The 10,229 charater device number has been assigned for FUSE
1575
1576 * Version file checking fix (reported by Christian Magnusson)
1577
1578 * fusermount: opening the fuse device now doesn't need /sys.
1579
1580 * Optimize reading by controlling the maximum readahead based on
1581 the 'max_read' mount option
1582
1583 * fixes for UCLIBC (Christian Magnusson)
1584
Miklos Szeredi13ed4822004-11-20 11:12:21 +000015852004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1586
1587 * Cleaned up kernel in preparation for merge into mainline:
1588
1589 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1590
1591 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1592
1593 * __user annotations for sparse
1594
1595 * allocate individual pages instead of kmalloc in fuse_readdir,
1596 fuse_read and fuse_write.
1597
1598 * Fix NFS export in case "use_ino" mount option is given
1599
Miklos Szeredif3845c42004-11-20 11:18:34 +00001600 * Make libfuse and fusermount compatible with future versions
1601
1602 * fusermount: properly add mount options to /etc/mtab
1603
16042004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1605
1606 * fusermount: do not resolve last component of mountpoint on if it
1607 is '.' or '..'. This new path resolvation is now done on mount as
1608 well as unmount. This enables relative paths to work on unmount.
1609
1610 * fusermount: parse common mount options like "ro", "rw", etc...
1611
1612 * Allow module params to be changed through sysfs
1613
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000016142004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1615
1616 * Released 2.1-pre1
1617
16182004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1619
1620 * Fix bug in fuse_readpages() causing Oops in certain situations.
1621 Bug found by Vincenzo Ciancia.
1622
1623 * Fix compilation with kernels versions > 2.6.9.
1624
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000016252004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001626
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001627 * Check kernel interface version in fusermount to prevent
1628 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001629
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001630 * No need to allocate fuse_conn until actual mount happens
1631
1632 * Fix potential race between umount and fuse_invalidate
1633
1634 * Check superblock of proc file in addition to inode number
1635
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001636 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001637
Miklos Szeredi51ec1032004-11-10 11:52:26 +000016382004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1639
1640 * Separate configure for the kernel directory
1641
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001642 * Don't allow write to return more than 'count'
1643
1644 * Extend kernel interface for future use
1645
Miklos Szeredi51ec1032004-11-10 11:52:26 +000016462004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1647
1648 * Fix 'makeconf.sh' to use autoreconf if available
1649
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000016502004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1651
Miklos Szeredid507c732004-11-08 17:32:25 +00001652 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1653 compatibility with earlier versions. To compile earier versions
1654 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1655 Do not use the "use_ino" mount flag with filesystems compiled with
1656 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001657
1658 * Add pkg-config support. To compile a FUSE based filesystem you
1659 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1660 or similar. Note, that the PKG_CONFIG_PATH environment variable
1661 usually needs to be set to "/usr/local/lib/pkgconfig".
1662
1663 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001664
Miklos Szeredia13d9002004-11-02 17:32:03 +000016652004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1666
1667 * Added "use_ino" mount option. This enables the filesystems to
1668 set the st_ino field on files
1669
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000016702004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1671
1672 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1673 by Jeremy Smith)
1674
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001675 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1676
1677 * Clear the 'exited' flag when mail loop is finished
1678
Miklos Szeredie989f0d2004-10-28 20:24:58 +000016792004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1680
1681 * Make xattr functions work under 2.6 (bug found by Vincenzo
1682 Ciancia)
1683
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000016842004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1685
1686 * Reset request in fuse_flush() (bugreport by David Shaw)
1687
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000016882004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1689
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001690 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001691 error code
1692
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001693 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001694 make it easier to implement a custom event loop.
1695
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001696 * Use daemon() call to background the filesystem after mounting.
1697 This function closes the standard input, output and error and
1698 changes the current working directory to "/".
1699
Miklos Szeredi127d49b2004-10-14 13:33:39 +000017002004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1701
1702 * Released 1.9
1703
Miklos Szeredid45baf42004-10-10 07:56:12 +000017042004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1705
1706 * Don't allow fuse_flush() to be interrupted (bug found by David
1707 Shaw)
1708
Miklos Szeredi1f18db52004-09-27 06:54:49 +000017092004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1710
1711 * Add PID to fuse_context. Patch by Steven James
1712
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001713 * Change file handle type to 'unsigned long' in kernel interface
1714
Miklos Szeredid169f312004-09-22 08:48:26 +000017152004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1716
1717 * A slight API change: fuse_get_context() doesn't need the "fuse"
1718 pointer, but the returned context contains it instead. The
1719 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001720
1721 * Fix mounting and umounting FUSE filesystem under another FUSE
1722 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001723
Miklos Szeredic2309912004-09-21 13:40:38 +000017242004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1725
1726 * Fix deadlock in case of memory allocation failure. Patch by
1727 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001728
Miklos Szeredib2cf9562004-09-16 08:42:40 +000017292004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1730
1731 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001732
Miklos Szeredi65afea12004-09-14 07:13:45 +000017332004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1734
1735 * Check temporary file creation failure in do_getdir(). Bug
1736 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001737
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000017382004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1739
1740 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001741
1742 * Make requests non-interruptible so race with FORGET is avoided.
1743 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001744
1745 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001746
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000017472004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1748
1749 * Fix bug in case two FORGETs for the same node are executed in
1750 the wrong order. Bug spotted and endured for months by Franco
1751 Broi, and logfile for solution provided by Terje Oseberg
1752
Miklos Szeredi12085102004-09-02 18:13:57 +000017532004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1754
1755 * Add -D_REENTRANT to the compile flags
1756
1757 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001758
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000017592004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1760
1761 * Change release method to be non-interruptible. Fixes bug
1762 causing missing release() call when program which has opened files
1763 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001764
Miklos Szeredi891b8742004-07-29 09:27:49 +000017652004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1766
1767 * Add fuse_invalidate() to library API
1768
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000017692004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1770
1771 * Check permissions in setattr if 'default_permissions' flag is
1772 set. Bug spotted by Damjan Lango
1773
Miklos Szeredid66d3942004-07-24 13:47:44 +000017742004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1775
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001776 * 'large_read' mount option removed for 2.6 kernels, since the
1777 default (dynamic read size) is better
1778
1779 * Extend kernel API with file handles. A file handle is returned
1780 by open, and passed to read, write, flush, fsync and release.
1781 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001782
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001783 * Security changes:
1784
1785 * Change the current directory to the mountpoint before checking
1786 the permissions and mount filesystem on "."
1787
1788 * By default don't modprobe the fuse module for non-root. The old
1789 behavior can be restored with the '--enable-auto-modprobe' flag of
1790 ./configure
1791
1792 * By default don't allow shared writable mappings for non-root.
1793 The old behavior can be restored with the 'user_mmap=1' module
1794 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001795
Miklos Szeredibd7661b2004-07-23 17:16:29 +000017962004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1797
1798 * Clean up mount option passing to fusermount and to fuse_new()
1799 BEWARE: this changes the userspace API slightly, and the command
1800 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001801
Miklos Szeredi58865372004-07-20 14:22:26 +000018022004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1803
1804 * Optimize reading under 2.6 kernels by issuing multiple page
1805 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001806
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000018072004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1808
1809 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001810
Miklos Szeredi069c9502004-07-16 16:17:02 +000018112004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1812
1813 * Separate directory entry and inode attribute validity timer
1814
1815 * New write semaphore to stop page writeback during truncate
1816
1817 * Fsync now waits for all writes to complete before sending the
1818 request
1819
1820 * Optimization: if a page is completely written by
1821 fuse_commit_write(), clear the dirty flag and set the uptodate
1822 flag for that page
1823
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001824 * Some memory cleanup at exit
1825
Miklos Szeredi2529ca22004-07-13 15:36:52 +000018262004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1827
1828 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001829 disable the "hide if open" behavior of unlink/rename.
1830
1831 * If temporary buffer allocation fails in raw read, fall back to a
1832 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001833
Miklos Szeredi73798f92004-07-12 15:55:11 +000018342004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1835
1836 * Fix bug in do_open() in libfuse: open count was incremented
1837 after the reply is sent so it could race with unlink/forget and
1838 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001839
Miklos Szeredi015fe702004-07-12 11:52:24 +000018402004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1841
1842 * When performing create or remove operation, refresh the parent's
1843 attributes on next revalidate, as i_nlink (and maybe size/time)
1844 could be inacurate.
1845
1846 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1847 pages (2.6 only)
1848
1849 * Set set_page_dirty address space operation (2.6 only)
1850
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018512004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001852
1853 * Minor fix in read: print debug info even if read size is zero
1854
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018552004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001856
1857 * Fix race between truncate and writepage (fsx-linux now runs
1858 without error)
1859
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018602004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001861
1862 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1863 by Mattias Wadman)
1864
1865 * Added option for direct read/write (-r)
1866
1867 * Fix revalidate time setting for newly created inodes
1868
Miklos Szerediacb4d362004-07-02 16:20:45 +00001869 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1870 this)
1871
1872 * fuse_main() only installs handlers for signals (out of INT, HUP,
1873 TERM, PIPE), for which no handler has yet been installed
1874
1875 * Add module option 'user_allow_other' which if set to non-zero
1876 will allow non root user to specify the 'allow_other' mount option
1877 ('-x' option of fusermount)
1878
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001879 * Fix deadlock between page writeback completion and truncate
1880 (bug found by Valient Gough with the fsx-linux utility)
1881
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018822004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001883
1884 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001885 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1886 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001887
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018882004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001889
1890 * Acquire inode->i_sem before open and release methods to prevent
1891 concurrent rename or unlink operations.
1892
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001893 * Make __fuse_read_cmd() read only one command. This allows
1894 multiplexing the fuse file descriptor with other event sources
1895 using select() or poll() (patch by Jeff Harris)
1896
1897 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1898
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018992004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001900
1901 * Fix file offset wrap around at 4G when doing large reads
1902
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019032004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001904
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001905 * Fix memory leak in open (Valient Gough)
1906
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019072004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001908
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001909 * Add "close after delete" support to libfuse (patch by Valient
1910 Gough)
1911
1912 * Cancel all worker threads before exit in multithreaded mode
1913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001915
1916 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001917
1918 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001919
1920 * Work with newer libtool (1.5a)
1921
1922 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001923
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019242004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001925
1926 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001927
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019282004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001929
1930 * Fix possible inode leak in userspace in case of unfinished
1931 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001932
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019332004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001934
1935 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001936
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019372004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001938
1939 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001940
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019412004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001942
1943 * Build shared library as well as static (using libtool)
1944
1945 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1946 there has not been a release with the previous minor number, and I
1947 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001948
1949 * Change fuse_main(), so that default behavior is to go into
1950 background if mount is successful. '-f' and '-d' options disable
1951 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1952 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001953
1954 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1955 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001956
1957 * Don't call getdir method from open() only from first readdir().
1958 Open is sometimes just used to store the current directory
1959 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001960
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019612004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001962
1963 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001964
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019652004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001966
1967 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001968
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019692004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001970
1971 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001972
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019732004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001974
1975 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001976
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019772004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001978
1979 * Replaced binary mount data with text options
1980
1981 * Show FUSE specific mount options in /proc/mounts
1982
1983 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1984
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019852004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001986
1987 * Check some limits so userspace won't get too big requests
1988
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019892004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001990
1991 * Kill compile warning
1992
1993 * Upgraded user-mount patch for 2.6.5
1994
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019952004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001996
1997 * Add detection of user-mode-linux to configure
1998
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019992004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00002000
2001 * fixed zero size case for getxattr and listxattr
2002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020032004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00002004
2005 * new fusermount flag '-z': lazy unmount, default is not lazy
2006
Miklos Szeredi3ed84232004-03-30 15:17:26 +00002007 * Extended attributes operations added (getxattr, setxattr,
2008 listxattr, removexattr)
2009
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020102004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00002011
2012 * If filesystem doesn't define a statfs operation, then an
2013 all-zero default statfs is returned instead of ENOSYS
2014
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020152004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00002016
2017 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
2018
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020192004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00002020
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00002021 * Fix for uClinux (Christian Magnusson)
2022
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020232004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00002024
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00002025 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00002026
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00002027 * More kernel interface changes:
2028
2029 * Lookup/getattr return cache timeout values
2030
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020312004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00002032
2033 * Clean up option parsing in fuse_main()
2034
Miklos Szeredi33c319c2004-02-25 09:19:29 +00002035 * Added fuse_get() function which returns the fuse object created
2036 by fuse_main()
2037
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020382004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00002039
Miklos Szeredic40748a2004-02-20 16:38:45 +00002040 * removed old way of mounting (fusermount mountpoint program)
2041
Miklos Szeredib5958612004-02-20 14:10:49 +00002042 * more kernel interface changes:
2043
2044 * added nanosecond precision to file times
2045
Miklos Szeredic40748a2004-02-20 16:38:45 +00002046 * removed interface version from mount data
2047
2048 * added /proc/fs/fuse/version which contains MAJOR.MINOR
2049
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020502004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00002051
2052 * statfs library API changed to match other methods. Since this
2053 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
2054
Miklos Szeredi76f65782004-02-19 16:55:40 +00002055 * kernel interface changes follow:
2056
2057 * statfs changed to 64 bits, added 'bavail' field
2058
2059 * add generation number to lookup result
2060
2061 * optimized mknod/mkdir/symlink/link (no separate lookup is
2062 needed)
2063
2064 * rdev size increased to 32 bits for mknod
2065
2066 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002067
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020682004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00002069
2070 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00002071
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020722004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00002073
2074 * Added user-mount.2.6.2-rc3.patch
2075
2076 * Add FS_SAFE flag to fuse filesystem
2077
2078 * fusermount should allow (un)mounting for non-root even if not
2079 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00002080
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020812004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00002082
2083 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00002084
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020852004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00002086
2087 * Added check for i_size_read/write functions to configure.in
2088 (patch by Valient Gough)
2089
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020902004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00002091
2092 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00002093
2094 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00002095
2096 * Readpage calls flush_dcache_page() after storing data
2097
2098 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00002099
2100 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00002101
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021022004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00002103
2104 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00002105
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021062004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00002107
2108 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00002109
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021102004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00002111
2112 * Added -q option for fusermount
2113
2114 * fuse_unmount() now uses -q option of fusermount, so no error is
2115 printed if the cause of the program exit is that the filesystem
2116 has already been unmounted
2117
Miklos Szeredif4f8b892004-01-27 17:04:59 +00002118 * Fix i_nlink correctness after rmdir/unlink
2119
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021202004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002121
Miklos Szeredib1158392004-01-26 14:43:12 +00002122 * Released 1.1-pre2
2123
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021242004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00002125
Miklos Szeredi307242f2004-01-26 11:28:44 +00002126 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00002127
2128 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00002129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021302004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002131
2132 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00002133
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021342004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00002135
2136 * Write all pending data before a RELEASE operation
2137
2138 * Suppress 'Bad file descriptor' warning on exit
2139
2140 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00002141 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00002142
Miklos Szeredib1158392004-01-26 14:43:12 +00002143 * New fusermount option '-l' which enables big reads. Big reads
2144 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00002145
2146 * fuse_main() can accept fusermount arguments after a '--'
2147
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021482004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00002149
2150 * Support for exporting filesystem over NFS (see README.NFS)
2151
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021522004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00002153
2154 * Support non-blocking writepage on 2.6. This makes FUSE behave
2155 much more nicely in low-memory situations
2156
2157 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
2158 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00002159
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021602004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00002161
2162 * Code cleanups
2163
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021642004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00002165
2166 * Released 1.1-pre1
2167
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021682004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00002169
2170 * Integrated 2.6 kernel support patch by Michael Grigoriev
2171
2172 * Improvements and cleanups for 2.6 kernels
2173
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021742004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002175
Miklos Szeredie5183742005-02-02 11:14:04 +00002176 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00002177
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021782003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00002179
2180 * Added major+minor version to library API, and minor version to
2181 kernel API
2182
David McNab7a19caf2003-12-13 02:05:46 +000021832003-12-13 David McNab <david@rebirthing.co.nz>
2184
2185 * Implemented fsync support in examples/example.py
2186
2187 * Implemented 'fsync' and 'statfs' methods in python
2188 interface
2189
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000021902003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002191
Miklos Szeredie5183742005-02-02 11:14:04 +00002192 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002193
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00002194 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00002195
David McNab8bf62632003-12-11 22:49:22 +000021962003-12-12 David McNab <david@rebirthing.co.nz>
2197
2198 * Added distutils support to the python module, as per standard
2199 python development practice
2200
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022012003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002202
2203 * Add file locking for mount/unmount (based on patch by Valient
2204 Gough)
2205
22062003-12-11 David McNab <david@rebirthing.co.nz>
2207
2208 * Python filesystem - was broken with python2.3, now fixed:
2209 - changed PyTuple_* calls to PySequence_*, because os.lstat
2210 is no longer returning a pure tuple
2211 - changed PyInt_Check() calls to also call PyLong_Check,
2212 to cover for cases (eg os.lstat) where longs are returned
2213 - Added support for file 'release' handling, which IMO is
2214 essential since this signals to a FS that writes to a file
2215 are complete (and therefore the file can now be disposed of
2216 meaningfully at the python filesystem's discretion)
2217 - Added '__init__' handler to base Fuse class, which allows
2218 your Python class to know the mountpoint and mount args,
2219 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00002220
Miklos Szeredi874d95d2003-12-11 14:27:57 +00002221 * General:
2222 - added 'mount.fuse' script (in util/ dir), which is meant to be
2223 symlinked from /sbin, and which allows FUSE filesystems to
2224 be mounted with the 'mount' command, and listed in fstab;
2225 also, mount arguments get passed to your filesystem
2226
2227
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022282003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00002229
2230 * Fix kernel version detection (again). Bugreport by Peter Levart
2231
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022322003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00002233
2234 * Applied read combining patch by Michael Grigoriev (tested by
2235 Valient Gough and Vincent Wagelaar)
2236
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022372003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00002238
2239 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
2240 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00002241
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022422003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00002243
2244 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00002245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022462003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00002247
2248 * kernel version detection fix
2249
2250 * fusermount now uses "lazy" umount option
2251
2252 * fusermount can use modprobe with module-init-tools
2253
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022542003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00002255
2256 * Integrated caching patch by Michael Grigoriev
2257
Miklos Szeredida4e4862003-09-08 11:14:11 +00002258 * Added "Filesystems" file with descriptions of projects using
2259 FUSE
2260
Miklos Szeredi02ceb112003-09-08 13:52:25 +00002261 * Added patch by Michael Grigoriev to allow compliation of FUSE
2262 kernel module for 2.6 kernels
2263
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022642003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00002265
2266 * And another spec-file fix by Achim Settelmeier
2267
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022682003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00002269
2270 * Spec-file fix by Achim Settelmeier
2271
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022722003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002273
Miklos Szerediac361172004-11-02 19:14:14 +00002274 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00002275
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022762003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00002277
2278 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
2279
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022802003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00002281
2282 * Updated fuse.spec file (Achim Settelmeier)
2283
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022842003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00002285
2286 * Version 1.0 released
2287
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022882003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00002289
2290 * SuSE compilation fix by Juan-Mariano de Goyeneche
2291
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022922002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00002293
2294 * The release() VFS call is now exported to the FUSE interface
2295
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000022962002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00002297
2298 * 64 bit file offset fixes in the fuse kernel module
2299
2300 * Added function 'fuse_exit()' which can be used to exit the main
2301 loop
2302
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023032002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00002304
2305 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
2306 an incompatible interface change.
2307
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023082002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00002309
2310 * Portablility fix (bug reported by C. Chris Erway)
2311
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023122002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00002313
2314 * Use Mark Glines' fd passing method for default operation instead
2315 of old reexec
2316
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023172002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00002318
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002319 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
2320
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023212002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00002322
Miklos Szeredi60c23522002-10-24 09:19:43 +00002323 * fix incompatiblity with Red Hat kernels, with help from Nathan
2324 Thompson-Amato.
2325
Mark Glines65ba2192002-04-18 14:41:48 +000023262002-04-18 Mark Glines <mark@glines.org>
2327
2328 * added an alternative to fuse_mount(), called
2329 fuse_mount_ioslave(), which does not need to reexec the
2330 FUSE program.
2331 * added a small helper util needed by fuse_mount_ioslave().
2332
Mark Glines220635a2002-03-17 07:01:14 +000023332002-03-16 Mark Glines <mark@glines.org>
2334
2335 * use struct fuse_statfs everywhere possible to avoid problems
2336 with the headerfiles changing struct statfs member sizes
2337
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023382002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002339
2340 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2341
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023422002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002343
2344 * RPM support by Achim Settelmeier
2345
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023462002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002347
Miklos Szerediddc862a2002-01-09 13:46:10 +00002348 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002349
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023502002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002351
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002352 * Revaidate all path components not just the last, this means a
2353 very small performance penalty for being more up-to-date.
2354
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023552002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002356
2357 * Update and fix python interface
2358
Mark Glinesd84b39a2002-01-07 16:32:02 +000023592002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002360
Mark Glinesd84b39a2002-01-07 16:32:02 +00002361 * Added statfs() support to kernel, lib, examples, and perl!
2362
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023632001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002364
2365 * Better cross compilation support
2366
2367 * Ported to Compaq IPAQ
2368
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023692001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002370
Miklos Szeredife25def2001-12-20 15:38:05 +00002371 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002372 patch from Matt Ryan)
2373
Miklos Szeredife25def2001-12-20 15:38:05 +00002374 * Added flags to fusermount and to kernel interface to control
2375 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002376
Miklos Szeredife25def2001-12-20 15:38:05 +00002377 * Integrated fuse_set_operations() into fuse_new()
2378
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023792001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002380
2381 * Applied header protection + extern "C" patch by Roland
2382 Bauerschmidt
2383
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023842001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002385
Miklos Szeredie5183742005-02-02 11:14:04 +00002386 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002387
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023882001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002389
2390 * Cleaned up way of mounting simple filesystems.
2391
2392 * fuse_main() helper function added
2393
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023942001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002395
Miklos Szeredife25def2001-12-20 15:38:05 +00002396 * Optimized read/write operations, so that minimal copying of data
2397 is done
2398
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000023992001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002400
2401 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002402
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000024032001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002404
2405 * Fixed vfsmount reference leak in fuse_follow_link
2406
2407 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2408 userspace is ignored
2409
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000024102001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002411
Miklos Szeredife25def2001-12-20 15:38:05 +00002412 * Started ChangeLog