blob: 3da79480efed56e9eaa30c15289db9daea9a3ff7 [file] [log] [blame]
Miklos Szeredi67d26d42006-03-13 17:39:56 +000012006-03-13 Miklos Szeredi <miklos@szeredi.hu>
2
3 * kernel: replace global spinlock with a per-connection spinlock
4
Miklos Szeredi87c77932006-03-10 10:18:20 +000052006-03-10 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Fix source compatibility breakage for fuse_unmount(). Report
8 from Yura Pakhuchiy
9
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000102006-03-02 Miklos Szeredi <miklos@szeredi.hu>
11
12 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
13
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000142006-03-01 Miklos Szeredi <miklos@szeredi.hu>
15
16 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
17 Jeff Dike
18
19 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
20 interface to return -errno in case of error.
21
Csaba Henkee588c02006-03-01 09:40:35 +0000222006-03-01 Csaba Henk <csaba.henk@creo.hu>
23
24 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
25 FreeBSD implementation so that it uses libc (sysctl backed) instead
26 of an embdedded script (kmem backed). Adjust the control flow of
27 hello_ll so that device doesn't get closed before unmount attempt.
28
Miklos Szerediaa8258e2006-02-25 14:42:03 +0000292006-02-25 Miklos Szeredi <miklos@szeredi.hu>
30
31 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
32 implement method. This is needed on FreeBSD, and nicer on Linux
33 too. Highlevel lib already did this. Reported by Csaba Henk
34
35 * Fix negative entry handling. There was a bug, that negative
36 lookups with timeouts (nodeid == 0) returned -EIO.
37
382006-02-23 Miklos Szeredi <miklos@szeredi.hu>
39
40 * Fix race between RELEASE and UNLINK, which might leave
41 .fuse_hidden* files around
42
Miklos Szeredi6bab4802006-02-21 18:31:29 +0000432006-02-21 Miklos Szeredi <miklos@szeredi.hu>
44
45 * fusexmp_fh: implement flush() method and call close() on the
46 open file descriptor. This is needed if used on an NFS
47 filesystem, which buffers data until file is closed. Franco Broi
48 spotted the situation when 'cp -p' failed to set the modification
49 time because of this.
50
Miklos Szeredie109e282006-02-20 11:06:20 +0000512006-02-20 Miklos Szeredi <miklos@szeredi.hu>
52
53 * Released 2.6.0-pre1
54
Miklos Szeredib67f2162006-02-20 10:55:33 +0000552006-02-19 Miklos Szeredi <miklos@szeredi.hu>
56
57 * libfuse: fix use-after-free bug in interruptred reply_entry().
58 Patch from John Muir
59
60 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
61 ID: 352631. Found by Stéphane Rosi
62
Miklos Szeredi1bf64f42006-02-17 15:49:25 +0000632006-02-17 Miklos Szeredi <miklos@szeredi.hu>
64
65 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
66 into a single function fuse_add_direntry(). This cleans up the
67 interface and makes it possible to do stacking.
68
Miklos Szeredi99ac9c02006-02-16 10:08:32 +0000692006-02-16 Miklos Szeredi <miklos@szeredi.hu>
70
71 * Fix rare race betweeen abort and release caused by failed iget()
72 in fuse_create_open().
73
Miklos Szeredi6e806e92006-02-16 16:59:39 +000074 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
75 own attribute caching.
76
Miklos Szeredid65cdfe2006-02-15 14:25:17 +0000772006-02-15 Miklos Szeredi <miklos@szeredi.hu>
78
79 * Work around FreeBSD runtime linker "feature" which binds an old
80 version of a symbol to internal references if the symbol has more
81 than one version. This resulted in infinite recursion in
82 fuse_lowlevel_new_compat25().
83
Csaba Henkdcce3e52006-02-10 06:22:15 +0000842006-02-10 Csaba Henk <csaba.henk@creo.hu>
85
86 * Refine clock_gettime() querying so that linker options
87 shall be set as it's appropriate for the target platform.
88
Miklos Szeredi390ae312006-02-10 16:44:34 +0000892006-02-09 Miklos Szeredi <miklos@szeredi.hu>
90
91 * Fix udev rule syntax. Reported by Nix
92
Miklos Szeredieb643582006-02-08 10:54:02 +0000932006-02-08 Miklos Szeredi <miklos@szeredi.hu>
94
95 * In some cases udev rule seems to be ineffective when installed
96 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
97
Miklos Szeredi357529c2006-02-03 09:20:31 +0000982006-02-03 Miklos Szeredi <miklos@szeredi.hu>
99
100 * Fix compilation when build directory is different from source
101 directory. Reported by Frédéric L. W. Meunier
102
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001032006-02-02 Miklos Szeredi <miklos@szeredi.hu>
104
105 * Fix even bigger bug introduced in fix for request_end() on
106 2006-01-14. Reported by Gal Rosen
107
Miklos Szeredi320abe42006-01-30 18:14:51 +00001082006-01-30 Miklos Szeredi <miklos@szeredi.hu>
109
110 * highlevel-lib: add 'auto_cache' option. This caches file data
111 based on modification time and size
112
Miklos Szeredi065f2222006-01-20 15:15:21 +00001132006-01-20 Miklos Szeredi <miklos@szeredi.hu>
114
Miklos Szeredid66b7282006-02-02 15:15:21 +0000115 * Sanitize storage type and help message in mount_bsd.c. Patch
116 from Csaba Henk
117
Miklos Szeredi065f2222006-01-20 15:15:21 +0000118 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
119 FUSE_OPT_KEY_DISCARD
120
121 * Add options 'max_readahead', 'sync_read' and 'async_read'
122
123 * Kernel ABI version 7.6:
124
125 * Negotiate the 'max_readahead' value and 'async_read' flags with
126 userspace in the INIT method
127
128 * Add connection info to ->init() methods to both lowlevel and
129 highlevel API
130
131 * Fall back to synchronous read() behavior if either library or
132 userspace filesystem is using the old interface version. This is
133 needed so non-updated filesystems won't be confused by the
134 different read() behavior
135
1362006-01-19 Miklos Szeredi <miklos@szeredi.hu>
137
138 * lib: if "fsname=" option was given, pass it to fusermount
139
140 * fuse_opt: add new fuse_opt_insert_arg() function, which is
141 needed by filesystems to implement some argument manipulations
142 correctly
143
144 * fuse_opt: fix memory leak in handling "--" option
145
1462006-01-18 Miklos Szeredi <miklos@szeredi.hu>
147
148 * kernel: fix detection of case when fuse is not configured into
149 the kernel either as module or built-in
150
151 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
152 'template' structure member to 'templ'. Reported by Takashi Iwai
153
154 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
155
156 * kernel: support version 2.6.16 (i_sem -> i_mutex)
157
Miklos Szeredi15af1b82006-01-16 17:52:24 +00001582006-01-16 Miklos Szeredi <miklos@szeredi.hu>
159
160 * Added (again) asynchronous readpages support
161
162 * Each connection now shows up under /sys/fs/fuse/connections
163
164 * Connection attributes exported to sysfs: 'waiting' number of
165 waiting requests; 'abort' abort the connection
166
167 * Connection may be aborted through either the sysfs interface or
168 with 'umount -f mountpoint'
169
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00001702006-01-14 Miklos Szeredi <miklos@szeredi.hu>
171
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000172 * Released 2.5.0
173
1742006-01-14 Miklos Szeredi <miklos@szeredi.hu>
175
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000176 * kernel: fix a couple of bugs
177
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000178 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000179 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000180 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000181
182 * request_end() used request pointer after decrementing refcount
183
184 * Clearing ->connected or ->mounted connection flags could race
185 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000186
Miklos Szeredia9820342006-01-10 10:54:11 +00001872006-01-10 Miklos Szeredi <miklos@szeredi.hu>
188
189 * kernel: add necessary compile flags for 2.4.X/x86_64.
190 Report from Sean Ziegeler
191
Miklos Szeredi35676b02006-01-09 10:13:28 +00001922006-01-09 Miklos Szeredi <miklos@szeredi.hu>
193
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000194 * Released 2.5.0-pre2
195
1962006-01-09 Miklos Szeredi <miklos@szeredi.hu>
197
Miklos Szeredi35676b02006-01-09 10:13:28 +0000198 * Applied patch from Csaba Henk, to update mount_bsd to new
199 fuse_mount() semantics
200
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000201 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
202 Steiner and Don Taber
203
Miklos Szeredicb075c82006-01-09 11:33:04 +0000204 * fusermount: add 'dirsync' mount option
205
Miklos Szerediad005972006-01-07 10:14:34 +00002062006-01-07 Miklos Szeredi <miklos@szeredi.hu>
207
208 * Improved help reporting and added version reporting to library
209
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002102006-01-06 Miklos Szeredi <miklos@szeredi.hu>
211
212 * Change working directory to "/" even if running in the
213 foreground. Patch from Jonathan Brandmeyer
214
Miklos Szeredi95da8602006-01-06 18:29:40 +0000215 * Changed lots of functions to use 'struct fuse_args' instead of
216 separate argc and argv
217
218 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
219 fuse_remove_signal_handlers() functions, so that it's now pretty
220 easy to get all the functionality of fuse_main() with a filesystem
221 using the lowlevel API.
222
Miklos Szeredib8638182006-01-02 12:52:24 +00002232006-01-02 Miklos Szeredi <miklos@szeredi.hu>
224
Miklos Szeredif1941472006-01-02 16:27:48 +0000225 * mount.fuse: the 'user' option should be ignored. Report and
226 solution from Mattd.
227
228 * mount.fuse: export PATH in the right place. Report and patch
229 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000230
Miklos Szeredi73f41392005-12-16 11:12:16 +00002312005-12-16 Miklos Szeredi <miklos@szeredi.hu>
232
233 * Clean up the option parsing interface slightly, by creating an
234 "argument list" structure, that contains the argument vector and
235 count
236
Miklos Szeredi4e829092005-12-15 16:13:49 +00002372005-12-15 Miklos Szeredi <miklos@szeredi.hu>
238
239 * fusermount: check if /mnt/mtab is a symlink and don't modify it
240 in that case
241
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000242 * kernel: simplify request size limiting. INIT only contains
243 maximum write size, maximum path component size remains fixed at
244 1024 bytes, and maximum xattr size depends on read buffer.
245
Miklos Szeredie248e4b2005-12-14 16:18:32 +00002462005-12-14 Miklos Szeredi <miklos@szeredi.hu>
247
248 * Fix readdir() failure on x86_64, of 32bit programs compiled
249 without largefile support. Bug report and help from Anthony
250 Kolasny
251
Miklos Szeredi64709572005-12-14 22:16:28 +0000252 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000253 a regular file
254
255 * Add current output argument vector to option processing
256 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000257
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00002582005-12-12 Miklos Szeredi <miklos@szeredi.hu>
259
260 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
261
Miklos Szeredi659743b2005-12-09 17:41:42 +00002622005-12-09 Miklos Szeredi <miklos@szeredi.hu>
263
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000264 * Released 2.5.0-pre1
265
2662005-12-09 Miklos Szeredi <miklos@szeredi.hu>
267
Miklos Szeredi659743b2005-12-09 17:41:42 +0000268 * libfuse: added option parsing interface, defined in
269 <fuse_opt.h>.
270
Miklos Szeredic53cddd2005-12-07 12:57:59 +00002712005-12-07 Miklos Szeredi <miklos@szeredi.hu>
272
273 * Return EIO for file operations (read, write, fsync, flush) on
274 open files whose inode has become "bad". Inodes will be marked
275 "bad" if their type changes. Bug report by Csaba Henk
276
Miklos Szeredi044da2e2005-12-06 17:59:55 +00002772005-12-06 Miklos Szeredi <miklos@szeredi.hu>
278
279 * Use bigger request buffer size. write() did not work on archs
280 with > 4k page size, Bug report by Mark Haney
281
282 * ABI version 7.5:
283
284 * Extend INIT reply with data size limits
285
Miklos Szeredifa829b52005-12-02 11:05:41 +00002862005-12-02 Miklos Szeredi <miklos@szeredi.hu>
287
288 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
289 reported by Vincenzo Ciancia
290
291 * Handle exit-by-umount in fuse_read_cmd()
292
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00002932005-11-29 Miklos Szeredi <miklos@szeredi.hu>
294
295 * Check if '-msoft-float' option is supported by compiler when
296 configuring for a 2.4.x kernel. Bug report by Mark Haney
297
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000298 * In multithreaded loop send a TERM signal to the main thread if
299 one of the other threads exit. Needed on FreeBSD for a clean exit
300 on umount. Should not cause any harm on Linux either
301
Miklos Szerediead7f102005-11-28 16:02:27 +00003022005-11-28 Miklos Szeredi <miklos@szeredi.hu>
303
304 * Fix bug in 32-bit file handle compatibility
305
Miklos Szeredia90b7342005-11-27 19:22:42 +00003062005-11-27 Miklos Szeredi <miklos@szeredi.hu>
307
308 * Block TERM, INT, HUP and QUIT signals in all but the main
309 thread. According to POSIX it's not specified which thread will
310 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000311
312 * Kernel changes:
313
314 * Check for directory aliasing on mkdir, not just on lookup
315
316 * Check for special node ID values in create+open operation
317
318 * Sync with -mm: readv, writev, aio_read and aio_write methods
319 added to file operations
320
321 * Cleanups: lookup code, page offset calculation
322
323 * ABI stepped to 7.4, changes:
324
325 * frsize member added to fuse_kstatfs structure
326
327 * added support for negative entry caching: on lowlevel API if
328 fuse_entry_param::ino is set to zero in reply to a lookup request,
329 the kernel will cache the dentry for the specified amount of time.
330
331 * libfuse: added 'negative_timeout' option: specifies how much
332 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000333 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000334
Miklos Szeredibac4c772005-11-23 13:35:54 +00003352005-11-22 Miklos Szeredi <miklos@szeredi.hu>
336
337 * Add detection of mainline FUSE code in running kernel
338
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00003392005-11-21 Miklos Szeredi <miklos@szeredi.hu>
340
341 * Don't use async cancelation in multithreaded loop. This makes
342 it more portable to systems where read() is not async cancel safe.
343 Report from Andriy Gapon
344
Miklos Szeredi05c97842005-11-20 17:05:07 +00003452005-11-20 Miklos Szeredi <miklos@szeredi.hu>
346
347 * Warn if API version 11 compatibility is requested
348
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00003492005-11-17 Miklos Szeredi <miklos@szeredi.hu>
350
351 * More FreeBSD merge
352
Miklos Szeredi832ee442005-11-18 21:02:36 +0000353 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
354 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000355 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000356
357 * libfuse: don't use system() to invoke 'fusermount -u ...'
358 because it breaks mountpoints with spaces in them into multiple
359 arguments
360
Miklos Szeredib3f99722005-11-16 13:00:24 +00003612005-11-16 Miklos Szeredi <miklos@szeredi.hu>
362
363 * Merge library part of FreeBSD port. Patch by Csaba Henk
364
Miklos Szeredi3a770472005-11-11 21:32:42 +00003652005-11-11 Miklos Szeredi <miklos@szeredi.hu>
366
367 * Use 64bit type for file handle, so the full range supported by
368 the kernel interface is available to applications
369
Miklos Szeredibcc53852005-11-10 09:54:41 +00003702005-11-10 Miklos Szeredi <miklos@szeredi.hu>
371
372 * Moved mountpoint argument checking from fuse_parse_cmdline() to
373 fuse_mount() in preparation to FreeBSD merge.
374
Miklos Szeredi4ec06812005-11-08 13:04:27 +00003752005-11-08 Miklos Szeredi <miklos@szeredi.hu>
376
377 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
378 Henk.
379
Miklos Szeredic706ad92005-11-07 15:30:48 +00003802005-11-07 Miklos Szeredi <miklos@szeredi.hu>
381
382 * Make the statfs change backwards compatible.
383
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00003842005-11-06 Miklos Szeredi <miklos@szeredi.hu>
385
386 * Change ->statfs() method to use 'struct statvfs' instead of
387 'struct statfs'. This makes the API more portable since statvfs()
388 is defined by POSIX.
389
Miklos Szeredif7eec032005-10-28 13:09:50 +00003902005-10-28 Miklos Szeredi <miklos@szeredi.hu>
391
392 * Add fgetattr() method, which currently will only be called after
393 a successful call to a create() method.
394
Miklos Szeredib0b13d12005-10-26 12:53:25 +00003952005-10-26 Miklos Szeredi <miklos@szeredi.hu>
396
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000397 * Change kernel ABI version to 7.3
398
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000399 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000400 call if 'default_permissions' mount option is not given, and is
401 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000402
Miklos Szeredid9079a72005-10-26 15:29:06 +0000403 * Add atomic CREATE+OPEN operation. This will only work with
404 2.6.15 (presumably) or later Linux kernels.
405
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000406 * Add ftruncate() method. This will only work with 2.6.15
407 (presumably) or later Linux kernels.
408
409 * Fix kernel module compile if kernel source and build directories
410 differ. Report and initial patch by John Eastman
411
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004122005-10-18 Miklos Szeredi <miklos@szeredi.hu>
413
414 * lib: optimize buffer reallocation in fill_dir.
415
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004162005-10-17 Miklos Szeredi <miklos@szeredi.hu>
417
418 * Released 2.4.1
419
Miklos Szeredif412d072005-10-14 21:24:32 +00004202005-10-14 Miklos Szeredi <miklos@szeredi.hu>
421
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000422 * libfuse: add debug for write result (by Shaun Jackman) and
423 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000424
Miklos Szeredib75d4b92005-10-11 10:12:08 +00004252005-10-11 Miklos Szeredi <miklos@szeredi.hu>
426
427 * Spelling fixes, thanks to Ioannis Barkas
428
Miklos Szeredibaab5872005-10-10 08:41:14 +00004292005-10-10 Miklos Szeredi <miklos@szeredi.hu>
430
431 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
432 patch
433
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00004342005-10-07 Miklos Szeredi <miklos@szeredi.hu>
435
436 * highlevel-lib: init() and destroy() methods didn't have an
437 initialized fuse_context. Bug reported by Tim Stoakes
438
Miklos Szeredif2491122005-10-04 10:10:41 +00004392005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000440
441 * Released 2.4.0
442
Miklos Szeredi836ab712005-10-03 14:11:59 +00004432005-10-03 Miklos Szeredi <miklos@szeredi.hu>
444
445 * Add documentation to fuse_lowlevel.h
446
447 * API cleanups:
448
449 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
450
451 * Move fuse_mount() and fuse_unmount() to fuse_common.h
452
453 * Change the return type of fuse_reply_none() from int to void.
454
Miklos Szerediaf138742005-09-30 08:49:59 +00004552005-09-30 Miklos Szeredi <miklos@szeredi.hu>
456
457 * kernel: NFS exporting leaked dentries. Bug found and fixed by
458 Akshat Aranya.
459
Miklos Szeredidb016e02005-09-29 10:06:27 +00004602005-09-29 Miklos Szeredi <miklos@szeredi.hu>
461
462 * fusermount: fix error message, when unable to open /dev/fuse.
463 Report by Balázs Pozsár
464
Miklos Szeredi35200932005-09-28 14:50:49 +00004652005-09-28 Miklos Szeredi <miklos@szeredi.hu>
466
467 * UClibc fixes from Christian Magnusson
468
Miklos Szeredi8eddf642005-09-27 08:58:26 +00004692005-09-27 Miklos Szeredi <miklos@szeredi.hu>
470
471 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
472
Miklos Szerediedec95c2005-09-26 10:22:22 +00004732005-09-26 Miklos Szeredi <miklos@szeredi.hu>
474
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000475 * Released 2.4.0-rc1
476
4772005-09-26 Miklos Szeredi <miklos@szeredi.hu>
478
Miklos Szerediedec95c2005-09-26 10:22:22 +0000479 * fusermount: allow user umount in the case when /etc/mtab is a
480 symlink to /proc/mounts. Reported by Balázs Pozsár.
481
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00004822005-09-23 Miklos Szeredi <miklos@szeredi.hu>
483
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000484 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000485
Miklos Szeredif45f3c12005-09-22 15:14:27 +00004862005-09-22 Miklos Szeredi <miklos@szeredi.hu>
487
488 * Slight optimization in returning EINVAL error in case of an open
489 with O_DIRECT flag.
490
Miklos Szeredi670d07a2005-09-20 11:36:32 +00004912005-09-20 Miklos Szeredi <miklos@szeredi.hu>
492
493 * Remove '--enable-auto-modprobe' configure flag. Module
494 auto-loading is now handled by the kernel.
495
Miklos Szeredid51fca12005-09-15 12:51:00 +00004962005-09-15 Miklos Szeredi <miklos@szeredi.hu>
497
498 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
499 Help from Jens M. Noedler.
500
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005012005-09-14 Miklos Szeredi <miklos@szeredi.hu>
502
503 * Add memory cleanup on thread exit
504
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005052005-09-13 Miklos Szeredi <miklos@szeredi.hu>
506
507 * Set umask to zero in fusexmp and fusexmp_fh, so that
508 files/directories are created with the requested mode.
509
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005102005-09-12 Miklos Szeredi <miklos@szeredi.hu>
511
512 * Don't ignore read error in multithreaded loop
513
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005142005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000515
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000516 * Released 2.4.0-pre2
517
5182005-09-08 Miklos Szeredi <miklos@szeredi.hu>
519
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000520 * Revert lock and access operations. Postpone these until 2.5.
521
5222005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000523
524 * Fix compile warning on 2.6.13 and later
525
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000526 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000527
Miklos Szeredi77ccf652005-08-19 14:40:27 +00005282005-08-19 Miklos Szeredi <miklos@szeredi.hu>
529
530 * lib: always refresh directory contents after rewinddir() to
531 conform to SUS. Bug found by John Muir.
532
Miklos Szeredia1482422005-08-14 23:00:27 +00005332005-08-15 Miklos Szeredi <miklos@szeredi.hu>
534
Miklos Szeredic43f9412005-08-15 15:10:48 +0000535 * Released 2.4.0-pre1
536
5372005-08-14 Miklos Szeredi <miklos@szeredi.hu>
538
Miklos Szeredia1482422005-08-14 23:00:27 +0000539 * lib: cleaned up (or messed up, depending on your POV) the low
540 level library API. Hopefully this is close to the final form.
541
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00005422005-08-05 Miklos Szeredi <miklos@szeredi.hu>
543
544 * fusermount: don't allow empty mountpoint argument, which defeats
545 automatic umounting in fuse_main(). Bugreport by Václav Jůza
546
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00005472005-08-03 Miklos Szeredi <miklos@szeredi.hu>
548
549 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
550 option is used (Paul Alfille).
551
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00005522005-08-02 Miklos Szeredi <miklos@szeredi.hu>
553
554 * highlevel-lib: added mount options "attr_timeout" and
555 "entry_timeout". These options control the length of time file
556 attributes and entries (names) are cached. Both default to 1.0
557 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000558
559 * kernel: correctly handle zero timeout for attributes and entries
560
Miklos Szeredi56a61f02005-08-01 10:42:25 +00005612005-08-01 Miklos Szeredi <miklos@szeredi.hu>
562
563 * Added missing symbols to versionscript (Joshua J. Berry)
564
Miklos Szeredie77cc072005-08-01 11:58:51 +0000565 * kernel: implement two flags, open can set: 'direct_io' and
566 'keep_cache'. These correspond exactly to mount options
567 'direct_io' and 'kernel_cache', but allow a per-open setting.
568
569 * Move 'direct_io' and 'kernel_cache' mount option handling to
570 userspace. For both mount options, if the option is given, then
571 the respective open flag is set, otherwise the open flag is left
572 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000573
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000574 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000575
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00005762005-07-28 Miklos Szeredi <miklos@szeredi.hu>
577
578 * kernel: invalidate attributes for read/readdir/readlink
579 operations
580
581 * kernel: detect newer UML kernels
582
Miklos Szeredibfb99462005-07-26 11:07:55 +00005832005-07-26 Miklos Szeredi <miklos@szeredi.hu>
584
585 * Make the installation path of fuse.ko and mount.fuse
586 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
587 environment variables. Requirement and help from Csaba Henk.
588
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00005892005-07-22 Miklos Szeredi <miklos@szeredi.hu>
590
591 * Fix bug, that causes filesystem requests to hang when unique
592 request counter becomes negative. This happens after
593 2,147,483,648 operations, so most people won't care. Thanks to
594 Franco Broi for the report and testing.
595
Miklos Szeredi9b813af2005-07-21 07:59:37 +00005962005-07-21 Miklos Szeredi <miklos@szeredi.hu>
597
598 * Don't change mtime/ctime/atime to local time on read/write.
599 Bug reported by Ben Grimm
600
601 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
602 Magnusson
603
604 * fusermount: use getopt_long() for option parsing. It allows the
605 use of '--' to stop argument scanning, so fusermount can now
606 operate on directories whose names begin with a '-'. Patch by
607 Adam Connell
608
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006092005-07-15 Miklos Szeredi <miklos@szeredi.hu>
610
611 * fusermount: add '-v', '--version' and '--help' options
612
613 * add inode based API
614
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006152005-07-12 Miklos Szeredi <miklos@szeredi.hu>
616
617 * lib: don't block signals in worker threads. Problem noticed by
618 Usarin Heininga
619
Miklos Szeredic902a852005-07-07 12:35:37 +00006202005-07-07 Miklos Szeredi <miklos@szeredi.hu>
621
622 * lib: don't allow both 'allow_other' and 'allow_root' options to
623 be given
624
Miklos Szeredi437d8112005-07-06 09:14:20 +00006252005-07-06 Miklos Szeredi <miklos@szeredi.hu>
626
627 * fusermount: check if mountpoint is empty (only '.' and '..' for
628 directories, and size = 0 for regular files). If "nonempty"
629 option is given, omit this check. This is useful, so users don't
630 accidentally hide data (e.g. from backup programs). Thanks to
631 Frank van Maarseveen for pointing this out.
632
633 * kernel: check if mandatory mount options ('fd', 'rootmode',
634 'user_id', 'group_id') are all given
635
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000636 * lib: simplify 'readdir_ino' handling
637
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000638 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
639
Miklos Szeredibb9f5172005-07-03 18:03:11 +00006402005-07-03 Miklos Szeredi <miklos@szeredi.hu>
641
642 * kernel: clean up 'direct_io' code
643
Miklos Szeredie1bcece2005-06-28 10:37:06 +00006442005-06-28 Miklos Szeredi <miklos@szeredi.hu>
645
646 * Add 'mount.fuse' written by Petr Klima
647
Miklos Szeredi866826d2005-06-28 12:22:57 +0000648 * '/dev/fuse' is created by 'make install' if does not yet exist
649
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00006502005-06-20 Miklos Szeredi <miklos@szeredi.hu>
651
652 * Fix UCLIBC compile error. Patch by Christian Magnusson
653
Miklos Szerediec12fad2005-06-08 10:26:34 +00006542005-06-08 Miklos Szeredi <miklos@szeredi.hu>
655
656 * Enable the auto-loading of the module via access to the
657 corresponding device file. Patch by Takashi Iwai.
658
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000659 * Allow mounting a regular file (over a regular file) for
660 unprivleged users.
661
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000662 * Do not create temporary device file. Require "/dev/fuse" to
663 exist, and be readable/writable by the mounting user.
664
Miklos Szeredi46960ce2005-06-02 09:05:00 +00006652005-06-02 Miklos Szeredi <miklos@szeredi.hu>
666
Miklos Szeredi56478552005-06-02 10:29:00 +0000667 * Released 2.3.0
668
6692005-06-02 Miklos Szeredi <miklos@szeredi.hu>
670
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000671 * Fix serious information leak: if the filesystem returns a short
672 byte count to a read request, and there are non-zero number of
673 pages which are not filled at all, these pages will not be zeroed.
674 Hence the user can read out previous memory contents. Found by
675 Sven Tantau.
676
Miklos Szeredi33be22d2005-05-27 09:12:43 +00006772005-05-27 Miklos Szeredi <miklos@szeredi.hu>
678
679 * Add "readdir_ino" mount option, which tries to fill in the d_ino
680 field in struct dirent. This mount option is ignored if "use_ino"
681 is used. It helps some programs (e.g. 'pwd' used over NFS from a
682 non-Linux OS). Patch by David Shaw.
683
Miklos Szeredif94e0102005-05-12 14:56:34 +00006842005-05-12 Miklos Szeredi <miklos@szeredi.hu>
685
Miklos Szeredieb009c42005-05-12 15:01:17 +0000686 * Released 2.3-rc1
687
6882005-05-12 Miklos Szeredi <miklos@szeredi.hu>
689
Miklos Szeredif94e0102005-05-12 14:56:34 +0000690 * File save in krusader and other editors doesn't work with sshfs,
691 because open() is interrupted by a periodic signal, and open()
692 restarts forever, without any progress. This could just be fixed
693 in open(), but the problem is more generic: if signals are
694 received more often than the filesystem can get the request to
695 userspace, it will never finish. This is probably only a
696 theoretical problem, nevertheless I'm removing the possibility to
697 interrupt requests with anything other than SIGKILL, even before
698 being sent to userspace. Bugreport by Eduard Czimbalmos.
699
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007002005-05-09 Miklos Szeredi <miklos@szeredi.hu>
701
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000702 * libfuse: add "tree_lock" rwlock, that is locked for write in
703 rename, unlink and rmdir, and locked for read in all other
704 operations. This should fix the rename/release race reported by
705 Valient Gough and others. The solution is very coarse, a finer
706 grained locking scheme could be implemented, but it would be much
707 more complex. Let's see whether this is good enough.
708
7092005-05-09 Miklos Szeredi <miklos@szeredi.hu>
710
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000711 * Released 2.3-pre7
712
Miklos Szeredi38009022005-05-08 19:47:22 +00007132005-05-08 Miklos Szeredi <miklos@szeredi.hu>
714
715 * Better fix for out of order FORGET messages. Now the
716 LOOKUP/FORGET messages are balanced exactly (one FORGET can
717 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000718 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000719 compatible.
720
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00007212005-05-06 Miklos Szeredi <miklos@szeredi.hu>
722
723 * Fix abort for out of order FORGET messages. Again. Spotted by
724 Franco Broi again. Sorry :)
725
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00007262005-04-29 Miklos Szeredi <miklos@szeredi.hu>
727
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000728 * Released 2.3-pre6
729
7302005-04-29 Miklos Szeredi <miklos@szeredi.hu>
731
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000732 * Make fusermount work with fuse kernel modules not yet supporting
733 the "group_id" option (added for the purpose of stricter
734 permission checking).
735
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00007362005-04-28 Miklos Szeredi <miklos@szeredi.hu>
737
738 * Check for hard-linked directories in lookup. This could cause
739 problems in the VFS, which assumes that such objects never exist.
740
741 * Make checking of permission for other users more strict. Now
742 the same privilege is required for the mount owner as for ptrace
743 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000744
Miklos Szeredi3efcb562005-04-23 13:34:29 +00007452005-04-23 Miklos Szeredi <miklos@szeredi.hu>
746
747 * Released 2.3-pre5
748
Miklos Szeredid001bf92005-04-22 07:54:11 +00007492005-04-22 Miklos Szeredi <miklos@szeredi.hu>
750
751 * Add -msoft-float to kernel module compile flags for 2.4.X. This
752 is needed on certain architectures. Report from Chris Kirby
753
754 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
755 Reported by David Shaw
756
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000757 * Remove "allow_root" option from kernel module, and implement
758 it's functionality in the library
759
760 * Fix Oops caused by premature release of fuse_conn. Clean up
761 related code, to be more readable
762
Miklos Szeredif9137452005-04-23 10:59:44 +0000763 * Sendfile should not use page cache if "direct_io" mount option
764 is given
765
Miklos Szeredib7640d22005-04-08 15:15:28 +00007662005-04-08 Miklos Szeredi <miklos@szeredi.hu>
767
768 * Fix Oops in case of nfs export. Spotted by David Shaw
769
Miklos Szeredi89814a12005-04-08 16:39:09 +0000770 * Fix another Oops in case of write over nfs with direct_io turned
771 on. Again spotted by David Shaw
772
Miklos Szerediab974562005-04-07 15:40:21 +00007732005-04-07 Miklos Szeredi <miklos@szeredi.hu>
774
Miklos Szeredi432d6182005-04-07 15:56:13 +0000775 * Released 2.3-pre4
776
7772005-04-07 Miklos Szeredi <miklos@szeredi.hu>
778
Miklos Szerediab974562005-04-07 15:40:21 +0000779 * lib: finalized new readdir() interface, which now supersedes the
780 getdir() method.
781
Miklos Szeredi30e093a2005-04-03 17:44:54 +00007822005-04-03 Miklos Szeredi <miklos@szeredi.hu>
783
784 * Released 2.3-pre3
785
7862005-04-03 Miklos Szeredi <miklos@szeredi.hu>
787
788 * Implement backward compatibility with version 5 kernel ABI
789
Miklos Szeredi18fce982005-04-01 21:07:35 +00007902005-04-01 Miklos Szeredi <miklos@szeredi.hu>
791
792 * Released 2.3-pre2
793
7942005-04-01 Miklos Szeredi <miklos@szeredi.hu>
795
796 * kernel: fix dirent offset handling
797
798 * lib: add readdir and releasedir methods
799
800 * lib: use fh field of fuse_file_info in opendir, readdir,
801 releasedir and fsyncdir methods
802
803 * lib: check kernel API version and bail out of it's old. This
804 will be properly fixed in the next release
805
8062005-03-31 Miklos Szeredi <miklos@szeredi.hu>
807
808 * Released 2.3-pre1
809
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008102005-03-31 Miklos Szeredi <miklos@szeredi.hu>
811
812 * kernel API: add padding to structures, so 64bit and 32bit
813 compiler will return the same size
814
815 * kernel API: add offset field to fuse_dirent. This will allow
816 more sophisticated readdir interface for userspace
817
818 * kernel API: change major number to 6
819
820 * kernel: fix warnings on 64bit archs
821
822 * kernel: in case of API version mismatch, return ECONNREFUSED
823
Miklos Szeredi407e6a72005-03-25 12:19:43 +00008242005-03-24 Miklos Szeredi <miklos@szeredi.hu>
825
826 * kernel: trivial cleanups
827
Miklos Szeredi4283ee72005-03-21 12:09:04 +00008282005-03-21 Miklos Szeredi <miklos@szeredi.hu>
829
830 * Add fsyncdir() operation
831
Miklos Szeredid17da462005-03-21 11:47:04 +00008322005-03-19 Miklos Szeredi <miklos@szeredi.hu>
833
834 * kernel: add locking to background list (fixes previous fix)
835
8362005-03-18 Miklos Szeredi <miklos@szeredi.hu>
837
838 * kernel: fix bug which could cause leave busy inodes after
839 unmount, and Oops.
840
8412005-03-08 Miklos Szeredi <miklos@szeredi.hu>
842
843 * examples: add -lpthread to link flags to work around valgrind
844 quirk
845
846 * lib: don't exit threads, so cancelation doesn't cause segfault
847
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00008482005-03-04 Miklos Szeredi <miklos@szeredi.hu>
849
850 * kernel: fix nasty bug which could cause an Oops under certain
851 situations. Found by Magnus Johansson
852
Miklos Szeredif43f0632005-02-28 11:46:56 +00008532005-02-28 Miklos Szeredi <miklos@szeredi.hu>
854
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000855 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000856 permission checking in getdir() is too late. Thanks to Usarin
857 Heininga for pointing out this deficiency
858
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000859 * libfuse: added init() and destroy() methods to fuse_operations
860
Miklos Szeredif43f0632005-02-28 11:46:56 +0000861 * kernel: llseek() method for files and directories made explicit
862
863 * kernel: fixed inode leak in NFS export in case of nodeid
864 wrapping
865
Miklos Szeredied3c97c2005-02-15 17:04:50 +00008662005-02-15 Miklos Szeredi <miklos@szeredi.hu>
867
868 * libfuse: clean up some unitialized memory found with valgrind
869
Miklos Szeredi47c52982005-02-23 09:27:38 +0000870 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
871 explicitly linked libpthread for applications
872
Miklos Szeredia7169412005-02-10 07:35:05 +00008732005-02-10 Miklos Szeredi <miklos@szeredi.hu>
874
875 * fusermount: set umask, otherwise /etc/mtab will have
876 unpredictable permission. Spotted by Jindrich Kolorenc
877
878 * fusermount: set owner and group of /etc/mtab to original values
879 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000880
881 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000882
Miklos Szeredib92d9782005-02-07 16:10:49 +00008832005-02-07 Miklos Szeredi <miklos@szeredi.hu>
884
885 * Cleaned up directory reading (temporary file is not used)
886
Miklos Szerediff30a6c2005-02-02 10:53:59 +00008872005-02-02 Miklos Szeredi <miklos@szeredi.hu>
888
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000889 * Released 2.2
890
8912005-02-02 Miklos Szeredi <miklos@szeredi.hu>
892
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000893 * Fix possible race when operation is interrupted
894
Miklos Szeredi7a983952005-01-28 09:58:19 +00008952005-01-28 Miklos Szeredi <miklos@szeredi.hu>
896
Miklos Szeredie5183742005-02-02 11:14:04 +0000897 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000898
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00008992005-01-26 Miklos Szeredi <miklos@szeredi.hu>
900
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000901 * Released 2.2-pre6
902
9032005-01-26 Miklos Szeredi <miklos@szeredi.hu>
904
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000905 * Fix bug in link() operation which caused the wrong path to be
906 passed as the first argument. Found by Anton Altaparmakov
907
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009082005-01-21 Miklos Szeredi <miklos@szeredi.hu>
909
910 * LIB: fix double reply in readdir operation
911
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000912 * fusermount: fix uid checking bug. Patch by Adam Connell
913
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000914 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000915 Patch by Keshava Gowda
916
Miklos Szeredi64074142005-01-20 08:48:11 +00009172005-01-20 Miklos Szeredi <miklos@szeredi.hu>
918
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000919 * KERNEL: provide correct llseek semantics for fuse device (fixes
920 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
921
9222005-01-20 Miklos Szeredi <miklos@szeredi.hu>
923
Miklos Szeredi64074142005-01-20 08:48:11 +0000924 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
925
Miklos Szeredi1adb2272005-01-18 21:19:58 +00009262005-01-18 Miklos Szeredi <miklos@szeredi.hu>
927
928 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
929 and RELEASEDIR. This ends the ugly hack of passing a file
930 descriptor to the kernel, and actually makes the code simpler.
931
Miklos Szeredi7db35c02005-01-17 09:46:28 +00009322005-01-17 Miklos Szeredi <miklos@szeredi.hu>
933
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000934 * Released 2.2-pre4
935
9362005-01-17 Miklos Szeredi <miklos@szeredi.hu>
937
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000938 * fusermount: remove capability setting, which was the cause of
939 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000940 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000941
Miklos Szeredidbe0f652005-01-15 14:32:56 +00009422005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000943
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000944 * fix compilation on 2.4 kernels (reported by Valient Gough)
945
946 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000947
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000948 * fusermount: improve parsing of /etc/fuse.conf
949
9502005-01-13 Miklos Szeredi <miklos@szeredi.hu>
951
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000952 * Remove 'mount_max' and 'user_allow_other' module options. These
953 are now checked by fusermount, and can be set in /etc/fuse.conf
954
955 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
956
Miklos Szeredi81394522005-01-11 14:24:18 +00009572005-01-11 Miklos Szeredi <miklos@szeredi.hu>
958
959 * KERNEL: fix possible inode allocation problem, where
960 sizeof(struct inode) is not aligned (found by Mike Waychison)
961
962 * KERNEL: use new follow_link/put_link methods
963
964 * KERNEL: cosmetic fixes
965
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00009662005-01-10 Miklos Szeredi <miklos@szeredi.hu>
967
968 * Released 2.2-pre3
969
9702005-01-10 Miklos Szeredi <miklos@szeredi.hu>
971
972 * Add missing code that was accidently left out
973
Miklos Szeredi8c7da232005-01-09 12:27:41 +00009742005-01-09 Miklos Szeredi <miklos@szeredi.hu>
975
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000976 * Released 2.2-pre2
977
9782005-01-09 Miklos Szeredi <miklos@szeredi.hu>
979
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000980 * Change "uid" mount option to "user_id" to avoid confusion with a
981 mount option "uid" commonly used by many filesystems
982
9832005-01-09 Miklos Szeredi <miklos@szeredi.hu>
984
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000985 * Released 2.2-pre1
986
9872005-01-09 Miklos Szeredi <miklos@szeredi.hu>
988
989 * If FUSE is configured in the kernel, don't build it by default
990
Miklos Szeredi2a927272005-01-07 11:14:15 +00009912005-01-07 Miklos Szeredi <miklos@szeredi.hu>
992
993 * Compile fix by Christian Magnusson
994
Miklos Szeredib6220192005-01-05 16:19:10 +00009952005-01-05 Miklos Szeredi <miklos@szeredi.hu>
996
997 * Fix compilation for 2.6.{0-5} kernels
998
Miklos Szeredi0f62d722005-01-04 12:45:54 +00009992005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1000
1001 * KERNEL: if request is interrupted, still keep reference to used
1002 inode(s) and file, so that FORGET and RELEASE are not sent until
1003 userspace finishes the request.
1004
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001005 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1006 request with the same information, which is more flexible,
1007 simpler, works on embedded systems.
1008
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010092004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1010
1011 * KERNEL ABI: update interface to make it independent of type
1012 sizes. This will help on 64 bit architectures which can run
1013 legacy 32 bit applications.
1014
1015 * KERNEL ABI: add "len" field to request headers. This will allow
1016 sending/receiving requests in multiple chunks.
1017
1018 * KERNEL: handle file type change more intelligently
1019
1020 * LIB: "-o debug" option should disable backgrounding (fix by
1021 Fabien Reygrobellet)
1022
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000010232004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1024
1025 * KERNEL: invalidate dentry/attributes if interrupted request
1026 could leave filesystem in an unknown state.
1027
Miklos Szeredie56818b2004-12-12 11:45:24 +000010282004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1029
1030 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1031 These will cause some regressions, but stability is considered
1032 more important. If any of these features turns out to be
1033 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001034
Miklos Szeredie56818b2004-12-12 11:45:24 +00001035 * Make all requests interruptible (only with SIGKILL currently).
1036 This can be used to break any deadlock produced by the userspace
1037 filesystem accessing it's own exported files. The RELEASE request
1038 is special, because if it's interrupted before sending it to
1039 userspace it is still sent, but the reply is not awaited.
1040
1041 * If request is interrupted before being sent to userspace, and if
1042 it hasn't yet got any side effects, it is always restarted,
1043 regardless of the SA_RESTART flag. This makes these interruptions
1044 transparent to the process.
1045
1046 * Remove shared-writable mmap support, which was prone to an
1047 out-of-memory deadlock situation
1048
1049 * Remove INVALIDATE userspace initiated request
1050
1051 * Make readpages() synchronous. Asynchronous requests are
1052 deadlock prone, since they cannot be interrupted.
1053
1054 * Add readv/writev support to fuse device operations
1055
1056 * Remove some printks, which userspace FS can use for a DoS
1057 against syslog
1058
1059 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1060 fusermount instead
1061
1062 * LIB: improve compatibility with a fuse.h header installed in
1063 ${prefix}/include which in turn includes the real header.
1064
1065 * LIB: improve compatibility by defining fuse_main() (which is now
1066 not used), so old configure scripts find it.
1067
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000010682004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1069
1070 * When mounting on a subdirectory of / don't duplicate slashes at
1071 the beggining of path (spotted by David Shaw)
1072
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000010732004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1074
1075 * Fix bug causing garbage in mount options (spotted by David Shaw)
1076
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000010772004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1078
1079 * Add 'writepage' flag to 'fuse_file_info'.
1080
1081 * More comments in fuse.h
1082
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001083 * Get rid of double underscores
1084
Miklos Szeredi799993c2004-12-04 21:20:05 +000010852004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1086
1087 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1088
1089 * helper.c: add -ho option, which only displays the options not
1090 the usage header. This can be used by filesystems which have
1091 their own options.
1092
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000010932004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1094
1095 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1096 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1097 including the fuse header
1098
1099 * Add binary compatibility to 2.1 version of library with symbol
1100 versioning
1101
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011022004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1103
1104 * Released 2.1
1105
Miklos Szeredi039322d2004-12-01 18:39:12 +000011062004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1107
1108 * kernel: clean up writing functions
1109
1110 * kernel: no allocation on write in direct_io mode
1111
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001112 * move linux/fuse.h to fuse_kernel.h
1113
Miklos Szeredi83a07442004-11-30 18:25:20 +000011142004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1115
1116 * kernel: clean up reading functions
1117
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000011182004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1119
1120 * kernel: make readpage() uninterruptible
1121
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001122 * kernel: check readonly filesystem flag in fuse_permission
1123
1124 * lib: don't die if version file not found and new style device
1125 exists
1126
1127 * lib: add '-r' option, which is short for '-o ro'
1128
1129 * fusermount: simplify device opening
1130
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001131 * kernel: when direct_io is turend on, copy data directly to
1132 destination without itermediate buffer. More efficient and safer,
1133 since no allocation is done.
1134
1135 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001136
1137 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001138
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000011392004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1140
1141 * libfuse API change: open, read, write, flush, fsync and release
1142 are passed a 'struct fuse_file_info' pointer containing the open
1143 flags (open and release), and the file handle. Verion changed to
1144 3.0.
1145
Miklos Szeredia25d4c22004-11-23 22:32:16 +000011462004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1147
1148 * More cleanups in the kernel
1149
1150 * The 10,229 charater device number has been assigned for FUSE
1151
1152 * Version file checking fix (reported by Christian Magnusson)
1153
1154 * fusermount: opening the fuse device now doesn't need /sys.
1155
1156 * Optimize reading by controlling the maximum readahead based on
1157 the 'max_read' mount option
1158
1159 * fixes for UCLIBC (Christian Magnusson)
1160
Miklos Szeredi13ed4822004-11-20 11:12:21 +000011612004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1162
1163 * Cleaned up kernel in preparation for merge into mainline:
1164
1165 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1166
1167 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1168
1169 * __user annotations for sparse
1170
1171 * allocate individual pages instead of kmalloc in fuse_readdir,
1172 fuse_read and fuse_write.
1173
1174 * Fix NFS export in case "use_ino" mount option is given
1175
Miklos Szeredif3845c42004-11-20 11:18:34 +00001176 * Make libfuse and fusermount compatible with future versions
1177
1178 * fusermount: properly add mount options to /etc/mtab
1179
11802004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1181
1182 * fusermount: do not resolve last component of mountpoint on if it
1183 is '.' or '..'. This new path resolvation is now done on mount as
1184 well as unmount. This enables relative paths to work on unmount.
1185
1186 * fusermount: parse common mount options like "ro", "rw", etc...
1187
1188 * Allow module params to be changed through sysfs
1189
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000011902004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1191
1192 * Released 2.1-pre1
1193
11942004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1195
1196 * Fix bug in fuse_readpages() causing Oops in certain situations.
1197 Bug found by Vincenzo Ciancia.
1198
1199 * Fix compilation with kernels versions > 2.6.9.
1200
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012012004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001202
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001203 * Check kernel interface version in fusermount to prevent
1204 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001205
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001206 * No need to allocate fuse_conn until actual mount happens
1207
1208 * Fix potential race between umount and fuse_invalidate
1209
1210 * Check superblock of proc file in addition to inode number
1211
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001212 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001213
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012142004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1215
1216 * Separate configure for the kernel directory
1217
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001218 * Don't allow write to return more than 'count'
1219
1220 * Extend kernel interface for future use
1221
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012222004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1223
1224 * Fix 'makeconf.sh' to use autoreconf if available
1225
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000012262004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1227
Miklos Szeredid507c732004-11-08 17:32:25 +00001228 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1229 compatibility with earlier versions. To compile earier versions
1230 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1231 Do not use the "use_ino" mount flag with filesystems compiled with
1232 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001233
1234 * Add pkg-config support. To compile a FUSE based filesystem you
1235 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1236 or similar. Note, that the PKG_CONFIG_PATH environment variable
1237 usually needs to be set to "/usr/local/lib/pkgconfig".
1238
1239 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001240
Miklos Szeredia13d9002004-11-02 17:32:03 +000012412004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1242
1243 * Added "use_ino" mount option. This enables the filesystems to
1244 set the st_ino field on files
1245
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000012462004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1247
1248 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1249 by Jeremy Smith)
1250
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001251 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1252
1253 * Clear the 'exited' flag when mail loop is finished
1254
Miklos Szeredie989f0d2004-10-28 20:24:58 +000012552004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1256
1257 * Make xattr functions work under 2.6 (bug found by Vincenzo
1258 Ciancia)
1259
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000012602004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1261
1262 * Reset request in fuse_flush() (bugreport by David Shaw)
1263
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000012642004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1265
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001266 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001267 error code
1268
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001269 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001270 make it easier to implement a custom event loop.
1271
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001272 * Use daemon() call to background the filesystem after mounting.
1273 This function closes the standard input, output and error and
1274 changes the current working directory to "/".
1275
Miklos Szeredi127d49b2004-10-14 13:33:39 +000012762004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1277
1278 * Released 1.9
1279
Miklos Szeredid45baf42004-10-10 07:56:12 +000012802004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1281
1282 * Don't allow fuse_flush() to be interrupted (bug found by David
1283 Shaw)
1284
Miklos Szeredi1f18db52004-09-27 06:54:49 +000012852004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1286
1287 * Add PID to fuse_context. Patch by Steven James
1288
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001289 * Change file handle type to 'unsigned long' in kernel interface
1290
Miklos Szeredid169f312004-09-22 08:48:26 +000012912004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1292
1293 * A slight API change: fuse_get_context() doesn't need the "fuse"
1294 pointer, but the returned context contains it instead. The
1295 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001296
1297 * Fix mounting and umounting FUSE filesystem under another FUSE
1298 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001299
Miklos Szeredic2309912004-09-21 13:40:38 +000013002004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1301
1302 * Fix deadlock in case of memory allocation failure. Patch by
1303 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001304
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013052004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1306
1307 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001308
Miklos Szeredi65afea12004-09-14 07:13:45 +000013092004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1310
1311 * Check temporary file creation failure in do_getdir(). Bug
1312 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001313
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013142004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1315
1316 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001317
1318 * Make requests non-interruptible so race with FORGET is avoided.
1319 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001320
1321 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001322
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000013232004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1324
1325 * Fix bug in case two FORGETs for the same node are executed in
1326 the wrong order. Bug spotted and endured for months by Franco
1327 Broi, and logfile for solution provided by Terje Oseberg
1328
Miklos Szeredi12085102004-09-02 18:13:57 +000013292004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1330
1331 * Add -D_REENTRANT to the compile flags
1332
1333 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001334
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000013352004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1336
1337 * Change release method to be non-interruptible. Fixes bug
1338 causing missing release() call when program which has opened files
1339 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001340
Miklos Szeredi891b8742004-07-29 09:27:49 +000013412004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1342
1343 * Add fuse_invalidate() to library API
1344
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000013452004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1346
1347 * Check permissions in setattr if 'default_permissions' flag is
1348 set. Bug spotted by Damjan Lango
1349
Miklos Szeredid66d3942004-07-24 13:47:44 +000013502004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1351
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001352 * 'large_read' mount option removed for 2.6 kernels, since the
1353 default (dynamic read size) is better
1354
1355 * Extend kernel API with file handles. A file handle is returned
1356 by open, and passed to read, write, flush, fsync and release.
1357 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001358
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001359 * Security changes:
1360
1361 * Change the current directory to the mountpoint before checking
1362 the permissions and mount filesystem on "."
1363
1364 * By default don't modprobe the fuse module for non-root. The old
1365 behavior can be restored with the '--enable-auto-modprobe' flag of
1366 ./configure
1367
1368 * By default don't allow shared writable mappings for non-root.
1369 The old behavior can be restored with the 'user_mmap=1' module
1370 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001371
Miklos Szeredibd7661b2004-07-23 17:16:29 +000013722004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1373
1374 * Clean up mount option passing to fusermount and to fuse_new()
1375 BEWARE: this changes the userspace API slightly, and the command
1376 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001377
Miklos Szeredi58865372004-07-20 14:22:26 +000013782004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1379
1380 * Optimize reading under 2.6 kernels by issuing multiple page
1381 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001382
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000013832004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1384
1385 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001386
Miklos Szeredi069c9502004-07-16 16:17:02 +000013872004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1388
1389 * Separate directory entry and inode attribute validity timer
1390
1391 * New write semaphore to stop page writeback during truncate
1392
1393 * Fsync now waits for all writes to complete before sending the
1394 request
1395
1396 * Optimization: if a page is completely written by
1397 fuse_commit_write(), clear the dirty flag and set the uptodate
1398 flag for that page
1399
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001400 * Some memory cleanup at exit
1401
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014022004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1403
1404 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001405 disable the "hide if open" behavior of unlink/rename.
1406
1407 * If temporary buffer allocation fails in raw read, fall back to a
1408 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001409
Miklos Szeredi73798f92004-07-12 15:55:11 +000014102004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1411
1412 * Fix bug in do_open() in libfuse: open count was incremented
1413 after the reply is sent so it could race with unlink/forget and
1414 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001415
Miklos Szeredi015fe702004-07-12 11:52:24 +000014162004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1417
1418 * When performing create or remove operation, refresh the parent's
1419 attributes on next revalidate, as i_nlink (and maybe size/time)
1420 could be inacurate.
1421
1422 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1423 pages (2.6 only)
1424
1425 * Set set_page_dirty address space operation (2.6 only)
1426
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014272004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001428
1429 * Minor fix in read: print debug info even if read size is zero
1430
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014312004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001432
1433 * Fix race between truncate and writepage (fsx-linux now runs
1434 without error)
1435
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014362004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001437
1438 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1439 by Mattias Wadman)
1440
1441 * Added option for direct read/write (-r)
1442
1443 * Fix revalidate time setting for newly created inodes
1444
Miklos Szerediacb4d362004-07-02 16:20:45 +00001445 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1446 this)
1447
1448 * fuse_main() only installs handlers for signals (out of INT, HUP,
1449 TERM, PIPE), for which no handler has yet been installed
1450
1451 * Add module option 'user_allow_other' which if set to non-zero
1452 will allow non root user to specify the 'allow_other' mount option
1453 ('-x' option of fusermount)
1454
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001455 * Fix deadlock between page writeback completion and truncate
1456 (bug found by Valient Gough with the fsx-linux utility)
1457
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014582004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001459
1460 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001461 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1462 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001463
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014642004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001465
1466 * Acquire inode->i_sem before open and release methods to prevent
1467 concurrent rename or unlink operations.
1468
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001469 * Make __fuse_read_cmd() read only one command. This allows
1470 multiplexing the fuse file descriptor with other event sources
1471 using select() or poll() (patch by Jeff Harris)
1472
1473 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1474
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014752004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001476
1477 * Fix file offset wrap around at 4G when doing large reads
1478
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014792004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001480
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001481 * Fix memory leak in open (Valient Gough)
1482
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014832004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001484
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001485 * Add "close after delete" support to libfuse (patch by Valient
1486 Gough)
1487
1488 * Cancel all worker threads before exit in multithreaded mode
1489
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014902004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001491
1492 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001493
1494 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001495
1496 * Work with newer libtool (1.5a)
1497
1498 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001499
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015002004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001501
1502 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001503
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015042004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001505
1506 * Fix possible inode leak in userspace in case of unfinished
1507 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001508
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015092004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001510
1511 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001512
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015132004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001514
1515 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001516
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015172004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001518
1519 * Build shared library as well as static (using libtool)
1520
1521 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1522 there has not been a release with the previous minor number, and I
1523 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001524
1525 * Change fuse_main(), so that default behavior is to go into
1526 background if mount is successful. '-f' and '-d' options disable
1527 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1528 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001529
1530 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1531 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001532
1533 * Don't call getdir method from open() only from first readdir().
1534 Open is sometimes just used to store the current directory
1535 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001536
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015372004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001538
1539 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001540
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015412004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001542
1543 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001544
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015452004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001546
1547 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001548
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015492004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001550
1551 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001552
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015532004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001554
1555 * Replaced binary mount data with text options
1556
1557 * Show FUSE specific mount options in /proc/mounts
1558
1559 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1560
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015612004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001562
1563 * Check some limits so userspace won't get too big requests
1564
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015652004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001566
1567 * Kill compile warning
1568
1569 * Upgraded user-mount patch for 2.6.5
1570
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015712004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001572
1573 * Add detection of user-mode-linux to configure
1574
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015752004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001576
1577 * fixed zero size case for getxattr and listxattr
1578
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015792004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001580
1581 * new fusermount flag '-z': lazy unmount, default is not lazy
1582
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001583 * Extended attributes operations added (getxattr, setxattr,
1584 listxattr, removexattr)
1585
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015862004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001587
1588 * If filesystem doesn't define a statfs operation, then an
1589 all-zero default statfs is returned instead of ENOSYS
1590
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015912004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001592
1593 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1594
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015952004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001596
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001597 * Fix for uClinux (Christian Magnusson)
1598
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015992004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001600
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001601 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001602
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001603 * More kernel interface changes:
1604
1605 * Lookup/getattr return cache timeout values
1606
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016072004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001608
1609 * Clean up option parsing in fuse_main()
1610
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001611 * Added fuse_get() function which returns the fuse object created
1612 by fuse_main()
1613
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016142004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001615
Miklos Szeredic40748a2004-02-20 16:38:45 +00001616 * removed old way of mounting (fusermount mountpoint program)
1617
Miklos Szeredib5958612004-02-20 14:10:49 +00001618 * more kernel interface changes:
1619
1620 * added nanosecond precision to file times
1621
Miklos Szeredic40748a2004-02-20 16:38:45 +00001622 * removed interface version from mount data
1623
1624 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1625
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016262004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001627
1628 * statfs library API changed to match other methods. Since this
1629 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1630
Miklos Szeredi76f65782004-02-19 16:55:40 +00001631 * kernel interface changes follow:
1632
1633 * statfs changed to 64 bits, added 'bavail' field
1634
1635 * add generation number to lookup result
1636
1637 * optimized mknod/mkdir/symlink/link (no separate lookup is
1638 needed)
1639
1640 * rdev size increased to 32 bits for mknod
1641
1642 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001643
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016442004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001645
1646 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001647
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016482004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001649
1650 * Added user-mount.2.6.2-rc3.patch
1651
1652 * Add FS_SAFE flag to fuse filesystem
1653
1654 * fusermount should allow (un)mounting for non-root even if not
1655 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016572004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001658
1659 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001660
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016612004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001662
1663 * Added check for i_size_read/write functions to configure.in
1664 (patch by Valient Gough)
1665
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016662004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001667
1668 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001669
1670 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001671
1672 * Readpage calls flush_dcache_page() after storing data
1673
1674 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001675
1676 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001677
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016782004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001679
1680 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001681
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016822004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001683
1684 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001685
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016862004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001687
1688 * Added -q option for fusermount
1689
1690 * fuse_unmount() now uses -q option of fusermount, so no error is
1691 printed if the cause of the program exit is that the filesystem
1692 has already been unmounted
1693
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001694 * Fix i_nlink correctness after rmdir/unlink
1695
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016962004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001697
Miklos Szeredib1158392004-01-26 14:43:12 +00001698 * Released 1.1-pre2
1699
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017002004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001701
Miklos Szeredi307242f2004-01-26 11:28:44 +00001702 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001703
1704 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001705
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017062004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001707
1708 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001709
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017102004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001711
1712 * Write all pending data before a RELEASE operation
1713
1714 * Suppress 'Bad file descriptor' warning on exit
1715
1716 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001717 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001718
Miklos Szeredib1158392004-01-26 14:43:12 +00001719 * New fusermount option '-l' which enables big reads. Big reads
1720 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001721
1722 * fuse_main() can accept fusermount arguments after a '--'
1723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017242004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001725
1726 * Support for exporting filesystem over NFS (see README.NFS)
1727
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017282004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001729
1730 * Support non-blocking writepage on 2.6. This makes FUSE behave
1731 much more nicely in low-memory situations
1732
1733 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1734 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001735
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017362004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001737
1738 * Code cleanups
1739
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017402004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001741
1742 * Released 1.1-pre1
1743
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017442004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001745
1746 * Integrated 2.6 kernel support patch by Michael Grigoriev
1747
1748 * Improvements and cleanups for 2.6 kernels
1749
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017502004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001751
Miklos Szeredie5183742005-02-02 11:14:04 +00001752 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001753
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017542003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001755
1756 * Added major+minor version to library API, and minor version to
1757 kernel API
1758
David McNab7a19caf2003-12-13 02:05:46 +000017592003-12-13 David McNab <david@rebirthing.co.nz>
1760
1761 * Implemented fsync support in examples/example.py
1762
1763 * Implemented 'fsync' and 'statfs' methods in python
1764 interface
1765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017662003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001767
Miklos Szeredie5183742005-02-02 11:14:04 +00001768 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001769
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001770 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001771
David McNab8bf62632003-12-11 22:49:22 +000017722003-12-12 David McNab <david@rebirthing.co.nz>
1773
1774 * Added distutils support to the python module, as per standard
1775 python development practice
1776
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017772003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001778
1779 * Add file locking for mount/unmount (based on patch by Valient
1780 Gough)
1781
17822003-12-11 David McNab <david@rebirthing.co.nz>
1783
1784 * Python filesystem - was broken with python2.3, now fixed:
1785 - changed PyTuple_* calls to PySequence_*, because os.lstat
1786 is no longer returning a pure tuple
1787 - changed PyInt_Check() calls to also call PyLong_Check,
1788 to cover for cases (eg os.lstat) where longs are returned
1789 - Added support for file 'release' handling, which IMO is
1790 essential since this signals to a FS that writes to a file
1791 are complete (and therefore the file can now be disposed of
1792 meaningfully at the python filesystem's discretion)
1793 - Added '__init__' handler to base Fuse class, which allows
1794 your Python class to know the mountpoint and mount args,
1795 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001796
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001797 * General:
1798 - added 'mount.fuse' script (in util/ dir), which is meant to be
1799 symlinked from /sbin, and which allows FUSE filesystems to
1800 be mounted with the 'mount' command, and listed in fstab;
1801 also, mount arguments get passed to your filesystem
1802
1803
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018042003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001805
1806 * Fix kernel version detection (again). Bugreport by Peter Levart
1807
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018082003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001809
1810 * Applied read combining patch by Michael Grigoriev (tested by
1811 Valient Gough and Vincent Wagelaar)
1812
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018132003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001814
1815 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1816 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001817
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018182003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001819
1820 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001821
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018222003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001823
1824 * kernel version detection fix
1825
1826 * fusermount now uses "lazy" umount option
1827
1828 * fusermount can use modprobe with module-init-tools
1829
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018302003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001831
1832 * Integrated caching patch by Michael Grigoriev
1833
Miklos Szeredida4e4862003-09-08 11:14:11 +00001834 * Added "Filesystems" file with descriptions of projects using
1835 FUSE
1836
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001837 * Added patch by Michael Grigoriev to allow compliation of FUSE
1838 kernel module for 2.6 kernels
1839
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018402003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001841
1842 * And another spec-file fix by Achim Settelmeier
1843
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018442003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001845
1846 * Spec-file fix by Achim Settelmeier
1847
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018482003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001849
Miklos Szerediac361172004-11-02 19:14:14 +00001850 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001851
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018522003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001853
1854 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1855
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018562003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001857
1858 * Updated fuse.spec file (Achim Settelmeier)
1859
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018602003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001861
1862 * Version 1.0 released
1863
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018642003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001865
1866 * SuSE compilation fix by Juan-Mariano de Goyeneche
1867
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018682002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001869
1870 * The release() VFS call is now exported to the FUSE interface
1871
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018722002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001873
1874 * 64 bit file offset fixes in the fuse kernel module
1875
1876 * Added function 'fuse_exit()' which can be used to exit the main
1877 loop
1878
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018792002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001880
1881 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1882 an incompatible interface change.
1883
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018842002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001885
1886 * Portablility fix (bug reported by C. Chris Erway)
1887
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018882002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001889
1890 * Use Mark Glines' fd passing method for default operation instead
1891 of old reexec
1892
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018932002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001894
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001895 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1896
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018972002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001898
Miklos Szeredi60c23522002-10-24 09:19:43 +00001899 * fix incompatiblity with Red Hat kernels, with help from Nathan
1900 Thompson-Amato.
1901
Mark Glines65ba2192002-04-18 14:41:48 +000019022002-04-18 Mark Glines <mark@glines.org>
1903
1904 * added an alternative to fuse_mount(), called
1905 fuse_mount_ioslave(), which does not need to reexec the
1906 FUSE program.
1907 * added a small helper util needed by fuse_mount_ioslave().
1908
Mark Glines220635a2002-03-17 07:01:14 +000019092002-03-16 Mark Glines <mark@glines.org>
1910
1911 * use struct fuse_statfs everywhere possible to avoid problems
1912 with the headerfiles changing struct statfs member sizes
1913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001915
1916 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1917
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019182002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001919
1920 * RPM support by Achim Settelmeier
1921
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019222002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001923
Miklos Szerediddc862a2002-01-09 13:46:10 +00001924 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019262002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001927
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001928 * Revaidate all path components not just the last, this means a
1929 very small performance penalty for being more up-to-date.
1930
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019312002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001932
1933 * Update and fix python interface
1934
Mark Glinesd84b39a2002-01-07 16:32:02 +000019352002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001936
Mark Glinesd84b39a2002-01-07 16:32:02 +00001937 * Added statfs() support to kernel, lib, examples, and perl!
1938
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019392001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001940
1941 * Better cross compilation support
1942
1943 * Ported to Compaq IPAQ
1944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019452001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001946
Miklos Szeredife25def2001-12-20 15:38:05 +00001947 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001948 patch from Matt Ryan)
1949
Miklos Szeredife25def2001-12-20 15:38:05 +00001950 * Added flags to fusermount and to kernel interface to control
1951 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001952
Miklos Szeredife25def2001-12-20 15:38:05 +00001953 * Integrated fuse_set_operations() into fuse_new()
1954
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019552001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001956
1957 * Applied header protection + extern "C" patch by Roland
1958 Bauerschmidt
1959
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019602001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001961
Miklos Szeredie5183742005-02-02 11:14:04 +00001962 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001963
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019642001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001965
1966 * Cleaned up way of mounting simple filesystems.
1967
1968 * fuse_main() helper function added
1969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019702001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001971
Miklos Szeredife25def2001-12-20 15:38:05 +00001972 * Optimized read/write operations, so that minimal copying of data
1973 is done
1974
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019752001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001976
1977 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001978
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019792001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001980
1981 * Fixed vfsmount reference leak in fuse_follow_link
1982
1983 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1984 userspace is ignored
1985
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019862001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001987
Miklos Szeredife25def2001-12-20 15:38:05 +00001988 * Started ChangeLog