blob: 0c598b123b3621102897d9c0ee6d3f09c0348b24 [file] [log] [blame]
Miklos Szeredi7a2814c2006-04-12 10:41:50 +000012006-04-11 Csaba Henk <csaba.henk@creo.hu>
2
3 * kernel: remove request pool, instead allocate requests on
4 demand. Account the number of background requests, and if they go
5 over a limit, block the allocation of new requests.
6
7 * kernel: fix deadlock if backgrounded request holds the last
8 reference to the super block
9
10 * kernel: don't use fuse_reset_request() during direct I/O
11
Csaba Henkbaa49d22006-04-06 00:12:44 +0000122006-04-06 Csaba Henk <csaba.henk@creo.hu>
13
14 * lib: Let FreeBSD mount option parsing routine recognize "no"
15 prefixes for FUSE specific options as well
16
Miklos Szeredid0a777a2006-04-05 07:18:00 +0000172006-04-01 Miklos Szeredi <miklos@szeredi.hu>
18
19 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
20
Miklos Szeredi6f385412006-03-17 15:05:40 +0000212006-03-17 Miklos Szeredi <miklos@szeredi.hu>
22
23 * API changes:
24
25 * fuse_main(), fuse_setup() and fuse_new() have an additionl
26 user_data parameter
27
28 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
29 file descriptor
30
31 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
32 destroys the given channel
33
34 * fuse_teardown() no longer has a file descriptor parameter
35
36 * new exported functions: fuse_session_remove_chan(),
37 fuse_get_session(), fuse_daemonize()
38
Miklos Szeredi8d975f62006-03-17 15:56:05 +000039 * fuse_chan_recv() may now return a new channel which will be used
40 to send the reply
41
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000422006-03-16 Miklos Szeredi <miklos@szeredi.hu>
43
Miklos Szeredi9db31dc2006-03-16 14:43:28 +000044 * Released 2.6.0-pre2
45
462006-03-16 Miklos Szeredi <miklos@szeredi.hu>
47
Miklos Szeredif51e43f2006-03-16 14:19:25 +000048 * Don't unmount if already unmounted. This fixes a problem seen
49 in the following situation: Lazy unmount a busy filesystem; Mount
50 a new one in top; When the first finally unmounts, the second also
51 unmounts. Reported by Franco Broi
52
Miklos Szeredi2c1381f2006-03-15 20:34:10 +0000532006-03-15 Miklos Szeredi <miklos@szeredi.hu>
54
55 * lowlevel lib: use indirect function calls instead of a
56 switch/case construct. Besides increased efficiency it helps
57 maintainability & readability too. Patch from Florin Malita
58
Miklos Szeredi67d26d42006-03-13 17:39:56 +0000592006-03-13 Miklos Szeredi <miklos@szeredi.hu>
60
61 * kernel: replace global spinlock with a per-connection spinlock
62
Miklos Szeredi87c77932006-03-10 10:18:20 +0000632006-03-10 Miklos Szeredi <miklos@szeredi.hu>
64
65 * Fix source compatibility breakage for fuse_unmount(). Report
66 from Yura Pakhuchiy
67
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000682006-03-02 Miklos Szeredi <miklos@szeredi.hu>
69
70 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
71
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000722006-03-01 Miklos Szeredi <miklos@szeredi.hu>
73
74 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
75 Jeff Dike
76
77 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
78 interface to return -errno in case of error.
79
Csaba Henkee588c02006-03-01 09:40:35 +0000802006-03-01 Csaba Henk <csaba.henk@creo.hu>
81
82 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
83 FreeBSD implementation so that it uses libc (sysctl backed) instead
84 of an embdedded script (kmem backed). Adjust the control flow of
85 hello_ll so that device doesn't get closed before unmount attempt.
86
Miklos Szerediaa8258e2006-02-25 14:42:03 +0000872006-02-25 Miklos Szeredi <miklos@szeredi.hu>
88
89 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
90 implement method. This is needed on FreeBSD, and nicer on Linux
91 too. Highlevel lib already did this. Reported by Csaba Henk
92
93 * Fix negative entry handling. There was a bug, that negative
94 lookups with timeouts (nodeid == 0) returned -EIO.
95
962006-02-23 Miklos Szeredi <miklos@szeredi.hu>
97
98 * Fix race between RELEASE and UNLINK, which might leave
99 .fuse_hidden* files around
100
Miklos Szeredi6bab4802006-02-21 18:31:29 +00001012006-02-21 Miklos Szeredi <miklos@szeredi.hu>
102
103 * fusexmp_fh: implement flush() method and call close() on the
104 open file descriptor. This is needed if used on an NFS
105 filesystem, which buffers data until file is closed. Franco Broi
106 spotted the situation when 'cp -p' failed to set the modification
107 time because of this.
108
Miklos Szeredie109e282006-02-20 11:06:20 +00001092006-02-20 Miklos Szeredi <miklos@szeredi.hu>
110
111 * Released 2.6.0-pre1
112
Miklos Szeredib67f2162006-02-20 10:55:33 +00001132006-02-19 Miklos Szeredi <miklos@szeredi.hu>
114
115 * libfuse: fix use-after-free bug in interruptred reply_entry().
116 Patch from John Muir
117
118 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
119 ID: 352631. Found by Stéphane Rosi
120
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00001212006-02-17 Miklos Szeredi <miklos@szeredi.hu>
122
123 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
124 into a single function fuse_add_direntry(). This cleans up the
125 interface and makes it possible to do stacking.
126
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00001272006-02-16 Miklos Szeredi <miklos@szeredi.hu>
128
129 * Fix rare race betweeen abort and release caused by failed iget()
130 in fuse_create_open().
131
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000132 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
133 own attribute caching.
134
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00001352006-02-15 Miklos Szeredi <miklos@szeredi.hu>
136
137 * Work around FreeBSD runtime linker "feature" which binds an old
138 version of a symbol to internal references if the symbol has more
139 than one version. This resulted in infinite recursion in
140 fuse_lowlevel_new_compat25().
141
Csaba Henkdcce3e52006-02-10 06:22:15 +00001422006-02-10 Csaba Henk <csaba.henk@creo.hu>
143
144 * Refine clock_gettime() querying so that linker options
145 shall be set as it's appropriate for the target platform.
146
Miklos Szeredi390ae312006-02-10 16:44:34 +00001472006-02-09 Miklos Szeredi <miklos@szeredi.hu>
148
149 * Fix udev rule syntax. Reported by Nix
150
Miklos Szeredieb643582006-02-08 10:54:02 +00001512006-02-08 Miklos Szeredi <miklos@szeredi.hu>
152
153 * In some cases udev rule seems to be ineffective when installed
154 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
155
Miklos Szeredi357529c2006-02-03 09:20:31 +00001562006-02-03 Miklos Szeredi <miklos@szeredi.hu>
157
158 * Fix compilation when build directory is different from source
159 directory. Reported by Frédéric L. W. Meunier
160
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001612006-02-02 Miklos Szeredi <miklos@szeredi.hu>
162
163 * Fix even bigger bug introduced in fix for request_end() on
164 2006-01-14. Reported by Gal Rosen
165
Miklos Szeredi320abe42006-01-30 18:14:51 +00001662006-01-30 Miklos Szeredi <miklos@szeredi.hu>
167
168 * highlevel-lib: add 'auto_cache' option. This caches file data
169 based on modification time and size
170
Miklos Szeredi065f2222006-01-20 15:15:21 +00001712006-01-20 Miklos Szeredi <miklos@szeredi.hu>
172
Miklos Szeredid66b7282006-02-02 15:15:21 +0000173 * Sanitize storage type and help message in mount_bsd.c. Patch
174 from Csaba Henk
175
Miklos Szeredi065f2222006-01-20 15:15:21 +0000176 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
177 FUSE_OPT_KEY_DISCARD
178
179 * Add options 'max_readahead', 'sync_read' and 'async_read'
180
181 * Kernel ABI version 7.6:
182
183 * Negotiate the 'max_readahead' value and 'async_read' flags with
184 userspace in the INIT method
185
186 * Add connection info to ->init() methods to both lowlevel and
187 highlevel API
188
189 * Fall back to synchronous read() behavior if either library or
190 userspace filesystem is using the old interface version. This is
191 needed so non-updated filesystems won't be confused by the
192 different read() behavior
193
1942006-01-19 Miklos Szeredi <miklos@szeredi.hu>
195
196 * lib: if "fsname=" option was given, pass it to fusermount
197
198 * fuse_opt: add new fuse_opt_insert_arg() function, which is
199 needed by filesystems to implement some argument manipulations
200 correctly
201
202 * fuse_opt: fix memory leak in handling "--" option
203
2042006-01-18 Miklos Szeredi <miklos@szeredi.hu>
205
206 * kernel: fix detection of case when fuse is not configured into
207 the kernel either as module or built-in
208
209 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
210 'template' structure member to 'templ'. Reported by Takashi Iwai
211
212 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
213
214 * kernel: support version 2.6.16 (i_sem -> i_mutex)
215
Miklos Szeredi15af1b82006-01-16 17:52:24 +00002162006-01-16 Miklos Szeredi <miklos@szeredi.hu>
217
218 * Added (again) asynchronous readpages support
219
220 * Each connection now shows up under /sys/fs/fuse/connections
221
222 * Connection attributes exported to sysfs: 'waiting' number of
223 waiting requests; 'abort' abort the connection
224
225 * Connection may be aborted through either the sysfs interface or
226 with 'umount -f mountpoint'
227
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00002282006-01-14 Miklos Szeredi <miklos@szeredi.hu>
229
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000230 * Released 2.5.0
231
2322006-01-14 Miklos Szeredi <miklos@szeredi.hu>
233
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000234 * kernel: fix a couple of bugs
235
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000236 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000237 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000238 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000239
240 * request_end() used request pointer after decrementing refcount
241
242 * Clearing ->connected or ->mounted connection flags could race
243 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000244
Miklos Szeredia9820342006-01-10 10:54:11 +00002452006-01-10 Miklos Szeredi <miklos@szeredi.hu>
246
247 * kernel: add necessary compile flags for 2.4.X/x86_64.
248 Report from Sean Ziegeler
249
Miklos Szeredi35676b02006-01-09 10:13:28 +00002502006-01-09 Miklos Szeredi <miklos@szeredi.hu>
251
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000252 * Released 2.5.0-pre2
253
2542006-01-09 Miklos Szeredi <miklos@szeredi.hu>
255
Miklos Szeredi35676b02006-01-09 10:13:28 +0000256 * Applied patch from Csaba Henk, to update mount_bsd to new
257 fuse_mount() semantics
258
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000259 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
260 Steiner and Don Taber
261
Miklos Szeredicb075c82006-01-09 11:33:04 +0000262 * fusermount: add 'dirsync' mount option
263
Miklos Szerediad005972006-01-07 10:14:34 +00002642006-01-07 Miklos Szeredi <miklos@szeredi.hu>
265
266 * Improved help reporting and added version reporting to library
267
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002682006-01-06 Miklos Szeredi <miklos@szeredi.hu>
269
270 * Change working directory to "/" even if running in the
271 foreground. Patch from Jonathan Brandmeyer
272
Miklos Szeredi95da8602006-01-06 18:29:40 +0000273 * Changed lots of functions to use 'struct fuse_args' instead of
274 separate argc and argv
275
276 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
277 fuse_remove_signal_handlers() functions, so that it's now pretty
278 easy to get all the functionality of fuse_main() with a filesystem
279 using the lowlevel API.
280
Miklos Szeredib8638182006-01-02 12:52:24 +00002812006-01-02 Miklos Szeredi <miklos@szeredi.hu>
282
Miklos Szeredif1941472006-01-02 16:27:48 +0000283 * mount.fuse: the 'user' option should be ignored. Report and
284 solution from Mattd.
285
286 * mount.fuse: export PATH in the right place. Report and patch
287 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000288
Miklos Szeredi73f41392005-12-16 11:12:16 +00002892005-12-16 Miklos Szeredi <miklos@szeredi.hu>
290
291 * Clean up the option parsing interface slightly, by creating an
292 "argument list" structure, that contains the argument vector and
293 count
294
Miklos Szeredi4e829092005-12-15 16:13:49 +00002952005-12-15 Miklos Szeredi <miklos@szeredi.hu>
296
297 * fusermount: check if /mnt/mtab is a symlink and don't modify it
298 in that case
299
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000300 * kernel: simplify request size limiting. INIT only contains
301 maximum write size, maximum path component size remains fixed at
302 1024 bytes, and maximum xattr size depends on read buffer.
303
Miklos Szeredie248e4b2005-12-14 16:18:32 +00003042005-12-14 Miklos Szeredi <miklos@szeredi.hu>
305
306 * Fix readdir() failure on x86_64, of 32bit programs compiled
307 without largefile support. Bug report and help from Anthony
308 Kolasny
309
Miklos Szeredi64709572005-12-14 22:16:28 +0000310 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000311 a regular file
312
313 * Add current output argument vector to option processing
314 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000315
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00003162005-12-12 Miklos Szeredi <miklos@szeredi.hu>
317
318 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
319
Miklos Szeredi659743b2005-12-09 17:41:42 +00003202005-12-09 Miklos Szeredi <miklos@szeredi.hu>
321
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000322 * Released 2.5.0-pre1
323
3242005-12-09 Miklos Szeredi <miklos@szeredi.hu>
325
Miklos Szeredi659743b2005-12-09 17:41:42 +0000326 * libfuse: added option parsing interface, defined in
327 <fuse_opt.h>.
328
Miklos Szeredic53cddd2005-12-07 12:57:59 +00003292005-12-07 Miklos Szeredi <miklos@szeredi.hu>
330
331 * Return EIO for file operations (read, write, fsync, flush) on
332 open files whose inode has become "bad". Inodes will be marked
333 "bad" if their type changes. Bug report by Csaba Henk
334
Miklos Szeredi044da2e2005-12-06 17:59:55 +00003352005-12-06 Miklos Szeredi <miklos@szeredi.hu>
336
337 * Use bigger request buffer size. write() did not work on archs
338 with > 4k page size, Bug report by Mark Haney
339
340 * ABI version 7.5:
341
342 * Extend INIT reply with data size limits
343
Miklos Szeredifa829b52005-12-02 11:05:41 +00003442005-12-02 Miklos Szeredi <miklos@szeredi.hu>
345
346 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
347 reported by Vincenzo Ciancia
348
349 * Handle exit-by-umount in fuse_read_cmd()
350
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00003512005-11-29 Miklos Szeredi <miklos@szeredi.hu>
352
353 * Check if '-msoft-float' option is supported by compiler when
354 configuring for a 2.4.x kernel. Bug report by Mark Haney
355
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000356 * In multithreaded loop send a TERM signal to the main thread if
357 one of the other threads exit. Needed on FreeBSD for a clean exit
358 on umount. Should not cause any harm on Linux either
359
Miklos Szerediead7f102005-11-28 16:02:27 +00003602005-11-28 Miklos Szeredi <miklos@szeredi.hu>
361
362 * Fix bug in 32-bit file handle compatibility
363
Miklos Szeredia90b7342005-11-27 19:22:42 +00003642005-11-27 Miklos Szeredi <miklos@szeredi.hu>
365
366 * Block TERM, INT, HUP and QUIT signals in all but the main
367 thread. According to POSIX it's not specified which thread will
368 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000369
370 * Kernel changes:
371
372 * Check for directory aliasing on mkdir, not just on lookup
373
374 * Check for special node ID values in create+open operation
375
376 * Sync with -mm: readv, writev, aio_read and aio_write methods
377 added to file operations
378
379 * Cleanups: lookup code, page offset calculation
380
381 * ABI stepped to 7.4, changes:
382
383 * frsize member added to fuse_kstatfs structure
384
385 * added support for negative entry caching: on lowlevel API if
386 fuse_entry_param::ino is set to zero in reply to a lookup request,
387 the kernel will cache the dentry for the specified amount of time.
388
389 * libfuse: added 'negative_timeout' option: specifies how much
390 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000391 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000392
Miklos Szeredibac4c772005-11-23 13:35:54 +00003932005-11-22 Miklos Szeredi <miklos@szeredi.hu>
394
395 * Add detection of mainline FUSE code in running kernel
396
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00003972005-11-21 Miklos Szeredi <miklos@szeredi.hu>
398
399 * Don't use async cancelation in multithreaded loop. This makes
400 it more portable to systems where read() is not async cancel safe.
401 Report from Andriy Gapon
402
Miklos Szeredi05c97842005-11-20 17:05:07 +00004032005-11-20 Miklos Szeredi <miklos@szeredi.hu>
404
405 * Warn if API version 11 compatibility is requested
406
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00004072005-11-17 Miklos Szeredi <miklos@szeredi.hu>
408
409 * More FreeBSD merge
410
Miklos Szeredi832ee442005-11-18 21:02:36 +0000411 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
412 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000413 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000414
415 * libfuse: don't use system() to invoke 'fusermount -u ...'
416 because it breaks mountpoints with spaces in them into multiple
417 arguments
418
Miklos Szeredib3f99722005-11-16 13:00:24 +00004192005-11-16 Miklos Szeredi <miklos@szeredi.hu>
420
421 * Merge library part of FreeBSD port. Patch by Csaba Henk
422
Miklos Szeredi3a770472005-11-11 21:32:42 +00004232005-11-11 Miklos Szeredi <miklos@szeredi.hu>
424
425 * Use 64bit type for file handle, so the full range supported by
426 the kernel interface is available to applications
427
Miklos Szeredibcc53852005-11-10 09:54:41 +00004282005-11-10 Miklos Szeredi <miklos@szeredi.hu>
429
430 * Moved mountpoint argument checking from fuse_parse_cmdline() to
431 fuse_mount() in preparation to FreeBSD merge.
432
Miklos Szeredi4ec06812005-11-08 13:04:27 +00004332005-11-08 Miklos Szeredi <miklos@szeredi.hu>
434
435 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
436 Henk.
437
Miklos Szeredic706ad92005-11-07 15:30:48 +00004382005-11-07 Miklos Szeredi <miklos@szeredi.hu>
439
440 * Make the statfs change backwards compatible.
441
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00004422005-11-06 Miklos Szeredi <miklos@szeredi.hu>
443
444 * Change ->statfs() method to use 'struct statvfs' instead of
445 'struct statfs'. This makes the API more portable since statvfs()
446 is defined by POSIX.
447
Miklos Szeredif7eec032005-10-28 13:09:50 +00004482005-10-28 Miklos Szeredi <miklos@szeredi.hu>
449
450 * Add fgetattr() method, which currently will only be called after
451 a successful call to a create() method.
452
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004532005-10-26 Miklos Szeredi <miklos@szeredi.hu>
454
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000455 * Change kernel ABI version to 7.3
456
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000457 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000458 call if 'default_permissions' mount option is not given, and is
459 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000460
Miklos Szeredid9079a72005-10-26 15:29:06 +0000461 * Add atomic CREATE+OPEN operation. This will only work with
462 2.6.15 (presumably) or later Linux kernels.
463
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000464 * Add ftruncate() method. This will only work with 2.6.15
465 (presumably) or later Linux kernels.
466
467 * Fix kernel module compile if kernel source and build directories
468 differ. Report and initial patch by John Eastman
469
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004702005-10-18 Miklos Szeredi <miklos@szeredi.hu>
471
472 * lib: optimize buffer reallocation in fill_dir.
473
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004742005-10-17 Miklos Szeredi <miklos@szeredi.hu>
475
476 * Released 2.4.1
477
Miklos Szeredif412d072005-10-14 21:24:32 +00004782005-10-14 Miklos Szeredi <miklos@szeredi.hu>
479
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000480 * libfuse: add debug for write result (by Shaun Jackman) and
481 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000482
Miklos Szeredib75d4b92005-10-11 10:12:08 +00004832005-10-11 Miklos Szeredi <miklos@szeredi.hu>
484
485 * Spelling fixes, thanks to Ioannis Barkas
486
Miklos Szeredibaab5872005-10-10 08:41:14 +00004872005-10-10 Miklos Szeredi <miklos@szeredi.hu>
488
489 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
490 patch
491
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00004922005-10-07 Miklos Szeredi <miklos@szeredi.hu>
493
494 * highlevel-lib: init() and destroy() methods didn't have an
495 initialized fuse_context. Bug reported by Tim Stoakes
496
Miklos Szeredif2491122005-10-04 10:10:41 +00004972005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000498
499 * Released 2.4.0
500
Miklos Szeredi836ab712005-10-03 14:11:59 +00005012005-10-03 Miklos Szeredi <miklos@szeredi.hu>
502
503 * Add documentation to fuse_lowlevel.h
504
505 * API cleanups:
506
507 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
508
509 * Move fuse_mount() and fuse_unmount() to fuse_common.h
510
511 * Change the return type of fuse_reply_none() from int to void.
512
Miklos Szerediaf138742005-09-30 08:49:59 +00005132005-09-30 Miklos Szeredi <miklos@szeredi.hu>
514
515 * kernel: NFS exporting leaked dentries. Bug found and fixed by
516 Akshat Aranya.
517
Miklos Szeredidb016e02005-09-29 10:06:27 +00005182005-09-29 Miklos Szeredi <miklos@szeredi.hu>
519
520 * fusermount: fix error message, when unable to open /dev/fuse.
521 Report by Balázs Pozsár
522
Miklos Szeredi35200932005-09-28 14:50:49 +00005232005-09-28 Miklos Szeredi <miklos@szeredi.hu>
524
525 * UClibc fixes from Christian Magnusson
526
Miklos Szeredi8eddf642005-09-27 08:58:26 +00005272005-09-27 Miklos Szeredi <miklos@szeredi.hu>
528
529 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
530
Miklos Szerediedec95c2005-09-26 10:22:22 +00005312005-09-26 Miklos Szeredi <miklos@szeredi.hu>
532
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000533 * Released 2.4.0-rc1
534
5352005-09-26 Miklos Szeredi <miklos@szeredi.hu>
536
Miklos Szerediedec95c2005-09-26 10:22:22 +0000537 * fusermount: allow user umount in the case when /etc/mtab is a
538 symlink to /proc/mounts. Reported by Balázs Pozsár.
539
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00005402005-09-23 Miklos Szeredi <miklos@szeredi.hu>
541
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000542 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000543
Miklos Szeredif45f3c12005-09-22 15:14:27 +00005442005-09-22 Miklos Szeredi <miklos@szeredi.hu>
545
546 * Slight optimization in returning EINVAL error in case of an open
547 with O_DIRECT flag.
548
Miklos Szeredi670d07a2005-09-20 11:36:32 +00005492005-09-20 Miklos Szeredi <miklos@szeredi.hu>
550
551 * Remove '--enable-auto-modprobe' configure flag. Module
552 auto-loading is now handled by the kernel.
553
Miklos Szeredid51fca12005-09-15 12:51:00 +00005542005-09-15 Miklos Szeredi <miklos@szeredi.hu>
555
556 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
557 Help from Jens M. Noedler.
558
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005592005-09-14 Miklos Szeredi <miklos@szeredi.hu>
560
561 * Add memory cleanup on thread exit
562
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005632005-09-13 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Set umask to zero in fusexmp and fusexmp_fh, so that
566 files/directories are created with the requested mode.
567
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005682005-09-12 Miklos Szeredi <miklos@szeredi.hu>
569
570 * Don't ignore read error in multithreaded loop
571
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005722005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000573
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000574 * Released 2.4.0-pre2
575
5762005-09-08 Miklos Szeredi <miklos@szeredi.hu>
577
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000578 * Revert lock and access operations. Postpone these until 2.5.
579
5802005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000581
582 * Fix compile warning on 2.6.13 and later
583
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000584 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000585
Miklos Szeredi77ccf652005-08-19 14:40:27 +00005862005-08-19 Miklos Szeredi <miklos@szeredi.hu>
587
588 * lib: always refresh directory contents after rewinddir() to
589 conform to SUS. Bug found by John Muir.
590
Miklos Szeredia1482422005-08-14 23:00:27 +00005912005-08-15 Miklos Szeredi <miklos@szeredi.hu>
592
Miklos Szeredic43f9412005-08-15 15:10:48 +0000593 * Released 2.4.0-pre1
594
5952005-08-14 Miklos Szeredi <miklos@szeredi.hu>
596
Miklos Szeredia1482422005-08-14 23:00:27 +0000597 * lib: cleaned up (or messed up, depending on your POV) the low
598 level library API. Hopefully this is close to the final form.
599
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00006002005-08-05 Miklos Szeredi <miklos@szeredi.hu>
601
602 * fusermount: don't allow empty mountpoint argument, which defeats
603 automatic umounting in fuse_main(). Bugreport by Václav Jůza
604
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00006052005-08-03 Miklos Szeredi <miklos@szeredi.hu>
606
607 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
608 option is used (Paul Alfille).
609
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00006102005-08-02 Miklos Szeredi <miklos@szeredi.hu>
611
612 * highlevel-lib: added mount options "attr_timeout" and
613 "entry_timeout". These options control the length of time file
614 attributes and entries (names) are cached. Both default to 1.0
615 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000616
617 * kernel: correctly handle zero timeout for attributes and entries
618
Miklos Szeredi56a61f02005-08-01 10:42:25 +00006192005-08-01 Miklos Szeredi <miklos@szeredi.hu>
620
621 * Added missing symbols to versionscript (Joshua J. Berry)
622
Miklos Szeredie77cc072005-08-01 11:58:51 +0000623 * kernel: implement two flags, open can set: 'direct_io' and
624 'keep_cache'. These correspond exactly to mount options
625 'direct_io' and 'kernel_cache', but allow a per-open setting.
626
627 * Move 'direct_io' and 'kernel_cache' mount option handling to
628 userspace. For both mount options, if the option is given, then
629 the respective open flag is set, otherwise the open flag is left
630 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000631
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000632 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000633
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00006342005-07-28 Miklos Szeredi <miklos@szeredi.hu>
635
636 * kernel: invalidate attributes for read/readdir/readlink
637 operations
638
639 * kernel: detect newer UML kernels
640
Miklos Szeredibfb99462005-07-26 11:07:55 +00006412005-07-26 Miklos Szeredi <miklos@szeredi.hu>
642
643 * Make the installation path of fuse.ko and mount.fuse
644 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
645 environment variables. Requirement and help from Csaba Henk.
646
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00006472005-07-22 Miklos Szeredi <miklos@szeredi.hu>
648
649 * Fix bug, that causes filesystem requests to hang when unique
650 request counter becomes negative. This happens after
651 2,147,483,648 operations, so most people won't care. Thanks to
652 Franco Broi for the report and testing.
653
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006542005-07-21 Miklos Szeredi <miklos@szeredi.hu>
655
656 * Don't change mtime/ctime/atime to local time on read/write.
657 Bug reported by Ben Grimm
658
659 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
660 Magnusson
661
662 * fusermount: use getopt_long() for option parsing. It allows the
663 use of '--' to stop argument scanning, so fusermount can now
664 operate on directories whose names begin with a '-'. Patch by
665 Adam Connell
666
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006672005-07-15 Miklos Szeredi <miklos@szeredi.hu>
668
669 * fusermount: add '-v', '--version' and '--help' options
670
671 * add inode based API
672
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006732005-07-12 Miklos Szeredi <miklos@szeredi.hu>
674
675 * lib: don't block signals in worker threads. Problem noticed by
676 Usarin Heininga
677
Miklos Szeredic902a852005-07-07 12:35:37 +00006782005-07-07 Miklos Szeredi <miklos@szeredi.hu>
679
680 * lib: don't allow both 'allow_other' and 'allow_root' options to
681 be given
682
Miklos Szeredi437d8112005-07-06 09:14:20 +00006832005-07-06 Miklos Szeredi <miklos@szeredi.hu>
684
685 * fusermount: check if mountpoint is empty (only '.' and '..' for
686 directories, and size = 0 for regular files). If "nonempty"
687 option is given, omit this check. This is useful, so users don't
688 accidentally hide data (e.g. from backup programs). Thanks to
689 Frank van Maarseveen for pointing this out.
690
691 * kernel: check if mandatory mount options ('fd', 'rootmode',
692 'user_id', 'group_id') are all given
693
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000694 * lib: simplify 'readdir_ino' handling
695
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000696 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
697
Miklos Szeredibb9f5172005-07-03 18:03:11 +00006982005-07-03 Miklos Szeredi <miklos@szeredi.hu>
699
700 * kernel: clean up 'direct_io' code
701
Miklos Szeredie1bcece2005-06-28 10:37:06 +00007022005-06-28 Miklos Szeredi <miklos@szeredi.hu>
703
704 * Add 'mount.fuse' written by Petr Klima
705
Miklos Szeredi866826d2005-06-28 12:22:57 +0000706 * '/dev/fuse' is created by 'make install' if does not yet exist
707
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00007082005-06-20 Miklos Szeredi <miklos@szeredi.hu>
709
710 * Fix UCLIBC compile error. Patch by Christian Magnusson
711
Miklos Szerediec12fad2005-06-08 10:26:34 +00007122005-06-08 Miklos Szeredi <miklos@szeredi.hu>
713
714 * Enable the auto-loading of the module via access to the
715 corresponding device file. Patch by Takashi Iwai.
716
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000717 * Allow mounting a regular file (over a regular file) for
718 unprivleged users.
719
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000720 * Do not create temporary device file. Require "/dev/fuse" to
721 exist, and be readable/writable by the mounting user.
722
Miklos Szeredi46960ce2005-06-02 09:05:00 +00007232005-06-02 Miklos Szeredi <miklos@szeredi.hu>
724
Miklos Szeredi56478552005-06-02 10:29:00 +0000725 * Released 2.3.0
726
7272005-06-02 Miklos Szeredi <miklos@szeredi.hu>
728
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000729 * Fix serious information leak: if the filesystem returns a short
730 byte count to a read request, and there are non-zero number of
731 pages which are not filled at all, these pages will not be zeroed.
732 Hence the user can read out previous memory contents. Found by
733 Sven Tantau.
734
Miklos Szeredi33be22d2005-05-27 09:12:43 +00007352005-05-27 Miklos Szeredi <miklos@szeredi.hu>
736
737 * Add "readdir_ino" mount option, which tries to fill in the d_ino
738 field in struct dirent. This mount option is ignored if "use_ino"
739 is used. It helps some programs (e.g. 'pwd' used over NFS from a
740 non-Linux OS). Patch by David Shaw.
741
Miklos Szeredif94e0102005-05-12 14:56:34 +00007422005-05-12 Miklos Szeredi <miklos@szeredi.hu>
743
Miklos Szeredieb009c42005-05-12 15:01:17 +0000744 * Released 2.3-rc1
745
7462005-05-12 Miklos Szeredi <miklos@szeredi.hu>
747
Miklos Szeredif94e0102005-05-12 14:56:34 +0000748 * File save in krusader and other editors doesn't work with sshfs,
749 because open() is interrupted by a periodic signal, and open()
750 restarts forever, without any progress. This could just be fixed
751 in open(), but the problem is more generic: if signals are
752 received more often than the filesystem can get the request to
753 userspace, it will never finish. This is probably only a
754 theoretical problem, nevertheless I'm removing the possibility to
755 interrupt requests with anything other than SIGKILL, even before
756 being sent to userspace. Bugreport by Eduard Czimbalmos.
757
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007582005-05-09 Miklos Szeredi <miklos@szeredi.hu>
759
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000760 * libfuse: add "tree_lock" rwlock, that is locked for write in
761 rename, unlink and rmdir, and locked for read in all other
762 operations. This should fix the rename/release race reported by
763 Valient Gough and others. The solution is very coarse, a finer
764 grained locking scheme could be implemented, but it would be much
765 more complex. Let's see whether this is good enough.
766
7672005-05-09 Miklos Szeredi <miklos@szeredi.hu>
768
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000769 * Released 2.3-pre7
770
Miklos Szeredi38009022005-05-08 19:47:22 +00007712005-05-08 Miklos Szeredi <miklos@szeredi.hu>
772
773 * Better fix for out of order FORGET messages. Now the
774 LOOKUP/FORGET messages are balanced exactly (one FORGET can
775 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000776 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000777 compatible.
778
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00007792005-05-06 Miklos Szeredi <miklos@szeredi.hu>
780
781 * Fix abort for out of order FORGET messages. Again. Spotted by
782 Franco Broi again. Sorry :)
783
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00007842005-04-29 Miklos Szeredi <miklos@szeredi.hu>
785
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000786 * Released 2.3-pre6
787
7882005-04-29 Miklos Szeredi <miklos@szeredi.hu>
789
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000790 * Make fusermount work with fuse kernel modules not yet supporting
791 the "group_id" option (added for the purpose of stricter
792 permission checking).
793
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00007942005-04-28 Miklos Szeredi <miklos@szeredi.hu>
795
796 * Check for hard-linked directories in lookup. This could cause
797 problems in the VFS, which assumes that such objects never exist.
798
799 * Make checking of permission for other users more strict. Now
800 the same privilege is required for the mount owner as for ptrace
801 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000802
Miklos Szeredi3efcb562005-04-23 13:34:29 +00008032005-04-23 Miklos Szeredi <miklos@szeredi.hu>
804
805 * Released 2.3-pre5
806
Miklos Szeredid001bf92005-04-22 07:54:11 +00008072005-04-22 Miklos Szeredi <miklos@szeredi.hu>
808
809 * Add -msoft-float to kernel module compile flags for 2.4.X. This
810 is needed on certain architectures. Report from Chris Kirby
811
812 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
813 Reported by David Shaw
814
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000815 * Remove "allow_root" option from kernel module, and implement
816 it's functionality in the library
817
818 * Fix Oops caused by premature release of fuse_conn. Clean up
819 related code, to be more readable
820
Miklos Szeredif9137452005-04-23 10:59:44 +0000821 * Sendfile should not use page cache if "direct_io" mount option
822 is given
823
Miklos Szeredib7640d22005-04-08 15:15:28 +00008242005-04-08 Miklos Szeredi <miklos@szeredi.hu>
825
826 * Fix Oops in case of nfs export. Spotted by David Shaw
827
Miklos Szeredi89814a12005-04-08 16:39:09 +0000828 * Fix another Oops in case of write over nfs with direct_io turned
829 on. Again spotted by David Shaw
830
Miklos Szerediab974562005-04-07 15:40:21 +00008312005-04-07 Miklos Szeredi <miklos@szeredi.hu>
832
Miklos Szeredi432d6182005-04-07 15:56:13 +0000833 * Released 2.3-pre4
834
8352005-04-07 Miklos Szeredi <miklos@szeredi.hu>
836
Miklos Szerediab974562005-04-07 15:40:21 +0000837 * lib: finalized new readdir() interface, which now supersedes the
838 getdir() method.
839
Miklos Szeredi30e093a2005-04-03 17:44:54 +00008402005-04-03 Miklos Szeredi <miklos@szeredi.hu>
841
842 * Released 2.3-pre3
843
8442005-04-03 Miklos Szeredi <miklos@szeredi.hu>
845
846 * Implement backward compatibility with version 5 kernel ABI
847
Miklos Szeredi18fce982005-04-01 21:07:35 +00008482005-04-01 Miklos Szeredi <miklos@szeredi.hu>
849
850 * Released 2.3-pre2
851
8522005-04-01 Miklos Szeredi <miklos@szeredi.hu>
853
854 * kernel: fix dirent offset handling
855
856 * lib: add readdir and releasedir methods
857
858 * lib: use fh field of fuse_file_info in opendir, readdir,
859 releasedir and fsyncdir methods
860
861 * lib: check kernel API version and bail out of it's old. This
862 will be properly fixed in the next release
863
8642005-03-31 Miklos Szeredi <miklos@szeredi.hu>
865
866 * Released 2.3-pre1
867
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008682005-03-31 Miklos Szeredi <miklos@szeredi.hu>
869
870 * kernel API: add padding to structures, so 64bit and 32bit
871 compiler will return the same size
872
873 * kernel API: add offset field to fuse_dirent. This will allow
874 more sophisticated readdir interface for userspace
875
876 * kernel API: change major number to 6
877
878 * kernel: fix warnings on 64bit archs
879
880 * kernel: in case of API version mismatch, return ECONNREFUSED
881
Miklos Szeredi407e6a72005-03-25 12:19:43 +00008822005-03-24 Miklos Szeredi <miklos@szeredi.hu>
883
884 * kernel: trivial cleanups
885
Miklos Szeredi4283ee72005-03-21 12:09:04 +00008862005-03-21 Miklos Szeredi <miklos@szeredi.hu>
887
888 * Add fsyncdir() operation
889
Miklos Szeredid17da462005-03-21 11:47:04 +00008902005-03-19 Miklos Szeredi <miklos@szeredi.hu>
891
892 * kernel: add locking to background list (fixes previous fix)
893
8942005-03-18 Miklos Szeredi <miklos@szeredi.hu>
895
896 * kernel: fix bug which could cause leave busy inodes after
897 unmount, and Oops.
898
8992005-03-08 Miklos Szeredi <miklos@szeredi.hu>
900
901 * examples: add -lpthread to link flags to work around valgrind
902 quirk
903
904 * lib: don't exit threads, so cancelation doesn't cause segfault
905
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00009062005-03-04 Miklos Szeredi <miklos@szeredi.hu>
907
908 * kernel: fix nasty bug which could cause an Oops under certain
909 situations. Found by Magnus Johansson
910
Miklos Szeredif43f0632005-02-28 11:46:56 +00009112005-02-28 Miklos Szeredi <miklos@szeredi.hu>
912
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000913 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000914 permission checking in getdir() is too late. Thanks to Usarin
915 Heininga for pointing out this deficiency
916
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000917 * libfuse: added init() and destroy() methods to fuse_operations
918
Miklos Szeredif43f0632005-02-28 11:46:56 +0000919 * kernel: llseek() method for files and directories made explicit
920
921 * kernel: fixed inode leak in NFS export in case of nodeid
922 wrapping
923
Miklos Szeredied3c97c2005-02-15 17:04:50 +00009242005-02-15 Miklos Szeredi <miklos@szeredi.hu>
925
926 * libfuse: clean up some unitialized memory found with valgrind
927
Miklos Szeredi47c52982005-02-23 09:27:38 +0000928 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
929 explicitly linked libpthread for applications
930
Miklos Szeredia7169412005-02-10 07:35:05 +00009312005-02-10 Miklos Szeredi <miklos@szeredi.hu>
932
933 * fusermount: set umask, otherwise /etc/mtab will have
934 unpredictable permission. Spotted by Jindrich Kolorenc
935
936 * fusermount: set owner and group of /etc/mtab to original values
937 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000938
939 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000940
Miklos Szeredib92d9782005-02-07 16:10:49 +00009412005-02-07 Miklos Szeredi <miklos@szeredi.hu>
942
943 * Cleaned up directory reading (temporary file is not used)
944
Miklos Szerediff30a6c2005-02-02 10:53:59 +00009452005-02-02 Miklos Szeredi <miklos@szeredi.hu>
946
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000947 * Released 2.2
948
9492005-02-02 Miklos Szeredi <miklos@szeredi.hu>
950
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000951 * Fix possible race when operation is interrupted
952
Miklos Szeredi7a983952005-01-28 09:58:19 +00009532005-01-28 Miklos Szeredi <miklos@szeredi.hu>
954
Miklos Szeredie5183742005-02-02 11:14:04 +0000955 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000956
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009572005-01-26 Miklos Szeredi <miklos@szeredi.hu>
958
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000959 * Released 2.2-pre6
960
9612005-01-26 Miklos Szeredi <miklos@szeredi.hu>
962
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000963 * Fix bug in link() operation which caused the wrong path to be
964 passed as the first argument. Found by Anton Altaparmakov
965
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009662005-01-21 Miklos Szeredi <miklos@szeredi.hu>
967
968 * LIB: fix double reply in readdir operation
969
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000970 * fusermount: fix uid checking bug. Patch by Adam Connell
971
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000972 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000973 Patch by Keshava Gowda
974
Miklos Szeredi64074142005-01-20 08:48:11 +00009752005-01-20 Miklos Szeredi <miklos@szeredi.hu>
976
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000977 * KERNEL: provide correct llseek semantics for fuse device (fixes
978 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
979
9802005-01-20 Miklos Szeredi <miklos@szeredi.hu>
981
Miklos Szeredi64074142005-01-20 08:48:11 +0000982 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
983
Miklos Szeredi1adb2272005-01-18 21:19:58 +00009842005-01-18 Miklos Szeredi <miklos@szeredi.hu>
985
986 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
987 and RELEASEDIR. This ends the ugly hack of passing a file
988 descriptor to the kernel, and actually makes the code simpler.
989
Miklos Szeredi7db35c02005-01-17 09:46:28 +00009902005-01-17 Miklos Szeredi <miklos@szeredi.hu>
991
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000992 * Released 2.2-pre4
993
9942005-01-17 Miklos Szeredi <miklos@szeredi.hu>
995
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000996 * fusermount: remove capability setting, which was the cause of
997 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000998 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000999
Miklos Szeredidbe0f652005-01-15 14:32:56 +000010002005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001001
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001002 * fix compilation on 2.4 kernels (reported by Valient Gough)
1003
1004 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001005
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001006 * fusermount: improve parsing of /etc/fuse.conf
1007
10082005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1009
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001010 * Remove 'mount_max' and 'user_allow_other' module options. These
1011 are now checked by fusermount, and can be set in /etc/fuse.conf
1012
1013 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1014
Miklos Szeredi81394522005-01-11 14:24:18 +000010152005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1016
1017 * KERNEL: fix possible inode allocation problem, where
1018 sizeof(struct inode) is not aligned (found by Mike Waychison)
1019
1020 * KERNEL: use new follow_link/put_link methods
1021
1022 * KERNEL: cosmetic fixes
1023
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000010242005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1025
1026 * Released 2.2-pre3
1027
10282005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1029
1030 * Add missing code that was accidently left out
1031
Miklos Szeredi8c7da232005-01-09 12:27:41 +000010322005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1033
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001034 * Released 2.2-pre2
1035
10362005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1037
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001038 * Change "uid" mount option to "user_id" to avoid confusion with a
1039 mount option "uid" commonly used by many filesystems
1040
10412005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1042
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001043 * Released 2.2-pre1
1044
10452005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1046
1047 * If FUSE is configured in the kernel, don't build it by default
1048
Miklos Szeredi2a927272005-01-07 11:14:15 +000010492005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1050
1051 * Compile fix by Christian Magnusson
1052
Miklos Szeredib6220192005-01-05 16:19:10 +000010532005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1054
1055 * Fix compilation for 2.6.{0-5} kernels
1056
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010572005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1058
1059 * KERNEL: if request is interrupted, still keep reference to used
1060 inode(s) and file, so that FORGET and RELEASE are not sent until
1061 userspace finishes the request.
1062
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001063 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1064 request with the same information, which is more flexible,
1065 simpler, works on embedded systems.
1066
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010672004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1068
1069 * KERNEL ABI: update interface to make it independent of type
1070 sizes. This will help on 64 bit architectures which can run
1071 legacy 32 bit applications.
1072
1073 * KERNEL ABI: add "len" field to request headers. This will allow
1074 sending/receiving requests in multiple chunks.
1075
1076 * KERNEL: handle file type change more intelligently
1077
1078 * LIB: "-o debug" option should disable backgrounding (fix by
1079 Fabien Reygrobellet)
1080
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000010812004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1082
1083 * KERNEL: invalidate dentry/attributes if interrupted request
1084 could leave filesystem in an unknown state.
1085
Miklos Szeredie56818b2004-12-12 11:45:24 +000010862004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1087
1088 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1089 These will cause some regressions, but stability is considered
1090 more important. If any of these features turns out to be
1091 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001092
Miklos Szeredie56818b2004-12-12 11:45:24 +00001093 * Make all requests interruptible (only with SIGKILL currently).
1094 This can be used to break any deadlock produced by the userspace
1095 filesystem accessing it's own exported files. The RELEASE request
1096 is special, because if it's interrupted before sending it to
1097 userspace it is still sent, but the reply is not awaited.
1098
1099 * If request is interrupted before being sent to userspace, and if
1100 it hasn't yet got any side effects, it is always restarted,
1101 regardless of the SA_RESTART flag. This makes these interruptions
1102 transparent to the process.
1103
1104 * Remove shared-writable mmap support, which was prone to an
1105 out-of-memory deadlock situation
1106
1107 * Remove INVALIDATE userspace initiated request
1108
1109 * Make readpages() synchronous. Asynchronous requests are
1110 deadlock prone, since they cannot be interrupted.
1111
1112 * Add readv/writev support to fuse device operations
1113
1114 * Remove some printks, which userspace FS can use for a DoS
1115 against syslog
1116
1117 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1118 fusermount instead
1119
1120 * LIB: improve compatibility with a fuse.h header installed in
1121 ${prefix}/include which in turn includes the real header.
1122
1123 * LIB: improve compatibility by defining fuse_main() (which is now
1124 not used), so old configure scripts find it.
1125
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000011262004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1127
1128 * When mounting on a subdirectory of / don't duplicate slashes at
1129 the beggining of path (spotted by David Shaw)
1130
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000011312004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1132
1133 * Fix bug causing garbage in mount options (spotted by David Shaw)
1134
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000011352004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1136
1137 * Add 'writepage' flag to 'fuse_file_info'.
1138
1139 * More comments in fuse.h
1140
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001141 * Get rid of double underscores
1142
Miklos Szeredi799993c2004-12-04 21:20:05 +000011432004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1144
1145 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1146
1147 * helper.c: add -ho option, which only displays the options not
1148 the usage header. This can be used by filesystems which have
1149 their own options.
1150
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000011512004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1152
1153 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1154 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1155 including the fuse header
1156
1157 * Add binary compatibility to 2.1 version of library with symbol
1158 versioning
1159
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011602004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1161
1162 * Released 2.1
1163
Miklos Szeredi039322d2004-12-01 18:39:12 +000011642004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1165
1166 * kernel: clean up writing functions
1167
1168 * kernel: no allocation on write in direct_io mode
1169
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001170 * move linux/fuse.h to fuse_kernel.h
1171
Miklos Szeredi83a07442004-11-30 18:25:20 +000011722004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1173
1174 * kernel: clean up reading functions
1175
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000011762004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1177
1178 * kernel: make readpage() uninterruptible
1179
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001180 * kernel: check readonly filesystem flag in fuse_permission
1181
1182 * lib: don't die if version file not found and new style device
1183 exists
1184
1185 * lib: add '-r' option, which is short for '-o ro'
1186
1187 * fusermount: simplify device opening
1188
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001189 * kernel: when direct_io is turend on, copy data directly to
1190 destination without itermediate buffer. More efficient and safer,
1191 since no allocation is done.
1192
1193 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001194
1195 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001196
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000011972004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1198
1199 * libfuse API change: open, read, write, flush, fsync and release
1200 are passed a 'struct fuse_file_info' pointer containing the open
1201 flags (open and release), and the file handle. Verion changed to
1202 3.0.
1203
Miklos Szeredia25d4c22004-11-23 22:32:16 +000012042004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1205
1206 * More cleanups in the kernel
1207
1208 * The 10,229 charater device number has been assigned for FUSE
1209
1210 * Version file checking fix (reported by Christian Magnusson)
1211
1212 * fusermount: opening the fuse device now doesn't need /sys.
1213
1214 * Optimize reading by controlling the maximum readahead based on
1215 the 'max_read' mount option
1216
1217 * fixes for UCLIBC (Christian Magnusson)
1218
Miklos Szeredi13ed4822004-11-20 11:12:21 +000012192004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1220
1221 * Cleaned up kernel in preparation for merge into mainline:
1222
1223 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1224
1225 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1226
1227 * __user annotations for sparse
1228
1229 * allocate individual pages instead of kmalloc in fuse_readdir,
1230 fuse_read and fuse_write.
1231
1232 * Fix NFS export in case "use_ino" mount option is given
1233
Miklos Szeredif3845c42004-11-20 11:18:34 +00001234 * Make libfuse and fusermount compatible with future versions
1235
1236 * fusermount: properly add mount options to /etc/mtab
1237
12382004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1239
1240 * fusermount: do not resolve last component of mountpoint on if it
1241 is '.' or '..'. This new path resolvation is now done on mount as
1242 well as unmount. This enables relative paths to work on unmount.
1243
1244 * fusermount: parse common mount options like "ro", "rw", etc...
1245
1246 * Allow module params to be changed through sysfs
1247
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000012482004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1249
1250 * Released 2.1-pre1
1251
12522004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1253
1254 * Fix bug in fuse_readpages() causing Oops in certain situations.
1255 Bug found by Vincenzo Ciancia.
1256
1257 * Fix compilation with kernels versions > 2.6.9.
1258
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012592004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001260
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001261 * Check kernel interface version in fusermount to prevent
1262 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001263
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001264 * No need to allocate fuse_conn until actual mount happens
1265
1266 * Fix potential race between umount and fuse_invalidate
1267
1268 * Check superblock of proc file in addition to inode number
1269
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001270 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001271
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012722004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1273
1274 * Separate configure for the kernel directory
1275
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001276 * Don't allow write to return more than 'count'
1277
1278 * Extend kernel interface for future use
1279
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012802004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1281
1282 * Fix 'makeconf.sh' to use autoreconf if available
1283
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000012842004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1285
Miklos Szeredid507c732004-11-08 17:32:25 +00001286 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1287 compatibility with earlier versions. To compile earier versions
1288 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1289 Do not use the "use_ino" mount flag with filesystems compiled with
1290 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001291
1292 * Add pkg-config support. To compile a FUSE based filesystem you
1293 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1294 or similar. Note, that the PKG_CONFIG_PATH environment variable
1295 usually needs to be set to "/usr/local/lib/pkgconfig".
1296
1297 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001298
Miklos Szeredia13d9002004-11-02 17:32:03 +000012992004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1300
1301 * Added "use_ino" mount option. This enables the filesystems to
1302 set the st_ino field on files
1303
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000013042004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1305
1306 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1307 by Jeremy Smith)
1308
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001309 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1310
1311 * Clear the 'exited' flag when mail loop is finished
1312
Miklos Szeredie989f0d2004-10-28 20:24:58 +000013132004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1314
1315 * Make xattr functions work under 2.6 (bug found by Vincenzo
1316 Ciancia)
1317
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000013182004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1319
1320 * Reset request in fuse_flush() (bugreport by David Shaw)
1321
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000013222004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1323
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001324 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001325 error code
1326
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001327 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001328 make it easier to implement a custom event loop.
1329
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001330 * Use daemon() call to background the filesystem after mounting.
1331 This function closes the standard input, output and error and
1332 changes the current working directory to "/".
1333
Miklos Szeredi127d49b2004-10-14 13:33:39 +000013342004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1335
1336 * Released 1.9
1337
Miklos Szeredid45baf42004-10-10 07:56:12 +000013382004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1339
1340 * Don't allow fuse_flush() to be interrupted (bug found by David
1341 Shaw)
1342
Miklos Szeredi1f18db52004-09-27 06:54:49 +000013432004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1344
1345 * Add PID to fuse_context. Patch by Steven James
1346
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001347 * Change file handle type to 'unsigned long' in kernel interface
1348
Miklos Szeredid169f312004-09-22 08:48:26 +000013492004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1350
1351 * A slight API change: fuse_get_context() doesn't need the "fuse"
1352 pointer, but the returned context contains it instead. The
1353 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001354
1355 * Fix mounting and umounting FUSE filesystem under another FUSE
1356 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001357
Miklos Szeredic2309912004-09-21 13:40:38 +000013582004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1359
1360 * Fix deadlock in case of memory allocation failure. Patch by
1361 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001362
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013632004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1364
1365 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001366
Miklos Szeredi65afea12004-09-14 07:13:45 +000013672004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1368
1369 * Check temporary file creation failure in do_getdir(). Bug
1370 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001371
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013722004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1373
1374 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001375
1376 * Make requests non-interruptible so race with FORGET is avoided.
1377 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001378
1379 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001380
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000013812004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1382
1383 * Fix bug in case two FORGETs for the same node are executed in
1384 the wrong order. Bug spotted and endured for months by Franco
1385 Broi, and logfile for solution provided by Terje Oseberg
1386
Miklos Szeredi12085102004-09-02 18:13:57 +000013872004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1388
1389 * Add -D_REENTRANT to the compile flags
1390
1391 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001392
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000013932004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1394
1395 * Change release method to be non-interruptible. Fixes bug
1396 causing missing release() call when program which has opened files
1397 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001398
Miklos Szeredi891b8742004-07-29 09:27:49 +000013992004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1400
1401 * Add fuse_invalidate() to library API
1402
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000014032004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1404
1405 * Check permissions in setattr if 'default_permissions' flag is
1406 set. Bug spotted by Damjan Lango
1407
Miklos Szeredid66d3942004-07-24 13:47:44 +000014082004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1409
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001410 * 'large_read' mount option removed for 2.6 kernels, since the
1411 default (dynamic read size) is better
1412
1413 * Extend kernel API with file handles. A file handle is returned
1414 by open, and passed to read, write, flush, fsync and release.
1415 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001416
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001417 * Security changes:
1418
1419 * Change the current directory to the mountpoint before checking
1420 the permissions and mount filesystem on "."
1421
1422 * By default don't modprobe the fuse module for non-root. The old
1423 behavior can be restored with the '--enable-auto-modprobe' flag of
1424 ./configure
1425
1426 * By default don't allow shared writable mappings for non-root.
1427 The old behavior can be restored with the 'user_mmap=1' module
1428 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001429
Miklos Szeredibd7661b2004-07-23 17:16:29 +000014302004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1431
1432 * Clean up mount option passing to fusermount and to fuse_new()
1433 BEWARE: this changes the userspace API slightly, and the command
1434 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001435
Miklos Szeredi58865372004-07-20 14:22:26 +000014362004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1437
1438 * Optimize reading under 2.6 kernels by issuing multiple page
1439 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001440
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000014412004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1442
1443 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001444
Miklos Szeredi069c9502004-07-16 16:17:02 +000014452004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1446
1447 * Separate directory entry and inode attribute validity timer
1448
1449 * New write semaphore to stop page writeback during truncate
1450
1451 * Fsync now waits for all writes to complete before sending the
1452 request
1453
1454 * Optimization: if a page is completely written by
1455 fuse_commit_write(), clear the dirty flag and set the uptodate
1456 flag for that page
1457
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001458 * Some memory cleanup at exit
1459
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014602004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1461
1462 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001463 disable the "hide if open" behavior of unlink/rename.
1464
1465 * If temporary buffer allocation fails in raw read, fall back to a
1466 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001467
Miklos Szeredi73798f92004-07-12 15:55:11 +000014682004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1469
1470 * Fix bug in do_open() in libfuse: open count was incremented
1471 after the reply is sent so it could race with unlink/forget and
1472 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001473
Miklos Szeredi015fe702004-07-12 11:52:24 +000014742004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1475
1476 * When performing create or remove operation, refresh the parent's
1477 attributes on next revalidate, as i_nlink (and maybe size/time)
1478 could be inacurate.
1479
1480 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1481 pages (2.6 only)
1482
1483 * Set set_page_dirty address space operation (2.6 only)
1484
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014852004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001486
1487 * Minor fix in read: print debug info even if read size is zero
1488
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014892004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001490
1491 * Fix race between truncate and writepage (fsx-linux now runs
1492 without error)
1493
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014942004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001495
1496 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1497 by Mattias Wadman)
1498
1499 * Added option for direct read/write (-r)
1500
1501 * Fix revalidate time setting for newly created inodes
1502
Miklos Szerediacb4d362004-07-02 16:20:45 +00001503 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1504 this)
1505
1506 * fuse_main() only installs handlers for signals (out of INT, HUP,
1507 TERM, PIPE), for which no handler has yet been installed
1508
1509 * Add module option 'user_allow_other' which if set to non-zero
1510 will allow non root user to specify the 'allow_other' mount option
1511 ('-x' option of fusermount)
1512
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001513 * Fix deadlock between page writeback completion and truncate
1514 (bug found by Valient Gough with the fsx-linux utility)
1515
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015162004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001517
1518 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001519 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1520 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001521
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015222004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001523
1524 * Acquire inode->i_sem before open and release methods to prevent
1525 concurrent rename or unlink operations.
1526
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001527 * Make __fuse_read_cmd() read only one command. This allows
1528 multiplexing the fuse file descriptor with other event sources
1529 using select() or poll() (patch by Jeff Harris)
1530
1531 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1532
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015332004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001534
1535 * Fix file offset wrap around at 4G when doing large reads
1536
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015372004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001538
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001539 * Fix memory leak in open (Valient Gough)
1540
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015412004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001542
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001543 * Add "close after delete" support to libfuse (patch by Valient
1544 Gough)
1545
1546 * Cancel all worker threads before exit in multithreaded mode
1547
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015482004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001549
1550 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001551
1552 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001553
1554 * Work with newer libtool (1.5a)
1555
1556 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001557
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015582004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001559
1560 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001561
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015622004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001563
1564 * Fix possible inode leak in userspace in case of unfinished
1565 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001566
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015672004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001568
1569 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001570
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015712004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001572
1573 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001574
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015752004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001576
1577 * Build shared library as well as static (using libtool)
1578
1579 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1580 there has not been a release with the previous minor number, and I
1581 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001582
1583 * Change fuse_main(), so that default behavior is to go into
1584 background if mount is successful. '-f' and '-d' options disable
1585 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1586 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001587
1588 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1589 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001590
1591 * Don't call getdir method from open() only from first readdir().
1592 Open is sometimes just used to store the current directory
1593 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001594
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015952004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001596
1597 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001598
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015992004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001600
1601 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001602
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016032004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001604
1605 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001606
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016072004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001608
1609 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001610
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016112004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001612
1613 * Replaced binary mount data with text options
1614
1615 * Show FUSE specific mount options in /proc/mounts
1616
1617 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1618
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016192004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001620
1621 * Check some limits so userspace won't get too big requests
1622
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016232004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001624
1625 * Kill compile warning
1626
1627 * Upgraded user-mount patch for 2.6.5
1628
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016292004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001630
1631 * Add detection of user-mode-linux to configure
1632
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016332004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001634
1635 * fixed zero size case for getxattr and listxattr
1636
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016372004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001638
1639 * new fusermount flag '-z': lazy unmount, default is not lazy
1640
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001641 * Extended attributes operations added (getxattr, setxattr,
1642 listxattr, removexattr)
1643
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016442004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001645
1646 * If filesystem doesn't define a statfs operation, then an
1647 all-zero default statfs is returned instead of ENOSYS
1648
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016492004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001650
1651 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1652
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016532004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001654
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001655 * Fix for uClinux (Christian Magnusson)
1656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016572004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001658
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001659 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001660
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001661 * More kernel interface changes:
1662
1663 * Lookup/getattr return cache timeout values
1664
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016652004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001666
1667 * Clean up option parsing in fuse_main()
1668
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001669 * Added fuse_get() function which returns the fuse object created
1670 by fuse_main()
1671
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016722004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001673
Miklos Szeredic40748a2004-02-20 16:38:45 +00001674 * removed old way of mounting (fusermount mountpoint program)
1675
Miklos Szeredib5958612004-02-20 14:10:49 +00001676 * more kernel interface changes:
1677
1678 * added nanosecond precision to file times
1679
Miklos Szeredic40748a2004-02-20 16:38:45 +00001680 * removed interface version from mount data
1681
1682 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1683
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016842004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001685
1686 * statfs library API changed to match other methods. Since this
1687 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1688
Miklos Szeredi76f65782004-02-19 16:55:40 +00001689 * kernel interface changes follow:
1690
1691 * statfs changed to 64 bits, added 'bavail' field
1692
1693 * add generation number to lookup result
1694
1695 * optimized mknod/mkdir/symlink/link (no separate lookup is
1696 needed)
1697
1698 * rdev size increased to 32 bits for mknod
1699
1700 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001701
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017022004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001703
1704 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001705
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017062004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001707
1708 * Added user-mount.2.6.2-rc3.patch
1709
1710 * Add FS_SAFE flag to fuse filesystem
1711
1712 * fusermount should allow (un)mounting for non-root even if not
1713 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001714
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017152004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001716
1717 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001718
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017192004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001720
1721 * Added check for i_size_read/write functions to configure.in
1722 (patch by Valient Gough)
1723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017242004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001725
1726 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001727
1728 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001729
1730 * Readpage calls flush_dcache_page() after storing data
1731
1732 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001733
1734 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001735
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017362004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001737
1738 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001739
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017402004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001741
1742 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001743
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017442004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001745
1746 * Added -q option for fusermount
1747
1748 * fuse_unmount() now uses -q option of fusermount, so no error is
1749 printed if the cause of the program exit is that the filesystem
1750 has already been unmounted
1751
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001752 * Fix i_nlink correctness after rmdir/unlink
1753
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017542004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001755
Miklos Szeredib1158392004-01-26 14:43:12 +00001756 * Released 1.1-pre2
1757
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017582004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001759
Miklos Szeredi307242f2004-01-26 11:28:44 +00001760 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001761
1762 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001763
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017642004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001765
1766 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001767
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017682004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001769
1770 * Write all pending data before a RELEASE operation
1771
1772 * Suppress 'Bad file descriptor' warning on exit
1773
1774 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001775 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001776
Miklos Szeredib1158392004-01-26 14:43:12 +00001777 * New fusermount option '-l' which enables big reads. Big reads
1778 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001779
1780 * fuse_main() can accept fusermount arguments after a '--'
1781
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017822004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001783
1784 * Support for exporting filesystem over NFS (see README.NFS)
1785
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017862004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001787
1788 * Support non-blocking writepage on 2.6. This makes FUSE behave
1789 much more nicely in low-memory situations
1790
1791 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1792 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001793
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017942004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001795
1796 * Code cleanups
1797
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017982004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001799
1800 * Released 1.1-pre1
1801
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018022004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001803
1804 * Integrated 2.6 kernel support patch by Michael Grigoriev
1805
1806 * Improvements and cleanups for 2.6 kernels
1807
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018082004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001809
Miklos Szeredie5183742005-02-02 11:14:04 +00001810 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001811
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018122003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001813
1814 * Added major+minor version to library API, and minor version to
1815 kernel API
1816
David McNab7a19caf2003-12-13 02:05:46 +000018172003-12-13 David McNab <david@rebirthing.co.nz>
1818
1819 * Implemented fsync support in examples/example.py
1820
1821 * Implemented 'fsync' and 'statfs' methods in python
1822 interface
1823
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018242003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001825
Miklos Szeredie5183742005-02-02 11:14:04 +00001826 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001827
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001828 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001829
David McNab8bf62632003-12-11 22:49:22 +000018302003-12-12 David McNab <david@rebirthing.co.nz>
1831
1832 * Added distutils support to the python module, as per standard
1833 python development practice
1834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018352003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001836
1837 * Add file locking for mount/unmount (based on patch by Valient
1838 Gough)
1839
18402003-12-11 David McNab <david@rebirthing.co.nz>
1841
1842 * Python filesystem - was broken with python2.3, now fixed:
1843 - changed PyTuple_* calls to PySequence_*, because os.lstat
1844 is no longer returning a pure tuple
1845 - changed PyInt_Check() calls to also call PyLong_Check,
1846 to cover for cases (eg os.lstat) where longs are returned
1847 - Added support for file 'release' handling, which IMO is
1848 essential since this signals to a FS that writes to a file
1849 are complete (and therefore the file can now be disposed of
1850 meaningfully at the python filesystem's discretion)
1851 - Added '__init__' handler to base Fuse class, which allows
1852 your Python class to know the mountpoint and mount args,
1853 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001854
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001855 * General:
1856 - added 'mount.fuse' script (in util/ dir), which is meant to be
1857 symlinked from /sbin, and which allows FUSE filesystems to
1858 be mounted with the 'mount' command, and listed in fstab;
1859 also, mount arguments get passed to your filesystem
1860
1861
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018622003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001863
1864 * Fix kernel version detection (again). Bugreport by Peter Levart
1865
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018662003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001867
1868 * Applied read combining patch by Michael Grigoriev (tested by
1869 Valient Gough and Vincent Wagelaar)
1870
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018712003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001872
1873 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1874 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001875
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018762003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001877
1878 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001879
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018802003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001881
1882 * kernel version detection fix
1883
1884 * fusermount now uses "lazy" umount option
1885
1886 * fusermount can use modprobe with module-init-tools
1887
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018882003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001889
1890 * Integrated caching patch by Michael Grigoriev
1891
Miklos Szeredida4e4862003-09-08 11:14:11 +00001892 * Added "Filesystems" file with descriptions of projects using
1893 FUSE
1894
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001895 * Added patch by Michael Grigoriev to allow compliation of FUSE
1896 kernel module for 2.6 kernels
1897
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018982003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001899
1900 * And another spec-file fix by Achim Settelmeier
1901
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019022003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001903
1904 * Spec-file fix by Achim Settelmeier
1905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019062003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001907
Miklos Szerediac361172004-11-02 19:14:14 +00001908 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001909
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019102003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001911
1912 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001915
1916 * Updated fuse.spec file (Achim Settelmeier)
1917
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019182003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001919
1920 * Version 1.0 released
1921
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019222003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001923
1924 * SuSE compilation fix by Juan-Mariano de Goyeneche
1925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019262002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001927
1928 * The release() VFS call is now exported to the FUSE interface
1929
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019302002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001931
1932 * 64 bit file offset fixes in the fuse kernel module
1933
1934 * Added function 'fuse_exit()' which can be used to exit the main
1935 loop
1936
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019372002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001938
1939 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1940 an incompatible interface change.
1941
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019422002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001943
1944 * Portablility fix (bug reported by C. Chris Erway)
1945
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019462002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001947
1948 * Use Mark Glines' fd passing method for default operation instead
1949 of old reexec
1950
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019512002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001952
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001953 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1954
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019552002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001956
Miklos Szeredi60c23522002-10-24 09:19:43 +00001957 * fix incompatiblity with Red Hat kernels, with help from Nathan
1958 Thompson-Amato.
1959
Mark Glines65ba2192002-04-18 14:41:48 +000019602002-04-18 Mark Glines <mark@glines.org>
1961
1962 * added an alternative to fuse_mount(), called
1963 fuse_mount_ioslave(), which does not need to reexec the
1964 FUSE program.
1965 * added a small helper util needed by fuse_mount_ioslave().
1966
Mark Glines220635a2002-03-17 07:01:14 +000019672002-03-16 Mark Glines <mark@glines.org>
1968
1969 * use struct fuse_statfs everywhere possible to avoid problems
1970 with the headerfiles changing struct statfs member sizes
1971
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019722002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001973
1974 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1975
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019762002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001977
1978 * RPM support by Achim Settelmeier
1979
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019802002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001981
Miklos Szerediddc862a2002-01-09 13:46:10 +00001982 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001983
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019842002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001985
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001986 * Revaidate all path components not just the last, this means a
1987 very small performance penalty for being more up-to-date.
1988
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019892002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001990
1991 * Update and fix python interface
1992
Mark Glinesd84b39a2002-01-07 16:32:02 +000019932002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001994
Mark Glinesd84b39a2002-01-07 16:32:02 +00001995 * Added statfs() support to kernel, lib, examples, and perl!
1996
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019972001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001998
1999 * Better cross compilation support
2000
2001 * Ported to Compaq IPAQ
2002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020032001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002004
Miklos Szeredife25def2001-12-20 15:38:05 +00002005 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002006 patch from Matt Ryan)
2007
Miklos Szeredife25def2001-12-20 15:38:05 +00002008 * Added flags to fusermount and to kernel interface to control
2009 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002010
Miklos Szeredife25def2001-12-20 15:38:05 +00002011 * Integrated fuse_set_operations() into fuse_new()
2012
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020132001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002014
2015 * Applied header protection + extern "C" patch by Roland
2016 Bauerschmidt
2017
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020182001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002019
Miklos Szeredie5183742005-02-02 11:14:04 +00002020 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002021
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020222001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002023
2024 * Cleaned up way of mounting simple filesystems.
2025
2026 * fuse_main() helper function added
2027
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020282001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002029
Miklos Szeredife25def2001-12-20 15:38:05 +00002030 * Optimized read/write operations, so that minimal copying of data
2031 is done
2032
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020332001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002034
2035 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002036
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020372001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002038
2039 * Fixed vfsmount reference leak in fuse_follow_link
2040
2041 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2042 userspace is ignored
2043
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020442001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002045
Miklos Szeredife25def2001-12-20 15:38:05 +00002046 * Started ChangeLog