blob: 5a65080070fbfce4dbafa3f70b68e0b7e377e1e1 [file] [log] [blame]
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +000012006-05-08 Miklos Szeredi <miklos@szeredi.hu>
2
3 * lib: search fusermount in installation directory (bindir) as
4 well as in PATH.
5
Miklos Szeredi2512aaa2006-05-03 14:54:59 +000062006-05-03 Miklos Szeredi <miklos@szeredi.hu>
7
8 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
9 Reported by Christian Magnusson
10
Csaba Henk2efe48f2006-04-22 22:46:52 +0000112006-04-23 Csaba Henk <csaba.henk@creo.hu>
12
13 * lib: make FreeBSD mount routine recognize if kernel features
14 backgrounded init and if it does, run the mount util in foreground
15 (similarly to Linux)
16
Miklos Szeredi5fe07d62006-04-21 14:09:28 +0000172006-04-21 Miklos Szeredi <miklos@szeredi.hu>
18
19 * kernel: fix fput deadlock fix, the lockless solution could lead
20 to "VFS: busy inodes after umount..."
21
22 * kernel: fix race between checking and setting file->private_data
23 for the device. Found by Al Viro
24
252006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +000026
27 * kernel: remove request pool, instead allocate requests on
28 demand. Account the number of background requests, and if they go
29 over a limit, block the allocation of new requests.
30
31 * kernel: fix deadlock if backgrounded request holds the last
32 reference to the super block
33
34 * kernel: don't use fuse_reset_request() during direct I/O
35
Csaba Henkbaa49d22006-04-06 00:12:44 +0000362006-04-06 Csaba Henk <csaba.henk@creo.hu>
37
38 * lib: Let FreeBSD mount option parsing routine recognize "no"
39 prefixes for FUSE specific options as well
40
Miklos Szeredid0a777a2006-04-05 07:18:00 +0000412006-04-01 Miklos Szeredi <miklos@szeredi.hu>
42
43 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
44
Miklos Szeredi6f385412006-03-17 15:05:40 +0000452006-03-17 Miklos Szeredi <miklos@szeredi.hu>
46
47 * API changes:
48
49 * fuse_main(), fuse_setup() and fuse_new() have an additionl
50 user_data parameter
51
52 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
53 file descriptor
54
55 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
56 destroys the given channel
57
58 * fuse_teardown() no longer has a file descriptor parameter
59
60 * new exported functions: fuse_session_remove_chan(),
61 fuse_get_session(), fuse_daemonize()
62
Miklos Szeredi8d975f62006-03-17 15:56:05 +000063 * fuse_chan_recv() may now return a new channel which will be used
64 to send the reply
65
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000662006-03-16 Miklos Szeredi <miklos@szeredi.hu>
67
Miklos Szeredi9db31dc2006-03-16 14:43:28 +000068 * Released 2.6.0-pre2
69
702006-03-16 Miklos Szeredi <miklos@szeredi.hu>
71
Miklos Szeredif51e43f2006-03-16 14:19:25 +000072 * Don't unmount if already unmounted. This fixes a problem seen
73 in the following situation: Lazy unmount a busy filesystem; Mount
74 a new one in top; When the first finally unmounts, the second also
75 unmounts. Reported by Franco Broi
76
Miklos Szeredi2c1381f2006-03-15 20:34:10 +0000772006-03-15 Miklos Szeredi <miklos@szeredi.hu>
78
79 * lowlevel lib: use indirect function calls instead of a
80 switch/case construct. Besides increased efficiency it helps
81 maintainability & readability too. Patch from Florin Malita
82
Miklos Szeredi67d26d42006-03-13 17:39:56 +0000832006-03-13 Miklos Szeredi <miklos@szeredi.hu>
84
85 * kernel: replace global spinlock with a per-connection spinlock
86
Miklos Szeredi87c77932006-03-10 10:18:20 +0000872006-03-10 Miklos Szeredi <miklos@szeredi.hu>
88
89 * Fix source compatibility breakage for fuse_unmount(). Report
90 from Yura Pakhuchiy
91
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000922006-03-02 Miklos Szeredi <miklos@szeredi.hu>
93
94 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
95
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000962006-03-01 Miklos Szeredi <miklos@szeredi.hu>
97
98 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
99 Jeff Dike
100
101 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
102 interface to return -errno in case of error.
103
Csaba Henkee588c02006-03-01 09:40:35 +00001042006-03-01 Csaba Henk <csaba.henk@creo.hu>
105
106 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
107 FreeBSD implementation so that it uses libc (sysctl backed) instead
108 of an embdedded script (kmem backed). Adjust the control flow of
109 hello_ll so that device doesn't get closed before unmount attempt.
110
Miklos Szerediaa8258e2006-02-25 14:42:03 +00001112006-02-25 Miklos Szeredi <miklos@szeredi.hu>
112
113 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
114 implement method. This is needed on FreeBSD, and nicer on Linux
115 too. Highlevel lib already did this. Reported by Csaba Henk
116
117 * Fix negative entry handling. There was a bug, that negative
118 lookups with timeouts (nodeid == 0) returned -EIO.
119
1202006-02-23 Miklos Szeredi <miklos@szeredi.hu>
121
122 * Fix race between RELEASE and UNLINK, which might leave
123 .fuse_hidden* files around
124
Miklos Szeredi6bab4802006-02-21 18:31:29 +00001252006-02-21 Miklos Szeredi <miklos@szeredi.hu>
126
127 * fusexmp_fh: implement flush() method and call close() on the
128 open file descriptor. This is needed if used on an NFS
129 filesystem, which buffers data until file is closed. Franco Broi
130 spotted the situation when 'cp -p' failed to set the modification
131 time because of this.
132
Miklos Szeredie109e282006-02-20 11:06:20 +00001332006-02-20 Miklos Szeredi <miklos@szeredi.hu>
134
135 * Released 2.6.0-pre1
136
Miklos Szeredib67f2162006-02-20 10:55:33 +00001372006-02-19 Miklos Szeredi <miklos@szeredi.hu>
138
139 * libfuse: fix use-after-free bug in interruptred reply_entry().
140 Patch from John Muir
141
142 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
143 ID: 352631. Found by Stéphane Rosi
144
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00001452006-02-17 Miklos Szeredi <miklos@szeredi.hu>
146
147 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
148 into a single function fuse_add_direntry(). This cleans up the
149 interface and makes it possible to do stacking.
150
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00001512006-02-16 Miklos Szeredi <miklos@szeredi.hu>
152
153 * Fix rare race betweeen abort and release caused by failed iget()
154 in fuse_create_open().
155
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000156 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
157 own attribute caching.
158
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00001592006-02-15 Miklos Szeredi <miklos@szeredi.hu>
160
161 * Work around FreeBSD runtime linker "feature" which binds an old
162 version of a symbol to internal references if the symbol has more
163 than one version. This resulted in infinite recursion in
164 fuse_lowlevel_new_compat25().
165
Csaba Henkdcce3e52006-02-10 06:22:15 +00001662006-02-10 Csaba Henk <csaba.henk@creo.hu>
167
168 * Refine clock_gettime() querying so that linker options
169 shall be set as it's appropriate for the target platform.
170
Miklos Szeredi390ae312006-02-10 16:44:34 +00001712006-02-09 Miklos Szeredi <miklos@szeredi.hu>
172
173 * Fix udev rule syntax. Reported by Nix
174
Miklos Szeredieb643582006-02-08 10:54:02 +00001752006-02-08 Miklos Szeredi <miklos@szeredi.hu>
176
177 * In some cases udev rule seems to be ineffective when installed
178 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
179
Miklos Szeredi357529c2006-02-03 09:20:31 +00001802006-02-03 Miklos Szeredi <miklos@szeredi.hu>
181
182 * Fix compilation when build directory is different from source
183 directory. Reported by Frédéric L. W. Meunier
184
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001852006-02-02 Miklos Szeredi <miklos@szeredi.hu>
186
187 * Fix even bigger bug introduced in fix for request_end() on
188 2006-01-14. Reported by Gal Rosen
189
Miklos Szeredi320abe42006-01-30 18:14:51 +00001902006-01-30 Miklos Szeredi <miklos@szeredi.hu>
191
192 * highlevel-lib: add 'auto_cache' option. This caches file data
193 based on modification time and size
194
Miklos Szeredi065f2222006-01-20 15:15:21 +00001952006-01-20 Miklos Szeredi <miklos@szeredi.hu>
196
Miklos Szeredid66b7282006-02-02 15:15:21 +0000197 * Sanitize storage type and help message in mount_bsd.c. Patch
198 from Csaba Henk
199
Miklos Szeredi065f2222006-01-20 15:15:21 +0000200 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
201 FUSE_OPT_KEY_DISCARD
202
203 * Add options 'max_readahead', 'sync_read' and 'async_read'
204
205 * Kernel ABI version 7.6:
206
207 * Negotiate the 'max_readahead' value and 'async_read' flags with
208 userspace in the INIT method
209
210 * Add connection info to ->init() methods to both lowlevel and
211 highlevel API
212
213 * Fall back to synchronous read() behavior if either library or
214 userspace filesystem is using the old interface version. This is
215 needed so non-updated filesystems won't be confused by the
216 different read() behavior
217
2182006-01-19 Miklos Szeredi <miklos@szeredi.hu>
219
220 * lib: if "fsname=" option was given, pass it to fusermount
221
222 * fuse_opt: add new fuse_opt_insert_arg() function, which is
223 needed by filesystems to implement some argument manipulations
224 correctly
225
226 * fuse_opt: fix memory leak in handling "--" option
227
2282006-01-18 Miklos Szeredi <miklos@szeredi.hu>
229
230 * kernel: fix detection of case when fuse is not configured into
231 the kernel either as module or built-in
232
233 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
234 'template' structure member to 'templ'. Reported by Takashi Iwai
235
236 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
237
238 * kernel: support version 2.6.16 (i_sem -> i_mutex)
239
Miklos Szeredi15af1b82006-01-16 17:52:24 +00002402006-01-16 Miklos Szeredi <miklos@szeredi.hu>
241
242 * Added (again) asynchronous readpages support
243
244 * Each connection now shows up under /sys/fs/fuse/connections
245
246 * Connection attributes exported to sysfs: 'waiting' number of
247 waiting requests; 'abort' abort the connection
248
249 * Connection may be aborted through either the sysfs interface or
250 with 'umount -f mountpoint'
251
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00002522006-01-14 Miklos Szeredi <miklos@szeredi.hu>
253
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000254 * Released 2.5.0
255
2562006-01-14 Miklos Szeredi <miklos@szeredi.hu>
257
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000258 * kernel: fix a couple of bugs
259
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000260 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000261 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000262 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000263
264 * request_end() used request pointer after decrementing refcount
265
266 * Clearing ->connected or ->mounted connection flags could race
267 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000268
Miklos Szeredia9820342006-01-10 10:54:11 +00002692006-01-10 Miklos Szeredi <miklos@szeredi.hu>
270
271 * kernel: add necessary compile flags for 2.4.X/x86_64.
272 Report from Sean Ziegeler
273
Miklos Szeredi35676b02006-01-09 10:13:28 +00002742006-01-09 Miklos Szeredi <miklos@szeredi.hu>
275
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000276 * Released 2.5.0-pre2
277
2782006-01-09 Miklos Szeredi <miklos@szeredi.hu>
279
Miklos Szeredi35676b02006-01-09 10:13:28 +0000280 * Applied patch from Csaba Henk, to update mount_bsd to new
281 fuse_mount() semantics
282
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000283 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
284 Steiner and Don Taber
285
Miklos Szeredicb075c82006-01-09 11:33:04 +0000286 * fusermount: add 'dirsync' mount option
287
Miklos Szerediad005972006-01-07 10:14:34 +00002882006-01-07 Miklos Szeredi <miklos@szeredi.hu>
289
290 * Improved help reporting and added version reporting to library
291
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002922006-01-06 Miklos Szeredi <miklos@szeredi.hu>
293
294 * Change working directory to "/" even if running in the
295 foreground. Patch from Jonathan Brandmeyer
296
Miklos Szeredi95da8602006-01-06 18:29:40 +0000297 * Changed lots of functions to use 'struct fuse_args' instead of
298 separate argc and argv
299
300 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
301 fuse_remove_signal_handlers() functions, so that it's now pretty
302 easy to get all the functionality of fuse_main() with a filesystem
303 using the lowlevel API.
304
Miklos Szeredib8638182006-01-02 12:52:24 +00003052006-01-02 Miklos Szeredi <miklos@szeredi.hu>
306
Miklos Szeredif1941472006-01-02 16:27:48 +0000307 * mount.fuse: the 'user' option should be ignored. Report and
308 solution from Mattd.
309
310 * mount.fuse: export PATH in the right place. Report and patch
311 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000312
Miklos Szeredi73f41392005-12-16 11:12:16 +00003132005-12-16 Miklos Szeredi <miklos@szeredi.hu>
314
315 * Clean up the option parsing interface slightly, by creating an
316 "argument list" structure, that contains the argument vector and
317 count
318
Miklos Szeredi4e829092005-12-15 16:13:49 +00003192005-12-15 Miklos Szeredi <miklos@szeredi.hu>
320
321 * fusermount: check if /mnt/mtab is a symlink and don't modify it
322 in that case
323
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000324 * kernel: simplify request size limiting. INIT only contains
325 maximum write size, maximum path component size remains fixed at
326 1024 bytes, and maximum xattr size depends on read buffer.
327
Miklos Szeredie248e4b2005-12-14 16:18:32 +00003282005-12-14 Miklos Szeredi <miklos@szeredi.hu>
329
330 * Fix readdir() failure on x86_64, of 32bit programs compiled
331 without largefile support. Bug report and help from Anthony
332 Kolasny
333
Miklos Szeredi64709572005-12-14 22:16:28 +0000334 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000335 a regular file
336
337 * Add current output argument vector to option processing
338 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000339
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00003402005-12-12 Miklos Szeredi <miklos@szeredi.hu>
341
342 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
343
Miklos Szeredi659743b2005-12-09 17:41:42 +00003442005-12-09 Miklos Szeredi <miklos@szeredi.hu>
345
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000346 * Released 2.5.0-pre1
347
3482005-12-09 Miklos Szeredi <miklos@szeredi.hu>
349
Miklos Szeredi659743b2005-12-09 17:41:42 +0000350 * libfuse: added option parsing interface, defined in
351 <fuse_opt.h>.
352
Miklos Szeredic53cddd2005-12-07 12:57:59 +00003532005-12-07 Miklos Szeredi <miklos@szeredi.hu>
354
355 * Return EIO for file operations (read, write, fsync, flush) on
356 open files whose inode has become "bad". Inodes will be marked
357 "bad" if their type changes. Bug report by Csaba Henk
358
Miklos Szeredi044da2e2005-12-06 17:59:55 +00003592005-12-06 Miklos Szeredi <miklos@szeredi.hu>
360
361 * Use bigger request buffer size. write() did not work on archs
362 with > 4k page size, Bug report by Mark Haney
363
364 * ABI version 7.5:
365
366 * Extend INIT reply with data size limits
367
Miklos Szeredifa829b52005-12-02 11:05:41 +00003682005-12-02 Miklos Szeredi <miklos@szeredi.hu>
369
370 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
371 reported by Vincenzo Ciancia
372
373 * Handle exit-by-umount in fuse_read_cmd()
374
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00003752005-11-29 Miklos Szeredi <miklos@szeredi.hu>
376
377 * Check if '-msoft-float' option is supported by compiler when
378 configuring for a 2.4.x kernel. Bug report by Mark Haney
379
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000380 * In multithreaded loop send a TERM signal to the main thread if
381 one of the other threads exit. Needed on FreeBSD for a clean exit
382 on umount. Should not cause any harm on Linux either
383
Miklos Szerediead7f102005-11-28 16:02:27 +00003842005-11-28 Miklos Szeredi <miklos@szeredi.hu>
385
386 * Fix bug in 32-bit file handle compatibility
387
Miklos Szeredia90b7342005-11-27 19:22:42 +00003882005-11-27 Miklos Szeredi <miklos@szeredi.hu>
389
390 * Block TERM, INT, HUP and QUIT signals in all but the main
391 thread. According to POSIX it's not specified which thread will
392 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000393
394 * Kernel changes:
395
396 * Check for directory aliasing on mkdir, not just on lookup
397
398 * Check for special node ID values in create+open operation
399
400 * Sync with -mm: readv, writev, aio_read and aio_write methods
401 added to file operations
402
403 * Cleanups: lookup code, page offset calculation
404
405 * ABI stepped to 7.4, changes:
406
407 * frsize member added to fuse_kstatfs structure
408
409 * added support for negative entry caching: on lowlevel API if
410 fuse_entry_param::ino is set to zero in reply to a lookup request,
411 the kernel will cache the dentry for the specified amount of time.
412
413 * libfuse: added 'negative_timeout' option: specifies how much
414 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000415 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000416
Miklos Szeredibac4c772005-11-23 13:35:54 +00004172005-11-22 Miklos Szeredi <miklos@szeredi.hu>
418
419 * Add detection of mainline FUSE code in running kernel
420
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00004212005-11-21 Miklos Szeredi <miklos@szeredi.hu>
422
423 * Don't use async cancelation in multithreaded loop. This makes
424 it more portable to systems where read() is not async cancel safe.
425 Report from Andriy Gapon
426
Miklos Szeredi05c97842005-11-20 17:05:07 +00004272005-11-20 Miklos Szeredi <miklos@szeredi.hu>
428
429 * Warn if API version 11 compatibility is requested
430
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00004312005-11-17 Miklos Szeredi <miklos@szeredi.hu>
432
433 * More FreeBSD merge
434
Miklos Szeredi832ee442005-11-18 21:02:36 +0000435 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
436 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000437 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000438
439 * libfuse: don't use system() to invoke 'fusermount -u ...'
440 because it breaks mountpoints with spaces in them into multiple
441 arguments
442
Miklos Szeredib3f99722005-11-16 13:00:24 +00004432005-11-16 Miklos Szeredi <miklos@szeredi.hu>
444
445 * Merge library part of FreeBSD port. Patch by Csaba Henk
446
Miklos Szeredi3a770472005-11-11 21:32:42 +00004472005-11-11 Miklos Szeredi <miklos@szeredi.hu>
448
449 * Use 64bit type for file handle, so the full range supported by
450 the kernel interface is available to applications
451
Miklos Szeredibcc53852005-11-10 09:54:41 +00004522005-11-10 Miklos Szeredi <miklos@szeredi.hu>
453
454 * Moved mountpoint argument checking from fuse_parse_cmdline() to
455 fuse_mount() in preparation to FreeBSD merge.
456
Miklos Szeredi4ec06812005-11-08 13:04:27 +00004572005-11-08 Miklos Szeredi <miklos@szeredi.hu>
458
459 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
460 Henk.
461
Miklos Szeredic706ad92005-11-07 15:30:48 +00004622005-11-07 Miklos Szeredi <miklos@szeredi.hu>
463
464 * Make the statfs change backwards compatible.
465
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00004662005-11-06 Miklos Szeredi <miklos@szeredi.hu>
467
468 * Change ->statfs() method to use 'struct statvfs' instead of
469 'struct statfs'. This makes the API more portable since statvfs()
470 is defined by POSIX.
471
Miklos Szeredif7eec032005-10-28 13:09:50 +00004722005-10-28 Miklos Szeredi <miklos@szeredi.hu>
473
474 * Add fgetattr() method, which currently will only be called after
475 a successful call to a create() method.
476
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004772005-10-26 Miklos Szeredi <miklos@szeredi.hu>
478
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000479 * Change kernel ABI version to 7.3
480
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000481 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000482 call if 'default_permissions' mount option is not given, and is
483 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000484
Miklos Szeredid9079a72005-10-26 15:29:06 +0000485 * Add atomic CREATE+OPEN operation. This will only work with
486 2.6.15 (presumably) or later Linux kernels.
487
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000488 * Add ftruncate() method. This will only work with 2.6.15
489 (presumably) or later Linux kernels.
490
491 * Fix kernel module compile if kernel source and build directories
492 differ. Report and initial patch by John Eastman
493
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004942005-10-18 Miklos Szeredi <miklos@szeredi.hu>
495
496 * lib: optimize buffer reallocation in fill_dir.
497
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004982005-10-17 Miklos Szeredi <miklos@szeredi.hu>
499
500 * Released 2.4.1
501
Miklos Szeredif412d072005-10-14 21:24:32 +00005022005-10-14 Miklos Szeredi <miklos@szeredi.hu>
503
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000504 * libfuse: add debug for write result (by Shaun Jackman) and
505 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000506
Miklos Szeredib75d4b92005-10-11 10:12:08 +00005072005-10-11 Miklos Szeredi <miklos@szeredi.hu>
508
509 * Spelling fixes, thanks to Ioannis Barkas
510
Miklos Szeredibaab5872005-10-10 08:41:14 +00005112005-10-10 Miklos Szeredi <miklos@szeredi.hu>
512
513 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
514 patch
515
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00005162005-10-07 Miklos Szeredi <miklos@szeredi.hu>
517
518 * highlevel-lib: init() and destroy() methods didn't have an
519 initialized fuse_context. Bug reported by Tim Stoakes
520
Miklos Szeredif2491122005-10-04 10:10:41 +00005212005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000522
523 * Released 2.4.0
524
Miklos Szeredi836ab712005-10-03 14:11:59 +00005252005-10-03 Miklos Szeredi <miklos@szeredi.hu>
526
527 * Add documentation to fuse_lowlevel.h
528
529 * API cleanups:
530
531 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
532
533 * Move fuse_mount() and fuse_unmount() to fuse_common.h
534
535 * Change the return type of fuse_reply_none() from int to void.
536
Miklos Szerediaf138742005-09-30 08:49:59 +00005372005-09-30 Miklos Szeredi <miklos@szeredi.hu>
538
539 * kernel: NFS exporting leaked dentries. Bug found and fixed by
540 Akshat Aranya.
541
Miklos Szeredidb016e02005-09-29 10:06:27 +00005422005-09-29 Miklos Szeredi <miklos@szeredi.hu>
543
544 * fusermount: fix error message, when unable to open /dev/fuse.
545 Report by Balázs Pozsár
546
Miklos Szeredi35200932005-09-28 14:50:49 +00005472005-09-28 Miklos Szeredi <miklos@szeredi.hu>
548
549 * UClibc fixes from Christian Magnusson
550
Miklos Szeredi8eddf642005-09-27 08:58:26 +00005512005-09-27 Miklos Szeredi <miklos@szeredi.hu>
552
553 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
554
Miklos Szerediedec95c2005-09-26 10:22:22 +00005552005-09-26 Miklos Szeredi <miklos@szeredi.hu>
556
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000557 * Released 2.4.0-rc1
558
5592005-09-26 Miklos Szeredi <miklos@szeredi.hu>
560
Miklos Szerediedec95c2005-09-26 10:22:22 +0000561 * fusermount: allow user umount in the case when /etc/mtab is a
562 symlink to /proc/mounts. Reported by Balázs Pozsár.
563
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00005642005-09-23 Miklos Szeredi <miklos@szeredi.hu>
565
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000566 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000567
Miklos Szeredif45f3c12005-09-22 15:14:27 +00005682005-09-22 Miklos Szeredi <miklos@szeredi.hu>
569
570 * Slight optimization in returning EINVAL error in case of an open
571 with O_DIRECT flag.
572
Miklos Szeredi670d07a2005-09-20 11:36:32 +00005732005-09-20 Miklos Szeredi <miklos@szeredi.hu>
574
575 * Remove '--enable-auto-modprobe' configure flag. Module
576 auto-loading is now handled by the kernel.
577
Miklos Szeredid51fca12005-09-15 12:51:00 +00005782005-09-15 Miklos Szeredi <miklos@szeredi.hu>
579
580 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
581 Help from Jens M. Noedler.
582
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005832005-09-14 Miklos Szeredi <miklos@szeredi.hu>
584
585 * Add memory cleanup on thread exit
586
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005872005-09-13 Miklos Szeredi <miklos@szeredi.hu>
588
589 * Set umask to zero in fusexmp and fusexmp_fh, so that
590 files/directories are created with the requested mode.
591
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005922005-09-12 Miklos Szeredi <miklos@szeredi.hu>
593
594 * Don't ignore read error in multithreaded loop
595
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005962005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000597
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000598 * Released 2.4.0-pre2
599
6002005-09-08 Miklos Szeredi <miklos@szeredi.hu>
601
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000602 * Revert lock and access operations. Postpone these until 2.5.
603
6042005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000605
606 * Fix compile warning on 2.6.13 and later
607
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000608 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000609
Miklos Szeredi77ccf652005-08-19 14:40:27 +00006102005-08-19 Miklos Szeredi <miklos@szeredi.hu>
611
612 * lib: always refresh directory contents after rewinddir() to
613 conform to SUS. Bug found by John Muir.
614
Miklos Szeredia1482422005-08-14 23:00:27 +00006152005-08-15 Miklos Szeredi <miklos@szeredi.hu>
616
Miklos Szeredic43f9412005-08-15 15:10:48 +0000617 * Released 2.4.0-pre1
618
6192005-08-14 Miklos Szeredi <miklos@szeredi.hu>
620
Miklos Szeredia1482422005-08-14 23:00:27 +0000621 * lib: cleaned up (or messed up, depending on your POV) the low
622 level library API. Hopefully this is close to the final form.
623
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00006242005-08-05 Miklos Szeredi <miklos@szeredi.hu>
625
626 * fusermount: don't allow empty mountpoint argument, which defeats
627 automatic umounting in fuse_main(). Bugreport by Václav Jůza
628
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00006292005-08-03 Miklos Szeredi <miklos@szeredi.hu>
630
631 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
632 option is used (Paul Alfille).
633
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00006342005-08-02 Miklos Szeredi <miklos@szeredi.hu>
635
636 * highlevel-lib: added mount options "attr_timeout" and
637 "entry_timeout". These options control the length of time file
638 attributes and entries (names) are cached. Both default to 1.0
639 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000640
641 * kernel: correctly handle zero timeout for attributes and entries
642
Miklos Szeredi56a61f02005-08-01 10:42:25 +00006432005-08-01 Miklos Szeredi <miklos@szeredi.hu>
644
645 * Added missing symbols to versionscript (Joshua J. Berry)
646
Miklos Szeredie77cc072005-08-01 11:58:51 +0000647 * kernel: implement two flags, open can set: 'direct_io' and
648 'keep_cache'. These correspond exactly to mount options
649 'direct_io' and 'kernel_cache', but allow a per-open setting.
650
651 * Move 'direct_io' and 'kernel_cache' mount option handling to
652 userspace. For both mount options, if the option is given, then
653 the respective open flag is set, otherwise the open flag is left
654 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000655
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000656 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000657
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00006582005-07-28 Miklos Szeredi <miklos@szeredi.hu>
659
660 * kernel: invalidate attributes for read/readdir/readlink
661 operations
662
663 * kernel: detect newer UML kernels
664
Miklos Szeredibfb99462005-07-26 11:07:55 +00006652005-07-26 Miklos Szeredi <miklos@szeredi.hu>
666
667 * Make the installation path of fuse.ko and mount.fuse
668 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
669 environment variables. Requirement and help from Csaba Henk.
670
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00006712005-07-22 Miklos Szeredi <miklos@szeredi.hu>
672
673 * Fix bug, that causes filesystem requests to hang when unique
674 request counter becomes negative. This happens after
675 2,147,483,648 operations, so most people won't care. Thanks to
676 Franco Broi for the report and testing.
677
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006782005-07-21 Miklos Szeredi <miklos@szeredi.hu>
679
680 * Don't change mtime/ctime/atime to local time on read/write.
681 Bug reported by Ben Grimm
682
683 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
684 Magnusson
685
686 * fusermount: use getopt_long() for option parsing. It allows the
687 use of '--' to stop argument scanning, so fusermount can now
688 operate on directories whose names begin with a '-'. Patch by
689 Adam Connell
690
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006912005-07-15 Miklos Szeredi <miklos@szeredi.hu>
692
693 * fusermount: add '-v', '--version' and '--help' options
694
695 * add inode based API
696
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006972005-07-12 Miklos Szeredi <miklos@szeredi.hu>
698
699 * lib: don't block signals in worker threads. Problem noticed by
700 Usarin Heininga
701
Miklos Szeredic902a852005-07-07 12:35:37 +00007022005-07-07 Miklos Szeredi <miklos@szeredi.hu>
703
704 * lib: don't allow both 'allow_other' and 'allow_root' options to
705 be given
706
Miklos Szeredi437d8112005-07-06 09:14:20 +00007072005-07-06 Miklos Szeredi <miklos@szeredi.hu>
708
709 * fusermount: check if mountpoint is empty (only '.' and '..' for
710 directories, and size = 0 for regular files). If "nonempty"
711 option is given, omit this check. This is useful, so users don't
712 accidentally hide data (e.g. from backup programs). Thanks to
713 Frank van Maarseveen for pointing this out.
714
715 * kernel: check if mandatory mount options ('fd', 'rootmode',
716 'user_id', 'group_id') are all given
717
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000718 * lib: simplify 'readdir_ino' handling
719
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000720 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
721
Miklos Szeredibb9f5172005-07-03 18:03:11 +00007222005-07-03 Miklos Szeredi <miklos@szeredi.hu>
723
724 * kernel: clean up 'direct_io' code
725
Miklos Szeredie1bcece2005-06-28 10:37:06 +00007262005-06-28 Miklos Szeredi <miklos@szeredi.hu>
727
728 * Add 'mount.fuse' written by Petr Klima
729
Miklos Szeredi866826d2005-06-28 12:22:57 +0000730 * '/dev/fuse' is created by 'make install' if does not yet exist
731
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00007322005-06-20 Miklos Szeredi <miklos@szeredi.hu>
733
734 * Fix UCLIBC compile error. Patch by Christian Magnusson
735
Miklos Szerediec12fad2005-06-08 10:26:34 +00007362005-06-08 Miklos Szeredi <miklos@szeredi.hu>
737
738 * Enable the auto-loading of the module via access to the
739 corresponding device file. Patch by Takashi Iwai.
740
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000741 * Allow mounting a regular file (over a regular file) for
742 unprivleged users.
743
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000744 * Do not create temporary device file. Require "/dev/fuse" to
745 exist, and be readable/writable by the mounting user.
746
Miklos Szeredi46960ce2005-06-02 09:05:00 +00007472005-06-02 Miklos Szeredi <miklos@szeredi.hu>
748
Miklos Szeredi56478552005-06-02 10:29:00 +0000749 * Released 2.3.0
750
7512005-06-02 Miklos Szeredi <miklos@szeredi.hu>
752
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000753 * Fix serious information leak: if the filesystem returns a short
754 byte count to a read request, and there are non-zero number of
755 pages which are not filled at all, these pages will not be zeroed.
756 Hence the user can read out previous memory contents. Found by
757 Sven Tantau.
758
Miklos Szeredi33be22d2005-05-27 09:12:43 +00007592005-05-27 Miklos Szeredi <miklos@szeredi.hu>
760
761 * Add "readdir_ino" mount option, which tries to fill in the d_ino
762 field in struct dirent. This mount option is ignored if "use_ino"
763 is used. It helps some programs (e.g. 'pwd' used over NFS from a
764 non-Linux OS). Patch by David Shaw.
765
Miklos Szeredif94e0102005-05-12 14:56:34 +00007662005-05-12 Miklos Szeredi <miklos@szeredi.hu>
767
Miklos Szeredieb009c42005-05-12 15:01:17 +0000768 * Released 2.3-rc1
769
7702005-05-12 Miklos Szeredi <miklos@szeredi.hu>
771
Miklos Szeredif94e0102005-05-12 14:56:34 +0000772 * File save in krusader and other editors doesn't work with sshfs,
773 because open() is interrupted by a periodic signal, and open()
774 restarts forever, without any progress. This could just be fixed
775 in open(), but the problem is more generic: if signals are
776 received more often than the filesystem can get the request to
777 userspace, it will never finish. This is probably only a
778 theoretical problem, nevertheless I'm removing the possibility to
779 interrupt requests with anything other than SIGKILL, even before
780 being sent to userspace. Bugreport by Eduard Czimbalmos.
781
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007822005-05-09 Miklos Szeredi <miklos@szeredi.hu>
783
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000784 * libfuse: add "tree_lock" rwlock, that is locked for write in
785 rename, unlink and rmdir, and locked for read in all other
786 operations. This should fix the rename/release race reported by
787 Valient Gough and others. The solution is very coarse, a finer
788 grained locking scheme could be implemented, but it would be much
789 more complex. Let's see whether this is good enough.
790
7912005-05-09 Miklos Szeredi <miklos@szeredi.hu>
792
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000793 * Released 2.3-pre7
794
Miklos Szeredi38009022005-05-08 19:47:22 +00007952005-05-08 Miklos Szeredi <miklos@szeredi.hu>
796
797 * Better fix for out of order FORGET messages. Now the
798 LOOKUP/FORGET messages are balanced exactly (one FORGET can
799 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000800 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000801 compatible.
802
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00008032005-05-06 Miklos Szeredi <miklos@szeredi.hu>
804
805 * Fix abort for out of order FORGET messages. Again. Spotted by
806 Franco Broi again. Sorry :)
807
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00008082005-04-29 Miklos Szeredi <miklos@szeredi.hu>
809
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000810 * Released 2.3-pre6
811
8122005-04-29 Miklos Szeredi <miklos@szeredi.hu>
813
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000814 * Make fusermount work with fuse kernel modules not yet supporting
815 the "group_id" option (added for the purpose of stricter
816 permission checking).
817
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00008182005-04-28 Miklos Szeredi <miklos@szeredi.hu>
819
820 * Check for hard-linked directories in lookup. This could cause
821 problems in the VFS, which assumes that such objects never exist.
822
823 * Make checking of permission for other users more strict. Now
824 the same privilege is required for the mount owner as for ptrace
825 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000826
Miklos Szeredi3efcb562005-04-23 13:34:29 +00008272005-04-23 Miklos Szeredi <miklos@szeredi.hu>
828
829 * Released 2.3-pre5
830
Miklos Szeredid001bf92005-04-22 07:54:11 +00008312005-04-22 Miklos Szeredi <miklos@szeredi.hu>
832
833 * Add -msoft-float to kernel module compile flags for 2.4.X. This
834 is needed on certain architectures. Report from Chris Kirby
835
836 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
837 Reported by David Shaw
838
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000839 * Remove "allow_root" option from kernel module, and implement
840 it's functionality in the library
841
842 * Fix Oops caused by premature release of fuse_conn. Clean up
843 related code, to be more readable
844
Miklos Szeredif9137452005-04-23 10:59:44 +0000845 * Sendfile should not use page cache if "direct_io" mount option
846 is given
847
Miklos Szeredib7640d22005-04-08 15:15:28 +00008482005-04-08 Miklos Szeredi <miklos@szeredi.hu>
849
850 * Fix Oops in case of nfs export. Spotted by David Shaw
851
Miklos Szeredi89814a12005-04-08 16:39:09 +0000852 * Fix another Oops in case of write over nfs with direct_io turned
853 on. Again spotted by David Shaw
854
Miklos Szerediab974562005-04-07 15:40:21 +00008552005-04-07 Miklos Szeredi <miklos@szeredi.hu>
856
Miklos Szeredi432d6182005-04-07 15:56:13 +0000857 * Released 2.3-pre4
858
8592005-04-07 Miklos Szeredi <miklos@szeredi.hu>
860
Miklos Szerediab974562005-04-07 15:40:21 +0000861 * lib: finalized new readdir() interface, which now supersedes the
862 getdir() method.
863
Miklos Szeredi30e093a2005-04-03 17:44:54 +00008642005-04-03 Miklos Szeredi <miklos@szeredi.hu>
865
866 * Released 2.3-pre3
867
8682005-04-03 Miklos Szeredi <miklos@szeredi.hu>
869
870 * Implement backward compatibility with version 5 kernel ABI
871
Miklos Szeredi18fce982005-04-01 21:07:35 +00008722005-04-01 Miklos Szeredi <miklos@szeredi.hu>
873
874 * Released 2.3-pre2
875
8762005-04-01 Miklos Szeredi <miklos@szeredi.hu>
877
878 * kernel: fix dirent offset handling
879
880 * lib: add readdir and releasedir methods
881
882 * lib: use fh field of fuse_file_info in opendir, readdir,
883 releasedir and fsyncdir methods
884
885 * lib: check kernel API version and bail out of it's old. This
886 will be properly fixed in the next release
887
8882005-03-31 Miklos Szeredi <miklos@szeredi.hu>
889
890 * Released 2.3-pre1
891
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008922005-03-31 Miklos Szeredi <miklos@szeredi.hu>
893
894 * kernel API: add padding to structures, so 64bit and 32bit
895 compiler will return the same size
896
897 * kernel API: add offset field to fuse_dirent. This will allow
898 more sophisticated readdir interface for userspace
899
900 * kernel API: change major number to 6
901
902 * kernel: fix warnings on 64bit archs
903
904 * kernel: in case of API version mismatch, return ECONNREFUSED
905
Miklos Szeredi407e6a72005-03-25 12:19:43 +00009062005-03-24 Miklos Szeredi <miklos@szeredi.hu>
907
908 * kernel: trivial cleanups
909
Miklos Szeredi4283ee72005-03-21 12:09:04 +00009102005-03-21 Miklos Szeredi <miklos@szeredi.hu>
911
912 * Add fsyncdir() operation
913
Miklos Szeredid17da462005-03-21 11:47:04 +00009142005-03-19 Miklos Szeredi <miklos@szeredi.hu>
915
916 * kernel: add locking to background list (fixes previous fix)
917
9182005-03-18 Miklos Szeredi <miklos@szeredi.hu>
919
920 * kernel: fix bug which could cause leave busy inodes after
921 unmount, and Oops.
922
9232005-03-08 Miklos Szeredi <miklos@szeredi.hu>
924
925 * examples: add -lpthread to link flags to work around valgrind
926 quirk
927
928 * lib: don't exit threads, so cancelation doesn't cause segfault
929
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00009302005-03-04 Miklos Szeredi <miklos@szeredi.hu>
931
932 * kernel: fix nasty bug which could cause an Oops under certain
933 situations. Found by Magnus Johansson
934
Miklos Szeredif43f0632005-02-28 11:46:56 +00009352005-02-28 Miklos Szeredi <miklos@szeredi.hu>
936
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000937 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000938 permission checking in getdir() is too late. Thanks to Usarin
939 Heininga for pointing out this deficiency
940
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000941 * libfuse: added init() and destroy() methods to fuse_operations
942
Miklos Szeredif43f0632005-02-28 11:46:56 +0000943 * kernel: llseek() method for files and directories made explicit
944
945 * kernel: fixed inode leak in NFS export in case of nodeid
946 wrapping
947
Miklos Szeredied3c97c2005-02-15 17:04:50 +00009482005-02-15 Miklos Szeredi <miklos@szeredi.hu>
949
950 * libfuse: clean up some unitialized memory found with valgrind
951
Miklos Szeredi47c52982005-02-23 09:27:38 +0000952 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
953 explicitly linked libpthread for applications
954
Miklos Szeredia7169412005-02-10 07:35:05 +00009552005-02-10 Miklos Szeredi <miklos@szeredi.hu>
956
957 * fusermount: set umask, otherwise /etc/mtab will have
958 unpredictable permission. Spotted by Jindrich Kolorenc
959
960 * fusermount: set owner and group of /etc/mtab to original values
961 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000962
963 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000964
Miklos Szeredib92d9782005-02-07 16:10:49 +00009652005-02-07 Miklos Szeredi <miklos@szeredi.hu>
966
967 * Cleaned up directory reading (temporary file is not used)
968
Miklos Szerediff30a6c2005-02-02 10:53:59 +00009692005-02-02 Miklos Szeredi <miklos@szeredi.hu>
970
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000971 * Released 2.2
972
9732005-02-02 Miklos Szeredi <miklos@szeredi.hu>
974
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000975 * Fix possible race when operation is interrupted
976
Miklos Szeredi7a983952005-01-28 09:58:19 +00009772005-01-28 Miklos Szeredi <miklos@szeredi.hu>
978
Miklos Szeredie5183742005-02-02 11:14:04 +0000979 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000980
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009812005-01-26 Miklos Szeredi <miklos@szeredi.hu>
982
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000983 * Released 2.2-pre6
984
9852005-01-26 Miklos Szeredi <miklos@szeredi.hu>
986
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000987 * Fix bug in link() operation which caused the wrong path to be
988 passed as the first argument. Found by Anton Altaparmakov
989
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009902005-01-21 Miklos Szeredi <miklos@szeredi.hu>
991
992 * LIB: fix double reply in readdir operation
993
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000994 * fusermount: fix uid checking bug. Patch by Adam Connell
995
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000996 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000997 Patch by Keshava Gowda
998
Miklos Szeredi64074142005-01-20 08:48:11 +00009992005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1000
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001001 * KERNEL: provide correct llseek semantics for fuse device (fixes
1002 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1003
10042005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1005
Miklos Szeredi64074142005-01-20 08:48:11 +00001006 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1007
Miklos Szeredi1adb2272005-01-18 21:19:58 +000010082005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1009
1010 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1011 and RELEASEDIR. This ends the ugly hack of passing a file
1012 descriptor to the kernel, and actually makes the code simpler.
1013
Miklos Szeredi7db35c02005-01-17 09:46:28 +000010142005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1015
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001016 * Released 2.2-pre4
1017
10182005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1019
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001020 * fusermount: remove capability setting, which was the cause of
1021 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001022 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001023
Miklos Szeredidbe0f652005-01-15 14:32:56 +000010242005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001025
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001026 * fix compilation on 2.4 kernels (reported by Valient Gough)
1027
1028 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001029
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001030 * fusermount: improve parsing of /etc/fuse.conf
1031
10322005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1033
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001034 * Remove 'mount_max' and 'user_allow_other' module options. These
1035 are now checked by fusermount, and can be set in /etc/fuse.conf
1036
1037 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1038
Miklos Szeredi81394522005-01-11 14:24:18 +000010392005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1040
1041 * KERNEL: fix possible inode allocation problem, where
1042 sizeof(struct inode) is not aligned (found by Mike Waychison)
1043
1044 * KERNEL: use new follow_link/put_link methods
1045
1046 * KERNEL: cosmetic fixes
1047
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000010482005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1049
1050 * Released 2.2-pre3
1051
10522005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1053
1054 * Add missing code that was accidently left out
1055
Miklos Szeredi8c7da232005-01-09 12:27:41 +000010562005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1057
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001058 * Released 2.2-pre2
1059
10602005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1061
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001062 * Change "uid" mount option to "user_id" to avoid confusion with a
1063 mount option "uid" commonly used by many filesystems
1064
10652005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1066
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001067 * Released 2.2-pre1
1068
10692005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1070
1071 * If FUSE is configured in the kernel, don't build it by default
1072
Miklos Szeredi2a927272005-01-07 11:14:15 +000010732005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1074
1075 * Compile fix by Christian Magnusson
1076
Miklos Szeredib6220192005-01-05 16:19:10 +000010772005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1078
1079 * Fix compilation for 2.6.{0-5} kernels
1080
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010812005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1082
1083 * KERNEL: if request is interrupted, still keep reference to used
1084 inode(s) and file, so that FORGET and RELEASE are not sent until
1085 userspace finishes the request.
1086
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001087 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1088 request with the same information, which is more flexible,
1089 simpler, works on embedded systems.
1090
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010912004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1092
1093 * KERNEL ABI: update interface to make it independent of type
1094 sizes. This will help on 64 bit architectures which can run
1095 legacy 32 bit applications.
1096
1097 * KERNEL ABI: add "len" field to request headers. This will allow
1098 sending/receiving requests in multiple chunks.
1099
1100 * KERNEL: handle file type change more intelligently
1101
1102 * LIB: "-o debug" option should disable backgrounding (fix by
1103 Fabien Reygrobellet)
1104
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000011052004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1106
1107 * KERNEL: invalidate dentry/attributes if interrupted request
1108 could leave filesystem in an unknown state.
1109
Miklos Szeredie56818b2004-12-12 11:45:24 +000011102004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1111
1112 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1113 These will cause some regressions, but stability is considered
1114 more important. If any of these features turns out to be
1115 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001116
Miklos Szeredie56818b2004-12-12 11:45:24 +00001117 * Make all requests interruptible (only with SIGKILL currently).
1118 This can be used to break any deadlock produced by the userspace
1119 filesystem accessing it's own exported files. The RELEASE request
1120 is special, because if it's interrupted before sending it to
1121 userspace it is still sent, but the reply is not awaited.
1122
1123 * If request is interrupted before being sent to userspace, and if
1124 it hasn't yet got any side effects, it is always restarted,
1125 regardless of the SA_RESTART flag. This makes these interruptions
1126 transparent to the process.
1127
1128 * Remove shared-writable mmap support, which was prone to an
1129 out-of-memory deadlock situation
1130
1131 * Remove INVALIDATE userspace initiated request
1132
1133 * Make readpages() synchronous. Asynchronous requests are
1134 deadlock prone, since they cannot be interrupted.
1135
1136 * Add readv/writev support to fuse device operations
1137
1138 * Remove some printks, which userspace FS can use for a DoS
1139 against syslog
1140
1141 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1142 fusermount instead
1143
1144 * LIB: improve compatibility with a fuse.h header installed in
1145 ${prefix}/include which in turn includes the real header.
1146
1147 * LIB: improve compatibility by defining fuse_main() (which is now
1148 not used), so old configure scripts find it.
1149
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000011502004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1151
1152 * When mounting on a subdirectory of / don't duplicate slashes at
1153 the beggining of path (spotted by David Shaw)
1154
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000011552004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1156
1157 * Fix bug causing garbage in mount options (spotted by David Shaw)
1158
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000011592004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1160
1161 * Add 'writepage' flag to 'fuse_file_info'.
1162
1163 * More comments in fuse.h
1164
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001165 * Get rid of double underscores
1166
Miklos Szeredi799993c2004-12-04 21:20:05 +000011672004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1168
1169 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1170
1171 * helper.c: add -ho option, which only displays the options not
1172 the usage header. This can be used by filesystems which have
1173 their own options.
1174
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000011752004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1176
1177 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1178 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1179 including the fuse header
1180
1181 * Add binary compatibility to 2.1 version of library with symbol
1182 versioning
1183
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011842004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1185
1186 * Released 2.1
1187
Miklos Szeredi039322d2004-12-01 18:39:12 +000011882004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1189
1190 * kernel: clean up writing functions
1191
1192 * kernel: no allocation on write in direct_io mode
1193
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001194 * move linux/fuse.h to fuse_kernel.h
1195
Miklos Szeredi83a07442004-11-30 18:25:20 +000011962004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1197
1198 * kernel: clean up reading functions
1199
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000012002004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1201
1202 * kernel: make readpage() uninterruptible
1203
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001204 * kernel: check readonly filesystem flag in fuse_permission
1205
1206 * lib: don't die if version file not found and new style device
1207 exists
1208
1209 * lib: add '-r' option, which is short for '-o ro'
1210
1211 * fusermount: simplify device opening
1212
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001213 * kernel: when direct_io is turend on, copy data directly to
1214 destination without itermediate buffer. More efficient and safer,
1215 since no allocation is done.
1216
1217 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001218
1219 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001220
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000012212004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1222
1223 * libfuse API change: open, read, write, flush, fsync and release
1224 are passed a 'struct fuse_file_info' pointer containing the open
1225 flags (open and release), and the file handle. Verion changed to
1226 3.0.
1227
Miklos Szeredia25d4c22004-11-23 22:32:16 +000012282004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1229
1230 * More cleanups in the kernel
1231
1232 * The 10,229 charater device number has been assigned for FUSE
1233
1234 * Version file checking fix (reported by Christian Magnusson)
1235
1236 * fusermount: opening the fuse device now doesn't need /sys.
1237
1238 * Optimize reading by controlling the maximum readahead based on
1239 the 'max_read' mount option
1240
1241 * fixes for UCLIBC (Christian Magnusson)
1242
Miklos Szeredi13ed4822004-11-20 11:12:21 +000012432004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1244
1245 * Cleaned up kernel in preparation for merge into mainline:
1246
1247 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1248
1249 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1250
1251 * __user annotations for sparse
1252
1253 * allocate individual pages instead of kmalloc in fuse_readdir,
1254 fuse_read and fuse_write.
1255
1256 * Fix NFS export in case "use_ino" mount option is given
1257
Miklos Szeredif3845c42004-11-20 11:18:34 +00001258 * Make libfuse and fusermount compatible with future versions
1259
1260 * fusermount: properly add mount options to /etc/mtab
1261
12622004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1263
1264 * fusermount: do not resolve last component of mountpoint on if it
1265 is '.' or '..'. This new path resolvation is now done on mount as
1266 well as unmount. This enables relative paths to work on unmount.
1267
1268 * fusermount: parse common mount options like "ro", "rw", etc...
1269
1270 * Allow module params to be changed through sysfs
1271
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000012722004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1273
1274 * Released 2.1-pre1
1275
12762004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1277
1278 * Fix bug in fuse_readpages() causing Oops in certain situations.
1279 Bug found by Vincenzo Ciancia.
1280
1281 * Fix compilation with kernels versions > 2.6.9.
1282
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012832004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001284
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001285 * Check kernel interface version in fusermount to prevent
1286 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001287
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001288 * No need to allocate fuse_conn until actual mount happens
1289
1290 * Fix potential race between umount and fuse_invalidate
1291
1292 * Check superblock of proc file in addition to inode number
1293
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001294 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001295
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012962004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1297
1298 * Separate configure for the kernel directory
1299
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001300 * Don't allow write to return more than 'count'
1301
1302 * Extend kernel interface for future use
1303
Miklos Szeredi51ec1032004-11-10 11:52:26 +000013042004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1305
1306 * Fix 'makeconf.sh' to use autoreconf if available
1307
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000013082004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1309
Miklos Szeredid507c732004-11-08 17:32:25 +00001310 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1311 compatibility with earlier versions. To compile earier versions
1312 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1313 Do not use the "use_ino" mount flag with filesystems compiled with
1314 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001315
1316 * Add pkg-config support. To compile a FUSE based filesystem you
1317 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1318 or similar. Note, that the PKG_CONFIG_PATH environment variable
1319 usually needs to be set to "/usr/local/lib/pkgconfig".
1320
1321 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001322
Miklos Szeredia13d9002004-11-02 17:32:03 +000013232004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1324
1325 * Added "use_ino" mount option. This enables the filesystems to
1326 set the st_ino field on files
1327
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000013282004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1329
1330 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1331 by Jeremy Smith)
1332
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001333 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1334
1335 * Clear the 'exited' flag when mail loop is finished
1336
Miklos Szeredie989f0d2004-10-28 20:24:58 +000013372004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1338
1339 * Make xattr functions work under 2.6 (bug found by Vincenzo
1340 Ciancia)
1341
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000013422004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1343
1344 * Reset request in fuse_flush() (bugreport by David Shaw)
1345
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000013462004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1347
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001348 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001349 error code
1350
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001351 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001352 make it easier to implement a custom event loop.
1353
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001354 * Use daemon() call to background the filesystem after mounting.
1355 This function closes the standard input, output and error and
1356 changes the current working directory to "/".
1357
Miklos Szeredi127d49b2004-10-14 13:33:39 +000013582004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1359
1360 * Released 1.9
1361
Miklos Szeredid45baf42004-10-10 07:56:12 +000013622004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1363
1364 * Don't allow fuse_flush() to be interrupted (bug found by David
1365 Shaw)
1366
Miklos Szeredi1f18db52004-09-27 06:54:49 +000013672004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1368
1369 * Add PID to fuse_context. Patch by Steven James
1370
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001371 * Change file handle type to 'unsigned long' in kernel interface
1372
Miklos Szeredid169f312004-09-22 08:48:26 +000013732004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1374
1375 * A slight API change: fuse_get_context() doesn't need the "fuse"
1376 pointer, but the returned context contains it instead. The
1377 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001378
1379 * Fix mounting and umounting FUSE filesystem under another FUSE
1380 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001381
Miklos Szeredic2309912004-09-21 13:40:38 +000013822004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1383
1384 * Fix deadlock in case of memory allocation failure. Patch by
1385 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001386
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013872004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1388
1389 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001390
Miklos Szeredi65afea12004-09-14 07:13:45 +000013912004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1392
1393 * Check temporary file creation failure in do_getdir(). Bug
1394 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001395
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013962004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1397
1398 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001399
1400 * Make requests non-interruptible so race with FORGET is avoided.
1401 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001402
1403 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001404
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000014052004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1406
1407 * Fix bug in case two FORGETs for the same node are executed in
1408 the wrong order. Bug spotted and endured for months by Franco
1409 Broi, and logfile for solution provided by Terje Oseberg
1410
Miklos Szeredi12085102004-09-02 18:13:57 +000014112004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1412
1413 * Add -D_REENTRANT to the compile flags
1414
1415 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001416
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000014172004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1418
1419 * Change release method to be non-interruptible. Fixes bug
1420 causing missing release() call when program which has opened files
1421 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001422
Miklos Szeredi891b8742004-07-29 09:27:49 +000014232004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1424
1425 * Add fuse_invalidate() to library API
1426
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000014272004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1428
1429 * Check permissions in setattr if 'default_permissions' flag is
1430 set. Bug spotted by Damjan Lango
1431
Miklos Szeredid66d3942004-07-24 13:47:44 +000014322004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1433
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001434 * 'large_read' mount option removed for 2.6 kernels, since the
1435 default (dynamic read size) is better
1436
1437 * Extend kernel API with file handles. A file handle is returned
1438 by open, and passed to read, write, flush, fsync and release.
1439 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001440
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001441 * Security changes:
1442
1443 * Change the current directory to the mountpoint before checking
1444 the permissions and mount filesystem on "."
1445
1446 * By default don't modprobe the fuse module for non-root. The old
1447 behavior can be restored with the '--enable-auto-modprobe' flag of
1448 ./configure
1449
1450 * By default don't allow shared writable mappings for non-root.
1451 The old behavior can be restored with the 'user_mmap=1' module
1452 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001453
Miklos Szeredibd7661b2004-07-23 17:16:29 +000014542004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1455
1456 * Clean up mount option passing to fusermount and to fuse_new()
1457 BEWARE: this changes the userspace API slightly, and the command
1458 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001459
Miklos Szeredi58865372004-07-20 14:22:26 +000014602004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1461
1462 * Optimize reading under 2.6 kernels by issuing multiple page
1463 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001464
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000014652004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1466
1467 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001468
Miklos Szeredi069c9502004-07-16 16:17:02 +000014692004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1470
1471 * Separate directory entry and inode attribute validity timer
1472
1473 * New write semaphore to stop page writeback during truncate
1474
1475 * Fsync now waits for all writes to complete before sending the
1476 request
1477
1478 * Optimization: if a page is completely written by
1479 fuse_commit_write(), clear the dirty flag and set the uptodate
1480 flag for that page
1481
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001482 * Some memory cleanup at exit
1483
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014842004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1485
1486 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001487 disable the "hide if open" behavior of unlink/rename.
1488
1489 * If temporary buffer allocation fails in raw read, fall back to a
1490 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001491
Miklos Szeredi73798f92004-07-12 15:55:11 +000014922004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1493
1494 * Fix bug in do_open() in libfuse: open count was incremented
1495 after the reply is sent so it could race with unlink/forget and
1496 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001497
Miklos Szeredi015fe702004-07-12 11:52:24 +000014982004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1499
1500 * When performing create or remove operation, refresh the parent's
1501 attributes on next revalidate, as i_nlink (and maybe size/time)
1502 could be inacurate.
1503
1504 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1505 pages (2.6 only)
1506
1507 * Set set_page_dirty address space operation (2.6 only)
1508
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015092004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001510
1511 * Minor fix in read: print debug info even if read size is zero
1512
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015132004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001514
1515 * Fix race between truncate and writepage (fsx-linux now runs
1516 without error)
1517
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015182004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001519
1520 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1521 by Mattias Wadman)
1522
1523 * Added option for direct read/write (-r)
1524
1525 * Fix revalidate time setting for newly created inodes
1526
Miklos Szerediacb4d362004-07-02 16:20:45 +00001527 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1528 this)
1529
1530 * fuse_main() only installs handlers for signals (out of INT, HUP,
1531 TERM, PIPE), for which no handler has yet been installed
1532
1533 * Add module option 'user_allow_other' which if set to non-zero
1534 will allow non root user to specify the 'allow_other' mount option
1535 ('-x' option of fusermount)
1536
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001537 * Fix deadlock between page writeback completion and truncate
1538 (bug found by Valient Gough with the fsx-linux utility)
1539
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015402004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001541
1542 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001543 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1544 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001545
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015462004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001547
1548 * Acquire inode->i_sem before open and release methods to prevent
1549 concurrent rename or unlink operations.
1550
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001551 * Make __fuse_read_cmd() read only one command. This allows
1552 multiplexing the fuse file descriptor with other event sources
1553 using select() or poll() (patch by Jeff Harris)
1554
1555 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1556
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015572004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001558
1559 * Fix file offset wrap around at 4G when doing large reads
1560
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015612004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001562
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001563 * Fix memory leak in open (Valient Gough)
1564
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015652004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001566
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001567 * Add "close after delete" support to libfuse (patch by Valient
1568 Gough)
1569
1570 * Cancel all worker threads before exit in multithreaded mode
1571
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015722004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001573
1574 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001575
1576 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001577
1578 * Work with newer libtool (1.5a)
1579
1580 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001581
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015822004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001583
1584 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001585
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015862004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001587
1588 * Fix possible inode leak in userspace in case of unfinished
1589 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001590
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015912004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001592
1593 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001594
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015952004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001596
1597 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001598
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015992004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001600
1601 * Build shared library as well as static (using libtool)
1602
1603 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1604 there has not been a release with the previous minor number, and I
1605 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001606
1607 * Change fuse_main(), so that default behavior is to go into
1608 background if mount is successful. '-f' and '-d' options disable
1609 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1610 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001611
1612 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1613 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001614
1615 * Don't call getdir method from open() only from first readdir().
1616 Open is sometimes just used to store the current directory
1617 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001618
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016192004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001620
1621 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001622
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016232004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001624
1625 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001626
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016272004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001628
1629 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001630
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016312004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001632
1633 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001634
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016352004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001636
1637 * Replaced binary mount data with text options
1638
1639 * Show FUSE specific mount options in /proc/mounts
1640
1641 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1642
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016432004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001644
1645 * Check some limits so userspace won't get too big requests
1646
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016472004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001648
1649 * Kill compile warning
1650
1651 * Upgraded user-mount patch for 2.6.5
1652
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016532004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001654
1655 * Add detection of user-mode-linux to configure
1656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016572004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001658
1659 * fixed zero size case for getxattr and listxattr
1660
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016612004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001662
1663 * new fusermount flag '-z': lazy unmount, default is not lazy
1664
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001665 * Extended attributes operations added (getxattr, setxattr,
1666 listxattr, removexattr)
1667
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016682004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001669
1670 * If filesystem doesn't define a statfs operation, then an
1671 all-zero default statfs is returned instead of ENOSYS
1672
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016732004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001674
1675 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1676
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016772004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001678
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001679 * Fix for uClinux (Christian Magnusson)
1680
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016812004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001682
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001683 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001684
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001685 * More kernel interface changes:
1686
1687 * Lookup/getattr return cache timeout values
1688
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016892004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001690
1691 * Clean up option parsing in fuse_main()
1692
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001693 * Added fuse_get() function which returns the fuse object created
1694 by fuse_main()
1695
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016962004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001697
Miklos Szeredic40748a2004-02-20 16:38:45 +00001698 * removed old way of mounting (fusermount mountpoint program)
1699
Miklos Szeredib5958612004-02-20 14:10:49 +00001700 * more kernel interface changes:
1701
1702 * added nanosecond precision to file times
1703
Miklos Szeredic40748a2004-02-20 16:38:45 +00001704 * removed interface version from mount data
1705
1706 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017082004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001709
1710 * statfs library API changed to match other methods. Since this
1711 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1712
Miklos Szeredi76f65782004-02-19 16:55:40 +00001713 * kernel interface changes follow:
1714
1715 * statfs changed to 64 bits, added 'bavail' field
1716
1717 * add generation number to lookup result
1718
1719 * optimized mknod/mkdir/symlink/link (no separate lookup is
1720 needed)
1721
1722 * rdev size increased to 32 bits for mknod
1723
1724 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001725
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017262004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001727
1728 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001729
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017302004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001731
1732 * Added user-mount.2.6.2-rc3.patch
1733
1734 * Add FS_SAFE flag to fuse filesystem
1735
1736 * fusermount should allow (un)mounting for non-root even if not
1737 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001738
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017392004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001740
1741 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001742
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017432004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001744
1745 * Added check for i_size_read/write functions to configure.in
1746 (patch by Valient Gough)
1747
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017482004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001749
1750 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001751
1752 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001753
1754 * Readpage calls flush_dcache_page() after storing data
1755
1756 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001757
1758 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001759
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017602004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001761
1762 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001763
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017642004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001765
1766 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001767
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017682004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001769
1770 * Added -q option for fusermount
1771
1772 * fuse_unmount() now uses -q option of fusermount, so no error is
1773 printed if the cause of the program exit is that the filesystem
1774 has already been unmounted
1775
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001776 * Fix i_nlink correctness after rmdir/unlink
1777
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017782004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001779
Miklos Szeredib1158392004-01-26 14:43:12 +00001780 * Released 1.1-pre2
1781
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017822004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001783
Miklos Szeredi307242f2004-01-26 11:28:44 +00001784 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001785
1786 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001787
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017882004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001789
1790 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017922004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001793
1794 * Write all pending data before a RELEASE operation
1795
1796 * Suppress 'Bad file descriptor' warning on exit
1797
1798 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001799 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001800
Miklos Szeredib1158392004-01-26 14:43:12 +00001801 * New fusermount option '-l' which enables big reads. Big reads
1802 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001803
1804 * fuse_main() can accept fusermount arguments after a '--'
1805
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018062004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001807
1808 * Support for exporting filesystem over NFS (see README.NFS)
1809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018102004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001811
1812 * Support non-blocking writepage on 2.6. This makes FUSE behave
1813 much more nicely in low-memory situations
1814
1815 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1816 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001817
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018182004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001819
1820 * Code cleanups
1821
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018222004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001823
1824 * Released 1.1-pre1
1825
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018262004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001827
1828 * Integrated 2.6 kernel support patch by Michael Grigoriev
1829
1830 * Improvements and cleanups for 2.6 kernels
1831
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018322004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001833
Miklos Szeredie5183742005-02-02 11:14:04 +00001834 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001835
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018362003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001837
1838 * Added major+minor version to library API, and minor version to
1839 kernel API
1840
David McNab7a19caf2003-12-13 02:05:46 +000018412003-12-13 David McNab <david@rebirthing.co.nz>
1842
1843 * Implemented fsync support in examples/example.py
1844
1845 * Implemented 'fsync' and 'statfs' methods in python
1846 interface
1847
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018482003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001849
Miklos Szeredie5183742005-02-02 11:14:04 +00001850 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001851
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001852 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001853
David McNab8bf62632003-12-11 22:49:22 +000018542003-12-12 David McNab <david@rebirthing.co.nz>
1855
1856 * Added distutils support to the python module, as per standard
1857 python development practice
1858
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018592003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001860
1861 * Add file locking for mount/unmount (based on patch by Valient
1862 Gough)
1863
18642003-12-11 David McNab <david@rebirthing.co.nz>
1865
1866 * Python filesystem - was broken with python2.3, now fixed:
1867 - changed PyTuple_* calls to PySequence_*, because os.lstat
1868 is no longer returning a pure tuple
1869 - changed PyInt_Check() calls to also call PyLong_Check,
1870 to cover for cases (eg os.lstat) where longs are returned
1871 - Added support for file 'release' handling, which IMO is
1872 essential since this signals to a FS that writes to a file
1873 are complete (and therefore the file can now be disposed of
1874 meaningfully at the python filesystem's discretion)
1875 - Added '__init__' handler to base Fuse class, which allows
1876 your Python class to know the mountpoint and mount args,
1877 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001878
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001879 * General:
1880 - added 'mount.fuse' script (in util/ dir), which is meant to be
1881 symlinked from /sbin, and which allows FUSE filesystems to
1882 be mounted with the 'mount' command, and listed in fstab;
1883 also, mount arguments get passed to your filesystem
1884
1885
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018862003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001887
1888 * Fix kernel version detection (again). Bugreport by Peter Levart
1889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001891
1892 * Applied read combining patch by Michael Grigoriev (tested by
1893 Valient Gough and Vincent Wagelaar)
1894
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018952003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001896
1897 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1898 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001899
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019002003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001901
1902 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001903
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019042003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001905
1906 * kernel version detection fix
1907
1908 * fusermount now uses "lazy" umount option
1909
1910 * fusermount can use modprobe with module-init-tools
1911
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019122003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001913
1914 * Integrated caching patch by Michael Grigoriev
1915
Miklos Szeredida4e4862003-09-08 11:14:11 +00001916 * Added "Filesystems" file with descriptions of projects using
1917 FUSE
1918
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001919 * Added patch by Michael Grigoriev to allow compliation of FUSE
1920 kernel module for 2.6 kernels
1921
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019222003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001923
1924 * And another spec-file fix by Achim Settelmeier
1925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019262003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001927
1928 * Spec-file fix by Achim Settelmeier
1929
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019302003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001931
Miklos Szerediac361172004-11-02 19:14:14 +00001932 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001933
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019342003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001935
1936 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1937
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019382003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001939
1940 * Updated fuse.spec file (Achim Settelmeier)
1941
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019422003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001943
1944 * Version 1.0 released
1945
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019462003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001947
1948 * SuSE compilation fix by Juan-Mariano de Goyeneche
1949
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019502002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001951
1952 * The release() VFS call is now exported to the FUSE interface
1953
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019542002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001955
1956 * 64 bit file offset fixes in the fuse kernel module
1957
1958 * Added function 'fuse_exit()' which can be used to exit the main
1959 loop
1960
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019612002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001962
1963 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1964 an incompatible interface change.
1965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019662002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001967
1968 * Portablility fix (bug reported by C. Chris Erway)
1969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019702002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001971
1972 * Use Mark Glines' fd passing method for default operation instead
1973 of old reexec
1974
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019752002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001976
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001977 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1978
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019792002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001980
Miklos Szeredi60c23522002-10-24 09:19:43 +00001981 * fix incompatiblity with Red Hat kernels, with help from Nathan
1982 Thompson-Amato.
1983
Mark Glines65ba2192002-04-18 14:41:48 +000019842002-04-18 Mark Glines <mark@glines.org>
1985
1986 * added an alternative to fuse_mount(), called
1987 fuse_mount_ioslave(), which does not need to reexec the
1988 FUSE program.
1989 * added a small helper util needed by fuse_mount_ioslave().
1990
Mark Glines220635a2002-03-17 07:01:14 +000019912002-03-16 Mark Glines <mark@glines.org>
1992
1993 * use struct fuse_statfs everywhere possible to avoid problems
1994 with the headerfiles changing struct statfs member sizes
1995
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019962002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001997
1998 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1999
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020002002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002001
2002 * RPM support by Achim Settelmeier
2003
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020042002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002005
Miklos Szerediddc862a2002-01-09 13:46:10 +00002006 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002007
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020082002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002009
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002010 * Revaidate all path components not just the last, this means a
2011 very small performance penalty for being more up-to-date.
2012
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020132002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002014
2015 * Update and fix python interface
2016
Mark Glinesd84b39a2002-01-07 16:32:02 +000020172002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002018
Mark Glinesd84b39a2002-01-07 16:32:02 +00002019 * Added statfs() support to kernel, lib, examples, and perl!
2020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020212001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002022
2023 * Better cross compilation support
2024
2025 * Ported to Compaq IPAQ
2026
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020272001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002028
Miklos Szeredife25def2001-12-20 15:38:05 +00002029 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002030 patch from Matt Ryan)
2031
Miklos Szeredife25def2001-12-20 15:38:05 +00002032 * Added flags to fusermount and to kernel interface to control
2033 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002034
Miklos Szeredife25def2001-12-20 15:38:05 +00002035 * Integrated fuse_set_operations() into fuse_new()
2036
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020372001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002038
2039 * Applied header protection + extern "C" patch by Roland
2040 Bauerschmidt
2041
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020422001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002043
Miklos Szeredie5183742005-02-02 11:14:04 +00002044 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002045
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020462001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002047
2048 * Cleaned up way of mounting simple filesystems.
2049
2050 * fuse_main() helper function added
2051
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020522001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002053
Miklos Szeredife25def2001-12-20 15:38:05 +00002054 * Optimized read/write operations, so that minimal copying of data
2055 is done
2056
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020572001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002058
2059 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002060
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020612001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002062
2063 * Fixed vfsmount reference leak in fuse_follow_link
2064
2065 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2066 userspace is ignored
2067
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020682001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002069
Miklos Szeredife25def2001-12-20 15:38:05 +00002070 * Started ChangeLog