blob: 1d34b577799ea51c28a5f1567195ab296a2f6a59 [file] [log] [blame]
Miklos Szeredi2512aaa2006-05-03 14:54:59 +000012006-05-03 Miklos Szeredi <miklos@szeredi.hu>
2
3 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
4 Reported by Christian Magnusson
5
Csaba Henk2efe48f2006-04-22 22:46:52 +000062006-04-23 Csaba Henk <csaba.henk@creo.hu>
7
8 * lib: make FreeBSD mount routine recognize if kernel features
9 backgrounded init and if it does, run the mount util in foreground
10 (similarly to Linux)
11
Miklos Szeredi5fe07d62006-04-21 14:09:28 +0000122006-04-21 Miklos Szeredi <miklos@szeredi.hu>
13
14 * kernel: fix fput deadlock fix, the lockless solution could lead
15 to "VFS: busy inodes after umount..."
16
17 * kernel: fix race between checking and setting file->private_data
18 for the device. Found by Al Viro
19
202006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +000021
22 * kernel: remove request pool, instead allocate requests on
23 demand. Account the number of background requests, and if they go
24 over a limit, block the allocation of new requests.
25
26 * kernel: fix deadlock if backgrounded request holds the last
27 reference to the super block
28
29 * kernel: don't use fuse_reset_request() during direct I/O
30
Csaba Henkbaa49d22006-04-06 00:12:44 +0000312006-04-06 Csaba Henk <csaba.henk@creo.hu>
32
33 * lib: Let FreeBSD mount option parsing routine recognize "no"
34 prefixes for FUSE specific options as well
35
Miklos Szeredid0a777a2006-04-05 07:18:00 +0000362006-04-01 Miklos Szeredi <miklos@szeredi.hu>
37
38 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
39
Miklos Szeredi6f385412006-03-17 15:05:40 +0000402006-03-17 Miklos Szeredi <miklos@szeredi.hu>
41
42 * API changes:
43
44 * fuse_main(), fuse_setup() and fuse_new() have an additionl
45 user_data parameter
46
47 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
48 file descriptor
49
50 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
51 destroys the given channel
52
53 * fuse_teardown() no longer has a file descriptor parameter
54
55 * new exported functions: fuse_session_remove_chan(),
56 fuse_get_session(), fuse_daemonize()
57
Miklos Szeredi8d975f62006-03-17 15:56:05 +000058 * fuse_chan_recv() may now return a new channel which will be used
59 to send the reply
60
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000612006-03-16 Miklos Szeredi <miklos@szeredi.hu>
62
Miklos Szeredi9db31dc2006-03-16 14:43:28 +000063 * Released 2.6.0-pre2
64
652006-03-16 Miklos Szeredi <miklos@szeredi.hu>
66
Miklos Szeredif51e43f2006-03-16 14:19:25 +000067 * Don't unmount if already unmounted. This fixes a problem seen
68 in the following situation: Lazy unmount a busy filesystem; Mount
69 a new one in top; When the first finally unmounts, the second also
70 unmounts. Reported by Franco Broi
71
Miklos Szeredi2c1381f2006-03-15 20:34:10 +0000722006-03-15 Miklos Szeredi <miklos@szeredi.hu>
73
74 * lowlevel lib: use indirect function calls instead of a
75 switch/case construct. Besides increased efficiency it helps
76 maintainability & readability too. Patch from Florin Malita
77
Miklos Szeredi67d26d42006-03-13 17:39:56 +0000782006-03-13 Miklos Szeredi <miklos@szeredi.hu>
79
80 * kernel: replace global spinlock with a per-connection spinlock
81
Miklos Szeredi87c77932006-03-10 10:18:20 +0000822006-03-10 Miklos Szeredi <miklos@szeredi.hu>
83
84 * Fix source compatibility breakage for fuse_unmount(). Report
85 from Yura Pakhuchiy
86
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000872006-03-02 Miklos Szeredi <miklos@szeredi.hu>
88
89 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
90
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000912006-03-01 Miklos Szeredi <miklos@szeredi.hu>
92
93 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
94 Jeff Dike
95
96 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
97 interface to return -errno in case of error.
98
Csaba Henkee588c02006-03-01 09:40:35 +0000992006-03-01 Csaba Henk <csaba.henk@creo.hu>
100
101 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
102 FreeBSD implementation so that it uses libc (sysctl backed) instead
103 of an embdedded script (kmem backed). Adjust the control flow of
104 hello_ll so that device doesn't get closed before unmount attempt.
105
Miklos Szerediaa8258e2006-02-25 14:42:03 +00001062006-02-25 Miklos Szeredi <miklos@szeredi.hu>
107
108 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
109 implement method. This is needed on FreeBSD, and nicer on Linux
110 too. Highlevel lib already did this. Reported by Csaba Henk
111
112 * Fix negative entry handling. There was a bug, that negative
113 lookups with timeouts (nodeid == 0) returned -EIO.
114
1152006-02-23 Miklos Szeredi <miklos@szeredi.hu>
116
117 * Fix race between RELEASE and UNLINK, which might leave
118 .fuse_hidden* files around
119
Miklos Szeredi6bab4802006-02-21 18:31:29 +00001202006-02-21 Miklos Szeredi <miklos@szeredi.hu>
121
122 * fusexmp_fh: implement flush() method and call close() on the
123 open file descriptor. This is needed if used on an NFS
124 filesystem, which buffers data until file is closed. Franco Broi
125 spotted the situation when 'cp -p' failed to set the modification
126 time because of this.
127
Miklos Szeredie109e282006-02-20 11:06:20 +00001282006-02-20 Miklos Szeredi <miklos@szeredi.hu>
129
130 * Released 2.6.0-pre1
131
Miklos Szeredib67f2162006-02-20 10:55:33 +00001322006-02-19 Miklos Szeredi <miklos@szeredi.hu>
133
134 * libfuse: fix use-after-free bug in interruptred reply_entry().
135 Patch from John Muir
136
137 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
138 ID: 352631. Found by Stéphane Rosi
139
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00001402006-02-17 Miklos Szeredi <miklos@szeredi.hu>
141
142 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
143 into a single function fuse_add_direntry(). This cleans up the
144 interface and makes it possible to do stacking.
145
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00001462006-02-16 Miklos Szeredi <miklos@szeredi.hu>
147
148 * Fix rare race betweeen abort and release caused by failed iget()
149 in fuse_create_open().
150
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000151 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
152 own attribute caching.
153
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00001542006-02-15 Miklos Szeredi <miklos@szeredi.hu>
155
156 * Work around FreeBSD runtime linker "feature" which binds an old
157 version of a symbol to internal references if the symbol has more
158 than one version. This resulted in infinite recursion in
159 fuse_lowlevel_new_compat25().
160
Csaba Henkdcce3e52006-02-10 06:22:15 +00001612006-02-10 Csaba Henk <csaba.henk@creo.hu>
162
163 * Refine clock_gettime() querying so that linker options
164 shall be set as it's appropriate for the target platform.
165
Miklos Szeredi390ae312006-02-10 16:44:34 +00001662006-02-09 Miklos Szeredi <miklos@szeredi.hu>
167
168 * Fix udev rule syntax. Reported by Nix
169
Miklos Szeredieb643582006-02-08 10:54:02 +00001702006-02-08 Miklos Szeredi <miklos@szeredi.hu>
171
172 * In some cases udev rule seems to be ineffective when installed
173 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
174
Miklos Szeredi357529c2006-02-03 09:20:31 +00001752006-02-03 Miklos Szeredi <miklos@szeredi.hu>
176
177 * Fix compilation when build directory is different from source
178 directory. Reported by Frédéric L. W. Meunier
179
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001802006-02-02 Miklos Szeredi <miklos@szeredi.hu>
181
182 * Fix even bigger bug introduced in fix for request_end() on
183 2006-01-14. Reported by Gal Rosen
184
Miklos Szeredi320abe42006-01-30 18:14:51 +00001852006-01-30 Miklos Szeredi <miklos@szeredi.hu>
186
187 * highlevel-lib: add 'auto_cache' option. This caches file data
188 based on modification time and size
189
Miklos Szeredi065f2222006-01-20 15:15:21 +00001902006-01-20 Miklos Szeredi <miklos@szeredi.hu>
191
Miklos Szeredid66b7282006-02-02 15:15:21 +0000192 * Sanitize storage type and help message in mount_bsd.c. Patch
193 from Csaba Henk
194
Miklos Szeredi065f2222006-01-20 15:15:21 +0000195 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
196 FUSE_OPT_KEY_DISCARD
197
198 * Add options 'max_readahead', 'sync_read' and 'async_read'
199
200 * Kernel ABI version 7.6:
201
202 * Negotiate the 'max_readahead' value and 'async_read' flags with
203 userspace in the INIT method
204
205 * Add connection info to ->init() methods to both lowlevel and
206 highlevel API
207
208 * Fall back to synchronous read() behavior if either library or
209 userspace filesystem is using the old interface version. This is
210 needed so non-updated filesystems won't be confused by the
211 different read() behavior
212
2132006-01-19 Miklos Szeredi <miklos@szeredi.hu>
214
215 * lib: if "fsname=" option was given, pass it to fusermount
216
217 * fuse_opt: add new fuse_opt_insert_arg() function, which is
218 needed by filesystems to implement some argument manipulations
219 correctly
220
221 * fuse_opt: fix memory leak in handling "--" option
222
2232006-01-18 Miklos Szeredi <miklos@szeredi.hu>
224
225 * kernel: fix detection of case when fuse is not configured into
226 the kernel either as module or built-in
227
228 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
229 'template' structure member to 'templ'. Reported by Takashi Iwai
230
231 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
232
233 * kernel: support version 2.6.16 (i_sem -> i_mutex)
234
Miklos Szeredi15af1b82006-01-16 17:52:24 +00002352006-01-16 Miklos Szeredi <miklos@szeredi.hu>
236
237 * Added (again) asynchronous readpages support
238
239 * Each connection now shows up under /sys/fs/fuse/connections
240
241 * Connection attributes exported to sysfs: 'waiting' number of
242 waiting requests; 'abort' abort the connection
243
244 * Connection may be aborted through either the sysfs interface or
245 with 'umount -f mountpoint'
246
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00002472006-01-14 Miklos Szeredi <miklos@szeredi.hu>
248
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000249 * Released 2.5.0
250
2512006-01-14 Miklos Szeredi <miklos@szeredi.hu>
252
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000253 * kernel: fix a couple of bugs
254
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000255 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000256 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000257 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000258
259 * request_end() used request pointer after decrementing refcount
260
261 * Clearing ->connected or ->mounted connection flags could race
262 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000263
Miklos Szeredia9820342006-01-10 10:54:11 +00002642006-01-10 Miklos Szeredi <miklos@szeredi.hu>
265
266 * kernel: add necessary compile flags for 2.4.X/x86_64.
267 Report from Sean Ziegeler
268
Miklos Szeredi35676b02006-01-09 10:13:28 +00002692006-01-09 Miklos Szeredi <miklos@szeredi.hu>
270
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000271 * Released 2.5.0-pre2
272
2732006-01-09 Miklos Szeredi <miklos@szeredi.hu>
274
Miklos Szeredi35676b02006-01-09 10:13:28 +0000275 * Applied patch from Csaba Henk, to update mount_bsd to new
276 fuse_mount() semantics
277
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000278 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
279 Steiner and Don Taber
280
Miklos Szeredicb075c82006-01-09 11:33:04 +0000281 * fusermount: add 'dirsync' mount option
282
Miklos Szerediad005972006-01-07 10:14:34 +00002832006-01-07 Miklos Szeredi <miklos@szeredi.hu>
284
285 * Improved help reporting and added version reporting to library
286
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002872006-01-06 Miklos Szeredi <miklos@szeredi.hu>
288
289 * Change working directory to "/" even if running in the
290 foreground. Patch from Jonathan Brandmeyer
291
Miklos Szeredi95da8602006-01-06 18:29:40 +0000292 * Changed lots of functions to use 'struct fuse_args' instead of
293 separate argc and argv
294
295 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
296 fuse_remove_signal_handlers() functions, so that it's now pretty
297 easy to get all the functionality of fuse_main() with a filesystem
298 using the lowlevel API.
299
Miklos Szeredib8638182006-01-02 12:52:24 +00003002006-01-02 Miklos Szeredi <miklos@szeredi.hu>
301
Miklos Szeredif1941472006-01-02 16:27:48 +0000302 * mount.fuse: the 'user' option should be ignored. Report and
303 solution from Mattd.
304
305 * mount.fuse: export PATH in the right place. Report and patch
306 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000307
Miklos Szeredi73f41392005-12-16 11:12:16 +00003082005-12-16 Miklos Szeredi <miklos@szeredi.hu>
309
310 * Clean up the option parsing interface slightly, by creating an
311 "argument list" structure, that contains the argument vector and
312 count
313
Miklos Szeredi4e829092005-12-15 16:13:49 +00003142005-12-15 Miklos Szeredi <miklos@szeredi.hu>
315
316 * fusermount: check if /mnt/mtab is a symlink and don't modify it
317 in that case
318
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000319 * kernel: simplify request size limiting. INIT only contains
320 maximum write size, maximum path component size remains fixed at
321 1024 bytes, and maximum xattr size depends on read buffer.
322
Miklos Szeredie248e4b2005-12-14 16:18:32 +00003232005-12-14 Miklos Szeredi <miklos@szeredi.hu>
324
325 * Fix readdir() failure on x86_64, of 32bit programs compiled
326 without largefile support. Bug report and help from Anthony
327 Kolasny
328
Miklos Szeredi64709572005-12-14 22:16:28 +0000329 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000330 a regular file
331
332 * Add current output argument vector to option processing
333 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000334
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00003352005-12-12 Miklos Szeredi <miklos@szeredi.hu>
336
337 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
338
Miklos Szeredi659743b2005-12-09 17:41:42 +00003392005-12-09 Miklos Szeredi <miklos@szeredi.hu>
340
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000341 * Released 2.5.0-pre1
342
3432005-12-09 Miklos Szeredi <miklos@szeredi.hu>
344
Miklos Szeredi659743b2005-12-09 17:41:42 +0000345 * libfuse: added option parsing interface, defined in
346 <fuse_opt.h>.
347
Miklos Szeredic53cddd2005-12-07 12:57:59 +00003482005-12-07 Miklos Szeredi <miklos@szeredi.hu>
349
350 * Return EIO for file operations (read, write, fsync, flush) on
351 open files whose inode has become "bad". Inodes will be marked
352 "bad" if their type changes. Bug report by Csaba Henk
353
Miklos Szeredi044da2e2005-12-06 17:59:55 +00003542005-12-06 Miklos Szeredi <miklos@szeredi.hu>
355
356 * Use bigger request buffer size. write() did not work on archs
357 with > 4k page size, Bug report by Mark Haney
358
359 * ABI version 7.5:
360
361 * Extend INIT reply with data size limits
362
Miklos Szeredifa829b52005-12-02 11:05:41 +00003632005-12-02 Miklos Szeredi <miklos@szeredi.hu>
364
365 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
366 reported by Vincenzo Ciancia
367
368 * Handle exit-by-umount in fuse_read_cmd()
369
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00003702005-11-29 Miklos Szeredi <miklos@szeredi.hu>
371
372 * Check if '-msoft-float' option is supported by compiler when
373 configuring for a 2.4.x kernel. Bug report by Mark Haney
374
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000375 * In multithreaded loop send a TERM signal to the main thread if
376 one of the other threads exit. Needed on FreeBSD for a clean exit
377 on umount. Should not cause any harm on Linux either
378
Miklos Szerediead7f102005-11-28 16:02:27 +00003792005-11-28 Miklos Szeredi <miklos@szeredi.hu>
380
381 * Fix bug in 32-bit file handle compatibility
382
Miklos Szeredia90b7342005-11-27 19:22:42 +00003832005-11-27 Miklos Szeredi <miklos@szeredi.hu>
384
385 * Block TERM, INT, HUP and QUIT signals in all but the main
386 thread. According to POSIX it's not specified which thread will
387 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000388
389 * Kernel changes:
390
391 * Check for directory aliasing on mkdir, not just on lookup
392
393 * Check for special node ID values in create+open operation
394
395 * Sync with -mm: readv, writev, aio_read and aio_write methods
396 added to file operations
397
398 * Cleanups: lookup code, page offset calculation
399
400 * ABI stepped to 7.4, changes:
401
402 * frsize member added to fuse_kstatfs structure
403
404 * added support for negative entry caching: on lowlevel API if
405 fuse_entry_param::ino is set to zero in reply to a lookup request,
406 the kernel will cache the dentry for the specified amount of time.
407
408 * libfuse: added 'negative_timeout' option: specifies how much
409 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000410 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000411
Miklos Szeredibac4c772005-11-23 13:35:54 +00004122005-11-22 Miklos Szeredi <miklos@szeredi.hu>
413
414 * Add detection of mainline FUSE code in running kernel
415
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00004162005-11-21 Miklos Szeredi <miklos@szeredi.hu>
417
418 * Don't use async cancelation in multithreaded loop. This makes
419 it more portable to systems where read() is not async cancel safe.
420 Report from Andriy Gapon
421
Miklos Szeredi05c97842005-11-20 17:05:07 +00004222005-11-20 Miklos Szeredi <miklos@szeredi.hu>
423
424 * Warn if API version 11 compatibility is requested
425
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00004262005-11-17 Miklos Szeredi <miklos@szeredi.hu>
427
428 * More FreeBSD merge
429
Miklos Szeredi832ee442005-11-18 21:02:36 +0000430 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
431 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000432 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000433
434 * libfuse: don't use system() to invoke 'fusermount -u ...'
435 because it breaks mountpoints with spaces in them into multiple
436 arguments
437
Miklos Szeredib3f99722005-11-16 13:00:24 +00004382005-11-16 Miklos Szeredi <miklos@szeredi.hu>
439
440 * Merge library part of FreeBSD port. Patch by Csaba Henk
441
Miklos Szeredi3a770472005-11-11 21:32:42 +00004422005-11-11 Miklos Szeredi <miklos@szeredi.hu>
443
444 * Use 64bit type for file handle, so the full range supported by
445 the kernel interface is available to applications
446
Miklos Szeredibcc53852005-11-10 09:54:41 +00004472005-11-10 Miklos Szeredi <miklos@szeredi.hu>
448
449 * Moved mountpoint argument checking from fuse_parse_cmdline() to
450 fuse_mount() in preparation to FreeBSD merge.
451
Miklos Szeredi4ec06812005-11-08 13:04:27 +00004522005-11-08 Miklos Szeredi <miklos@szeredi.hu>
453
454 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
455 Henk.
456
Miklos Szeredic706ad92005-11-07 15:30:48 +00004572005-11-07 Miklos Szeredi <miklos@szeredi.hu>
458
459 * Make the statfs change backwards compatible.
460
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00004612005-11-06 Miklos Szeredi <miklos@szeredi.hu>
462
463 * Change ->statfs() method to use 'struct statvfs' instead of
464 'struct statfs'. This makes the API more portable since statvfs()
465 is defined by POSIX.
466
Miklos Szeredif7eec032005-10-28 13:09:50 +00004672005-10-28 Miklos Szeredi <miklos@szeredi.hu>
468
469 * Add fgetattr() method, which currently will only be called after
470 a successful call to a create() method.
471
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004722005-10-26 Miklos Szeredi <miklos@szeredi.hu>
473
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000474 * Change kernel ABI version to 7.3
475
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000476 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000477 call if 'default_permissions' mount option is not given, and is
478 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000479
Miklos Szeredid9079a72005-10-26 15:29:06 +0000480 * Add atomic CREATE+OPEN operation. This will only work with
481 2.6.15 (presumably) or later Linux kernels.
482
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000483 * Add ftruncate() method. This will only work with 2.6.15
484 (presumably) or later Linux kernels.
485
486 * Fix kernel module compile if kernel source and build directories
487 differ. Report and initial patch by John Eastman
488
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004892005-10-18 Miklos Szeredi <miklos@szeredi.hu>
490
491 * lib: optimize buffer reallocation in fill_dir.
492
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004932005-10-17 Miklos Szeredi <miklos@szeredi.hu>
494
495 * Released 2.4.1
496
Miklos Szeredif412d072005-10-14 21:24:32 +00004972005-10-14 Miklos Szeredi <miklos@szeredi.hu>
498
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000499 * libfuse: add debug for write result (by Shaun Jackman) and
500 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000501
Miklos Szeredib75d4b92005-10-11 10:12:08 +00005022005-10-11 Miklos Szeredi <miklos@szeredi.hu>
503
504 * Spelling fixes, thanks to Ioannis Barkas
505
Miklos Szeredibaab5872005-10-10 08:41:14 +00005062005-10-10 Miklos Szeredi <miklos@szeredi.hu>
507
508 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
509 patch
510
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00005112005-10-07 Miklos Szeredi <miklos@szeredi.hu>
512
513 * highlevel-lib: init() and destroy() methods didn't have an
514 initialized fuse_context. Bug reported by Tim Stoakes
515
Miklos Szeredif2491122005-10-04 10:10:41 +00005162005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000517
518 * Released 2.4.0
519
Miklos Szeredi836ab712005-10-03 14:11:59 +00005202005-10-03 Miklos Szeredi <miklos@szeredi.hu>
521
522 * Add documentation to fuse_lowlevel.h
523
524 * API cleanups:
525
526 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
527
528 * Move fuse_mount() and fuse_unmount() to fuse_common.h
529
530 * Change the return type of fuse_reply_none() from int to void.
531
Miklos Szerediaf138742005-09-30 08:49:59 +00005322005-09-30 Miklos Szeredi <miklos@szeredi.hu>
533
534 * kernel: NFS exporting leaked dentries. Bug found and fixed by
535 Akshat Aranya.
536
Miklos Szeredidb016e02005-09-29 10:06:27 +00005372005-09-29 Miklos Szeredi <miklos@szeredi.hu>
538
539 * fusermount: fix error message, when unable to open /dev/fuse.
540 Report by Balázs Pozsár
541
Miklos Szeredi35200932005-09-28 14:50:49 +00005422005-09-28 Miklos Szeredi <miklos@szeredi.hu>
543
544 * UClibc fixes from Christian Magnusson
545
Miklos Szeredi8eddf642005-09-27 08:58:26 +00005462005-09-27 Miklos Szeredi <miklos@szeredi.hu>
547
548 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
549
Miklos Szerediedec95c2005-09-26 10:22:22 +00005502005-09-26 Miklos Szeredi <miklos@szeredi.hu>
551
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000552 * Released 2.4.0-rc1
553
5542005-09-26 Miklos Szeredi <miklos@szeredi.hu>
555
Miklos Szerediedec95c2005-09-26 10:22:22 +0000556 * fusermount: allow user umount in the case when /etc/mtab is a
557 symlink to /proc/mounts. Reported by Balázs Pozsár.
558
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00005592005-09-23 Miklos Szeredi <miklos@szeredi.hu>
560
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000561 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000562
Miklos Szeredif45f3c12005-09-22 15:14:27 +00005632005-09-22 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Slight optimization in returning EINVAL error in case of an open
566 with O_DIRECT flag.
567
Miklos Szeredi670d07a2005-09-20 11:36:32 +00005682005-09-20 Miklos Szeredi <miklos@szeredi.hu>
569
570 * Remove '--enable-auto-modprobe' configure flag. Module
571 auto-loading is now handled by the kernel.
572
Miklos Szeredid51fca12005-09-15 12:51:00 +00005732005-09-15 Miklos Szeredi <miklos@szeredi.hu>
574
575 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
576 Help from Jens M. Noedler.
577
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005782005-09-14 Miklos Szeredi <miklos@szeredi.hu>
579
580 * Add memory cleanup on thread exit
581
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005822005-09-13 Miklos Szeredi <miklos@szeredi.hu>
583
584 * Set umask to zero in fusexmp and fusexmp_fh, so that
585 files/directories are created with the requested mode.
586
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005872005-09-12 Miklos Szeredi <miklos@szeredi.hu>
588
589 * Don't ignore read error in multithreaded loop
590
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005912005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000592
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000593 * Released 2.4.0-pre2
594
5952005-09-08 Miklos Szeredi <miklos@szeredi.hu>
596
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000597 * Revert lock and access operations. Postpone these until 2.5.
598
5992005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000600
601 * Fix compile warning on 2.6.13 and later
602
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000603 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000604
Miklos Szeredi77ccf652005-08-19 14:40:27 +00006052005-08-19 Miklos Szeredi <miklos@szeredi.hu>
606
607 * lib: always refresh directory contents after rewinddir() to
608 conform to SUS. Bug found by John Muir.
609
Miklos Szeredia1482422005-08-14 23:00:27 +00006102005-08-15 Miklos Szeredi <miklos@szeredi.hu>
611
Miklos Szeredic43f9412005-08-15 15:10:48 +0000612 * Released 2.4.0-pre1
613
6142005-08-14 Miklos Szeredi <miklos@szeredi.hu>
615
Miklos Szeredia1482422005-08-14 23:00:27 +0000616 * lib: cleaned up (or messed up, depending on your POV) the low
617 level library API. Hopefully this is close to the final form.
618
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00006192005-08-05 Miklos Szeredi <miklos@szeredi.hu>
620
621 * fusermount: don't allow empty mountpoint argument, which defeats
622 automatic umounting in fuse_main(). Bugreport by Václav Jůza
623
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00006242005-08-03 Miklos Szeredi <miklos@szeredi.hu>
625
626 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
627 option is used (Paul Alfille).
628
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00006292005-08-02 Miklos Szeredi <miklos@szeredi.hu>
630
631 * highlevel-lib: added mount options "attr_timeout" and
632 "entry_timeout". These options control the length of time file
633 attributes and entries (names) are cached. Both default to 1.0
634 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000635
636 * kernel: correctly handle zero timeout for attributes and entries
637
Miklos Szeredi56a61f02005-08-01 10:42:25 +00006382005-08-01 Miklos Szeredi <miklos@szeredi.hu>
639
640 * Added missing symbols to versionscript (Joshua J. Berry)
641
Miklos Szeredie77cc072005-08-01 11:58:51 +0000642 * kernel: implement two flags, open can set: 'direct_io' and
643 'keep_cache'. These correspond exactly to mount options
644 'direct_io' and 'kernel_cache', but allow a per-open setting.
645
646 * Move 'direct_io' and 'kernel_cache' mount option handling to
647 userspace. For both mount options, if the option is given, then
648 the respective open flag is set, otherwise the open flag is left
649 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000650
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000651 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000652
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00006532005-07-28 Miklos Szeredi <miklos@szeredi.hu>
654
655 * kernel: invalidate attributes for read/readdir/readlink
656 operations
657
658 * kernel: detect newer UML kernels
659
Miklos Szeredibfb99462005-07-26 11:07:55 +00006602005-07-26 Miklos Szeredi <miklos@szeredi.hu>
661
662 * Make the installation path of fuse.ko and mount.fuse
663 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
664 environment variables. Requirement and help from Csaba Henk.
665
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00006662005-07-22 Miklos Szeredi <miklos@szeredi.hu>
667
668 * Fix bug, that causes filesystem requests to hang when unique
669 request counter becomes negative. This happens after
670 2,147,483,648 operations, so most people won't care. Thanks to
671 Franco Broi for the report and testing.
672
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006732005-07-21 Miklos Szeredi <miklos@szeredi.hu>
674
675 * Don't change mtime/ctime/atime to local time on read/write.
676 Bug reported by Ben Grimm
677
678 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
679 Magnusson
680
681 * fusermount: use getopt_long() for option parsing. It allows the
682 use of '--' to stop argument scanning, so fusermount can now
683 operate on directories whose names begin with a '-'. Patch by
684 Adam Connell
685
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006862005-07-15 Miklos Szeredi <miklos@szeredi.hu>
687
688 * fusermount: add '-v', '--version' and '--help' options
689
690 * add inode based API
691
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006922005-07-12 Miklos Szeredi <miklos@szeredi.hu>
693
694 * lib: don't block signals in worker threads. Problem noticed by
695 Usarin Heininga
696
Miklos Szeredic902a852005-07-07 12:35:37 +00006972005-07-07 Miklos Szeredi <miklos@szeredi.hu>
698
699 * lib: don't allow both 'allow_other' and 'allow_root' options to
700 be given
701
Miklos Szeredi437d8112005-07-06 09:14:20 +00007022005-07-06 Miklos Szeredi <miklos@szeredi.hu>
703
704 * fusermount: check if mountpoint is empty (only '.' and '..' for
705 directories, and size = 0 for regular files). If "nonempty"
706 option is given, omit this check. This is useful, so users don't
707 accidentally hide data (e.g. from backup programs). Thanks to
708 Frank van Maarseveen for pointing this out.
709
710 * kernel: check if mandatory mount options ('fd', 'rootmode',
711 'user_id', 'group_id') are all given
712
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000713 * lib: simplify 'readdir_ino' handling
714
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000715 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
716
Miklos Szeredibb9f5172005-07-03 18:03:11 +00007172005-07-03 Miklos Szeredi <miklos@szeredi.hu>
718
719 * kernel: clean up 'direct_io' code
720
Miklos Szeredie1bcece2005-06-28 10:37:06 +00007212005-06-28 Miklos Szeredi <miklos@szeredi.hu>
722
723 * Add 'mount.fuse' written by Petr Klima
724
Miklos Szeredi866826d2005-06-28 12:22:57 +0000725 * '/dev/fuse' is created by 'make install' if does not yet exist
726
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00007272005-06-20 Miklos Szeredi <miklos@szeredi.hu>
728
729 * Fix UCLIBC compile error. Patch by Christian Magnusson
730
Miklos Szerediec12fad2005-06-08 10:26:34 +00007312005-06-08 Miklos Szeredi <miklos@szeredi.hu>
732
733 * Enable the auto-loading of the module via access to the
734 corresponding device file. Patch by Takashi Iwai.
735
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000736 * Allow mounting a regular file (over a regular file) for
737 unprivleged users.
738
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000739 * Do not create temporary device file. Require "/dev/fuse" to
740 exist, and be readable/writable by the mounting user.
741
Miklos Szeredi46960ce2005-06-02 09:05:00 +00007422005-06-02 Miklos Szeredi <miklos@szeredi.hu>
743
Miklos Szeredi56478552005-06-02 10:29:00 +0000744 * Released 2.3.0
745
7462005-06-02 Miklos Szeredi <miklos@szeredi.hu>
747
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000748 * Fix serious information leak: if the filesystem returns a short
749 byte count to a read request, and there are non-zero number of
750 pages which are not filled at all, these pages will not be zeroed.
751 Hence the user can read out previous memory contents. Found by
752 Sven Tantau.
753
Miklos Szeredi33be22d2005-05-27 09:12:43 +00007542005-05-27 Miklos Szeredi <miklos@szeredi.hu>
755
756 * Add "readdir_ino" mount option, which tries to fill in the d_ino
757 field in struct dirent. This mount option is ignored if "use_ino"
758 is used. It helps some programs (e.g. 'pwd' used over NFS from a
759 non-Linux OS). Patch by David Shaw.
760
Miklos Szeredif94e0102005-05-12 14:56:34 +00007612005-05-12 Miklos Szeredi <miklos@szeredi.hu>
762
Miklos Szeredieb009c42005-05-12 15:01:17 +0000763 * Released 2.3-rc1
764
7652005-05-12 Miklos Szeredi <miklos@szeredi.hu>
766
Miklos Szeredif94e0102005-05-12 14:56:34 +0000767 * File save in krusader and other editors doesn't work with sshfs,
768 because open() is interrupted by a periodic signal, and open()
769 restarts forever, without any progress. This could just be fixed
770 in open(), but the problem is more generic: if signals are
771 received more often than the filesystem can get the request to
772 userspace, it will never finish. This is probably only a
773 theoretical problem, nevertheless I'm removing the possibility to
774 interrupt requests with anything other than SIGKILL, even before
775 being sent to userspace. Bugreport by Eduard Czimbalmos.
776
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007772005-05-09 Miklos Szeredi <miklos@szeredi.hu>
778
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000779 * libfuse: add "tree_lock" rwlock, that is locked for write in
780 rename, unlink and rmdir, and locked for read in all other
781 operations. This should fix the rename/release race reported by
782 Valient Gough and others. The solution is very coarse, a finer
783 grained locking scheme could be implemented, but it would be much
784 more complex. Let's see whether this is good enough.
785
7862005-05-09 Miklos Szeredi <miklos@szeredi.hu>
787
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000788 * Released 2.3-pre7
789
Miklos Szeredi38009022005-05-08 19:47:22 +00007902005-05-08 Miklos Szeredi <miklos@szeredi.hu>
791
792 * Better fix for out of order FORGET messages. Now the
793 LOOKUP/FORGET messages are balanced exactly (one FORGET can
794 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000795 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000796 compatible.
797
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00007982005-05-06 Miklos Szeredi <miklos@szeredi.hu>
799
800 * Fix abort for out of order FORGET messages. Again. Spotted by
801 Franco Broi again. Sorry :)
802
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00008032005-04-29 Miklos Szeredi <miklos@szeredi.hu>
804
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000805 * Released 2.3-pre6
806
8072005-04-29 Miklos Szeredi <miklos@szeredi.hu>
808
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000809 * Make fusermount work with fuse kernel modules not yet supporting
810 the "group_id" option (added for the purpose of stricter
811 permission checking).
812
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00008132005-04-28 Miklos Szeredi <miklos@szeredi.hu>
814
815 * Check for hard-linked directories in lookup. This could cause
816 problems in the VFS, which assumes that such objects never exist.
817
818 * Make checking of permission for other users more strict. Now
819 the same privilege is required for the mount owner as for ptrace
820 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000821
Miklos Szeredi3efcb562005-04-23 13:34:29 +00008222005-04-23 Miklos Szeredi <miklos@szeredi.hu>
823
824 * Released 2.3-pre5
825
Miklos Szeredid001bf92005-04-22 07:54:11 +00008262005-04-22 Miklos Szeredi <miklos@szeredi.hu>
827
828 * Add -msoft-float to kernel module compile flags for 2.4.X. This
829 is needed on certain architectures. Report from Chris Kirby
830
831 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
832 Reported by David Shaw
833
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000834 * Remove "allow_root" option from kernel module, and implement
835 it's functionality in the library
836
837 * Fix Oops caused by premature release of fuse_conn. Clean up
838 related code, to be more readable
839
Miklos Szeredif9137452005-04-23 10:59:44 +0000840 * Sendfile should not use page cache if "direct_io" mount option
841 is given
842
Miklos Szeredib7640d22005-04-08 15:15:28 +00008432005-04-08 Miklos Szeredi <miklos@szeredi.hu>
844
845 * Fix Oops in case of nfs export. Spotted by David Shaw
846
Miklos Szeredi89814a12005-04-08 16:39:09 +0000847 * Fix another Oops in case of write over nfs with direct_io turned
848 on. Again spotted by David Shaw
849
Miklos Szerediab974562005-04-07 15:40:21 +00008502005-04-07 Miklos Szeredi <miklos@szeredi.hu>
851
Miklos Szeredi432d6182005-04-07 15:56:13 +0000852 * Released 2.3-pre4
853
8542005-04-07 Miklos Szeredi <miklos@szeredi.hu>
855
Miklos Szerediab974562005-04-07 15:40:21 +0000856 * lib: finalized new readdir() interface, which now supersedes the
857 getdir() method.
858
Miklos Szeredi30e093a2005-04-03 17:44:54 +00008592005-04-03 Miklos Szeredi <miklos@szeredi.hu>
860
861 * Released 2.3-pre3
862
8632005-04-03 Miklos Szeredi <miklos@szeredi.hu>
864
865 * Implement backward compatibility with version 5 kernel ABI
866
Miklos Szeredi18fce982005-04-01 21:07:35 +00008672005-04-01 Miklos Szeredi <miklos@szeredi.hu>
868
869 * Released 2.3-pre2
870
8712005-04-01 Miklos Szeredi <miklos@szeredi.hu>
872
873 * kernel: fix dirent offset handling
874
875 * lib: add readdir and releasedir methods
876
877 * lib: use fh field of fuse_file_info in opendir, readdir,
878 releasedir and fsyncdir methods
879
880 * lib: check kernel API version and bail out of it's old. This
881 will be properly fixed in the next release
882
8832005-03-31 Miklos Szeredi <miklos@szeredi.hu>
884
885 * Released 2.3-pre1
886
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008872005-03-31 Miklos Szeredi <miklos@szeredi.hu>
888
889 * kernel API: add padding to structures, so 64bit and 32bit
890 compiler will return the same size
891
892 * kernel API: add offset field to fuse_dirent. This will allow
893 more sophisticated readdir interface for userspace
894
895 * kernel API: change major number to 6
896
897 * kernel: fix warnings on 64bit archs
898
899 * kernel: in case of API version mismatch, return ECONNREFUSED
900
Miklos Szeredi407e6a72005-03-25 12:19:43 +00009012005-03-24 Miklos Szeredi <miklos@szeredi.hu>
902
903 * kernel: trivial cleanups
904
Miklos Szeredi4283ee72005-03-21 12:09:04 +00009052005-03-21 Miklos Szeredi <miklos@szeredi.hu>
906
907 * Add fsyncdir() operation
908
Miklos Szeredid17da462005-03-21 11:47:04 +00009092005-03-19 Miklos Szeredi <miklos@szeredi.hu>
910
911 * kernel: add locking to background list (fixes previous fix)
912
9132005-03-18 Miklos Szeredi <miklos@szeredi.hu>
914
915 * kernel: fix bug which could cause leave busy inodes after
916 unmount, and Oops.
917
9182005-03-08 Miklos Szeredi <miklos@szeredi.hu>
919
920 * examples: add -lpthread to link flags to work around valgrind
921 quirk
922
923 * lib: don't exit threads, so cancelation doesn't cause segfault
924
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00009252005-03-04 Miklos Szeredi <miklos@szeredi.hu>
926
927 * kernel: fix nasty bug which could cause an Oops under certain
928 situations. Found by Magnus Johansson
929
Miklos Szeredif43f0632005-02-28 11:46:56 +00009302005-02-28 Miklos Szeredi <miklos@szeredi.hu>
931
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000932 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000933 permission checking in getdir() is too late. Thanks to Usarin
934 Heininga for pointing out this deficiency
935
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000936 * libfuse: added init() and destroy() methods to fuse_operations
937
Miklos Szeredif43f0632005-02-28 11:46:56 +0000938 * kernel: llseek() method for files and directories made explicit
939
940 * kernel: fixed inode leak in NFS export in case of nodeid
941 wrapping
942
Miklos Szeredied3c97c2005-02-15 17:04:50 +00009432005-02-15 Miklos Szeredi <miklos@szeredi.hu>
944
945 * libfuse: clean up some unitialized memory found with valgrind
946
Miklos Szeredi47c52982005-02-23 09:27:38 +0000947 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
948 explicitly linked libpthread for applications
949
Miklos Szeredia7169412005-02-10 07:35:05 +00009502005-02-10 Miklos Szeredi <miklos@szeredi.hu>
951
952 * fusermount: set umask, otherwise /etc/mtab will have
953 unpredictable permission. Spotted by Jindrich Kolorenc
954
955 * fusermount: set owner and group of /etc/mtab to original values
956 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000957
958 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000959
Miklos Szeredib92d9782005-02-07 16:10:49 +00009602005-02-07 Miklos Szeredi <miklos@szeredi.hu>
961
962 * Cleaned up directory reading (temporary file is not used)
963
Miklos Szerediff30a6c2005-02-02 10:53:59 +00009642005-02-02 Miklos Szeredi <miklos@szeredi.hu>
965
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000966 * Released 2.2
967
9682005-02-02 Miklos Szeredi <miklos@szeredi.hu>
969
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000970 * Fix possible race when operation is interrupted
971
Miklos Szeredi7a983952005-01-28 09:58:19 +00009722005-01-28 Miklos Szeredi <miklos@szeredi.hu>
973
Miklos Szeredie5183742005-02-02 11:14:04 +0000974 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000975
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009762005-01-26 Miklos Szeredi <miklos@szeredi.hu>
977
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000978 * Released 2.2-pre6
979
9802005-01-26 Miklos Szeredi <miklos@szeredi.hu>
981
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000982 * Fix bug in link() operation which caused the wrong path to be
983 passed as the first argument. Found by Anton Altaparmakov
984
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009852005-01-21 Miklos Szeredi <miklos@szeredi.hu>
986
987 * LIB: fix double reply in readdir operation
988
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000989 * fusermount: fix uid checking bug. Patch by Adam Connell
990
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000991 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000992 Patch by Keshava Gowda
993
Miklos Szeredi64074142005-01-20 08:48:11 +00009942005-01-20 Miklos Szeredi <miklos@szeredi.hu>
995
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000996 * KERNEL: provide correct llseek semantics for fuse device (fixes
997 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
998
9992005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1000
Miklos Szeredi64074142005-01-20 08:48:11 +00001001 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1002
Miklos Szeredi1adb2272005-01-18 21:19:58 +000010032005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1004
1005 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1006 and RELEASEDIR. This ends the ugly hack of passing a file
1007 descriptor to the kernel, and actually makes the code simpler.
1008
Miklos Szeredi7db35c02005-01-17 09:46:28 +000010092005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1010
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001011 * Released 2.2-pre4
1012
10132005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1014
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001015 * fusermount: remove capability setting, which was the cause of
1016 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001017 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001018
Miklos Szeredidbe0f652005-01-15 14:32:56 +000010192005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001020
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001021 * fix compilation on 2.4 kernels (reported by Valient Gough)
1022
1023 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001024
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001025 * fusermount: improve parsing of /etc/fuse.conf
1026
10272005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1028
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001029 * Remove 'mount_max' and 'user_allow_other' module options. These
1030 are now checked by fusermount, and can be set in /etc/fuse.conf
1031
1032 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1033
Miklos Szeredi81394522005-01-11 14:24:18 +000010342005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1035
1036 * KERNEL: fix possible inode allocation problem, where
1037 sizeof(struct inode) is not aligned (found by Mike Waychison)
1038
1039 * KERNEL: use new follow_link/put_link methods
1040
1041 * KERNEL: cosmetic fixes
1042
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000010432005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1044
1045 * Released 2.2-pre3
1046
10472005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1048
1049 * Add missing code that was accidently left out
1050
Miklos Szeredi8c7da232005-01-09 12:27:41 +000010512005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1052
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001053 * Released 2.2-pre2
1054
10552005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1056
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001057 * Change "uid" mount option to "user_id" to avoid confusion with a
1058 mount option "uid" commonly used by many filesystems
1059
10602005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1061
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001062 * Released 2.2-pre1
1063
10642005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1065
1066 * If FUSE is configured in the kernel, don't build it by default
1067
Miklos Szeredi2a927272005-01-07 11:14:15 +000010682005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1069
1070 * Compile fix by Christian Magnusson
1071
Miklos Szeredib6220192005-01-05 16:19:10 +000010722005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1073
1074 * Fix compilation for 2.6.{0-5} kernels
1075
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010762005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1077
1078 * KERNEL: if request is interrupted, still keep reference to used
1079 inode(s) and file, so that FORGET and RELEASE are not sent until
1080 userspace finishes the request.
1081
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001082 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1083 request with the same information, which is more flexible,
1084 simpler, works on embedded systems.
1085
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010862004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1087
1088 * KERNEL ABI: update interface to make it independent of type
1089 sizes. This will help on 64 bit architectures which can run
1090 legacy 32 bit applications.
1091
1092 * KERNEL ABI: add "len" field to request headers. This will allow
1093 sending/receiving requests in multiple chunks.
1094
1095 * KERNEL: handle file type change more intelligently
1096
1097 * LIB: "-o debug" option should disable backgrounding (fix by
1098 Fabien Reygrobellet)
1099
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000011002004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1101
1102 * KERNEL: invalidate dentry/attributes if interrupted request
1103 could leave filesystem in an unknown state.
1104
Miklos Szeredie56818b2004-12-12 11:45:24 +000011052004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1106
1107 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1108 These will cause some regressions, but stability is considered
1109 more important. If any of these features turns out to be
1110 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001111
Miklos Szeredie56818b2004-12-12 11:45:24 +00001112 * Make all requests interruptible (only with SIGKILL currently).
1113 This can be used to break any deadlock produced by the userspace
1114 filesystem accessing it's own exported files. The RELEASE request
1115 is special, because if it's interrupted before sending it to
1116 userspace it is still sent, but the reply is not awaited.
1117
1118 * If request is interrupted before being sent to userspace, and if
1119 it hasn't yet got any side effects, it is always restarted,
1120 regardless of the SA_RESTART flag. This makes these interruptions
1121 transparent to the process.
1122
1123 * Remove shared-writable mmap support, which was prone to an
1124 out-of-memory deadlock situation
1125
1126 * Remove INVALIDATE userspace initiated request
1127
1128 * Make readpages() synchronous. Asynchronous requests are
1129 deadlock prone, since they cannot be interrupted.
1130
1131 * Add readv/writev support to fuse device operations
1132
1133 * Remove some printks, which userspace FS can use for a DoS
1134 against syslog
1135
1136 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1137 fusermount instead
1138
1139 * LIB: improve compatibility with a fuse.h header installed in
1140 ${prefix}/include which in turn includes the real header.
1141
1142 * LIB: improve compatibility by defining fuse_main() (which is now
1143 not used), so old configure scripts find it.
1144
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000011452004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1146
1147 * When mounting on a subdirectory of / don't duplicate slashes at
1148 the beggining of path (spotted by David Shaw)
1149
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000011502004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1151
1152 * Fix bug causing garbage in mount options (spotted by David Shaw)
1153
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000011542004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1155
1156 * Add 'writepage' flag to 'fuse_file_info'.
1157
1158 * More comments in fuse.h
1159
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001160 * Get rid of double underscores
1161
Miklos Szeredi799993c2004-12-04 21:20:05 +000011622004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1163
1164 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1165
1166 * helper.c: add -ho option, which only displays the options not
1167 the usage header. This can be used by filesystems which have
1168 their own options.
1169
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000011702004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1171
1172 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1173 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1174 including the fuse header
1175
1176 * Add binary compatibility to 2.1 version of library with symbol
1177 versioning
1178
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011792004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1180
1181 * Released 2.1
1182
Miklos Szeredi039322d2004-12-01 18:39:12 +000011832004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1184
1185 * kernel: clean up writing functions
1186
1187 * kernel: no allocation on write in direct_io mode
1188
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001189 * move linux/fuse.h to fuse_kernel.h
1190
Miklos Szeredi83a07442004-11-30 18:25:20 +000011912004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1192
1193 * kernel: clean up reading functions
1194
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000011952004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1196
1197 * kernel: make readpage() uninterruptible
1198
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001199 * kernel: check readonly filesystem flag in fuse_permission
1200
1201 * lib: don't die if version file not found and new style device
1202 exists
1203
1204 * lib: add '-r' option, which is short for '-o ro'
1205
1206 * fusermount: simplify device opening
1207
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001208 * kernel: when direct_io is turend on, copy data directly to
1209 destination without itermediate buffer. More efficient and safer,
1210 since no allocation is done.
1211
1212 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001213
1214 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001215
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000012162004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1217
1218 * libfuse API change: open, read, write, flush, fsync and release
1219 are passed a 'struct fuse_file_info' pointer containing the open
1220 flags (open and release), and the file handle. Verion changed to
1221 3.0.
1222
Miklos Szeredia25d4c22004-11-23 22:32:16 +000012232004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1224
1225 * More cleanups in the kernel
1226
1227 * The 10,229 charater device number has been assigned for FUSE
1228
1229 * Version file checking fix (reported by Christian Magnusson)
1230
1231 * fusermount: opening the fuse device now doesn't need /sys.
1232
1233 * Optimize reading by controlling the maximum readahead based on
1234 the 'max_read' mount option
1235
1236 * fixes for UCLIBC (Christian Magnusson)
1237
Miklos Szeredi13ed4822004-11-20 11:12:21 +000012382004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1239
1240 * Cleaned up kernel in preparation for merge into mainline:
1241
1242 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1243
1244 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1245
1246 * __user annotations for sparse
1247
1248 * allocate individual pages instead of kmalloc in fuse_readdir,
1249 fuse_read and fuse_write.
1250
1251 * Fix NFS export in case "use_ino" mount option is given
1252
Miklos Szeredif3845c42004-11-20 11:18:34 +00001253 * Make libfuse and fusermount compatible with future versions
1254
1255 * fusermount: properly add mount options to /etc/mtab
1256
12572004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1258
1259 * fusermount: do not resolve last component of mountpoint on if it
1260 is '.' or '..'. This new path resolvation is now done on mount as
1261 well as unmount. This enables relative paths to work on unmount.
1262
1263 * fusermount: parse common mount options like "ro", "rw", etc...
1264
1265 * Allow module params to be changed through sysfs
1266
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000012672004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1268
1269 * Released 2.1-pre1
1270
12712004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1272
1273 * Fix bug in fuse_readpages() causing Oops in certain situations.
1274 Bug found by Vincenzo Ciancia.
1275
1276 * Fix compilation with kernels versions > 2.6.9.
1277
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012782004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001279
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001280 * Check kernel interface version in fusermount to prevent
1281 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001282
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001283 * No need to allocate fuse_conn until actual mount happens
1284
1285 * Fix potential race between umount and fuse_invalidate
1286
1287 * Check superblock of proc file in addition to inode number
1288
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001289 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001290
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012912004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1292
1293 * Separate configure for the kernel directory
1294
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001295 * Don't allow write to return more than 'count'
1296
1297 * Extend kernel interface for future use
1298
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012992004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1300
1301 * Fix 'makeconf.sh' to use autoreconf if available
1302
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000013032004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1304
Miklos Szeredid507c732004-11-08 17:32:25 +00001305 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1306 compatibility with earlier versions. To compile earier versions
1307 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1308 Do not use the "use_ino" mount flag with filesystems compiled with
1309 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001310
1311 * Add pkg-config support. To compile a FUSE based filesystem you
1312 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1313 or similar. Note, that the PKG_CONFIG_PATH environment variable
1314 usually needs to be set to "/usr/local/lib/pkgconfig".
1315
1316 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001317
Miklos Szeredia13d9002004-11-02 17:32:03 +000013182004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1319
1320 * Added "use_ino" mount option. This enables the filesystems to
1321 set the st_ino field on files
1322
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000013232004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1324
1325 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1326 by Jeremy Smith)
1327
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001328 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1329
1330 * Clear the 'exited' flag when mail loop is finished
1331
Miklos Szeredie989f0d2004-10-28 20:24:58 +000013322004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1333
1334 * Make xattr functions work under 2.6 (bug found by Vincenzo
1335 Ciancia)
1336
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000013372004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1338
1339 * Reset request in fuse_flush() (bugreport by David Shaw)
1340
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000013412004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1342
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001343 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001344 error code
1345
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001346 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001347 make it easier to implement a custom event loop.
1348
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001349 * Use daemon() call to background the filesystem after mounting.
1350 This function closes the standard input, output and error and
1351 changes the current working directory to "/".
1352
Miklos Szeredi127d49b2004-10-14 13:33:39 +000013532004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1354
1355 * Released 1.9
1356
Miklos Szeredid45baf42004-10-10 07:56:12 +000013572004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1358
1359 * Don't allow fuse_flush() to be interrupted (bug found by David
1360 Shaw)
1361
Miklos Szeredi1f18db52004-09-27 06:54:49 +000013622004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1363
1364 * Add PID to fuse_context. Patch by Steven James
1365
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001366 * Change file handle type to 'unsigned long' in kernel interface
1367
Miklos Szeredid169f312004-09-22 08:48:26 +000013682004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1369
1370 * A slight API change: fuse_get_context() doesn't need the "fuse"
1371 pointer, but the returned context contains it instead. The
1372 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001373
1374 * Fix mounting and umounting FUSE filesystem under another FUSE
1375 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001376
Miklos Szeredic2309912004-09-21 13:40:38 +000013772004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1378
1379 * Fix deadlock in case of memory allocation failure. Patch by
1380 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001381
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013822004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1383
1384 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001385
Miklos Szeredi65afea12004-09-14 07:13:45 +000013862004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1387
1388 * Check temporary file creation failure in do_getdir(). Bug
1389 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001390
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013912004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1392
1393 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001394
1395 * Make requests non-interruptible so race with FORGET is avoided.
1396 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001397
1398 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001399
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000014002004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1401
1402 * Fix bug in case two FORGETs for the same node are executed in
1403 the wrong order. Bug spotted and endured for months by Franco
1404 Broi, and logfile for solution provided by Terje Oseberg
1405
Miklos Szeredi12085102004-09-02 18:13:57 +000014062004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1407
1408 * Add -D_REENTRANT to the compile flags
1409
1410 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001411
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000014122004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1413
1414 * Change release method to be non-interruptible. Fixes bug
1415 causing missing release() call when program which has opened files
1416 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001417
Miklos Szeredi891b8742004-07-29 09:27:49 +000014182004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1419
1420 * Add fuse_invalidate() to library API
1421
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000014222004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1423
1424 * Check permissions in setattr if 'default_permissions' flag is
1425 set. Bug spotted by Damjan Lango
1426
Miklos Szeredid66d3942004-07-24 13:47:44 +000014272004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1428
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001429 * 'large_read' mount option removed for 2.6 kernels, since the
1430 default (dynamic read size) is better
1431
1432 * Extend kernel API with file handles. A file handle is returned
1433 by open, and passed to read, write, flush, fsync and release.
1434 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001435
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001436 * Security changes:
1437
1438 * Change the current directory to the mountpoint before checking
1439 the permissions and mount filesystem on "."
1440
1441 * By default don't modprobe the fuse module for non-root. The old
1442 behavior can be restored with the '--enable-auto-modprobe' flag of
1443 ./configure
1444
1445 * By default don't allow shared writable mappings for non-root.
1446 The old behavior can be restored with the 'user_mmap=1' module
1447 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001448
Miklos Szeredibd7661b2004-07-23 17:16:29 +000014492004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1450
1451 * Clean up mount option passing to fusermount and to fuse_new()
1452 BEWARE: this changes the userspace API slightly, and the command
1453 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001454
Miklos Szeredi58865372004-07-20 14:22:26 +000014552004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1456
1457 * Optimize reading under 2.6 kernels by issuing multiple page
1458 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001459
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000014602004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1461
1462 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001463
Miklos Szeredi069c9502004-07-16 16:17:02 +000014642004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1465
1466 * Separate directory entry and inode attribute validity timer
1467
1468 * New write semaphore to stop page writeback during truncate
1469
1470 * Fsync now waits for all writes to complete before sending the
1471 request
1472
1473 * Optimization: if a page is completely written by
1474 fuse_commit_write(), clear the dirty flag and set the uptodate
1475 flag for that page
1476
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001477 * Some memory cleanup at exit
1478
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014792004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1480
1481 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001482 disable the "hide if open" behavior of unlink/rename.
1483
1484 * If temporary buffer allocation fails in raw read, fall back to a
1485 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001486
Miklos Szeredi73798f92004-07-12 15:55:11 +000014872004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1488
1489 * Fix bug in do_open() in libfuse: open count was incremented
1490 after the reply is sent so it could race with unlink/forget and
1491 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001492
Miklos Szeredi015fe702004-07-12 11:52:24 +000014932004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1494
1495 * When performing create or remove operation, refresh the parent's
1496 attributes on next revalidate, as i_nlink (and maybe size/time)
1497 could be inacurate.
1498
1499 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1500 pages (2.6 only)
1501
1502 * Set set_page_dirty address space operation (2.6 only)
1503
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015042004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001505
1506 * Minor fix in read: print debug info even if read size is zero
1507
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015082004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001509
1510 * Fix race between truncate and writepage (fsx-linux now runs
1511 without error)
1512
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015132004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001514
1515 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1516 by Mattias Wadman)
1517
1518 * Added option for direct read/write (-r)
1519
1520 * Fix revalidate time setting for newly created inodes
1521
Miklos Szerediacb4d362004-07-02 16:20:45 +00001522 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1523 this)
1524
1525 * fuse_main() only installs handlers for signals (out of INT, HUP,
1526 TERM, PIPE), for which no handler has yet been installed
1527
1528 * Add module option 'user_allow_other' which if set to non-zero
1529 will allow non root user to specify the 'allow_other' mount option
1530 ('-x' option of fusermount)
1531
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001532 * Fix deadlock between page writeback completion and truncate
1533 (bug found by Valient Gough with the fsx-linux utility)
1534
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015352004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001536
1537 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001538 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1539 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001540
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015412004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001542
1543 * Acquire inode->i_sem before open and release methods to prevent
1544 concurrent rename or unlink operations.
1545
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001546 * Make __fuse_read_cmd() read only one command. This allows
1547 multiplexing the fuse file descriptor with other event sources
1548 using select() or poll() (patch by Jeff Harris)
1549
1550 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1551
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015522004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001553
1554 * Fix file offset wrap around at 4G when doing large reads
1555
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015562004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001557
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001558 * Fix memory leak in open (Valient Gough)
1559
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015602004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001561
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001562 * Add "close after delete" support to libfuse (patch by Valient
1563 Gough)
1564
1565 * Cancel all worker threads before exit in multithreaded mode
1566
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015672004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001568
1569 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001570
1571 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001572
1573 * Work with newer libtool (1.5a)
1574
1575 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001576
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015772004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001578
1579 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001580
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015812004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001582
1583 * Fix possible inode leak in userspace in case of unfinished
1584 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001585
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015862004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001587
1588 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001589
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015902004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001591
1592 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001593
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015942004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001595
1596 * Build shared library as well as static (using libtool)
1597
1598 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1599 there has not been a release with the previous minor number, and I
1600 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001601
1602 * Change fuse_main(), so that default behavior is to go into
1603 background if mount is successful. '-f' and '-d' options disable
1604 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1605 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001606
1607 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1608 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001609
1610 * Don't call getdir method from open() only from first readdir().
1611 Open is sometimes just used to store the current directory
1612 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001613
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016142004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001615
1616 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001617
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016182004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001619
1620 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001621
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016222004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001623
1624 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001625
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016262004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001627
1628 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001629
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016302004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001631
1632 * Replaced binary mount data with text options
1633
1634 * Show FUSE specific mount options in /proc/mounts
1635
1636 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1637
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016382004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001639
1640 * Check some limits so userspace won't get too big requests
1641
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016422004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001643
1644 * Kill compile warning
1645
1646 * Upgraded user-mount patch for 2.6.5
1647
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016482004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001649
1650 * Add detection of user-mode-linux to configure
1651
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016522004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001653
1654 * fixed zero size case for getxattr and listxattr
1655
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016562004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001657
1658 * new fusermount flag '-z': lazy unmount, default is not lazy
1659
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001660 * Extended attributes operations added (getxattr, setxattr,
1661 listxattr, removexattr)
1662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016632004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001664
1665 * If filesystem doesn't define a statfs operation, then an
1666 all-zero default statfs is returned instead of ENOSYS
1667
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016682004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001669
1670 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1671
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016722004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001673
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001674 * Fix for uClinux (Christian Magnusson)
1675
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016762004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001677
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001678 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001679
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001680 * More kernel interface changes:
1681
1682 * Lookup/getattr return cache timeout values
1683
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016842004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001685
1686 * Clean up option parsing in fuse_main()
1687
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001688 * Added fuse_get() function which returns the fuse object created
1689 by fuse_main()
1690
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016912004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001692
Miklos Szeredic40748a2004-02-20 16:38:45 +00001693 * removed old way of mounting (fusermount mountpoint program)
1694
Miklos Szeredib5958612004-02-20 14:10:49 +00001695 * more kernel interface changes:
1696
1697 * added nanosecond precision to file times
1698
Miklos Szeredic40748a2004-02-20 16:38:45 +00001699 * removed interface version from mount data
1700
1701 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1702
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017032004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001704
1705 * statfs library API changed to match other methods. Since this
1706 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1707
Miklos Szeredi76f65782004-02-19 16:55:40 +00001708 * kernel interface changes follow:
1709
1710 * statfs changed to 64 bits, added 'bavail' field
1711
1712 * add generation number to lookup result
1713
1714 * optimized mknod/mkdir/symlink/link (no separate lookup is
1715 needed)
1716
1717 * rdev size increased to 32 bits for mknod
1718
1719 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001720
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017212004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001722
1723 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001724
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017252004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001726
1727 * Added user-mount.2.6.2-rc3.patch
1728
1729 * Add FS_SAFE flag to fuse filesystem
1730
1731 * fusermount should allow (un)mounting for non-root even if not
1732 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001733
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017342004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001735
1736 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001737
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017382004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001739
1740 * Added check for i_size_read/write functions to configure.in
1741 (patch by Valient Gough)
1742
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017432004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001744
1745 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001746
1747 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001748
1749 * Readpage calls flush_dcache_page() after storing data
1750
1751 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001752
1753 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001754
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017552004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001756
1757 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001758
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017592004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001760
1761 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001762
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017632004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001764
1765 * Added -q option for fusermount
1766
1767 * fuse_unmount() now uses -q option of fusermount, so no error is
1768 printed if the cause of the program exit is that the filesystem
1769 has already been unmounted
1770
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001771 * Fix i_nlink correctness after rmdir/unlink
1772
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017732004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001774
Miklos Szeredib1158392004-01-26 14:43:12 +00001775 * Released 1.1-pre2
1776
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017772004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001778
Miklos Szeredi307242f2004-01-26 11:28:44 +00001779 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001780
1781 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001782
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017832004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001784
1785 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001786
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017872004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001788
1789 * Write all pending data before a RELEASE operation
1790
1791 * Suppress 'Bad file descriptor' warning on exit
1792
1793 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001794 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001795
Miklos Szeredib1158392004-01-26 14:43:12 +00001796 * New fusermount option '-l' which enables big reads. Big reads
1797 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001798
1799 * fuse_main() can accept fusermount arguments after a '--'
1800
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018012004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001802
1803 * Support for exporting filesystem over NFS (see README.NFS)
1804
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018052004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001806
1807 * Support non-blocking writepage on 2.6. This makes FUSE behave
1808 much more nicely in low-memory situations
1809
1810 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1811 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001812
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018132004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001814
1815 * Code cleanups
1816
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018172004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001818
1819 * Released 1.1-pre1
1820
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018212004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001822
1823 * Integrated 2.6 kernel support patch by Michael Grigoriev
1824
1825 * Improvements and cleanups for 2.6 kernels
1826
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018272004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001828
Miklos Szeredie5183742005-02-02 11:14:04 +00001829 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001830
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018312003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001832
1833 * Added major+minor version to library API, and minor version to
1834 kernel API
1835
David McNab7a19caf2003-12-13 02:05:46 +000018362003-12-13 David McNab <david@rebirthing.co.nz>
1837
1838 * Implemented fsync support in examples/example.py
1839
1840 * Implemented 'fsync' and 'statfs' methods in python
1841 interface
1842
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018432003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001844
Miklos Szeredie5183742005-02-02 11:14:04 +00001845 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001846
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001847 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001848
David McNab8bf62632003-12-11 22:49:22 +000018492003-12-12 David McNab <david@rebirthing.co.nz>
1850
1851 * Added distutils support to the python module, as per standard
1852 python development practice
1853
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018542003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001855
1856 * Add file locking for mount/unmount (based on patch by Valient
1857 Gough)
1858
18592003-12-11 David McNab <david@rebirthing.co.nz>
1860
1861 * Python filesystem - was broken with python2.3, now fixed:
1862 - changed PyTuple_* calls to PySequence_*, because os.lstat
1863 is no longer returning a pure tuple
1864 - changed PyInt_Check() calls to also call PyLong_Check,
1865 to cover for cases (eg os.lstat) where longs are returned
1866 - Added support for file 'release' handling, which IMO is
1867 essential since this signals to a FS that writes to a file
1868 are complete (and therefore the file can now be disposed of
1869 meaningfully at the python filesystem's discretion)
1870 - Added '__init__' handler to base Fuse class, which allows
1871 your Python class to know the mountpoint and mount args,
1872 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001873
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001874 * General:
1875 - added 'mount.fuse' script (in util/ dir), which is meant to be
1876 symlinked from /sbin, and which allows FUSE filesystems to
1877 be mounted with the 'mount' command, and listed in fstab;
1878 also, mount arguments get passed to your filesystem
1879
1880
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018812003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001882
1883 * Fix kernel version detection (again). Bugreport by Peter Levart
1884
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018852003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001886
1887 * Applied read combining patch by Michael Grigoriev (tested by
1888 Valient Gough and Vincent Wagelaar)
1889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001891
1892 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1893 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001894
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018952003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001896
1897 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001898
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018992003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001900
1901 * kernel version detection fix
1902
1903 * fusermount now uses "lazy" umount option
1904
1905 * fusermount can use modprobe with module-init-tools
1906
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019072003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001908
1909 * Integrated caching patch by Michael Grigoriev
1910
Miklos Szeredida4e4862003-09-08 11:14:11 +00001911 * Added "Filesystems" file with descriptions of projects using
1912 FUSE
1913
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001914 * Added patch by Michael Grigoriev to allow compliation of FUSE
1915 kernel module for 2.6 kernels
1916
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019172003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001918
1919 * And another spec-file fix by Achim Settelmeier
1920
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019212003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001922
1923 * Spec-file fix by Achim Settelmeier
1924
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019252003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001926
Miklos Szerediac361172004-11-02 19:14:14 +00001927 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001928
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019292003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001930
1931 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1932
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019332003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001934
1935 * Updated fuse.spec file (Achim Settelmeier)
1936
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019372003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001938
1939 * Version 1.0 released
1940
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019412003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001942
1943 * SuSE compilation fix by Juan-Mariano de Goyeneche
1944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019452002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001946
1947 * The release() VFS call is now exported to the FUSE interface
1948
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019492002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001950
1951 * 64 bit file offset fixes in the fuse kernel module
1952
1953 * Added function 'fuse_exit()' which can be used to exit the main
1954 loop
1955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019562002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001957
1958 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1959 an incompatible interface change.
1960
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019612002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001962
1963 * Portablility fix (bug reported by C. Chris Erway)
1964
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019652002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001966
1967 * Use Mark Glines' fd passing method for default operation instead
1968 of old reexec
1969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019702002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001971
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001972 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1973
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019742002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001975
Miklos Szeredi60c23522002-10-24 09:19:43 +00001976 * fix incompatiblity with Red Hat kernels, with help from Nathan
1977 Thompson-Amato.
1978
Mark Glines65ba2192002-04-18 14:41:48 +000019792002-04-18 Mark Glines <mark@glines.org>
1980
1981 * added an alternative to fuse_mount(), called
1982 fuse_mount_ioslave(), which does not need to reexec the
1983 FUSE program.
1984 * added a small helper util needed by fuse_mount_ioslave().
1985
Mark Glines220635a2002-03-17 07:01:14 +000019862002-03-16 Mark Glines <mark@glines.org>
1987
1988 * use struct fuse_statfs everywhere possible to avoid problems
1989 with the headerfiles changing struct statfs member sizes
1990
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019912002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001992
1993 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1994
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019952002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001996
1997 * RPM support by Achim Settelmeier
1998
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019992002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002000
Miklos Szerediddc862a2002-01-09 13:46:10 +00002001 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020032002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002004
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002005 * Revaidate all path components not just the last, this means a
2006 very small performance penalty for being more up-to-date.
2007
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020082002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002009
2010 * Update and fix python interface
2011
Mark Glinesd84b39a2002-01-07 16:32:02 +000020122002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002013
Mark Glinesd84b39a2002-01-07 16:32:02 +00002014 * Added statfs() support to kernel, lib, examples, and perl!
2015
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020162001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002017
2018 * Better cross compilation support
2019
2020 * Ported to Compaq IPAQ
2021
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020222001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002023
Miklos Szeredife25def2001-12-20 15:38:05 +00002024 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002025 patch from Matt Ryan)
2026
Miklos Szeredife25def2001-12-20 15:38:05 +00002027 * Added flags to fusermount and to kernel interface to control
2028 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002029
Miklos Szeredife25def2001-12-20 15:38:05 +00002030 * Integrated fuse_set_operations() into fuse_new()
2031
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020322001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002033
2034 * Applied header protection + extern "C" patch by Roland
2035 Bauerschmidt
2036
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020372001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002038
Miklos Szeredie5183742005-02-02 11:14:04 +00002039 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002040
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020412001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002042
2043 * Cleaned up way of mounting simple filesystems.
2044
2045 * fuse_main() helper function added
2046
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020472001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002048
Miklos Szeredife25def2001-12-20 15:38:05 +00002049 * Optimized read/write operations, so that minimal copying of data
2050 is done
2051
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020522001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002053
2054 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002055
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020562001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002057
2058 * Fixed vfsmount reference leak in fuse_follow_link
2059
2060 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2061 userspace is ignored
2062
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020632001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002064
Miklos Szeredife25def2001-12-20 15:38:05 +00002065 * Started ChangeLog