blob: 5fb7183a335f1f11a7b79ecf4948010e473b3a14 [file] [log] [blame]
Miklos Szeredi2c1381f2006-03-15 20:34:10 +000012006-03-15 Miklos Szeredi <miklos@szeredi.hu>
2
3 * lowlevel lib: use indirect function calls instead of a
4 switch/case construct. Besides increased efficiency it helps
5 maintainability & readability too. Patch from Florin Malita
6
Miklos Szeredi67d26d42006-03-13 17:39:56 +000072006-03-13 Miklos Szeredi <miklos@szeredi.hu>
8
9 * kernel: replace global spinlock with a per-connection spinlock
10
Miklos Szeredi87c77932006-03-10 10:18:20 +0000112006-03-10 Miklos Szeredi <miklos@szeredi.hu>
12
13 * Fix source compatibility breakage for fuse_unmount(). Report
14 from Yura Pakhuchiy
15
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000162006-03-02 Miklos Szeredi <miklos@szeredi.hu>
17
18 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
19
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000202006-03-01 Miklos Szeredi <miklos@szeredi.hu>
21
22 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
23 Jeff Dike
24
25 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
26 interface to return -errno in case of error.
27
Csaba Henkee588c02006-03-01 09:40:35 +0000282006-03-01 Csaba Henk <csaba.henk@creo.hu>
29
30 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
31 FreeBSD implementation so that it uses libc (sysctl backed) instead
32 of an embdedded script (kmem backed). Adjust the control flow of
33 hello_ll so that device doesn't get closed before unmount attempt.
34
Miklos Szerediaa8258e2006-02-25 14:42:03 +0000352006-02-25 Miklos Szeredi <miklos@szeredi.hu>
36
37 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
38 implement method. This is needed on FreeBSD, and nicer on Linux
39 too. Highlevel lib already did this. Reported by Csaba Henk
40
41 * Fix negative entry handling. There was a bug, that negative
42 lookups with timeouts (nodeid == 0) returned -EIO.
43
442006-02-23 Miklos Szeredi <miklos@szeredi.hu>
45
46 * Fix race between RELEASE and UNLINK, which might leave
47 .fuse_hidden* files around
48
Miklos Szeredi6bab4802006-02-21 18:31:29 +0000492006-02-21 Miklos Szeredi <miklos@szeredi.hu>
50
51 * fusexmp_fh: implement flush() method and call close() on the
52 open file descriptor. This is needed if used on an NFS
53 filesystem, which buffers data until file is closed. Franco Broi
54 spotted the situation when 'cp -p' failed to set the modification
55 time because of this.
56
Miklos Szeredie109e282006-02-20 11:06:20 +0000572006-02-20 Miklos Szeredi <miklos@szeredi.hu>
58
59 * Released 2.6.0-pre1
60
Miklos Szeredib67f2162006-02-20 10:55:33 +0000612006-02-19 Miklos Szeredi <miklos@szeredi.hu>
62
63 * libfuse: fix use-after-free bug in interruptred reply_entry().
64 Patch from John Muir
65
66 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
67 ID: 352631. Found by Stéphane Rosi
68
Miklos Szeredi1bf64f42006-02-17 15:49:25 +0000692006-02-17 Miklos Szeredi <miklos@szeredi.hu>
70
71 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
72 into a single function fuse_add_direntry(). This cleans up the
73 interface and makes it possible to do stacking.
74
Miklos Szeredi99ac9c02006-02-16 10:08:32 +0000752006-02-16 Miklos Szeredi <miklos@szeredi.hu>
76
77 * Fix rare race betweeen abort and release caused by failed iget()
78 in fuse_create_open().
79
Miklos Szeredi6e806e92006-02-16 16:59:39 +000080 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
81 own attribute caching.
82
Miklos Szeredid65cdfe2006-02-15 14:25:17 +0000832006-02-15 Miklos Szeredi <miklos@szeredi.hu>
84
85 * Work around FreeBSD runtime linker "feature" which binds an old
86 version of a symbol to internal references if the symbol has more
87 than one version. This resulted in infinite recursion in
88 fuse_lowlevel_new_compat25().
89
Csaba Henkdcce3e52006-02-10 06:22:15 +0000902006-02-10 Csaba Henk <csaba.henk@creo.hu>
91
92 * Refine clock_gettime() querying so that linker options
93 shall be set as it's appropriate for the target platform.
94
Miklos Szeredi390ae312006-02-10 16:44:34 +0000952006-02-09 Miklos Szeredi <miklos@szeredi.hu>
96
97 * Fix udev rule syntax. Reported by Nix
98
Miklos Szeredieb643582006-02-08 10:54:02 +0000992006-02-08 Miklos Szeredi <miklos@szeredi.hu>
100
101 * In some cases udev rule seems to be ineffective when installed
102 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
103
Miklos Szeredi357529c2006-02-03 09:20:31 +00001042006-02-03 Miklos Szeredi <miklos@szeredi.hu>
105
106 * Fix compilation when build directory is different from source
107 directory. Reported by Frédéric L. W. Meunier
108
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001092006-02-02 Miklos Szeredi <miklos@szeredi.hu>
110
111 * Fix even bigger bug introduced in fix for request_end() on
112 2006-01-14. Reported by Gal Rosen
113
Miklos Szeredi320abe42006-01-30 18:14:51 +00001142006-01-30 Miklos Szeredi <miklos@szeredi.hu>
115
116 * highlevel-lib: add 'auto_cache' option. This caches file data
117 based on modification time and size
118
Miklos Szeredi065f2222006-01-20 15:15:21 +00001192006-01-20 Miklos Szeredi <miklos@szeredi.hu>
120
Miklos Szeredid66b7282006-02-02 15:15:21 +0000121 * Sanitize storage type and help message in mount_bsd.c. Patch
122 from Csaba Henk
123
Miklos Szeredi065f2222006-01-20 15:15:21 +0000124 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
125 FUSE_OPT_KEY_DISCARD
126
127 * Add options 'max_readahead', 'sync_read' and 'async_read'
128
129 * Kernel ABI version 7.6:
130
131 * Negotiate the 'max_readahead' value and 'async_read' flags with
132 userspace in the INIT method
133
134 * Add connection info to ->init() methods to both lowlevel and
135 highlevel API
136
137 * Fall back to synchronous read() behavior if either library or
138 userspace filesystem is using the old interface version. This is
139 needed so non-updated filesystems won't be confused by the
140 different read() behavior
141
1422006-01-19 Miklos Szeredi <miklos@szeredi.hu>
143
144 * lib: if "fsname=" option was given, pass it to fusermount
145
146 * fuse_opt: add new fuse_opt_insert_arg() function, which is
147 needed by filesystems to implement some argument manipulations
148 correctly
149
150 * fuse_opt: fix memory leak in handling "--" option
151
1522006-01-18 Miklos Szeredi <miklos@szeredi.hu>
153
154 * kernel: fix detection of case when fuse is not configured into
155 the kernel either as module or built-in
156
157 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
158 'template' structure member to 'templ'. Reported by Takashi Iwai
159
160 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
161
162 * kernel: support version 2.6.16 (i_sem -> i_mutex)
163
Miklos Szeredi15af1b82006-01-16 17:52:24 +00001642006-01-16 Miklos Szeredi <miklos@szeredi.hu>
165
166 * Added (again) asynchronous readpages support
167
168 * Each connection now shows up under /sys/fs/fuse/connections
169
170 * Connection attributes exported to sysfs: 'waiting' number of
171 waiting requests; 'abort' abort the connection
172
173 * Connection may be aborted through either the sysfs interface or
174 with 'umount -f mountpoint'
175
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00001762006-01-14 Miklos Szeredi <miklos@szeredi.hu>
177
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000178 * Released 2.5.0
179
1802006-01-14 Miklos Szeredi <miklos@szeredi.hu>
181
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000182 * kernel: fix a couple of bugs
183
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000184 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000185 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000186 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000187
188 * request_end() used request pointer after decrementing refcount
189
190 * Clearing ->connected or ->mounted connection flags could race
191 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000192
Miklos Szeredia9820342006-01-10 10:54:11 +00001932006-01-10 Miklos Szeredi <miklos@szeredi.hu>
194
195 * kernel: add necessary compile flags for 2.4.X/x86_64.
196 Report from Sean Ziegeler
197
Miklos Szeredi35676b02006-01-09 10:13:28 +00001982006-01-09 Miklos Szeredi <miklos@szeredi.hu>
199
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000200 * Released 2.5.0-pre2
201
2022006-01-09 Miklos Szeredi <miklos@szeredi.hu>
203
Miklos Szeredi35676b02006-01-09 10:13:28 +0000204 * Applied patch from Csaba Henk, to update mount_bsd to new
205 fuse_mount() semantics
206
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000207 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
208 Steiner and Don Taber
209
Miklos Szeredicb075c82006-01-09 11:33:04 +0000210 * fusermount: add 'dirsync' mount option
211
Miklos Szerediad005972006-01-07 10:14:34 +00002122006-01-07 Miklos Szeredi <miklos@szeredi.hu>
213
214 * Improved help reporting and added version reporting to library
215
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002162006-01-06 Miklos Szeredi <miklos@szeredi.hu>
217
218 * Change working directory to "/" even if running in the
219 foreground. Patch from Jonathan Brandmeyer
220
Miklos Szeredi95da8602006-01-06 18:29:40 +0000221 * Changed lots of functions to use 'struct fuse_args' instead of
222 separate argc and argv
223
224 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
225 fuse_remove_signal_handlers() functions, so that it's now pretty
226 easy to get all the functionality of fuse_main() with a filesystem
227 using the lowlevel API.
228
Miklos Szeredib8638182006-01-02 12:52:24 +00002292006-01-02 Miklos Szeredi <miklos@szeredi.hu>
230
Miklos Szeredif1941472006-01-02 16:27:48 +0000231 * mount.fuse: the 'user' option should be ignored. Report and
232 solution from Mattd.
233
234 * mount.fuse: export PATH in the right place. Report and patch
235 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000236
Miklos Szeredi73f41392005-12-16 11:12:16 +00002372005-12-16 Miklos Szeredi <miklos@szeredi.hu>
238
239 * Clean up the option parsing interface slightly, by creating an
240 "argument list" structure, that contains the argument vector and
241 count
242
Miklos Szeredi4e829092005-12-15 16:13:49 +00002432005-12-15 Miklos Szeredi <miklos@szeredi.hu>
244
245 * fusermount: check if /mnt/mtab is a symlink and don't modify it
246 in that case
247
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000248 * kernel: simplify request size limiting. INIT only contains
249 maximum write size, maximum path component size remains fixed at
250 1024 bytes, and maximum xattr size depends on read buffer.
251
Miklos Szeredie248e4b2005-12-14 16:18:32 +00002522005-12-14 Miklos Szeredi <miklos@szeredi.hu>
253
254 * Fix readdir() failure on x86_64, of 32bit programs compiled
255 without largefile support. Bug report and help from Anthony
256 Kolasny
257
Miklos Szeredi64709572005-12-14 22:16:28 +0000258 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000259 a regular file
260
261 * Add current output argument vector to option processing
262 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000263
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00002642005-12-12 Miklos Szeredi <miklos@szeredi.hu>
265
266 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
267
Miklos Szeredi659743b2005-12-09 17:41:42 +00002682005-12-09 Miklos Szeredi <miklos@szeredi.hu>
269
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000270 * Released 2.5.0-pre1
271
2722005-12-09 Miklos Szeredi <miklos@szeredi.hu>
273
Miklos Szeredi659743b2005-12-09 17:41:42 +0000274 * libfuse: added option parsing interface, defined in
275 <fuse_opt.h>.
276
Miklos Szeredic53cddd2005-12-07 12:57:59 +00002772005-12-07 Miklos Szeredi <miklos@szeredi.hu>
278
279 * Return EIO for file operations (read, write, fsync, flush) on
280 open files whose inode has become "bad". Inodes will be marked
281 "bad" if their type changes. Bug report by Csaba Henk
282
Miklos Szeredi044da2e2005-12-06 17:59:55 +00002832005-12-06 Miklos Szeredi <miklos@szeredi.hu>
284
285 * Use bigger request buffer size. write() did not work on archs
286 with > 4k page size, Bug report by Mark Haney
287
288 * ABI version 7.5:
289
290 * Extend INIT reply with data size limits
291
Miklos Szeredifa829b52005-12-02 11:05:41 +00002922005-12-02 Miklos Szeredi <miklos@szeredi.hu>
293
294 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
295 reported by Vincenzo Ciancia
296
297 * Handle exit-by-umount in fuse_read_cmd()
298
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00002992005-11-29 Miklos Szeredi <miklos@szeredi.hu>
300
301 * Check if '-msoft-float' option is supported by compiler when
302 configuring for a 2.4.x kernel. Bug report by Mark Haney
303
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000304 * In multithreaded loop send a TERM signal to the main thread if
305 one of the other threads exit. Needed on FreeBSD for a clean exit
306 on umount. Should not cause any harm on Linux either
307
Miklos Szerediead7f102005-11-28 16:02:27 +00003082005-11-28 Miklos Szeredi <miklos@szeredi.hu>
309
310 * Fix bug in 32-bit file handle compatibility
311
Miklos Szeredia90b7342005-11-27 19:22:42 +00003122005-11-27 Miklos Szeredi <miklos@szeredi.hu>
313
314 * Block TERM, INT, HUP and QUIT signals in all but the main
315 thread. According to POSIX it's not specified which thread will
316 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000317
318 * Kernel changes:
319
320 * Check for directory aliasing on mkdir, not just on lookup
321
322 * Check for special node ID values in create+open operation
323
324 * Sync with -mm: readv, writev, aio_read and aio_write methods
325 added to file operations
326
327 * Cleanups: lookup code, page offset calculation
328
329 * ABI stepped to 7.4, changes:
330
331 * frsize member added to fuse_kstatfs structure
332
333 * added support for negative entry caching: on lowlevel API if
334 fuse_entry_param::ino is set to zero in reply to a lookup request,
335 the kernel will cache the dentry for the specified amount of time.
336
337 * libfuse: added 'negative_timeout' option: specifies how much
338 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000339 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000340
Miklos Szeredibac4c772005-11-23 13:35:54 +00003412005-11-22 Miklos Szeredi <miklos@szeredi.hu>
342
343 * Add detection of mainline FUSE code in running kernel
344
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00003452005-11-21 Miklos Szeredi <miklos@szeredi.hu>
346
347 * Don't use async cancelation in multithreaded loop. This makes
348 it more portable to systems where read() is not async cancel safe.
349 Report from Andriy Gapon
350
Miklos Szeredi05c97842005-11-20 17:05:07 +00003512005-11-20 Miklos Szeredi <miklos@szeredi.hu>
352
353 * Warn if API version 11 compatibility is requested
354
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00003552005-11-17 Miklos Szeredi <miklos@szeredi.hu>
356
357 * More FreeBSD merge
358
Miklos Szeredi832ee442005-11-18 21:02:36 +0000359 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
360 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000361 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000362
363 * libfuse: don't use system() to invoke 'fusermount -u ...'
364 because it breaks mountpoints with spaces in them into multiple
365 arguments
366
Miklos Szeredib3f99722005-11-16 13:00:24 +00003672005-11-16 Miklos Szeredi <miklos@szeredi.hu>
368
369 * Merge library part of FreeBSD port. Patch by Csaba Henk
370
Miklos Szeredi3a770472005-11-11 21:32:42 +00003712005-11-11 Miklos Szeredi <miklos@szeredi.hu>
372
373 * Use 64bit type for file handle, so the full range supported by
374 the kernel interface is available to applications
375
Miklos Szeredibcc53852005-11-10 09:54:41 +00003762005-11-10 Miklos Szeredi <miklos@szeredi.hu>
377
378 * Moved mountpoint argument checking from fuse_parse_cmdline() to
379 fuse_mount() in preparation to FreeBSD merge.
380
Miklos Szeredi4ec06812005-11-08 13:04:27 +00003812005-11-08 Miklos Szeredi <miklos@szeredi.hu>
382
383 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
384 Henk.
385
Miklos Szeredic706ad92005-11-07 15:30:48 +00003862005-11-07 Miklos Szeredi <miklos@szeredi.hu>
387
388 * Make the statfs change backwards compatible.
389
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00003902005-11-06 Miklos Szeredi <miklos@szeredi.hu>
391
392 * Change ->statfs() method to use 'struct statvfs' instead of
393 'struct statfs'. This makes the API more portable since statvfs()
394 is defined by POSIX.
395
Miklos Szeredif7eec032005-10-28 13:09:50 +00003962005-10-28 Miklos Szeredi <miklos@szeredi.hu>
397
398 * Add fgetattr() method, which currently will only be called after
399 a successful call to a create() method.
400
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004012005-10-26 Miklos Szeredi <miklos@szeredi.hu>
402
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000403 * Change kernel ABI version to 7.3
404
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000405 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000406 call if 'default_permissions' mount option is not given, and is
407 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000408
Miklos Szeredid9079a72005-10-26 15:29:06 +0000409 * Add atomic CREATE+OPEN operation. This will only work with
410 2.6.15 (presumably) or later Linux kernels.
411
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000412 * Add ftruncate() method. This will only work with 2.6.15
413 (presumably) or later Linux kernels.
414
415 * Fix kernel module compile if kernel source and build directories
416 differ. Report and initial patch by John Eastman
417
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004182005-10-18 Miklos Szeredi <miklos@szeredi.hu>
419
420 * lib: optimize buffer reallocation in fill_dir.
421
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004222005-10-17 Miklos Szeredi <miklos@szeredi.hu>
423
424 * Released 2.4.1
425
Miklos Szeredif412d072005-10-14 21:24:32 +00004262005-10-14 Miklos Szeredi <miklos@szeredi.hu>
427
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000428 * libfuse: add debug for write result (by Shaun Jackman) and
429 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000430
Miklos Szeredib75d4b92005-10-11 10:12:08 +00004312005-10-11 Miklos Szeredi <miklos@szeredi.hu>
432
433 * Spelling fixes, thanks to Ioannis Barkas
434
Miklos Szeredibaab5872005-10-10 08:41:14 +00004352005-10-10 Miklos Szeredi <miklos@szeredi.hu>
436
437 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
438 patch
439
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00004402005-10-07 Miklos Szeredi <miklos@szeredi.hu>
441
442 * highlevel-lib: init() and destroy() methods didn't have an
443 initialized fuse_context. Bug reported by Tim Stoakes
444
Miklos Szeredif2491122005-10-04 10:10:41 +00004452005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000446
447 * Released 2.4.0
448
Miklos Szeredi836ab712005-10-03 14:11:59 +00004492005-10-03 Miklos Szeredi <miklos@szeredi.hu>
450
451 * Add documentation to fuse_lowlevel.h
452
453 * API cleanups:
454
455 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
456
457 * Move fuse_mount() and fuse_unmount() to fuse_common.h
458
459 * Change the return type of fuse_reply_none() from int to void.
460
Miklos Szerediaf138742005-09-30 08:49:59 +00004612005-09-30 Miklos Szeredi <miklos@szeredi.hu>
462
463 * kernel: NFS exporting leaked dentries. Bug found and fixed by
464 Akshat Aranya.
465
Miklos Szeredidb016e02005-09-29 10:06:27 +00004662005-09-29 Miklos Szeredi <miklos@szeredi.hu>
467
468 * fusermount: fix error message, when unable to open /dev/fuse.
469 Report by Balázs Pozsár
470
Miklos Szeredi35200932005-09-28 14:50:49 +00004712005-09-28 Miklos Szeredi <miklos@szeredi.hu>
472
473 * UClibc fixes from Christian Magnusson
474
Miklos Szeredi8eddf642005-09-27 08:58:26 +00004752005-09-27 Miklos Szeredi <miklos@szeredi.hu>
476
477 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
478
Miklos Szerediedec95c2005-09-26 10:22:22 +00004792005-09-26 Miklos Szeredi <miklos@szeredi.hu>
480
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000481 * Released 2.4.0-rc1
482
4832005-09-26 Miklos Szeredi <miklos@szeredi.hu>
484
Miklos Szerediedec95c2005-09-26 10:22:22 +0000485 * fusermount: allow user umount in the case when /etc/mtab is a
486 symlink to /proc/mounts. Reported by Balázs Pozsár.
487
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00004882005-09-23 Miklos Szeredi <miklos@szeredi.hu>
489
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000490 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000491
Miklos Szeredif45f3c12005-09-22 15:14:27 +00004922005-09-22 Miklos Szeredi <miklos@szeredi.hu>
493
494 * Slight optimization in returning EINVAL error in case of an open
495 with O_DIRECT flag.
496
Miklos Szeredi670d07a2005-09-20 11:36:32 +00004972005-09-20 Miklos Szeredi <miklos@szeredi.hu>
498
499 * Remove '--enable-auto-modprobe' configure flag. Module
500 auto-loading is now handled by the kernel.
501
Miklos Szeredid51fca12005-09-15 12:51:00 +00005022005-09-15 Miklos Szeredi <miklos@szeredi.hu>
503
504 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
505 Help from Jens M. Noedler.
506
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005072005-09-14 Miklos Szeredi <miklos@szeredi.hu>
508
509 * Add memory cleanup on thread exit
510
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005112005-09-13 Miklos Szeredi <miklos@szeredi.hu>
512
513 * Set umask to zero in fusexmp and fusexmp_fh, so that
514 files/directories are created with the requested mode.
515
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005162005-09-12 Miklos Szeredi <miklos@szeredi.hu>
517
518 * Don't ignore read error in multithreaded loop
519
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005202005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000521
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000522 * Released 2.4.0-pre2
523
5242005-09-08 Miklos Szeredi <miklos@szeredi.hu>
525
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000526 * Revert lock and access operations. Postpone these until 2.5.
527
5282005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000529
530 * Fix compile warning on 2.6.13 and later
531
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000532 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000533
Miklos Szeredi77ccf652005-08-19 14:40:27 +00005342005-08-19 Miklos Szeredi <miklos@szeredi.hu>
535
536 * lib: always refresh directory contents after rewinddir() to
537 conform to SUS. Bug found by John Muir.
538
Miklos Szeredia1482422005-08-14 23:00:27 +00005392005-08-15 Miklos Szeredi <miklos@szeredi.hu>
540
Miklos Szeredic43f9412005-08-15 15:10:48 +0000541 * Released 2.4.0-pre1
542
5432005-08-14 Miklos Szeredi <miklos@szeredi.hu>
544
Miklos Szeredia1482422005-08-14 23:00:27 +0000545 * lib: cleaned up (or messed up, depending on your POV) the low
546 level library API. Hopefully this is close to the final form.
547
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00005482005-08-05 Miklos Szeredi <miklos@szeredi.hu>
549
550 * fusermount: don't allow empty mountpoint argument, which defeats
551 automatic umounting in fuse_main(). Bugreport by Václav Jůza
552
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00005532005-08-03 Miklos Szeredi <miklos@szeredi.hu>
554
555 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
556 option is used (Paul Alfille).
557
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00005582005-08-02 Miklos Szeredi <miklos@szeredi.hu>
559
560 * highlevel-lib: added mount options "attr_timeout" and
561 "entry_timeout". These options control the length of time file
562 attributes and entries (names) are cached. Both default to 1.0
563 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000564
565 * kernel: correctly handle zero timeout for attributes and entries
566
Miklos Szeredi56a61f02005-08-01 10:42:25 +00005672005-08-01 Miklos Szeredi <miklos@szeredi.hu>
568
569 * Added missing symbols to versionscript (Joshua J. Berry)
570
Miklos Szeredie77cc072005-08-01 11:58:51 +0000571 * kernel: implement two flags, open can set: 'direct_io' and
572 'keep_cache'. These correspond exactly to mount options
573 'direct_io' and 'kernel_cache', but allow a per-open setting.
574
575 * Move 'direct_io' and 'kernel_cache' mount option handling to
576 userspace. For both mount options, if the option is given, then
577 the respective open flag is set, otherwise the open flag is left
578 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000579
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000580 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000581
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00005822005-07-28 Miklos Szeredi <miklos@szeredi.hu>
583
584 * kernel: invalidate attributes for read/readdir/readlink
585 operations
586
587 * kernel: detect newer UML kernels
588
Miklos Szeredibfb99462005-07-26 11:07:55 +00005892005-07-26 Miklos Szeredi <miklos@szeredi.hu>
590
591 * Make the installation path of fuse.ko and mount.fuse
592 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
593 environment variables. Requirement and help from Csaba Henk.
594
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00005952005-07-22 Miklos Szeredi <miklos@szeredi.hu>
596
597 * Fix bug, that causes filesystem requests to hang when unique
598 request counter becomes negative. This happens after
599 2,147,483,648 operations, so most people won't care. Thanks to
600 Franco Broi for the report and testing.
601
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006022005-07-21 Miklos Szeredi <miklos@szeredi.hu>
603
604 * Don't change mtime/ctime/atime to local time on read/write.
605 Bug reported by Ben Grimm
606
607 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
608 Magnusson
609
610 * fusermount: use getopt_long() for option parsing. It allows the
611 use of '--' to stop argument scanning, so fusermount can now
612 operate on directories whose names begin with a '-'. Patch by
613 Adam Connell
614
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006152005-07-15 Miklos Szeredi <miklos@szeredi.hu>
616
617 * fusermount: add '-v', '--version' and '--help' options
618
619 * add inode based API
620
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006212005-07-12 Miklos Szeredi <miklos@szeredi.hu>
622
623 * lib: don't block signals in worker threads. Problem noticed by
624 Usarin Heininga
625
Miklos Szeredic902a852005-07-07 12:35:37 +00006262005-07-07 Miklos Szeredi <miklos@szeredi.hu>
627
628 * lib: don't allow both 'allow_other' and 'allow_root' options to
629 be given
630
Miklos Szeredi437d8112005-07-06 09:14:20 +00006312005-07-06 Miklos Szeredi <miklos@szeredi.hu>
632
633 * fusermount: check if mountpoint is empty (only '.' and '..' for
634 directories, and size = 0 for regular files). If "nonempty"
635 option is given, omit this check. This is useful, so users don't
636 accidentally hide data (e.g. from backup programs). Thanks to
637 Frank van Maarseveen for pointing this out.
638
639 * kernel: check if mandatory mount options ('fd', 'rootmode',
640 'user_id', 'group_id') are all given
641
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000642 * lib: simplify 'readdir_ino' handling
643
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000644 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
645
Miklos Szeredibb9f5172005-07-03 18:03:11 +00006462005-07-03 Miklos Szeredi <miklos@szeredi.hu>
647
648 * kernel: clean up 'direct_io' code
649
Miklos Szeredie1bcece2005-06-28 10:37:06 +00006502005-06-28 Miklos Szeredi <miklos@szeredi.hu>
651
652 * Add 'mount.fuse' written by Petr Klima
653
Miklos Szeredi866826d2005-06-28 12:22:57 +0000654 * '/dev/fuse' is created by 'make install' if does not yet exist
655
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00006562005-06-20 Miklos Szeredi <miklos@szeredi.hu>
657
658 * Fix UCLIBC compile error. Patch by Christian Magnusson
659
Miklos Szerediec12fad2005-06-08 10:26:34 +00006602005-06-08 Miklos Szeredi <miklos@szeredi.hu>
661
662 * Enable the auto-loading of the module via access to the
663 corresponding device file. Patch by Takashi Iwai.
664
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000665 * Allow mounting a regular file (over a regular file) for
666 unprivleged users.
667
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000668 * Do not create temporary device file. Require "/dev/fuse" to
669 exist, and be readable/writable by the mounting user.
670
Miklos Szeredi46960ce2005-06-02 09:05:00 +00006712005-06-02 Miklos Szeredi <miklos@szeredi.hu>
672
Miklos Szeredi56478552005-06-02 10:29:00 +0000673 * Released 2.3.0
674
6752005-06-02 Miklos Szeredi <miklos@szeredi.hu>
676
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000677 * Fix serious information leak: if the filesystem returns a short
678 byte count to a read request, and there are non-zero number of
679 pages which are not filled at all, these pages will not be zeroed.
680 Hence the user can read out previous memory contents. Found by
681 Sven Tantau.
682
Miklos Szeredi33be22d2005-05-27 09:12:43 +00006832005-05-27 Miklos Szeredi <miklos@szeredi.hu>
684
685 * Add "readdir_ino" mount option, which tries to fill in the d_ino
686 field in struct dirent. This mount option is ignored if "use_ino"
687 is used. It helps some programs (e.g. 'pwd' used over NFS from a
688 non-Linux OS). Patch by David Shaw.
689
Miklos Szeredif94e0102005-05-12 14:56:34 +00006902005-05-12 Miklos Szeredi <miklos@szeredi.hu>
691
Miklos Szeredieb009c42005-05-12 15:01:17 +0000692 * Released 2.3-rc1
693
6942005-05-12 Miklos Szeredi <miklos@szeredi.hu>
695
Miklos Szeredif94e0102005-05-12 14:56:34 +0000696 * File save in krusader and other editors doesn't work with sshfs,
697 because open() is interrupted by a periodic signal, and open()
698 restarts forever, without any progress. This could just be fixed
699 in open(), but the problem is more generic: if signals are
700 received more often than the filesystem can get the request to
701 userspace, it will never finish. This is probably only a
702 theoretical problem, nevertheless I'm removing the possibility to
703 interrupt requests with anything other than SIGKILL, even before
704 being sent to userspace. Bugreport by Eduard Czimbalmos.
705
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007062005-05-09 Miklos Szeredi <miklos@szeredi.hu>
707
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000708 * libfuse: add "tree_lock" rwlock, that is locked for write in
709 rename, unlink and rmdir, and locked for read in all other
710 operations. This should fix the rename/release race reported by
711 Valient Gough and others. The solution is very coarse, a finer
712 grained locking scheme could be implemented, but it would be much
713 more complex. Let's see whether this is good enough.
714
7152005-05-09 Miklos Szeredi <miklos@szeredi.hu>
716
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000717 * Released 2.3-pre7
718
Miklos Szeredi38009022005-05-08 19:47:22 +00007192005-05-08 Miklos Szeredi <miklos@szeredi.hu>
720
721 * Better fix for out of order FORGET messages. Now the
722 LOOKUP/FORGET messages are balanced exactly (one FORGET can
723 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000724 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000725 compatible.
726
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00007272005-05-06 Miklos Szeredi <miklos@szeredi.hu>
728
729 * Fix abort for out of order FORGET messages. Again. Spotted by
730 Franco Broi again. Sorry :)
731
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00007322005-04-29 Miklos Szeredi <miklos@szeredi.hu>
733
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000734 * Released 2.3-pre6
735
7362005-04-29 Miklos Szeredi <miklos@szeredi.hu>
737
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000738 * Make fusermount work with fuse kernel modules not yet supporting
739 the "group_id" option (added for the purpose of stricter
740 permission checking).
741
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00007422005-04-28 Miklos Szeredi <miklos@szeredi.hu>
743
744 * Check for hard-linked directories in lookup. This could cause
745 problems in the VFS, which assumes that such objects never exist.
746
747 * Make checking of permission for other users more strict. Now
748 the same privilege is required for the mount owner as for ptrace
749 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000750
Miklos Szeredi3efcb562005-04-23 13:34:29 +00007512005-04-23 Miklos Szeredi <miklos@szeredi.hu>
752
753 * Released 2.3-pre5
754
Miklos Szeredid001bf92005-04-22 07:54:11 +00007552005-04-22 Miklos Szeredi <miklos@szeredi.hu>
756
757 * Add -msoft-float to kernel module compile flags for 2.4.X. This
758 is needed on certain architectures. Report from Chris Kirby
759
760 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
761 Reported by David Shaw
762
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000763 * Remove "allow_root" option from kernel module, and implement
764 it's functionality in the library
765
766 * Fix Oops caused by premature release of fuse_conn. Clean up
767 related code, to be more readable
768
Miklos Szeredif9137452005-04-23 10:59:44 +0000769 * Sendfile should not use page cache if "direct_io" mount option
770 is given
771
Miklos Szeredib7640d22005-04-08 15:15:28 +00007722005-04-08 Miklos Szeredi <miklos@szeredi.hu>
773
774 * Fix Oops in case of nfs export. Spotted by David Shaw
775
Miklos Szeredi89814a12005-04-08 16:39:09 +0000776 * Fix another Oops in case of write over nfs with direct_io turned
777 on. Again spotted by David Shaw
778
Miklos Szerediab974562005-04-07 15:40:21 +00007792005-04-07 Miklos Szeredi <miklos@szeredi.hu>
780
Miklos Szeredi432d6182005-04-07 15:56:13 +0000781 * Released 2.3-pre4
782
7832005-04-07 Miklos Szeredi <miklos@szeredi.hu>
784
Miklos Szerediab974562005-04-07 15:40:21 +0000785 * lib: finalized new readdir() interface, which now supersedes the
786 getdir() method.
787
Miklos Szeredi30e093a2005-04-03 17:44:54 +00007882005-04-03 Miklos Szeredi <miklos@szeredi.hu>
789
790 * Released 2.3-pre3
791
7922005-04-03 Miklos Szeredi <miklos@szeredi.hu>
793
794 * Implement backward compatibility with version 5 kernel ABI
795
Miklos Szeredi18fce982005-04-01 21:07:35 +00007962005-04-01 Miklos Szeredi <miklos@szeredi.hu>
797
798 * Released 2.3-pre2
799
8002005-04-01 Miklos Szeredi <miklos@szeredi.hu>
801
802 * kernel: fix dirent offset handling
803
804 * lib: add readdir and releasedir methods
805
806 * lib: use fh field of fuse_file_info in opendir, readdir,
807 releasedir and fsyncdir methods
808
809 * lib: check kernel API version and bail out of it's old. This
810 will be properly fixed in the next release
811
8122005-03-31 Miklos Szeredi <miklos@szeredi.hu>
813
814 * Released 2.3-pre1
815
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008162005-03-31 Miklos Szeredi <miklos@szeredi.hu>
817
818 * kernel API: add padding to structures, so 64bit and 32bit
819 compiler will return the same size
820
821 * kernel API: add offset field to fuse_dirent. This will allow
822 more sophisticated readdir interface for userspace
823
824 * kernel API: change major number to 6
825
826 * kernel: fix warnings on 64bit archs
827
828 * kernel: in case of API version mismatch, return ECONNREFUSED
829
Miklos Szeredi407e6a72005-03-25 12:19:43 +00008302005-03-24 Miklos Szeredi <miklos@szeredi.hu>
831
832 * kernel: trivial cleanups
833
Miklos Szeredi4283ee72005-03-21 12:09:04 +00008342005-03-21 Miklos Szeredi <miklos@szeredi.hu>
835
836 * Add fsyncdir() operation
837
Miklos Szeredid17da462005-03-21 11:47:04 +00008382005-03-19 Miklos Szeredi <miklos@szeredi.hu>
839
840 * kernel: add locking to background list (fixes previous fix)
841
8422005-03-18 Miklos Szeredi <miklos@szeredi.hu>
843
844 * kernel: fix bug which could cause leave busy inodes after
845 unmount, and Oops.
846
8472005-03-08 Miklos Szeredi <miklos@szeredi.hu>
848
849 * examples: add -lpthread to link flags to work around valgrind
850 quirk
851
852 * lib: don't exit threads, so cancelation doesn't cause segfault
853
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00008542005-03-04 Miklos Szeredi <miklos@szeredi.hu>
855
856 * kernel: fix nasty bug which could cause an Oops under certain
857 situations. Found by Magnus Johansson
858
Miklos Szeredif43f0632005-02-28 11:46:56 +00008592005-02-28 Miklos Szeredi <miklos@szeredi.hu>
860
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000861 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000862 permission checking in getdir() is too late. Thanks to Usarin
863 Heininga for pointing out this deficiency
864
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000865 * libfuse: added init() and destroy() methods to fuse_operations
866
Miklos Szeredif43f0632005-02-28 11:46:56 +0000867 * kernel: llseek() method for files and directories made explicit
868
869 * kernel: fixed inode leak in NFS export in case of nodeid
870 wrapping
871
Miklos Szeredied3c97c2005-02-15 17:04:50 +00008722005-02-15 Miklos Szeredi <miklos@szeredi.hu>
873
874 * libfuse: clean up some unitialized memory found with valgrind
875
Miklos Szeredi47c52982005-02-23 09:27:38 +0000876 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
877 explicitly linked libpthread for applications
878
Miklos Szeredia7169412005-02-10 07:35:05 +00008792005-02-10 Miklos Szeredi <miklos@szeredi.hu>
880
881 * fusermount: set umask, otherwise /etc/mtab will have
882 unpredictable permission. Spotted by Jindrich Kolorenc
883
884 * fusermount: set owner and group of /etc/mtab to original values
885 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000886
887 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000888
Miklos Szeredib92d9782005-02-07 16:10:49 +00008892005-02-07 Miklos Szeredi <miklos@szeredi.hu>
890
891 * Cleaned up directory reading (temporary file is not used)
892
Miklos Szerediff30a6c2005-02-02 10:53:59 +00008932005-02-02 Miklos Szeredi <miklos@szeredi.hu>
894
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000895 * Released 2.2
896
8972005-02-02 Miklos Szeredi <miklos@szeredi.hu>
898
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000899 * Fix possible race when operation is interrupted
900
Miklos Szeredi7a983952005-01-28 09:58:19 +00009012005-01-28 Miklos Szeredi <miklos@szeredi.hu>
902
Miklos Szeredie5183742005-02-02 11:14:04 +0000903 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000904
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009052005-01-26 Miklos Szeredi <miklos@szeredi.hu>
906
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000907 * Released 2.2-pre6
908
9092005-01-26 Miklos Szeredi <miklos@szeredi.hu>
910
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000911 * Fix bug in link() operation which caused the wrong path to be
912 passed as the first argument. Found by Anton Altaparmakov
913
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009142005-01-21 Miklos Szeredi <miklos@szeredi.hu>
915
916 * LIB: fix double reply in readdir operation
917
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000918 * fusermount: fix uid checking bug. Patch by Adam Connell
919
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000920 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000921 Patch by Keshava Gowda
922
Miklos Szeredi64074142005-01-20 08:48:11 +00009232005-01-20 Miklos Szeredi <miklos@szeredi.hu>
924
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000925 * KERNEL: provide correct llseek semantics for fuse device (fixes
926 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
927
9282005-01-20 Miklos Szeredi <miklos@szeredi.hu>
929
Miklos Szeredi64074142005-01-20 08:48:11 +0000930 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
931
Miklos Szeredi1adb2272005-01-18 21:19:58 +00009322005-01-18 Miklos Szeredi <miklos@szeredi.hu>
933
934 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
935 and RELEASEDIR. This ends the ugly hack of passing a file
936 descriptor to the kernel, and actually makes the code simpler.
937
Miklos Szeredi7db35c02005-01-17 09:46:28 +00009382005-01-17 Miklos Szeredi <miklos@szeredi.hu>
939
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000940 * Released 2.2-pre4
941
9422005-01-17 Miklos Szeredi <miklos@szeredi.hu>
943
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000944 * fusermount: remove capability setting, which was the cause of
945 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000946 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000947
Miklos Szeredidbe0f652005-01-15 14:32:56 +00009482005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000949
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000950 * fix compilation on 2.4 kernels (reported by Valient Gough)
951
952 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000953
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000954 * fusermount: improve parsing of /etc/fuse.conf
955
9562005-01-13 Miklos Szeredi <miklos@szeredi.hu>
957
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000958 * Remove 'mount_max' and 'user_allow_other' module options. These
959 are now checked by fusermount, and can be set in /etc/fuse.conf
960
961 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
962
Miklos Szeredi81394522005-01-11 14:24:18 +00009632005-01-11 Miklos Szeredi <miklos@szeredi.hu>
964
965 * KERNEL: fix possible inode allocation problem, where
966 sizeof(struct inode) is not aligned (found by Mike Waychison)
967
968 * KERNEL: use new follow_link/put_link methods
969
970 * KERNEL: cosmetic fixes
971
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00009722005-01-10 Miklos Szeredi <miklos@szeredi.hu>
973
974 * Released 2.2-pre3
975
9762005-01-10 Miklos Szeredi <miklos@szeredi.hu>
977
978 * Add missing code that was accidently left out
979
Miklos Szeredi8c7da232005-01-09 12:27:41 +00009802005-01-09 Miklos Szeredi <miklos@szeredi.hu>
981
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000982 * Released 2.2-pre2
983
9842005-01-09 Miklos Szeredi <miklos@szeredi.hu>
985
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000986 * Change "uid" mount option to "user_id" to avoid confusion with a
987 mount option "uid" commonly used by many filesystems
988
9892005-01-09 Miklos Szeredi <miklos@szeredi.hu>
990
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000991 * Released 2.2-pre1
992
9932005-01-09 Miklos Szeredi <miklos@szeredi.hu>
994
995 * If FUSE is configured in the kernel, don't build it by default
996
Miklos Szeredi2a927272005-01-07 11:14:15 +00009972005-01-07 Miklos Szeredi <miklos@szeredi.hu>
998
999 * Compile fix by Christian Magnusson
1000
Miklos Szeredib6220192005-01-05 16:19:10 +000010012005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1002
1003 * Fix compilation for 2.6.{0-5} kernels
1004
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010052005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1006
1007 * KERNEL: if request is interrupted, still keep reference to used
1008 inode(s) and file, so that FORGET and RELEASE are not sent until
1009 userspace finishes the request.
1010
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001011 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1012 request with the same information, which is more flexible,
1013 simpler, works on embedded systems.
1014
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010152004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1016
1017 * KERNEL ABI: update interface to make it independent of type
1018 sizes. This will help on 64 bit architectures which can run
1019 legacy 32 bit applications.
1020
1021 * KERNEL ABI: add "len" field to request headers. This will allow
1022 sending/receiving requests in multiple chunks.
1023
1024 * KERNEL: handle file type change more intelligently
1025
1026 * LIB: "-o debug" option should disable backgrounding (fix by
1027 Fabien Reygrobellet)
1028
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000010292004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1030
1031 * KERNEL: invalidate dentry/attributes if interrupted request
1032 could leave filesystem in an unknown state.
1033
Miklos Szeredie56818b2004-12-12 11:45:24 +000010342004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1035
1036 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1037 These will cause some regressions, but stability is considered
1038 more important. If any of these features turns out to be
1039 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001040
Miklos Szeredie56818b2004-12-12 11:45:24 +00001041 * Make all requests interruptible (only with SIGKILL currently).
1042 This can be used to break any deadlock produced by the userspace
1043 filesystem accessing it's own exported files. The RELEASE request
1044 is special, because if it's interrupted before sending it to
1045 userspace it is still sent, but the reply is not awaited.
1046
1047 * If request is interrupted before being sent to userspace, and if
1048 it hasn't yet got any side effects, it is always restarted,
1049 regardless of the SA_RESTART flag. This makes these interruptions
1050 transparent to the process.
1051
1052 * Remove shared-writable mmap support, which was prone to an
1053 out-of-memory deadlock situation
1054
1055 * Remove INVALIDATE userspace initiated request
1056
1057 * Make readpages() synchronous. Asynchronous requests are
1058 deadlock prone, since they cannot be interrupted.
1059
1060 * Add readv/writev support to fuse device operations
1061
1062 * Remove some printks, which userspace FS can use for a DoS
1063 against syslog
1064
1065 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1066 fusermount instead
1067
1068 * LIB: improve compatibility with a fuse.h header installed in
1069 ${prefix}/include which in turn includes the real header.
1070
1071 * LIB: improve compatibility by defining fuse_main() (which is now
1072 not used), so old configure scripts find it.
1073
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000010742004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1075
1076 * When mounting on a subdirectory of / don't duplicate slashes at
1077 the beggining of path (spotted by David Shaw)
1078
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000010792004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1080
1081 * Fix bug causing garbage in mount options (spotted by David Shaw)
1082
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000010832004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1084
1085 * Add 'writepage' flag to 'fuse_file_info'.
1086
1087 * More comments in fuse.h
1088
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001089 * Get rid of double underscores
1090
Miklos Szeredi799993c2004-12-04 21:20:05 +000010912004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1092
1093 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1094
1095 * helper.c: add -ho option, which only displays the options not
1096 the usage header. This can be used by filesystems which have
1097 their own options.
1098
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000010992004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1100
1101 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1102 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1103 including the fuse header
1104
1105 * Add binary compatibility to 2.1 version of library with symbol
1106 versioning
1107
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011082004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1109
1110 * Released 2.1
1111
Miklos Szeredi039322d2004-12-01 18:39:12 +000011122004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1113
1114 * kernel: clean up writing functions
1115
1116 * kernel: no allocation on write in direct_io mode
1117
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001118 * move linux/fuse.h to fuse_kernel.h
1119
Miklos Szeredi83a07442004-11-30 18:25:20 +000011202004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1121
1122 * kernel: clean up reading functions
1123
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000011242004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1125
1126 * kernel: make readpage() uninterruptible
1127
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001128 * kernel: check readonly filesystem flag in fuse_permission
1129
1130 * lib: don't die if version file not found and new style device
1131 exists
1132
1133 * lib: add '-r' option, which is short for '-o ro'
1134
1135 * fusermount: simplify device opening
1136
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001137 * kernel: when direct_io is turend on, copy data directly to
1138 destination without itermediate buffer. More efficient and safer,
1139 since no allocation is done.
1140
1141 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001142
1143 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001144
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000011452004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1146
1147 * libfuse API change: open, read, write, flush, fsync and release
1148 are passed a 'struct fuse_file_info' pointer containing the open
1149 flags (open and release), and the file handle. Verion changed to
1150 3.0.
1151
Miklos Szeredia25d4c22004-11-23 22:32:16 +000011522004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1153
1154 * More cleanups in the kernel
1155
1156 * The 10,229 charater device number has been assigned for FUSE
1157
1158 * Version file checking fix (reported by Christian Magnusson)
1159
1160 * fusermount: opening the fuse device now doesn't need /sys.
1161
1162 * Optimize reading by controlling the maximum readahead based on
1163 the 'max_read' mount option
1164
1165 * fixes for UCLIBC (Christian Magnusson)
1166
Miklos Szeredi13ed4822004-11-20 11:12:21 +000011672004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1168
1169 * Cleaned up kernel in preparation for merge into mainline:
1170
1171 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1172
1173 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1174
1175 * __user annotations for sparse
1176
1177 * allocate individual pages instead of kmalloc in fuse_readdir,
1178 fuse_read and fuse_write.
1179
1180 * Fix NFS export in case "use_ino" mount option is given
1181
Miklos Szeredif3845c42004-11-20 11:18:34 +00001182 * Make libfuse and fusermount compatible with future versions
1183
1184 * fusermount: properly add mount options to /etc/mtab
1185
11862004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1187
1188 * fusermount: do not resolve last component of mountpoint on if it
1189 is '.' or '..'. This new path resolvation is now done on mount as
1190 well as unmount. This enables relative paths to work on unmount.
1191
1192 * fusermount: parse common mount options like "ro", "rw", etc...
1193
1194 * Allow module params to be changed through sysfs
1195
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000011962004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1197
1198 * Released 2.1-pre1
1199
12002004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1201
1202 * Fix bug in fuse_readpages() causing Oops in certain situations.
1203 Bug found by Vincenzo Ciancia.
1204
1205 * Fix compilation with kernels versions > 2.6.9.
1206
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012072004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001208
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001209 * Check kernel interface version in fusermount to prevent
1210 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001211
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001212 * No need to allocate fuse_conn until actual mount happens
1213
1214 * Fix potential race between umount and fuse_invalidate
1215
1216 * Check superblock of proc file in addition to inode number
1217
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001218 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001219
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012202004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1221
1222 * Separate configure for the kernel directory
1223
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001224 * Don't allow write to return more than 'count'
1225
1226 * Extend kernel interface for future use
1227
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012282004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1229
1230 * Fix 'makeconf.sh' to use autoreconf if available
1231
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000012322004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1233
Miklos Szeredid507c732004-11-08 17:32:25 +00001234 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1235 compatibility with earlier versions. To compile earier versions
1236 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1237 Do not use the "use_ino" mount flag with filesystems compiled with
1238 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001239
1240 * Add pkg-config support. To compile a FUSE based filesystem you
1241 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1242 or similar. Note, that the PKG_CONFIG_PATH environment variable
1243 usually needs to be set to "/usr/local/lib/pkgconfig".
1244
1245 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001246
Miklos Szeredia13d9002004-11-02 17:32:03 +000012472004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1248
1249 * Added "use_ino" mount option. This enables the filesystems to
1250 set the st_ino field on files
1251
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000012522004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1253
1254 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1255 by Jeremy Smith)
1256
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001257 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1258
1259 * Clear the 'exited' flag when mail loop is finished
1260
Miklos Szeredie989f0d2004-10-28 20:24:58 +000012612004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1262
1263 * Make xattr functions work under 2.6 (bug found by Vincenzo
1264 Ciancia)
1265
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000012662004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1267
1268 * Reset request in fuse_flush() (bugreport by David Shaw)
1269
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000012702004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1271
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001272 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001273 error code
1274
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001275 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001276 make it easier to implement a custom event loop.
1277
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001278 * Use daemon() call to background the filesystem after mounting.
1279 This function closes the standard input, output and error and
1280 changes the current working directory to "/".
1281
Miklos Szeredi127d49b2004-10-14 13:33:39 +000012822004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1283
1284 * Released 1.9
1285
Miklos Szeredid45baf42004-10-10 07:56:12 +000012862004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1287
1288 * Don't allow fuse_flush() to be interrupted (bug found by David
1289 Shaw)
1290
Miklos Szeredi1f18db52004-09-27 06:54:49 +000012912004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1292
1293 * Add PID to fuse_context. Patch by Steven James
1294
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001295 * Change file handle type to 'unsigned long' in kernel interface
1296
Miklos Szeredid169f312004-09-22 08:48:26 +000012972004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1298
1299 * A slight API change: fuse_get_context() doesn't need the "fuse"
1300 pointer, but the returned context contains it instead. The
1301 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001302
1303 * Fix mounting and umounting FUSE filesystem under another FUSE
1304 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001305
Miklos Szeredic2309912004-09-21 13:40:38 +000013062004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1307
1308 * Fix deadlock in case of memory allocation failure. Patch by
1309 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001310
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013112004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1312
1313 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001314
Miklos Szeredi65afea12004-09-14 07:13:45 +000013152004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1316
1317 * Check temporary file creation failure in do_getdir(). Bug
1318 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001319
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013202004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1321
1322 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001323
1324 * Make requests non-interruptible so race with FORGET is avoided.
1325 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001326
1327 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001328
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000013292004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1330
1331 * Fix bug in case two FORGETs for the same node are executed in
1332 the wrong order. Bug spotted and endured for months by Franco
1333 Broi, and logfile for solution provided by Terje Oseberg
1334
Miklos Szeredi12085102004-09-02 18:13:57 +000013352004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1336
1337 * Add -D_REENTRANT to the compile flags
1338
1339 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001340
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000013412004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1342
1343 * Change release method to be non-interruptible. Fixes bug
1344 causing missing release() call when program which has opened files
1345 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001346
Miklos Szeredi891b8742004-07-29 09:27:49 +000013472004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1348
1349 * Add fuse_invalidate() to library API
1350
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000013512004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1352
1353 * Check permissions in setattr if 'default_permissions' flag is
1354 set. Bug spotted by Damjan Lango
1355
Miklos Szeredid66d3942004-07-24 13:47:44 +000013562004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1357
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001358 * 'large_read' mount option removed for 2.6 kernels, since the
1359 default (dynamic read size) is better
1360
1361 * Extend kernel API with file handles. A file handle is returned
1362 by open, and passed to read, write, flush, fsync and release.
1363 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001364
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001365 * Security changes:
1366
1367 * Change the current directory to the mountpoint before checking
1368 the permissions and mount filesystem on "."
1369
1370 * By default don't modprobe the fuse module for non-root. The old
1371 behavior can be restored with the '--enable-auto-modprobe' flag of
1372 ./configure
1373
1374 * By default don't allow shared writable mappings for non-root.
1375 The old behavior can be restored with the 'user_mmap=1' module
1376 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001377
Miklos Szeredibd7661b2004-07-23 17:16:29 +000013782004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1379
1380 * Clean up mount option passing to fusermount and to fuse_new()
1381 BEWARE: this changes the userspace API slightly, and the command
1382 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001383
Miklos Szeredi58865372004-07-20 14:22:26 +000013842004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1385
1386 * Optimize reading under 2.6 kernels by issuing multiple page
1387 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001388
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000013892004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1390
1391 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001392
Miklos Szeredi069c9502004-07-16 16:17:02 +000013932004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1394
1395 * Separate directory entry and inode attribute validity timer
1396
1397 * New write semaphore to stop page writeback during truncate
1398
1399 * Fsync now waits for all writes to complete before sending the
1400 request
1401
1402 * Optimization: if a page is completely written by
1403 fuse_commit_write(), clear the dirty flag and set the uptodate
1404 flag for that page
1405
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001406 * Some memory cleanup at exit
1407
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014082004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1409
1410 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001411 disable the "hide if open" behavior of unlink/rename.
1412
1413 * If temporary buffer allocation fails in raw read, fall back to a
1414 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001415
Miklos Szeredi73798f92004-07-12 15:55:11 +000014162004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1417
1418 * Fix bug in do_open() in libfuse: open count was incremented
1419 after the reply is sent so it could race with unlink/forget and
1420 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001421
Miklos Szeredi015fe702004-07-12 11:52:24 +000014222004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1423
1424 * When performing create or remove operation, refresh the parent's
1425 attributes on next revalidate, as i_nlink (and maybe size/time)
1426 could be inacurate.
1427
1428 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1429 pages (2.6 only)
1430
1431 * Set set_page_dirty address space operation (2.6 only)
1432
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014332004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001434
1435 * Minor fix in read: print debug info even if read size is zero
1436
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014372004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001438
1439 * Fix race between truncate and writepage (fsx-linux now runs
1440 without error)
1441
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014422004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001443
1444 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1445 by Mattias Wadman)
1446
1447 * Added option for direct read/write (-r)
1448
1449 * Fix revalidate time setting for newly created inodes
1450
Miklos Szerediacb4d362004-07-02 16:20:45 +00001451 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1452 this)
1453
1454 * fuse_main() only installs handlers for signals (out of INT, HUP,
1455 TERM, PIPE), for which no handler has yet been installed
1456
1457 * Add module option 'user_allow_other' which if set to non-zero
1458 will allow non root user to specify the 'allow_other' mount option
1459 ('-x' option of fusermount)
1460
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001461 * Fix deadlock between page writeback completion and truncate
1462 (bug found by Valient Gough with the fsx-linux utility)
1463
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014642004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001465
1466 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001467 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1468 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001469
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014702004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001471
1472 * Acquire inode->i_sem before open and release methods to prevent
1473 concurrent rename or unlink operations.
1474
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001475 * Make __fuse_read_cmd() read only one command. This allows
1476 multiplexing the fuse file descriptor with other event sources
1477 using select() or poll() (patch by Jeff Harris)
1478
1479 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1480
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014812004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001482
1483 * Fix file offset wrap around at 4G when doing large reads
1484
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014852004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001486
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001487 * Fix memory leak in open (Valient Gough)
1488
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014892004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001490
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001491 * Add "close after delete" support to libfuse (patch by Valient
1492 Gough)
1493
1494 * Cancel all worker threads before exit in multithreaded mode
1495
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014962004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001497
1498 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001499
1500 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001501
1502 * Work with newer libtool (1.5a)
1503
1504 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001505
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015062004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001507
1508 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001509
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015102004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001511
1512 * Fix possible inode leak in userspace in case of unfinished
1513 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001514
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015152004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001516
1517 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001518
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015192004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001520
1521 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001522
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015232004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001524
1525 * Build shared library as well as static (using libtool)
1526
1527 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1528 there has not been a release with the previous minor number, and I
1529 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001530
1531 * Change fuse_main(), so that default behavior is to go into
1532 background if mount is successful. '-f' and '-d' options disable
1533 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1534 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001535
1536 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1537 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001538
1539 * Don't call getdir method from open() only from first readdir().
1540 Open is sometimes just used to store the current directory
1541 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001542
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015432004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001544
1545 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001546
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015472004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001548
1549 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001550
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015512004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001552
1553 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001554
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015552004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001556
1557 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001558
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015592004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001560
1561 * Replaced binary mount data with text options
1562
1563 * Show FUSE specific mount options in /proc/mounts
1564
1565 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1566
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015672004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001568
1569 * Check some limits so userspace won't get too big requests
1570
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015712004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001572
1573 * Kill compile warning
1574
1575 * Upgraded user-mount patch for 2.6.5
1576
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015772004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001578
1579 * Add detection of user-mode-linux to configure
1580
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015812004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001582
1583 * fixed zero size case for getxattr and listxattr
1584
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015852004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001586
1587 * new fusermount flag '-z': lazy unmount, default is not lazy
1588
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001589 * Extended attributes operations added (getxattr, setxattr,
1590 listxattr, removexattr)
1591
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015922004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001593
1594 * If filesystem doesn't define a statfs operation, then an
1595 all-zero default statfs is returned instead of ENOSYS
1596
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015972004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001598
1599 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1600
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016012004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001602
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001603 * Fix for uClinux (Christian Magnusson)
1604
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016052004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001606
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001607 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001608
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001609 * More kernel interface changes:
1610
1611 * Lookup/getattr return cache timeout values
1612
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016132004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001614
1615 * Clean up option parsing in fuse_main()
1616
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001617 * Added fuse_get() function which returns the fuse object created
1618 by fuse_main()
1619
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016202004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001621
Miklos Szeredic40748a2004-02-20 16:38:45 +00001622 * removed old way of mounting (fusermount mountpoint program)
1623
Miklos Szeredib5958612004-02-20 14:10:49 +00001624 * more kernel interface changes:
1625
1626 * added nanosecond precision to file times
1627
Miklos Szeredic40748a2004-02-20 16:38:45 +00001628 * removed interface version from mount data
1629
1630 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1631
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016322004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001633
1634 * statfs library API changed to match other methods. Since this
1635 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1636
Miklos Szeredi76f65782004-02-19 16:55:40 +00001637 * kernel interface changes follow:
1638
1639 * statfs changed to 64 bits, added 'bavail' field
1640
1641 * add generation number to lookup result
1642
1643 * optimized mknod/mkdir/symlink/link (no separate lookup is
1644 needed)
1645
1646 * rdev size increased to 32 bits for mknod
1647
1648 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001649
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016502004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001651
1652 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001653
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016542004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001655
1656 * Added user-mount.2.6.2-rc3.patch
1657
1658 * Add FS_SAFE flag to fuse filesystem
1659
1660 * fusermount should allow (un)mounting for non-root even if not
1661 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016632004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001664
1665 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001666
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016672004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001668
1669 * Added check for i_size_read/write functions to configure.in
1670 (patch by Valient Gough)
1671
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016722004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001673
1674 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001675
1676 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001677
1678 * Readpage calls flush_dcache_page() after storing data
1679
1680 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001681
1682 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001683
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016842004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001685
1686 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001687
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016882004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001689
1690 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001691
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016922004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001693
1694 * Added -q option for fusermount
1695
1696 * fuse_unmount() now uses -q option of fusermount, so no error is
1697 printed if the cause of the program exit is that the filesystem
1698 has already been unmounted
1699
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001700 * Fix i_nlink correctness after rmdir/unlink
1701
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017022004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001703
Miklos Szeredib1158392004-01-26 14:43:12 +00001704 * Released 1.1-pre2
1705
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017062004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001707
Miklos Szeredi307242f2004-01-26 11:28:44 +00001708 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001709
1710 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017122004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001713
1714 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001715
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017162004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001717
1718 * Write all pending data before a RELEASE operation
1719
1720 * Suppress 'Bad file descriptor' warning on exit
1721
1722 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001723 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001724
Miklos Szeredib1158392004-01-26 14:43:12 +00001725 * New fusermount option '-l' which enables big reads. Big reads
1726 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001727
1728 * fuse_main() can accept fusermount arguments after a '--'
1729
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017302004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001731
1732 * Support for exporting filesystem over NFS (see README.NFS)
1733
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017342004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001735
1736 * Support non-blocking writepage on 2.6. This makes FUSE behave
1737 much more nicely in low-memory situations
1738
1739 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1740 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001741
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017422004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001743
1744 * Code cleanups
1745
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017462004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001747
1748 * Released 1.1-pre1
1749
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017502004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001751
1752 * Integrated 2.6 kernel support patch by Michael Grigoriev
1753
1754 * Improvements and cleanups for 2.6 kernels
1755
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017562004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001757
Miklos Szeredie5183742005-02-02 11:14:04 +00001758 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001759
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017602003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001761
1762 * Added major+minor version to library API, and minor version to
1763 kernel API
1764
David McNab7a19caf2003-12-13 02:05:46 +000017652003-12-13 David McNab <david@rebirthing.co.nz>
1766
1767 * Implemented fsync support in examples/example.py
1768
1769 * Implemented 'fsync' and 'statfs' methods in python
1770 interface
1771
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017722003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001773
Miklos Szeredie5183742005-02-02 11:14:04 +00001774 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001775
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001776 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001777
David McNab8bf62632003-12-11 22:49:22 +000017782003-12-12 David McNab <david@rebirthing.co.nz>
1779
1780 * Added distutils support to the python module, as per standard
1781 python development practice
1782
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017832003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001784
1785 * Add file locking for mount/unmount (based on patch by Valient
1786 Gough)
1787
17882003-12-11 David McNab <david@rebirthing.co.nz>
1789
1790 * Python filesystem - was broken with python2.3, now fixed:
1791 - changed PyTuple_* calls to PySequence_*, because os.lstat
1792 is no longer returning a pure tuple
1793 - changed PyInt_Check() calls to also call PyLong_Check,
1794 to cover for cases (eg os.lstat) where longs are returned
1795 - Added support for file 'release' handling, which IMO is
1796 essential since this signals to a FS that writes to a file
1797 are complete (and therefore the file can now be disposed of
1798 meaningfully at the python filesystem's discretion)
1799 - Added '__init__' handler to base Fuse class, which allows
1800 your Python class to know the mountpoint and mount args,
1801 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001802
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001803 * General:
1804 - added 'mount.fuse' script (in util/ dir), which is meant to be
1805 symlinked from /sbin, and which allows FUSE filesystems to
1806 be mounted with the 'mount' command, and listed in fstab;
1807 also, mount arguments get passed to your filesystem
1808
1809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018102003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001811
1812 * Fix kernel version detection (again). Bugreport by Peter Levart
1813
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018142003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001815
1816 * Applied read combining patch by Michael Grigoriev (tested by
1817 Valient Gough and Vincent Wagelaar)
1818
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018192003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001820
1821 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1822 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001823
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018242003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001825
1826 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001827
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018282003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001829
1830 * kernel version detection fix
1831
1832 * fusermount now uses "lazy" umount option
1833
1834 * fusermount can use modprobe with module-init-tools
1835
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018362003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001837
1838 * Integrated caching patch by Michael Grigoriev
1839
Miklos Szeredida4e4862003-09-08 11:14:11 +00001840 * Added "Filesystems" file with descriptions of projects using
1841 FUSE
1842
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001843 * Added patch by Michael Grigoriev to allow compliation of FUSE
1844 kernel module for 2.6 kernels
1845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018462003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001847
1848 * And another spec-file fix by Achim Settelmeier
1849
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018502003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001851
1852 * Spec-file fix by Achim Settelmeier
1853
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018542003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001855
Miklos Szerediac361172004-11-02 19:14:14 +00001856 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001857
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018582003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001859
1860 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1861
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018622003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001863
1864 * Updated fuse.spec file (Achim Settelmeier)
1865
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018662003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001867
1868 * Version 1.0 released
1869
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018702003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001871
1872 * SuSE compilation fix by Juan-Mariano de Goyeneche
1873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018742002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001875
1876 * The release() VFS call is now exported to the FUSE interface
1877
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018782002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001879
1880 * 64 bit file offset fixes in the fuse kernel module
1881
1882 * Added function 'fuse_exit()' which can be used to exit the main
1883 loop
1884
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018852002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001886
1887 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1888 an incompatible interface change.
1889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001891
1892 * Portablility fix (bug reported by C. Chris Erway)
1893
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018942002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001895
1896 * Use Mark Glines' fd passing method for default operation instead
1897 of old reexec
1898
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018992002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001900
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001901 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1902
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019032002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001904
Miklos Szeredi60c23522002-10-24 09:19:43 +00001905 * fix incompatiblity with Red Hat kernels, with help from Nathan
1906 Thompson-Amato.
1907
Mark Glines65ba2192002-04-18 14:41:48 +000019082002-04-18 Mark Glines <mark@glines.org>
1909
1910 * added an alternative to fuse_mount(), called
1911 fuse_mount_ioslave(), which does not need to reexec the
1912 FUSE program.
1913 * added a small helper util needed by fuse_mount_ioslave().
1914
Mark Glines220635a2002-03-17 07:01:14 +000019152002-03-16 Mark Glines <mark@glines.org>
1916
1917 * use struct fuse_statfs everywhere possible to avoid problems
1918 with the headerfiles changing struct statfs member sizes
1919
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019202002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001921
1922 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1923
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019242002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001925
1926 * RPM support by Achim Settelmeier
1927
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019282002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001929
Miklos Szerediddc862a2002-01-09 13:46:10 +00001930 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019322002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001933
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001934 * Revaidate all path components not just the last, this means a
1935 very small performance penalty for being more up-to-date.
1936
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019372002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001938
1939 * Update and fix python interface
1940
Mark Glinesd84b39a2002-01-07 16:32:02 +000019412002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001942
Mark Glinesd84b39a2002-01-07 16:32:02 +00001943 * Added statfs() support to kernel, lib, examples, and perl!
1944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019452001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001946
1947 * Better cross compilation support
1948
1949 * Ported to Compaq IPAQ
1950
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019512001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001952
Miklos Szeredife25def2001-12-20 15:38:05 +00001953 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001954 patch from Matt Ryan)
1955
Miklos Szeredife25def2001-12-20 15:38:05 +00001956 * Added flags to fusermount and to kernel interface to control
1957 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001958
Miklos Szeredife25def2001-12-20 15:38:05 +00001959 * Integrated fuse_set_operations() into fuse_new()
1960
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019612001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001962
1963 * Applied header protection + extern "C" patch by Roland
1964 Bauerschmidt
1965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019662001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001967
Miklos Szeredie5183742005-02-02 11:14:04 +00001968 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019702001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001971
1972 * Cleaned up way of mounting simple filesystems.
1973
1974 * fuse_main() helper function added
1975
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019762001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001977
Miklos Szeredife25def2001-12-20 15:38:05 +00001978 * Optimized read/write operations, so that minimal copying of data
1979 is done
1980
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019812001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001982
1983 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001984
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019852001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001986
1987 * Fixed vfsmount reference leak in fuse_follow_link
1988
1989 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1990 userspace is ignored
1991
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019922001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001993
Miklos Szeredife25def2001-12-20 15:38:05 +00001994 * Started ChangeLog