blob: 43a0e7de59a53f6fd813d2775bc41915523806f4 [file] [log] [blame]
Miklos Szerediaa8258e2006-02-25 14:42:03 +000012006-02-25 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
4 implement method. This is needed on FreeBSD, and nicer on Linux
5 too. Highlevel lib already did this. Reported by Csaba Henk
6
7 * Fix negative entry handling. There was a bug, that negative
8 lookups with timeouts (nodeid == 0) returned -EIO.
9
102006-02-23 Miklos Szeredi <miklos@szeredi.hu>
11
12 * Fix race between RELEASE and UNLINK, which might leave
13 .fuse_hidden* files around
14
Miklos Szeredi6bab4802006-02-21 18:31:29 +0000152006-02-21 Miklos Szeredi <miklos@szeredi.hu>
16
17 * fusexmp_fh: implement flush() method and call close() on the
18 open file descriptor. This is needed if used on an NFS
19 filesystem, which buffers data until file is closed. Franco Broi
20 spotted the situation when 'cp -p' failed to set the modification
21 time because of this.
22
Miklos Szeredie109e282006-02-20 11:06:20 +0000232006-02-20 Miklos Szeredi <miklos@szeredi.hu>
24
25 * Released 2.6.0-pre1
26
Miklos Szeredib67f2162006-02-20 10:55:33 +0000272006-02-19 Miklos Szeredi <miklos@szeredi.hu>
28
29 * libfuse: fix use-after-free bug in interruptred reply_entry().
30 Patch from John Muir
31
32 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
33 ID: 352631. Found by Stéphane Rosi
34
Miklos Szeredi1bf64f42006-02-17 15:49:25 +0000352006-02-17 Miklos Szeredi <miklos@szeredi.hu>
36
37 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
38 into a single function fuse_add_direntry(). This cleans up the
39 interface and makes it possible to do stacking.
40
Miklos Szeredi99ac9c02006-02-16 10:08:32 +0000412006-02-16 Miklos Szeredi <miklos@szeredi.hu>
42
43 * Fix rare race betweeen abort and release caused by failed iget()
44 in fuse_create_open().
45
Miklos Szeredi6e806e92006-02-16 16:59:39 +000046 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
47 own attribute caching.
48
Miklos Szeredid65cdfe2006-02-15 14:25:17 +0000492006-02-15 Miklos Szeredi <miklos@szeredi.hu>
50
51 * Work around FreeBSD runtime linker "feature" which binds an old
52 version of a symbol to internal references if the symbol has more
53 than one version. This resulted in infinite recursion in
54 fuse_lowlevel_new_compat25().
55
Csaba Henkdcce3e52006-02-10 06:22:15 +0000562006-02-10 Csaba Henk <csaba.henk@creo.hu>
57
58 * Refine clock_gettime() querying so that linker options
59 shall be set as it's appropriate for the target platform.
60
Miklos Szeredi390ae312006-02-10 16:44:34 +0000612006-02-09 Miklos Szeredi <miklos@szeredi.hu>
62
63 * Fix udev rule syntax. Reported by Nix
64
Miklos Szeredieb643582006-02-08 10:54:02 +0000652006-02-08 Miklos Szeredi <miklos@szeredi.hu>
66
67 * In some cases udev rule seems to be ineffective when installed
68 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
69
Miklos Szeredi357529c2006-02-03 09:20:31 +0000702006-02-03 Miklos Szeredi <miklos@szeredi.hu>
71
72 * Fix compilation when build directory is different from source
73 directory. Reported by Frédéric L. W. Meunier
74
Miklos Szeredice28c7e2006-02-02 14:59:05 +0000752006-02-02 Miklos Szeredi <miklos@szeredi.hu>
76
77 * Fix even bigger bug introduced in fix for request_end() on
78 2006-01-14. Reported by Gal Rosen
79
Miklos Szeredi320abe42006-01-30 18:14:51 +0000802006-01-30 Miklos Szeredi <miklos@szeredi.hu>
81
82 * highlevel-lib: add 'auto_cache' option. This caches file data
83 based on modification time and size
84
Miklos Szeredi065f2222006-01-20 15:15:21 +0000852006-01-20 Miklos Szeredi <miklos@szeredi.hu>
86
Miklos Szeredid66b7282006-02-02 15:15:21 +000087 * Sanitize storage type and help message in mount_bsd.c. Patch
88 from Csaba Henk
89
Miklos Szeredi065f2222006-01-20 15:15:21 +000090 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
91 FUSE_OPT_KEY_DISCARD
92
93 * Add options 'max_readahead', 'sync_read' and 'async_read'
94
95 * Kernel ABI version 7.6:
96
97 * Negotiate the 'max_readahead' value and 'async_read' flags with
98 userspace in the INIT method
99
100 * Add connection info to ->init() methods to both lowlevel and
101 highlevel API
102
103 * Fall back to synchronous read() behavior if either library or
104 userspace filesystem is using the old interface version. This is
105 needed so non-updated filesystems won't be confused by the
106 different read() behavior
107
1082006-01-19 Miklos Szeredi <miklos@szeredi.hu>
109
110 * lib: if "fsname=" option was given, pass it to fusermount
111
112 * fuse_opt: add new fuse_opt_insert_arg() function, which is
113 needed by filesystems to implement some argument manipulations
114 correctly
115
116 * fuse_opt: fix memory leak in handling "--" option
117
1182006-01-18 Miklos Szeredi <miklos@szeredi.hu>
119
120 * kernel: fix detection of case when fuse is not configured into
121 the kernel either as module or built-in
122
123 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
124 'template' structure member to 'templ'. Reported by Takashi Iwai
125
126 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
127
128 * kernel: support version 2.6.16 (i_sem -> i_mutex)
129
Miklos Szeredi15af1b82006-01-16 17:52:24 +00001302006-01-16 Miklos Szeredi <miklos@szeredi.hu>
131
132 * Added (again) asynchronous readpages support
133
134 * Each connection now shows up under /sys/fs/fuse/connections
135
136 * Connection attributes exported to sysfs: 'waiting' number of
137 waiting requests; 'abort' abort the connection
138
139 * Connection may be aborted through either the sysfs interface or
140 with 'umount -f mountpoint'
141
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00001422006-01-14 Miklos Szeredi <miklos@szeredi.hu>
143
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000144 * Released 2.5.0
145
1462006-01-14 Miklos Szeredi <miklos@szeredi.hu>
147
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000148 * kernel: fix a couple of bugs
149
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000150 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000151 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000152 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000153
154 * request_end() used request pointer after decrementing refcount
155
156 * Clearing ->connected or ->mounted connection flags could race
157 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000158
Miklos Szeredia9820342006-01-10 10:54:11 +00001592006-01-10 Miklos Szeredi <miklos@szeredi.hu>
160
161 * kernel: add necessary compile flags for 2.4.X/x86_64.
162 Report from Sean Ziegeler
163
Miklos Szeredi35676b02006-01-09 10:13:28 +00001642006-01-09 Miklos Szeredi <miklos@szeredi.hu>
165
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000166 * Released 2.5.0-pre2
167
1682006-01-09 Miklos Szeredi <miklos@szeredi.hu>
169
Miklos Szeredi35676b02006-01-09 10:13:28 +0000170 * Applied patch from Csaba Henk, to update mount_bsd to new
171 fuse_mount() semantics
172
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000173 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
174 Steiner and Don Taber
175
Miklos Szeredicb075c82006-01-09 11:33:04 +0000176 * fusermount: add 'dirsync' mount option
177
Miklos Szerediad005972006-01-07 10:14:34 +00001782006-01-07 Miklos Szeredi <miklos@szeredi.hu>
179
180 * Improved help reporting and added version reporting to library
181
Miklos Szeredi0af762a2006-01-06 09:47:54 +00001822006-01-06 Miklos Szeredi <miklos@szeredi.hu>
183
184 * Change working directory to "/" even if running in the
185 foreground. Patch from Jonathan Brandmeyer
186
Miklos Szeredi95da8602006-01-06 18:29:40 +0000187 * Changed lots of functions to use 'struct fuse_args' instead of
188 separate argc and argv
189
190 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
191 fuse_remove_signal_handlers() functions, so that it's now pretty
192 easy to get all the functionality of fuse_main() with a filesystem
193 using the lowlevel API.
194
Miklos Szeredib8638182006-01-02 12:52:24 +00001952006-01-02 Miklos Szeredi <miklos@szeredi.hu>
196
Miklos Szeredif1941472006-01-02 16:27:48 +0000197 * mount.fuse: the 'user' option should be ignored. Report and
198 solution from Mattd.
199
200 * mount.fuse: export PATH in the right place. Report and patch
201 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000202
Miklos Szeredi73f41392005-12-16 11:12:16 +00002032005-12-16 Miklos Szeredi <miklos@szeredi.hu>
204
205 * Clean up the option parsing interface slightly, by creating an
206 "argument list" structure, that contains the argument vector and
207 count
208
Miklos Szeredi4e829092005-12-15 16:13:49 +00002092005-12-15 Miklos Szeredi <miklos@szeredi.hu>
210
211 * fusermount: check if /mnt/mtab is a symlink and don't modify it
212 in that case
213
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000214 * kernel: simplify request size limiting. INIT only contains
215 maximum write size, maximum path component size remains fixed at
216 1024 bytes, and maximum xattr size depends on read buffer.
217
Miklos Szeredie248e4b2005-12-14 16:18:32 +00002182005-12-14 Miklos Szeredi <miklos@szeredi.hu>
219
220 * Fix readdir() failure on x86_64, of 32bit programs compiled
221 without largefile support. Bug report and help from Anthony
222 Kolasny
223
Miklos Szeredi64709572005-12-14 22:16:28 +0000224 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000225 a regular file
226
227 * Add current output argument vector to option processing
228 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000229
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00002302005-12-12 Miklos Szeredi <miklos@szeredi.hu>
231
232 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
233
Miklos Szeredi659743b2005-12-09 17:41:42 +00002342005-12-09 Miklos Szeredi <miklos@szeredi.hu>
235
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000236 * Released 2.5.0-pre1
237
2382005-12-09 Miklos Szeredi <miklos@szeredi.hu>
239
Miklos Szeredi659743b2005-12-09 17:41:42 +0000240 * libfuse: added option parsing interface, defined in
241 <fuse_opt.h>.
242
Miklos Szeredic53cddd2005-12-07 12:57:59 +00002432005-12-07 Miklos Szeredi <miklos@szeredi.hu>
244
245 * Return EIO for file operations (read, write, fsync, flush) on
246 open files whose inode has become "bad". Inodes will be marked
247 "bad" if their type changes. Bug report by Csaba Henk
248
Miklos Szeredi044da2e2005-12-06 17:59:55 +00002492005-12-06 Miklos Szeredi <miklos@szeredi.hu>
250
251 * Use bigger request buffer size. write() did not work on archs
252 with > 4k page size, Bug report by Mark Haney
253
254 * ABI version 7.5:
255
256 * Extend INIT reply with data size limits
257
Miklos Szeredifa829b52005-12-02 11:05:41 +00002582005-12-02 Miklos Szeredi <miklos@szeredi.hu>
259
260 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
261 reported by Vincenzo Ciancia
262
263 * Handle exit-by-umount in fuse_read_cmd()
264
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00002652005-11-29 Miklos Szeredi <miklos@szeredi.hu>
266
267 * Check if '-msoft-float' option is supported by compiler when
268 configuring for a 2.4.x kernel. Bug report by Mark Haney
269
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000270 * In multithreaded loop send a TERM signal to the main thread if
271 one of the other threads exit. Needed on FreeBSD for a clean exit
272 on umount. Should not cause any harm on Linux either
273
Miklos Szerediead7f102005-11-28 16:02:27 +00002742005-11-28 Miklos Szeredi <miklos@szeredi.hu>
275
276 * Fix bug in 32-bit file handle compatibility
277
Miklos Szeredia90b7342005-11-27 19:22:42 +00002782005-11-27 Miklos Szeredi <miklos@szeredi.hu>
279
280 * Block TERM, INT, HUP and QUIT signals in all but the main
281 thread. According to POSIX it's not specified which thread will
282 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000283
284 * Kernel changes:
285
286 * Check for directory aliasing on mkdir, not just on lookup
287
288 * Check for special node ID values in create+open operation
289
290 * Sync with -mm: readv, writev, aio_read and aio_write methods
291 added to file operations
292
293 * Cleanups: lookup code, page offset calculation
294
295 * ABI stepped to 7.4, changes:
296
297 * frsize member added to fuse_kstatfs structure
298
299 * added support for negative entry caching: on lowlevel API if
300 fuse_entry_param::ino is set to zero in reply to a lookup request,
301 the kernel will cache the dentry for the specified amount of time.
302
303 * libfuse: added 'negative_timeout' option: specifies how much
304 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000305 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000306
Miklos Szeredibac4c772005-11-23 13:35:54 +00003072005-11-22 Miklos Szeredi <miklos@szeredi.hu>
308
309 * Add detection of mainline FUSE code in running kernel
310
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00003112005-11-21 Miklos Szeredi <miklos@szeredi.hu>
312
313 * Don't use async cancelation in multithreaded loop. This makes
314 it more portable to systems where read() is not async cancel safe.
315 Report from Andriy Gapon
316
Miklos Szeredi05c97842005-11-20 17:05:07 +00003172005-11-20 Miklos Szeredi <miklos@szeredi.hu>
318
319 * Warn if API version 11 compatibility is requested
320
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00003212005-11-17 Miklos Szeredi <miklos@szeredi.hu>
322
323 * More FreeBSD merge
324
Miklos Szeredi832ee442005-11-18 21:02:36 +0000325 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
326 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000327 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000328
329 * libfuse: don't use system() to invoke 'fusermount -u ...'
330 because it breaks mountpoints with spaces in them into multiple
331 arguments
332
Miklos Szeredib3f99722005-11-16 13:00:24 +00003332005-11-16 Miklos Szeredi <miklos@szeredi.hu>
334
335 * Merge library part of FreeBSD port. Patch by Csaba Henk
336
Miklos Szeredi3a770472005-11-11 21:32:42 +00003372005-11-11 Miklos Szeredi <miklos@szeredi.hu>
338
339 * Use 64bit type for file handle, so the full range supported by
340 the kernel interface is available to applications
341
Miklos Szeredibcc53852005-11-10 09:54:41 +00003422005-11-10 Miklos Szeredi <miklos@szeredi.hu>
343
344 * Moved mountpoint argument checking from fuse_parse_cmdline() to
345 fuse_mount() in preparation to FreeBSD merge.
346
Miklos Szeredi4ec06812005-11-08 13:04:27 +00003472005-11-08 Miklos Szeredi <miklos@szeredi.hu>
348
349 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
350 Henk.
351
Miklos Szeredic706ad92005-11-07 15:30:48 +00003522005-11-07 Miklos Szeredi <miklos@szeredi.hu>
353
354 * Make the statfs change backwards compatible.
355
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00003562005-11-06 Miklos Szeredi <miklos@szeredi.hu>
357
358 * Change ->statfs() method to use 'struct statvfs' instead of
359 'struct statfs'. This makes the API more portable since statvfs()
360 is defined by POSIX.
361
Miklos Szeredif7eec032005-10-28 13:09:50 +00003622005-10-28 Miklos Szeredi <miklos@szeredi.hu>
363
364 * Add fgetattr() method, which currently will only be called after
365 a successful call to a create() method.
366
Miklos Szeredib0b13d12005-10-26 12:53:25 +00003672005-10-26 Miklos Szeredi <miklos@szeredi.hu>
368
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000369 * Change kernel ABI version to 7.3
370
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000371 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000372 call if 'default_permissions' mount option is not given, and is
373 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000374
Miklos Szeredid9079a72005-10-26 15:29:06 +0000375 * Add atomic CREATE+OPEN operation. This will only work with
376 2.6.15 (presumably) or later Linux kernels.
377
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000378 * Add ftruncate() method. This will only work with 2.6.15
379 (presumably) or later Linux kernels.
380
381 * Fix kernel module compile if kernel source and build directories
382 differ. Report and initial patch by John Eastman
383
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00003842005-10-18 Miklos Szeredi <miklos@szeredi.hu>
385
386 * lib: optimize buffer reallocation in fill_dir.
387
Miklos Szeredic9daeb12005-10-17 10:19:21 +00003882005-10-17 Miklos Szeredi <miklos@szeredi.hu>
389
390 * Released 2.4.1
391
Miklos Szeredif412d072005-10-14 21:24:32 +00003922005-10-14 Miklos Szeredi <miklos@szeredi.hu>
393
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000394 * libfuse: add debug for write result (by Shaun Jackman) and
395 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000396
Miklos Szeredib75d4b92005-10-11 10:12:08 +00003972005-10-11 Miklos Szeredi <miklos@szeredi.hu>
398
399 * Spelling fixes, thanks to Ioannis Barkas
400
Miklos Szeredibaab5872005-10-10 08:41:14 +00004012005-10-10 Miklos Szeredi <miklos@szeredi.hu>
402
403 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
404 patch
405
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00004062005-10-07 Miklos Szeredi <miklos@szeredi.hu>
407
408 * highlevel-lib: init() and destroy() methods didn't have an
409 initialized fuse_context. Bug reported by Tim Stoakes
410
Miklos Szeredif2491122005-10-04 10:10:41 +00004112005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000412
413 * Released 2.4.0
414
Miklos Szeredi836ab712005-10-03 14:11:59 +00004152005-10-03 Miklos Szeredi <miklos@szeredi.hu>
416
417 * Add documentation to fuse_lowlevel.h
418
419 * API cleanups:
420
421 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
422
423 * Move fuse_mount() and fuse_unmount() to fuse_common.h
424
425 * Change the return type of fuse_reply_none() from int to void.
426
Miklos Szerediaf138742005-09-30 08:49:59 +00004272005-09-30 Miklos Szeredi <miklos@szeredi.hu>
428
429 * kernel: NFS exporting leaked dentries. Bug found and fixed by
430 Akshat Aranya.
431
Miklos Szeredidb016e02005-09-29 10:06:27 +00004322005-09-29 Miklos Szeredi <miklos@szeredi.hu>
433
434 * fusermount: fix error message, when unable to open /dev/fuse.
435 Report by Balázs Pozsár
436
Miklos Szeredi35200932005-09-28 14:50:49 +00004372005-09-28 Miklos Szeredi <miklos@szeredi.hu>
438
439 * UClibc fixes from Christian Magnusson
440
Miklos Szeredi8eddf642005-09-27 08:58:26 +00004412005-09-27 Miklos Szeredi <miklos@szeredi.hu>
442
443 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
444
Miklos Szerediedec95c2005-09-26 10:22:22 +00004452005-09-26 Miklos Szeredi <miklos@szeredi.hu>
446
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000447 * Released 2.4.0-rc1
448
4492005-09-26 Miklos Szeredi <miklos@szeredi.hu>
450
Miklos Szerediedec95c2005-09-26 10:22:22 +0000451 * fusermount: allow user umount in the case when /etc/mtab is a
452 symlink to /proc/mounts. Reported by Balázs Pozsár.
453
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00004542005-09-23 Miklos Szeredi <miklos@szeredi.hu>
455
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000456 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000457
Miklos Szeredif45f3c12005-09-22 15:14:27 +00004582005-09-22 Miklos Szeredi <miklos@szeredi.hu>
459
460 * Slight optimization in returning EINVAL error in case of an open
461 with O_DIRECT flag.
462
Miklos Szeredi670d07a2005-09-20 11:36:32 +00004632005-09-20 Miklos Szeredi <miklos@szeredi.hu>
464
465 * Remove '--enable-auto-modprobe' configure flag. Module
466 auto-loading is now handled by the kernel.
467
Miklos Szeredid51fca12005-09-15 12:51:00 +00004682005-09-15 Miklos Szeredi <miklos@szeredi.hu>
469
470 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
471 Help from Jens M. Noedler.
472
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00004732005-09-14 Miklos Szeredi <miklos@szeredi.hu>
474
475 * Add memory cleanup on thread exit
476
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00004772005-09-13 Miklos Szeredi <miklos@szeredi.hu>
478
479 * Set umask to zero in fusexmp and fusexmp_fh, so that
480 files/directories are created with the requested mode.
481
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00004822005-09-12 Miklos Szeredi <miklos@szeredi.hu>
483
484 * Don't ignore read error in multithreaded loop
485
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00004862005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000487
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000488 * Released 2.4.0-pre2
489
4902005-09-08 Miklos Szeredi <miklos@szeredi.hu>
491
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000492 * Revert lock and access operations. Postpone these until 2.5.
493
4942005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000495
496 * Fix compile warning on 2.6.13 and later
497
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000498 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000499
Miklos Szeredi77ccf652005-08-19 14:40:27 +00005002005-08-19 Miklos Szeredi <miklos@szeredi.hu>
501
502 * lib: always refresh directory contents after rewinddir() to
503 conform to SUS. Bug found by John Muir.
504
Miklos Szeredia1482422005-08-14 23:00:27 +00005052005-08-15 Miklos Szeredi <miklos@szeredi.hu>
506
Miklos Szeredic43f9412005-08-15 15:10:48 +0000507 * Released 2.4.0-pre1
508
5092005-08-14 Miklos Szeredi <miklos@szeredi.hu>
510
Miklos Szeredia1482422005-08-14 23:00:27 +0000511 * lib: cleaned up (or messed up, depending on your POV) the low
512 level library API. Hopefully this is close to the final form.
513
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00005142005-08-05 Miklos Szeredi <miklos@szeredi.hu>
515
516 * fusermount: don't allow empty mountpoint argument, which defeats
517 automatic umounting in fuse_main(). Bugreport by Václav Jůza
518
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00005192005-08-03 Miklos Szeredi <miklos@szeredi.hu>
520
521 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
522 option is used (Paul Alfille).
523
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00005242005-08-02 Miklos Szeredi <miklos@szeredi.hu>
525
526 * highlevel-lib: added mount options "attr_timeout" and
527 "entry_timeout". These options control the length of time file
528 attributes and entries (names) are cached. Both default to 1.0
529 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000530
531 * kernel: correctly handle zero timeout for attributes and entries
532
Miklos Szeredi56a61f02005-08-01 10:42:25 +00005332005-08-01 Miklos Szeredi <miklos@szeredi.hu>
534
535 * Added missing symbols to versionscript (Joshua J. Berry)
536
Miklos Szeredie77cc072005-08-01 11:58:51 +0000537 * kernel: implement two flags, open can set: 'direct_io' and
538 'keep_cache'. These correspond exactly to mount options
539 'direct_io' and 'kernel_cache', but allow a per-open setting.
540
541 * Move 'direct_io' and 'kernel_cache' mount option handling to
542 userspace. For both mount options, if the option is given, then
543 the respective open flag is set, otherwise the open flag is left
544 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000545
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000546 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000547
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00005482005-07-28 Miklos Szeredi <miklos@szeredi.hu>
549
550 * kernel: invalidate attributes for read/readdir/readlink
551 operations
552
553 * kernel: detect newer UML kernels
554
Miklos Szeredibfb99462005-07-26 11:07:55 +00005552005-07-26 Miklos Szeredi <miklos@szeredi.hu>
556
557 * Make the installation path of fuse.ko and mount.fuse
558 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
559 environment variables. Requirement and help from Csaba Henk.
560
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00005612005-07-22 Miklos Szeredi <miklos@szeredi.hu>
562
563 * Fix bug, that causes filesystem requests to hang when unique
564 request counter becomes negative. This happens after
565 2,147,483,648 operations, so most people won't care. Thanks to
566 Franco Broi for the report and testing.
567
Miklos Szeredi9b813af2005-07-21 07:59:37 +00005682005-07-21 Miklos Szeredi <miklos@szeredi.hu>
569
570 * Don't change mtime/ctime/atime to local time on read/write.
571 Bug reported by Ben Grimm
572
573 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
574 Magnusson
575
576 * fusermount: use getopt_long() for option parsing. It allows the
577 use of '--' to stop argument scanning, so fusermount can now
578 operate on directories whose names begin with a '-'. Patch by
579 Adam Connell
580
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00005812005-07-15 Miklos Szeredi <miklos@szeredi.hu>
582
583 * fusermount: add '-v', '--version' and '--help' options
584
585 * add inode based API
586
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00005872005-07-12 Miklos Szeredi <miklos@szeredi.hu>
588
589 * lib: don't block signals in worker threads. Problem noticed by
590 Usarin Heininga
591
Miklos Szeredic902a852005-07-07 12:35:37 +00005922005-07-07 Miklos Szeredi <miklos@szeredi.hu>
593
594 * lib: don't allow both 'allow_other' and 'allow_root' options to
595 be given
596
Miklos Szeredi437d8112005-07-06 09:14:20 +00005972005-07-06 Miklos Szeredi <miklos@szeredi.hu>
598
599 * fusermount: check if mountpoint is empty (only '.' and '..' for
600 directories, and size = 0 for regular files). If "nonempty"
601 option is given, omit this check. This is useful, so users don't
602 accidentally hide data (e.g. from backup programs). Thanks to
603 Frank van Maarseveen for pointing this out.
604
605 * kernel: check if mandatory mount options ('fd', 'rootmode',
606 'user_id', 'group_id') are all given
607
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000608 * lib: simplify 'readdir_ino' handling
609
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000610 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
611
Miklos Szeredibb9f5172005-07-03 18:03:11 +00006122005-07-03 Miklos Szeredi <miklos@szeredi.hu>
613
614 * kernel: clean up 'direct_io' code
615
Miklos Szeredie1bcece2005-06-28 10:37:06 +00006162005-06-28 Miklos Szeredi <miklos@szeredi.hu>
617
618 * Add 'mount.fuse' written by Petr Klima
619
Miklos Szeredi866826d2005-06-28 12:22:57 +0000620 * '/dev/fuse' is created by 'make install' if does not yet exist
621
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00006222005-06-20 Miklos Szeredi <miklos@szeredi.hu>
623
624 * Fix UCLIBC compile error. Patch by Christian Magnusson
625
Miklos Szerediec12fad2005-06-08 10:26:34 +00006262005-06-08 Miklos Szeredi <miklos@szeredi.hu>
627
628 * Enable the auto-loading of the module via access to the
629 corresponding device file. Patch by Takashi Iwai.
630
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000631 * Allow mounting a regular file (over a regular file) for
632 unprivleged users.
633
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000634 * Do not create temporary device file. Require "/dev/fuse" to
635 exist, and be readable/writable by the mounting user.
636
Miklos Szeredi46960ce2005-06-02 09:05:00 +00006372005-06-02 Miklos Szeredi <miklos@szeredi.hu>
638
Miklos Szeredi56478552005-06-02 10:29:00 +0000639 * Released 2.3.0
640
6412005-06-02 Miklos Szeredi <miklos@szeredi.hu>
642
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000643 * Fix serious information leak: if the filesystem returns a short
644 byte count to a read request, and there are non-zero number of
645 pages which are not filled at all, these pages will not be zeroed.
646 Hence the user can read out previous memory contents. Found by
647 Sven Tantau.
648
Miklos Szeredi33be22d2005-05-27 09:12:43 +00006492005-05-27 Miklos Szeredi <miklos@szeredi.hu>
650
651 * Add "readdir_ino" mount option, which tries to fill in the d_ino
652 field in struct dirent. This mount option is ignored if "use_ino"
653 is used. It helps some programs (e.g. 'pwd' used over NFS from a
654 non-Linux OS). Patch by David Shaw.
655
Miklos Szeredif94e0102005-05-12 14:56:34 +00006562005-05-12 Miklos Szeredi <miklos@szeredi.hu>
657
Miklos Szeredieb009c42005-05-12 15:01:17 +0000658 * Released 2.3-rc1
659
6602005-05-12 Miklos Szeredi <miklos@szeredi.hu>
661
Miklos Szeredif94e0102005-05-12 14:56:34 +0000662 * File save in krusader and other editors doesn't work with sshfs,
663 because open() is interrupted by a periodic signal, and open()
664 restarts forever, without any progress. This could just be fixed
665 in open(), but the problem is more generic: if signals are
666 received more often than the filesystem can get the request to
667 userspace, it will never finish. This is probably only a
668 theoretical problem, nevertheless I'm removing the possibility to
669 interrupt requests with anything other than SIGKILL, even before
670 being sent to userspace. Bugreport by Eduard Czimbalmos.
671
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00006722005-05-09 Miklos Szeredi <miklos@szeredi.hu>
673
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000674 * libfuse: add "tree_lock" rwlock, that is locked for write in
675 rename, unlink and rmdir, and locked for read in all other
676 operations. This should fix the rename/release race reported by
677 Valient Gough and others. The solution is very coarse, a finer
678 grained locking scheme could be implemented, but it would be much
679 more complex. Let's see whether this is good enough.
680
6812005-05-09 Miklos Szeredi <miklos@szeredi.hu>
682
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000683 * Released 2.3-pre7
684
Miklos Szeredi38009022005-05-08 19:47:22 +00006852005-05-08 Miklos Szeredi <miklos@szeredi.hu>
686
687 * Better fix for out of order FORGET messages. Now the
688 LOOKUP/FORGET messages are balanced exactly (one FORGET can
689 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000690 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000691 compatible.
692
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00006932005-05-06 Miklos Szeredi <miklos@szeredi.hu>
694
695 * Fix abort for out of order FORGET messages. Again. Spotted by
696 Franco Broi again. Sorry :)
697
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00006982005-04-29 Miklos Szeredi <miklos@szeredi.hu>
699
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000700 * Released 2.3-pre6
701
7022005-04-29 Miklos Szeredi <miklos@szeredi.hu>
703
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000704 * Make fusermount work with fuse kernel modules not yet supporting
705 the "group_id" option (added for the purpose of stricter
706 permission checking).
707
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00007082005-04-28 Miklos Szeredi <miklos@szeredi.hu>
709
710 * Check for hard-linked directories in lookup. This could cause
711 problems in the VFS, which assumes that such objects never exist.
712
713 * Make checking of permission for other users more strict. Now
714 the same privilege is required for the mount owner as for ptrace
715 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000716
Miklos Szeredi3efcb562005-04-23 13:34:29 +00007172005-04-23 Miklos Szeredi <miklos@szeredi.hu>
718
719 * Released 2.3-pre5
720
Miklos Szeredid001bf92005-04-22 07:54:11 +00007212005-04-22 Miklos Szeredi <miklos@szeredi.hu>
722
723 * Add -msoft-float to kernel module compile flags for 2.4.X. This
724 is needed on certain architectures. Report from Chris Kirby
725
726 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
727 Reported by David Shaw
728
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000729 * Remove "allow_root" option from kernel module, and implement
730 it's functionality in the library
731
732 * Fix Oops caused by premature release of fuse_conn. Clean up
733 related code, to be more readable
734
Miklos Szeredif9137452005-04-23 10:59:44 +0000735 * Sendfile should not use page cache if "direct_io" mount option
736 is given
737
Miklos Szeredib7640d22005-04-08 15:15:28 +00007382005-04-08 Miklos Szeredi <miklos@szeredi.hu>
739
740 * Fix Oops in case of nfs export. Spotted by David Shaw
741
Miklos Szeredi89814a12005-04-08 16:39:09 +0000742 * Fix another Oops in case of write over nfs with direct_io turned
743 on. Again spotted by David Shaw
744
Miklos Szerediab974562005-04-07 15:40:21 +00007452005-04-07 Miklos Szeredi <miklos@szeredi.hu>
746
Miklos Szeredi432d6182005-04-07 15:56:13 +0000747 * Released 2.3-pre4
748
7492005-04-07 Miklos Szeredi <miklos@szeredi.hu>
750
Miklos Szerediab974562005-04-07 15:40:21 +0000751 * lib: finalized new readdir() interface, which now supersedes the
752 getdir() method.
753
Miklos Szeredi30e093a2005-04-03 17:44:54 +00007542005-04-03 Miklos Szeredi <miklos@szeredi.hu>
755
756 * Released 2.3-pre3
757
7582005-04-03 Miklos Szeredi <miklos@szeredi.hu>
759
760 * Implement backward compatibility with version 5 kernel ABI
761
Miklos Szeredi18fce982005-04-01 21:07:35 +00007622005-04-01 Miklos Szeredi <miklos@szeredi.hu>
763
764 * Released 2.3-pre2
765
7662005-04-01 Miklos Szeredi <miklos@szeredi.hu>
767
768 * kernel: fix dirent offset handling
769
770 * lib: add readdir and releasedir methods
771
772 * lib: use fh field of fuse_file_info in opendir, readdir,
773 releasedir and fsyncdir methods
774
775 * lib: check kernel API version and bail out of it's old. This
776 will be properly fixed in the next release
777
7782005-03-31 Miklos Szeredi <miklos@szeredi.hu>
779
780 * Released 2.3-pre1
781
Miklos Szeredieab72ef2005-03-31 19:59:12 +00007822005-03-31 Miklos Szeredi <miklos@szeredi.hu>
783
784 * kernel API: add padding to structures, so 64bit and 32bit
785 compiler will return the same size
786
787 * kernel API: add offset field to fuse_dirent. This will allow
788 more sophisticated readdir interface for userspace
789
790 * kernel API: change major number to 6
791
792 * kernel: fix warnings on 64bit archs
793
794 * kernel: in case of API version mismatch, return ECONNREFUSED
795
Miklos Szeredi407e6a72005-03-25 12:19:43 +00007962005-03-24 Miklos Szeredi <miklos@szeredi.hu>
797
798 * kernel: trivial cleanups
799
Miklos Szeredi4283ee72005-03-21 12:09:04 +00008002005-03-21 Miklos Szeredi <miklos@szeredi.hu>
801
802 * Add fsyncdir() operation
803
Miklos Szeredid17da462005-03-21 11:47:04 +00008042005-03-19 Miklos Szeredi <miklos@szeredi.hu>
805
806 * kernel: add locking to background list (fixes previous fix)
807
8082005-03-18 Miklos Szeredi <miklos@szeredi.hu>
809
810 * kernel: fix bug which could cause leave busy inodes after
811 unmount, and Oops.
812
8132005-03-08 Miklos Szeredi <miklos@szeredi.hu>
814
815 * examples: add -lpthread to link flags to work around valgrind
816 quirk
817
818 * lib: don't exit threads, so cancelation doesn't cause segfault
819
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00008202005-03-04 Miklos Szeredi <miklos@szeredi.hu>
821
822 * kernel: fix nasty bug which could cause an Oops under certain
823 situations. Found by Magnus Johansson
824
Miklos Szeredif43f0632005-02-28 11:46:56 +00008252005-02-28 Miklos Szeredi <miklos@szeredi.hu>
826
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000827 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000828 permission checking in getdir() is too late. Thanks to Usarin
829 Heininga for pointing out this deficiency
830
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000831 * libfuse: added init() and destroy() methods to fuse_operations
832
Miklos Szeredif43f0632005-02-28 11:46:56 +0000833 * kernel: llseek() method for files and directories made explicit
834
835 * kernel: fixed inode leak in NFS export in case of nodeid
836 wrapping
837
Miklos Szeredied3c97c2005-02-15 17:04:50 +00008382005-02-15 Miklos Szeredi <miklos@szeredi.hu>
839
840 * libfuse: clean up some unitialized memory found with valgrind
841
Miklos Szeredi47c52982005-02-23 09:27:38 +0000842 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
843 explicitly linked libpthread for applications
844
Miklos Szeredia7169412005-02-10 07:35:05 +00008452005-02-10 Miklos Szeredi <miklos@szeredi.hu>
846
847 * fusermount: set umask, otherwise /etc/mtab will have
848 unpredictable permission. Spotted by Jindrich Kolorenc
849
850 * fusermount: set owner and group of /etc/mtab to original values
851 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000852
853 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000854
Miklos Szeredib92d9782005-02-07 16:10:49 +00008552005-02-07 Miklos Szeredi <miklos@szeredi.hu>
856
857 * Cleaned up directory reading (temporary file is not used)
858
Miklos Szerediff30a6c2005-02-02 10:53:59 +00008592005-02-02 Miklos Szeredi <miklos@szeredi.hu>
860
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000861 * Released 2.2
862
8632005-02-02 Miklos Szeredi <miklos@szeredi.hu>
864
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000865 * Fix possible race when operation is interrupted
866
Miklos Szeredi7a983952005-01-28 09:58:19 +00008672005-01-28 Miklos Szeredi <miklos@szeredi.hu>
868
Miklos Szeredie5183742005-02-02 11:14:04 +0000869 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000870
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00008712005-01-26 Miklos Szeredi <miklos@szeredi.hu>
872
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000873 * Released 2.2-pre6
874
8752005-01-26 Miklos Szeredi <miklos@szeredi.hu>
876
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000877 * Fix bug in link() operation which caused the wrong path to be
878 passed as the first argument. Found by Anton Altaparmakov
879
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00008802005-01-21 Miklos Szeredi <miklos@szeredi.hu>
881
882 * LIB: fix double reply in readdir operation
883
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000884 * fusermount: fix uid checking bug. Patch by Adam Connell
885
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000886 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000887 Patch by Keshava Gowda
888
Miklos Szeredi64074142005-01-20 08:48:11 +00008892005-01-20 Miklos Szeredi <miklos@szeredi.hu>
890
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000891 * KERNEL: provide correct llseek semantics for fuse device (fixes
892 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
893
8942005-01-20 Miklos Szeredi <miklos@szeredi.hu>
895
Miklos Szeredi64074142005-01-20 08:48:11 +0000896 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
897
Miklos Szeredi1adb2272005-01-18 21:19:58 +00008982005-01-18 Miklos Szeredi <miklos@szeredi.hu>
899
900 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
901 and RELEASEDIR. This ends the ugly hack of passing a file
902 descriptor to the kernel, and actually makes the code simpler.
903
Miklos Szeredi7db35c02005-01-17 09:46:28 +00009042005-01-17 Miklos Szeredi <miklos@szeredi.hu>
905
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000906 * Released 2.2-pre4
907
9082005-01-17 Miklos Szeredi <miklos@szeredi.hu>
909
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000910 * fusermount: remove capability setting, which was the cause of
911 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000912 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000913
Miklos Szeredidbe0f652005-01-15 14:32:56 +00009142005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000915
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000916 * fix compilation on 2.4 kernels (reported by Valient Gough)
917
918 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000919
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000920 * fusermount: improve parsing of /etc/fuse.conf
921
9222005-01-13 Miklos Szeredi <miklos@szeredi.hu>
923
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000924 * Remove 'mount_max' and 'user_allow_other' module options. These
925 are now checked by fusermount, and can be set in /etc/fuse.conf
926
927 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
928
Miklos Szeredi81394522005-01-11 14:24:18 +00009292005-01-11 Miklos Szeredi <miklos@szeredi.hu>
930
931 * KERNEL: fix possible inode allocation problem, where
932 sizeof(struct inode) is not aligned (found by Mike Waychison)
933
934 * KERNEL: use new follow_link/put_link methods
935
936 * KERNEL: cosmetic fixes
937
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00009382005-01-10 Miklos Szeredi <miklos@szeredi.hu>
939
940 * Released 2.2-pre3
941
9422005-01-10 Miklos Szeredi <miklos@szeredi.hu>
943
944 * Add missing code that was accidently left out
945
Miklos Szeredi8c7da232005-01-09 12:27:41 +00009462005-01-09 Miklos Szeredi <miklos@szeredi.hu>
947
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000948 * Released 2.2-pre2
949
9502005-01-09 Miklos Szeredi <miklos@szeredi.hu>
951
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000952 * Change "uid" mount option to "user_id" to avoid confusion with a
953 mount option "uid" commonly used by many filesystems
954
9552005-01-09 Miklos Szeredi <miklos@szeredi.hu>
956
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000957 * Released 2.2-pre1
958
9592005-01-09 Miklos Szeredi <miklos@szeredi.hu>
960
961 * If FUSE is configured in the kernel, don't build it by default
962
Miklos Szeredi2a927272005-01-07 11:14:15 +00009632005-01-07 Miklos Szeredi <miklos@szeredi.hu>
964
965 * Compile fix by Christian Magnusson
966
Miklos Szeredib6220192005-01-05 16:19:10 +00009672005-01-05 Miklos Szeredi <miklos@szeredi.hu>
968
969 * Fix compilation for 2.6.{0-5} kernels
970
Miklos Szeredi0f62d722005-01-04 12:45:54 +00009712005-01-04 Miklos Szeredi <miklos@szeredi.hu>
972
973 * KERNEL: if request is interrupted, still keep reference to used
974 inode(s) and file, so that FORGET and RELEASE are not sent until
975 userspace finishes the request.
976
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000977 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
978 request with the same information, which is more flexible,
979 simpler, works on embedded systems.
980
Miklos Szeredi0f62d722005-01-04 12:45:54 +00009812004-12-16 Miklos Szeredi <miklos@szeredi.hu>
982
983 * KERNEL ABI: update interface to make it independent of type
984 sizes. This will help on 64 bit architectures which can run
985 legacy 32 bit applications.
986
987 * KERNEL ABI: add "len" field to request headers. This will allow
988 sending/receiving requests in multiple chunks.
989
990 * KERNEL: handle file type change more intelligently
991
992 * LIB: "-o debug" option should disable backgrounding (fix by
993 Fabien Reygrobellet)
994
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00009952004-12-13 Miklos Szeredi <miklos@szeredi.hu>
996
997 * KERNEL: invalidate dentry/attributes if interrupted request
998 could leave filesystem in an unknown state.
999
Miklos Szeredie56818b2004-12-12 11:45:24 +000010002004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1001
1002 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1003 These will cause some regressions, but stability is considered
1004 more important. If any of these features turns out to be
1005 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001006
Miklos Szeredie56818b2004-12-12 11:45:24 +00001007 * Make all requests interruptible (only with SIGKILL currently).
1008 This can be used to break any deadlock produced by the userspace
1009 filesystem accessing it's own exported files. The RELEASE request
1010 is special, because if it's interrupted before sending it to
1011 userspace it is still sent, but the reply is not awaited.
1012
1013 * If request is interrupted before being sent to userspace, and if
1014 it hasn't yet got any side effects, it is always restarted,
1015 regardless of the SA_RESTART flag. This makes these interruptions
1016 transparent to the process.
1017
1018 * Remove shared-writable mmap support, which was prone to an
1019 out-of-memory deadlock situation
1020
1021 * Remove INVALIDATE userspace initiated request
1022
1023 * Make readpages() synchronous. Asynchronous requests are
1024 deadlock prone, since they cannot be interrupted.
1025
1026 * Add readv/writev support to fuse device operations
1027
1028 * Remove some printks, which userspace FS can use for a DoS
1029 against syslog
1030
1031 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1032 fusermount instead
1033
1034 * LIB: improve compatibility with a fuse.h header installed in
1035 ${prefix}/include which in turn includes the real header.
1036
1037 * LIB: improve compatibility by defining fuse_main() (which is now
1038 not used), so old configure scripts find it.
1039
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000010402004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1041
1042 * When mounting on a subdirectory of / don't duplicate slashes at
1043 the beggining of path (spotted by David Shaw)
1044
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000010452004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1046
1047 * Fix bug causing garbage in mount options (spotted by David Shaw)
1048
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000010492004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1050
1051 * Add 'writepage' flag to 'fuse_file_info'.
1052
1053 * More comments in fuse.h
1054
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001055 * Get rid of double underscores
1056
Miklos Szeredi799993c2004-12-04 21:20:05 +000010572004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1058
1059 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1060
1061 * helper.c: add -ho option, which only displays the options not
1062 the usage header. This can be used by filesystems which have
1063 their own options.
1064
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000010652004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1066
1067 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1068 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1069 including the fuse header
1070
1071 * Add binary compatibility to 2.1 version of library with symbol
1072 versioning
1073
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000010742004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1075
1076 * Released 2.1
1077
Miklos Szeredi039322d2004-12-01 18:39:12 +000010782004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1079
1080 * kernel: clean up writing functions
1081
1082 * kernel: no allocation on write in direct_io mode
1083
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001084 * move linux/fuse.h to fuse_kernel.h
1085
Miklos Szeredi83a07442004-11-30 18:25:20 +000010862004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1087
1088 * kernel: clean up reading functions
1089
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000010902004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1091
1092 * kernel: make readpage() uninterruptible
1093
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001094 * kernel: check readonly filesystem flag in fuse_permission
1095
1096 * lib: don't die if version file not found and new style device
1097 exists
1098
1099 * lib: add '-r' option, which is short for '-o ro'
1100
1101 * fusermount: simplify device opening
1102
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001103 * kernel: when direct_io is turend on, copy data directly to
1104 destination without itermediate buffer. More efficient and safer,
1105 since no allocation is done.
1106
1107 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001108
1109 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001110
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000011112004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1112
1113 * libfuse API change: open, read, write, flush, fsync and release
1114 are passed a 'struct fuse_file_info' pointer containing the open
1115 flags (open and release), and the file handle. Verion changed to
1116 3.0.
1117
Miklos Szeredia25d4c22004-11-23 22:32:16 +000011182004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1119
1120 * More cleanups in the kernel
1121
1122 * The 10,229 charater device number has been assigned for FUSE
1123
1124 * Version file checking fix (reported by Christian Magnusson)
1125
1126 * fusermount: opening the fuse device now doesn't need /sys.
1127
1128 * Optimize reading by controlling the maximum readahead based on
1129 the 'max_read' mount option
1130
1131 * fixes for UCLIBC (Christian Magnusson)
1132
Miklos Szeredi13ed4822004-11-20 11:12:21 +000011332004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1134
1135 * Cleaned up kernel in preparation for merge into mainline:
1136
1137 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1138
1139 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1140
1141 * __user annotations for sparse
1142
1143 * allocate individual pages instead of kmalloc in fuse_readdir,
1144 fuse_read and fuse_write.
1145
1146 * Fix NFS export in case "use_ino" mount option is given
1147
Miklos Szeredif3845c42004-11-20 11:18:34 +00001148 * Make libfuse and fusermount compatible with future versions
1149
1150 * fusermount: properly add mount options to /etc/mtab
1151
11522004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1153
1154 * fusermount: do not resolve last component of mountpoint on if it
1155 is '.' or '..'. This new path resolvation is now done on mount as
1156 well as unmount. This enables relative paths to work on unmount.
1157
1158 * fusermount: parse common mount options like "ro", "rw", etc...
1159
1160 * Allow module params to be changed through sysfs
1161
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000011622004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1163
1164 * Released 2.1-pre1
1165
11662004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1167
1168 * Fix bug in fuse_readpages() causing Oops in certain situations.
1169 Bug found by Vincenzo Ciancia.
1170
1171 * Fix compilation with kernels versions > 2.6.9.
1172
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000011732004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001174
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001175 * Check kernel interface version in fusermount to prevent
1176 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001177
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001178 * No need to allocate fuse_conn until actual mount happens
1179
1180 * Fix potential race between umount and fuse_invalidate
1181
1182 * Check superblock of proc file in addition to inode number
1183
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001184 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001185
Miklos Szeredi51ec1032004-11-10 11:52:26 +000011862004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1187
1188 * Separate configure for the kernel directory
1189
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001190 * Don't allow write to return more than 'count'
1191
1192 * Extend kernel interface for future use
1193
Miklos Szeredi51ec1032004-11-10 11:52:26 +000011942004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1195
1196 * Fix 'makeconf.sh' to use autoreconf if available
1197
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000011982004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1199
Miklos Szeredid507c732004-11-08 17:32:25 +00001200 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1201 compatibility with earlier versions. To compile earier versions
1202 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1203 Do not use the "use_ino" mount flag with filesystems compiled with
1204 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001205
1206 * Add pkg-config support. To compile a FUSE based filesystem you
1207 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1208 or similar. Note, that the PKG_CONFIG_PATH environment variable
1209 usually needs to be set to "/usr/local/lib/pkgconfig".
1210
1211 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001212
Miklos Szeredia13d9002004-11-02 17:32:03 +000012132004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1214
1215 * Added "use_ino" mount option. This enables the filesystems to
1216 set the st_ino field on files
1217
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000012182004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1219
1220 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1221 by Jeremy Smith)
1222
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001223 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1224
1225 * Clear the 'exited' flag when mail loop is finished
1226
Miklos Szeredie989f0d2004-10-28 20:24:58 +000012272004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1228
1229 * Make xattr functions work under 2.6 (bug found by Vincenzo
1230 Ciancia)
1231
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000012322004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1233
1234 * Reset request in fuse_flush() (bugreport by David Shaw)
1235
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000012362004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1237
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001238 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001239 error code
1240
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001241 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001242 make it easier to implement a custom event loop.
1243
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001244 * Use daemon() call to background the filesystem after mounting.
1245 This function closes the standard input, output and error and
1246 changes the current working directory to "/".
1247
Miklos Szeredi127d49b2004-10-14 13:33:39 +000012482004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1249
1250 * Released 1.9
1251
Miklos Szeredid45baf42004-10-10 07:56:12 +000012522004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1253
1254 * Don't allow fuse_flush() to be interrupted (bug found by David
1255 Shaw)
1256
Miklos Szeredi1f18db52004-09-27 06:54:49 +000012572004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1258
1259 * Add PID to fuse_context. Patch by Steven James
1260
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001261 * Change file handle type to 'unsigned long' in kernel interface
1262
Miklos Szeredid169f312004-09-22 08:48:26 +000012632004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1264
1265 * A slight API change: fuse_get_context() doesn't need the "fuse"
1266 pointer, but the returned context contains it instead. The
1267 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001268
1269 * Fix mounting and umounting FUSE filesystem under another FUSE
1270 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001271
Miklos Szeredic2309912004-09-21 13:40:38 +000012722004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1273
1274 * Fix deadlock in case of memory allocation failure. Patch by
1275 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001276
Miklos Szeredib2cf9562004-09-16 08:42:40 +000012772004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1278
1279 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001280
Miklos Szeredi65afea12004-09-14 07:13:45 +000012812004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1282
1283 * Check temporary file creation failure in do_getdir(). Bug
1284 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001285
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000012862004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1287
1288 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001289
1290 * Make requests non-interruptible so race with FORGET is avoided.
1291 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001292
1293 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001294
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000012952004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1296
1297 * Fix bug in case two FORGETs for the same node are executed in
1298 the wrong order. Bug spotted and endured for months by Franco
1299 Broi, and logfile for solution provided by Terje Oseberg
1300
Miklos Szeredi12085102004-09-02 18:13:57 +000013012004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1302
1303 * Add -D_REENTRANT to the compile flags
1304
1305 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001306
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000013072004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1308
1309 * Change release method to be non-interruptible. Fixes bug
1310 causing missing release() call when program which has opened files
1311 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001312
Miklos Szeredi891b8742004-07-29 09:27:49 +000013132004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1314
1315 * Add fuse_invalidate() to library API
1316
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000013172004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1318
1319 * Check permissions in setattr if 'default_permissions' flag is
1320 set. Bug spotted by Damjan Lango
1321
Miklos Szeredid66d3942004-07-24 13:47:44 +000013222004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1323
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001324 * 'large_read' mount option removed for 2.6 kernels, since the
1325 default (dynamic read size) is better
1326
1327 * Extend kernel API with file handles. A file handle is returned
1328 by open, and passed to read, write, flush, fsync and release.
1329 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001330
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001331 * Security changes:
1332
1333 * Change the current directory to the mountpoint before checking
1334 the permissions and mount filesystem on "."
1335
1336 * By default don't modprobe the fuse module for non-root. The old
1337 behavior can be restored with the '--enable-auto-modprobe' flag of
1338 ./configure
1339
1340 * By default don't allow shared writable mappings for non-root.
1341 The old behavior can be restored with the 'user_mmap=1' module
1342 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001343
Miklos Szeredibd7661b2004-07-23 17:16:29 +000013442004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1345
1346 * Clean up mount option passing to fusermount and to fuse_new()
1347 BEWARE: this changes the userspace API slightly, and the command
1348 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001349
Miklos Szeredi58865372004-07-20 14:22:26 +000013502004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1351
1352 * Optimize reading under 2.6 kernels by issuing multiple page
1353 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001354
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000013552004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1356
1357 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001358
Miklos Szeredi069c9502004-07-16 16:17:02 +000013592004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1360
1361 * Separate directory entry and inode attribute validity timer
1362
1363 * New write semaphore to stop page writeback during truncate
1364
1365 * Fsync now waits for all writes to complete before sending the
1366 request
1367
1368 * Optimization: if a page is completely written by
1369 fuse_commit_write(), clear the dirty flag and set the uptodate
1370 flag for that page
1371
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001372 * Some memory cleanup at exit
1373
Miklos Szeredi2529ca22004-07-13 15:36:52 +000013742004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1375
1376 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001377 disable the "hide if open" behavior of unlink/rename.
1378
1379 * If temporary buffer allocation fails in raw read, fall back to a
1380 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001381
Miklos Szeredi73798f92004-07-12 15:55:11 +000013822004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1383
1384 * Fix bug in do_open() in libfuse: open count was incremented
1385 after the reply is sent so it could race with unlink/forget and
1386 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001387
Miklos Szeredi015fe702004-07-12 11:52:24 +000013882004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1389
1390 * When performing create or remove operation, refresh the parent's
1391 attributes on next revalidate, as i_nlink (and maybe size/time)
1392 could be inacurate.
1393
1394 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1395 pages (2.6 only)
1396
1397 * Set set_page_dirty address space operation (2.6 only)
1398
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013992004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001400
1401 * Minor fix in read: print debug info even if read size is zero
1402
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014032004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001404
1405 * Fix race between truncate and writepage (fsx-linux now runs
1406 without error)
1407
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014082004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001409
1410 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1411 by Mattias Wadman)
1412
1413 * Added option for direct read/write (-r)
1414
1415 * Fix revalidate time setting for newly created inodes
1416
Miklos Szerediacb4d362004-07-02 16:20:45 +00001417 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1418 this)
1419
1420 * fuse_main() only installs handlers for signals (out of INT, HUP,
1421 TERM, PIPE), for which no handler has yet been installed
1422
1423 * Add module option 'user_allow_other' which if set to non-zero
1424 will allow non root user to specify the 'allow_other' mount option
1425 ('-x' option of fusermount)
1426
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001427 * Fix deadlock between page writeback completion and truncate
1428 (bug found by Valient Gough with the fsx-linux utility)
1429
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014302004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001431
1432 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001433 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1434 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001435
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014362004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001437
1438 * Acquire inode->i_sem before open and release methods to prevent
1439 concurrent rename or unlink operations.
1440
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001441 * Make __fuse_read_cmd() read only one command. This allows
1442 multiplexing the fuse file descriptor with other event sources
1443 using select() or poll() (patch by Jeff Harris)
1444
1445 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1446
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014472004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001448
1449 * Fix file offset wrap around at 4G when doing large reads
1450
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014512004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001452
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001453 * Fix memory leak in open (Valient Gough)
1454
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014552004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001456
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001457 * Add "close after delete" support to libfuse (patch by Valient
1458 Gough)
1459
1460 * Cancel all worker threads before exit in multithreaded mode
1461
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014622004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001463
1464 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001465
1466 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001467
1468 * Work with newer libtool (1.5a)
1469
1470 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001471
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014722004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001473
1474 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001475
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014762004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001477
1478 * Fix possible inode leak in userspace in case of unfinished
1479 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001480
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014812004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001482
1483 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001484
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014852004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001486
1487 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001488
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014892004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001490
1491 * Build shared library as well as static (using libtool)
1492
1493 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1494 there has not been a release with the previous minor number, and I
1495 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001496
1497 * Change fuse_main(), so that default behavior is to go into
1498 background if mount is successful. '-f' and '-d' options disable
1499 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1500 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001501
1502 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1503 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001504
1505 * Don't call getdir method from open() only from first readdir().
1506 Open is sometimes just used to store the current directory
1507 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001508
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015092004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001510
1511 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001512
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015132004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001514
1515 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001516
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015172004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001518
1519 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001520
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015212004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001522
1523 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001524
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015252004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001526
1527 * Replaced binary mount data with text options
1528
1529 * Show FUSE specific mount options in /proc/mounts
1530
1531 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1532
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015332004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001534
1535 * Check some limits so userspace won't get too big requests
1536
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015372004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001538
1539 * Kill compile warning
1540
1541 * Upgraded user-mount patch for 2.6.5
1542
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015432004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001544
1545 * Add detection of user-mode-linux to configure
1546
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015472004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001548
1549 * fixed zero size case for getxattr and listxattr
1550
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015512004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001552
1553 * new fusermount flag '-z': lazy unmount, default is not lazy
1554
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001555 * Extended attributes operations added (getxattr, setxattr,
1556 listxattr, removexattr)
1557
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015582004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001559
1560 * If filesystem doesn't define a statfs operation, then an
1561 all-zero default statfs is returned instead of ENOSYS
1562
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015632004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001564
1565 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1566
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015672004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001568
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001569 * Fix for uClinux (Christian Magnusson)
1570
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015712004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001572
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001573 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001574
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001575 * More kernel interface changes:
1576
1577 * Lookup/getattr return cache timeout values
1578
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015792004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001580
1581 * Clean up option parsing in fuse_main()
1582
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001583 * Added fuse_get() function which returns the fuse object created
1584 by fuse_main()
1585
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015862004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001587
Miklos Szeredic40748a2004-02-20 16:38:45 +00001588 * removed old way of mounting (fusermount mountpoint program)
1589
Miklos Szeredib5958612004-02-20 14:10:49 +00001590 * more kernel interface changes:
1591
1592 * added nanosecond precision to file times
1593
Miklos Szeredic40748a2004-02-20 16:38:45 +00001594 * removed interface version from mount data
1595
1596 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1597
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015982004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001599
1600 * statfs library API changed to match other methods. Since this
1601 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1602
Miklos Szeredi76f65782004-02-19 16:55:40 +00001603 * kernel interface changes follow:
1604
1605 * statfs changed to 64 bits, added 'bavail' field
1606
1607 * add generation number to lookup result
1608
1609 * optimized mknod/mkdir/symlink/link (no separate lookup is
1610 needed)
1611
1612 * rdev size increased to 32 bits for mknod
1613
1614 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001615
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016162004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001617
1618 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001619
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016202004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001621
1622 * Added user-mount.2.6.2-rc3.patch
1623
1624 * Add FS_SAFE flag to fuse filesystem
1625
1626 * fusermount should allow (un)mounting for non-root even if not
1627 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001628
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016292004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001630
1631 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001632
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016332004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001634
1635 * Added check for i_size_read/write functions to configure.in
1636 (patch by Valient Gough)
1637
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016382004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001639
1640 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001641
1642 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001643
1644 * Readpage calls flush_dcache_page() after storing data
1645
1646 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001647
1648 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001649
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016502004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001651
1652 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001653
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016542004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001655
1656 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001657
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016582004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001659
1660 * Added -q option for fusermount
1661
1662 * fuse_unmount() now uses -q option of fusermount, so no error is
1663 printed if the cause of the program exit is that the filesystem
1664 has already been unmounted
1665
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001666 * Fix i_nlink correctness after rmdir/unlink
1667
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016682004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001669
Miklos Szeredib1158392004-01-26 14:43:12 +00001670 * Released 1.1-pre2
1671
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016722004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001673
Miklos Szeredi307242f2004-01-26 11:28:44 +00001674 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001675
1676 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001677
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016782004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001679
1680 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001681
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016822004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001683
1684 * Write all pending data before a RELEASE operation
1685
1686 * Suppress 'Bad file descriptor' warning on exit
1687
1688 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001689 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001690
Miklos Szeredib1158392004-01-26 14:43:12 +00001691 * New fusermount option '-l' which enables big reads. Big reads
1692 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001693
1694 * fuse_main() can accept fusermount arguments after a '--'
1695
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016962004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001697
1698 * Support for exporting filesystem over NFS (see README.NFS)
1699
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017002004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001701
1702 * Support non-blocking writepage on 2.6. This makes FUSE behave
1703 much more nicely in low-memory situations
1704
1705 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1706 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017082004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001709
1710 * Code cleanups
1711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017122004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001713
1714 * Released 1.1-pre1
1715
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017162004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001717
1718 * Integrated 2.6 kernel support patch by Michael Grigoriev
1719
1720 * Improvements and cleanups for 2.6 kernels
1721
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017222004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001723
Miklos Szeredie5183742005-02-02 11:14:04 +00001724 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001725
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017262003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001727
1728 * Added major+minor version to library API, and minor version to
1729 kernel API
1730
David McNab7a19caf2003-12-13 02:05:46 +000017312003-12-13 David McNab <david@rebirthing.co.nz>
1732
1733 * Implemented fsync support in examples/example.py
1734
1735 * Implemented 'fsync' and 'statfs' methods in python
1736 interface
1737
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017382003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001739
Miklos Szeredie5183742005-02-02 11:14:04 +00001740 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001741
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001742 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001743
David McNab8bf62632003-12-11 22:49:22 +000017442003-12-12 David McNab <david@rebirthing.co.nz>
1745
1746 * Added distutils support to the python module, as per standard
1747 python development practice
1748
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017492003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001750
1751 * Add file locking for mount/unmount (based on patch by Valient
1752 Gough)
1753
17542003-12-11 David McNab <david@rebirthing.co.nz>
1755
1756 * Python filesystem - was broken with python2.3, now fixed:
1757 - changed PyTuple_* calls to PySequence_*, because os.lstat
1758 is no longer returning a pure tuple
1759 - changed PyInt_Check() calls to also call PyLong_Check,
1760 to cover for cases (eg os.lstat) where longs are returned
1761 - Added support for file 'release' handling, which IMO is
1762 essential since this signals to a FS that writes to a file
1763 are complete (and therefore the file can now be disposed of
1764 meaningfully at the python filesystem's discretion)
1765 - Added '__init__' handler to base Fuse class, which allows
1766 your Python class to know the mountpoint and mount args,
1767 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001768
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001769 * General:
1770 - added 'mount.fuse' script (in util/ dir), which is meant to be
1771 symlinked from /sbin, and which allows FUSE filesystems to
1772 be mounted with the 'mount' command, and listed in fstab;
1773 also, mount arguments get passed to your filesystem
1774
1775
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017762003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001777
1778 * Fix kernel version detection (again). Bugreport by Peter Levart
1779
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017802003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001781
1782 * Applied read combining patch by Michael Grigoriev (tested by
1783 Valient Gough and Vincent Wagelaar)
1784
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017852003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001786
1787 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1788 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001789
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017902003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001791
1792 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001793
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017942003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001795
1796 * kernel version detection fix
1797
1798 * fusermount now uses "lazy" umount option
1799
1800 * fusermount can use modprobe with module-init-tools
1801
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018022003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001803
1804 * Integrated caching patch by Michael Grigoriev
1805
Miklos Szeredida4e4862003-09-08 11:14:11 +00001806 * Added "Filesystems" file with descriptions of projects using
1807 FUSE
1808
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001809 * Added patch by Michael Grigoriev to allow compliation of FUSE
1810 kernel module for 2.6 kernels
1811
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018122003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001813
1814 * And another spec-file fix by Achim Settelmeier
1815
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018162003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001817
1818 * Spec-file fix by Achim Settelmeier
1819
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018202003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001821
Miklos Szerediac361172004-11-02 19:14:14 +00001822 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001823
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018242003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001825
1826 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1827
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018282003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001829
1830 * Updated fuse.spec file (Achim Settelmeier)
1831
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018322003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001833
1834 * Version 1.0 released
1835
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018362003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001837
1838 * SuSE compilation fix by Juan-Mariano de Goyeneche
1839
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018402002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001841
1842 * The release() VFS call is now exported to the FUSE interface
1843
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018442002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001845
1846 * 64 bit file offset fixes in the fuse kernel module
1847
1848 * Added function 'fuse_exit()' which can be used to exit the main
1849 loop
1850
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018512002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001852
1853 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1854 an incompatible interface change.
1855
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018562002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001857
1858 * Portablility fix (bug reported by C. Chris Erway)
1859
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018602002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001861
1862 * Use Mark Glines' fd passing method for default operation instead
1863 of old reexec
1864
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018652002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001866
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001867 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1868
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018692002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001870
Miklos Szeredi60c23522002-10-24 09:19:43 +00001871 * fix incompatiblity with Red Hat kernels, with help from Nathan
1872 Thompson-Amato.
1873
Mark Glines65ba2192002-04-18 14:41:48 +000018742002-04-18 Mark Glines <mark@glines.org>
1875
1876 * added an alternative to fuse_mount(), called
1877 fuse_mount_ioslave(), which does not need to reexec the
1878 FUSE program.
1879 * added a small helper util needed by fuse_mount_ioslave().
1880
Mark Glines220635a2002-03-17 07:01:14 +000018812002-03-16 Mark Glines <mark@glines.org>
1882
1883 * use struct fuse_statfs everywhere possible to avoid problems
1884 with the headerfiles changing struct statfs member sizes
1885
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018862002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001887
1888 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001891
1892 * RPM support by Achim Settelmeier
1893
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018942002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001895
Miklos Szerediddc862a2002-01-09 13:46:10 +00001896 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001897
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018982002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001899
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001900 * Revaidate all path components not just the last, this means a
1901 very small performance penalty for being more up-to-date.
1902
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019032002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001904
1905 * Update and fix python interface
1906
Mark Glinesd84b39a2002-01-07 16:32:02 +000019072002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001908
Mark Glinesd84b39a2002-01-07 16:32:02 +00001909 * Added statfs() support to kernel, lib, examples, and perl!
1910
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019112001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001912
1913 * Better cross compilation support
1914
1915 * Ported to Compaq IPAQ
1916
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019172001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001918
Miklos Szeredife25def2001-12-20 15:38:05 +00001919 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001920 patch from Matt Ryan)
1921
Miklos Szeredife25def2001-12-20 15:38:05 +00001922 * Added flags to fusermount and to kernel interface to control
1923 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001924
Miklos Szeredife25def2001-12-20 15:38:05 +00001925 * Integrated fuse_set_operations() into fuse_new()
1926
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019272001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001928
1929 * Applied header protection + extern "C" patch by Roland
1930 Bauerschmidt
1931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019322001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001933
Miklos Szeredie5183742005-02-02 11:14:04 +00001934 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001935
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019362001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001937
1938 * Cleaned up way of mounting simple filesystems.
1939
1940 * fuse_main() helper function added
1941
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019422001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001943
Miklos Szeredife25def2001-12-20 15:38:05 +00001944 * Optimized read/write operations, so that minimal copying of data
1945 is done
1946
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019472001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001948
1949 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001950
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019512001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001952
1953 * Fixed vfsmount reference leak in fuse_follow_link
1954
1955 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1956 userspace is ignored
1957
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019582001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001959
Miklos Szeredife25def2001-12-20 15:38:05 +00001960 * Started ChangeLog