blob: ddcf7127d34979cab03b47d54ae688fdbe3771ee [file] [log] [blame]
Miklos Szeredi6bab4802006-02-21 18:31:29 +000012006-02-21 Miklos Szeredi <miklos@szeredi.hu>
2
3 * fusexmp_fh: implement flush() method and call close() on the
4 open file descriptor. This is needed if used on an NFS
5 filesystem, which buffers data until file is closed. Franco Broi
6 spotted the situation when 'cp -p' failed to set the modification
7 time because of this.
8
Miklos Szeredie109e282006-02-20 11:06:20 +000092006-02-20 Miklos Szeredi <miklos@szeredi.hu>
10
11 * Released 2.6.0-pre1
12
Miklos Szeredib67f2162006-02-20 10:55:33 +0000132006-02-19 Miklos Szeredi <miklos@szeredi.hu>
14
15 * libfuse: fix use-after-free bug in interruptred reply_entry().
16 Patch from John Muir
17
18 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
19 ID: 352631. Found by Stéphane Rosi
20
Miklos Szeredi1bf64f42006-02-17 15:49:25 +0000212006-02-17 Miklos Szeredi <miklos@szeredi.hu>
22
23 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
24 into a single function fuse_add_direntry(). This cleans up the
25 interface and makes it possible to do stacking.
26
Miklos Szeredi99ac9c02006-02-16 10:08:32 +0000272006-02-16 Miklos Szeredi <miklos@szeredi.hu>
28
29 * Fix rare race betweeen abort and release caused by failed iget()
30 in fuse_create_open().
31
Miklos Szeredi6e806e92006-02-16 16:59:39 +000032 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
33 own attribute caching.
34
Miklos Szeredid65cdfe2006-02-15 14:25:17 +0000352006-02-15 Miklos Szeredi <miklos@szeredi.hu>
36
37 * Work around FreeBSD runtime linker "feature" which binds an old
38 version of a symbol to internal references if the symbol has more
39 than one version. This resulted in infinite recursion in
40 fuse_lowlevel_new_compat25().
41
Csaba Henkdcce3e52006-02-10 06:22:15 +0000422006-02-10 Csaba Henk <csaba.henk@creo.hu>
43
44 * Refine clock_gettime() querying so that linker options
45 shall be set as it's appropriate for the target platform.
46
Miklos Szeredi390ae312006-02-10 16:44:34 +0000472006-02-09 Miklos Szeredi <miklos@szeredi.hu>
48
49 * Fix udev rule syntax. Reported by Nix
50
Miklos Szeredieb643582006-02-08 10:54:02 +0000512006-02-08 Miklos Szeredi <miklos@szeredi.hu>
52
53 * In some cases udev rule seems to be ineffective when installed
54 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
55
Miklos Szeredi357529c2006-02-03 09:20:31 +0000562006-02-03 Miklos Szeredi <miklos@szeredi.hu>
57
58 * Fix compilation when build directory is different from source
59 directory. Reported by Frédéric L. W. Meunier
60
Miklos Szeredice28c7e2006-02-02 14:59:05 +0000612006-02-02 Miklos Szeredi <miklos@szeredi.hu>
62
63 * Fix even bigger bug introduced in fix for request_end() on
64 2006-01-14. Reported by Gal Rosen
65
Miklos Szeredi320abe42006-01-30 18:14:51 +0000662006-01-30 Miklos Szeredi <miklos@szeredi.hu>
67
68 * highlevel-lib: add 'auto_cache' option. This caches file data
69 based on modification time and size
70
Miklos Szeredi065f2222006-01-20 15:15:21 +0000712006-01-20 Miklos Szeredi <miklos@szeredi.hu>
72
Miklos Szeredid66b7282006-02-02 15:15:21 +000073 * Sanitize storage type and help message in mount_bsd.c. Patch
74 from Csaba Henk
75
Miklos Szeredi065f2222006-01-20 15:15:21 +000076 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
77 FUSE_OPT_KEY_DISCARD
78
79 * Add options 'max_readahead', 'sync_read' and 'async_read'
80
81 * Kernel ABI version 7.6:
82
83 * Negotiate the 'max_readahead' value and 'async_read' flags with
84 userspace in the INIT method
85
86 * Add connection info to ->init() methods to both lowlevel and
87 highlevel API
88
89 * Fall back to synchronous read() behavior if either library or
90 userspace filesystem is using the old interface version. This is
91 needed so non-updated filesystems won't be confused by the
92 different read() behavior
93
942006-01-19 Miklos Szeredi <miklos@szeredi.hu>
95
96 * lib: if "fsname=" option was given, pass it to fusermount
97
98 * fuse_opt: add new fuse_opt_insert_arg() function, which is
99 needed by filesystems to implement some argument manipulations
100 correctly
101
102 * fuse_opt: fix memory leak in handling "--" option
103
1042006-01-18 Miklos Szeredi <miklos@szeredi.hu>
105
106 * kernel: fix detection of case when fuse is not configured into
107 the kernel either as module or built-in
108
109 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
110 'template' structure member to 'templ'. Reported by Takashi Iwai
111
112 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
113
114 * kernel: support version 2.6.16 (i_sem -> i_mutex)
115
Miklos Szeredi15af1b82006-01-16 17:52:24 +00001162006-01-16 Miklos Szeredi <miklos@szeredi.hu>
117
118 * Added (again) asynchronous readpages support
119
120 * Each connection now shows up under /sys/fs/fuse/connections
121
122 * Connection attributes exported to sysfs: 'waiting' number of
123 waiting requests; 'abort' abort the connection
124
125 * Connection may be aborted through either the sysfs interface or
126 with 'umount -f mountpoint'
127
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00001282006-01-14 Miklos Szeredi <miklos@szeredi.hu>
129
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000130 * Released 2.5.0
131
1322006-01-14 Miklos Szeredi <miklos@szeredi.hu>
133
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000134 * kernel: fix a couple of bugs
135
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000136 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000137 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000138 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000139
140 * request_end() used request pointer after decrementing refcount
141
142 * Clearing ->connected or ->mounted connection flags could race
143 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000144
Miklos Szeredia9820342006-01-10 10:54:11 +00001452006-01-10 Miklos Szeredi <miklos@szeredi.hu>
146
147 * kernel: add necessary compile flags for 2.4.X/x86_64.
148 Report from Sean Ziegeler
149
Miklos Szeredi35676b02006-01-09 10:13:28 +00001502006-01-09 Miklos Szeredi <miklos@szeredi.hu>
151
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000152 * Released 2.5.0-pre2
153
1542006-01-09 Miklos Szeredi <miklos@szeredi.hu>
155
Miklos Szeredi35676b02006-01-09 10:13:28 +0000156 * Applied patch from Csaba Henk, to update mount_bsd to new
157 fuse_mount() semantics
158
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000159 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
160 Steiner and Don Taber
161
Miklos Szeredicb075c82006-01-09 11:33:04 +0000162 * fusermount: add 'dirsync' mount option
163
Miklos Szerediad005972006-01-07 10:14:34 +00001642006-01-07 Miklos Szeredi <miklos@szeredi.hu>
165
166 * Improved help reporting and added version reporting to library
167
Miklos Szeredi0af762a2006-01-06 09:47:54 +00001682006-01-06 Miklos Szeredi <miklos@szeredi.hu>
169
170 * Change working directory to "/" even if running in the
171 foreground. Patch from Jonathan Brandmeyer
172
Miklos Szeredi95da8602006-01-06 18:29:40 +0000173 * Changed lots of functions to use 'struct fuse_args' instead of
174 separate argc and argv
175
176 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
177 fuse_remove_signal_handlers() functions, so that it's now pretty
178 easy to get all the functionality of fuse_main() with a filesystem
179 using the lowlevel API.
180
Miklos Szeredib8638182006-01-02 12:52:24 +00001812006-01-02 Miklos Szeredi <miklos@szeredi.hu>
182
Miklos Szeredif1941472006-01-02 16:27:48 +0000183 * mount.fuse: the 'user' option should be ignored. Report and
184 solution from Mattd.
185
186 * mount.fuse: export PATH in the right place. Report and patch
187 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000188
Miklos Szeredi73f41392005-12-16 11:12:16 +00001892005-12-16 Miklos Szeredi <miklos@szeredi.hu>
190
191 * Clean up the option parsing interface slightly, by creating an
192 "argument list" structure, that contains the argument vector and
193 count
194
Miklos Szeredi4e829092005-12-15 16:13:49 +00001952005-12-15 Miklos Szeredi <miklos@szeredi.hu>
196
197 * fusermount: check if /mnt/mtab is a symlink and don't modify it
198 in that case
199
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000200 * kernel: simplify request size limiting. INIT only contains
201 maximum write size, maximum path component size remains fixed at
202 1024 bytes, and maximum xattr size depends on read buffer.
203
Miklos Szeredie248e4b2005-12-14 16:18:32 +00002042005-12-14 Miklos Szeredi <miklos@szeredi.hu>
205
206 * Fix readdir() failure on x86_64, of 32bit programs compiled
207 without largefile support. Bug report and help from Anthony
208 Kolasny
209
Miklos Szeredi64709572005-12-14 22:16:28 +0000210 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000211 a regular file
212
213 * Add current output argument vector to option processing
214 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000215
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00002162005-12-12 Miklos Szeredi <miklos@szeredi.hu>
217
218 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
219
Miklos Szeredi659743b2005-12-09 17:41:42 +00002202005-12-09 Miklos Szeredi <miklos@szeredi.hu>
221
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000222 * Released 2.5.0-pre1
223
2242005-12-09 Miklos Szeredi <miklos@szeredi.hu>
225
Miklos Szeredi659743b2005-12-09 17:41:42 +0000226 * libfuse: added option parsing interface, defined in
227 <fuse_opt.h>.
228
Miklos Szeredic53cddd2005-12-07 12:57:59 +00002292005-12-07 Miklos Szeredi <miklos@szeredi.hu>
230
231 * Return EIO for file operations (read, write, fsync, flush) on
232 open files whose inode has become "bad". Inodes will be marked
233 "bad" if their type changes. Bug report by Csaba Henk
234
Miklos Szeredi044da2e2005-12-06 17:59:55 +00002352005-12-06 Miklos Szeredi <miklos@szeredi.hu>
236
237 * Use bigger request buffer size. write() did not work on archs
238 with > 4k page size, Bug report by Mark Haney
239
240 * ABI version 7.5:
241
242 * Extend INIT reply with data size limits
243
Miklos Szeredifa829b52005-12-02 11:05:41 +00002442005-12-02 Miklos Szeredi <miklos@szeredi.hu>
245
246 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
247 reported by Vincenzo Ciancia
248
249 * Handle exit-by-umount in fuse_read_cmd()
250
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00002512005-11-29 Miklos Szeredi <miklos@szeredi.hu>
252
253 * Check if '-msoft-float' option is supported by compiler when
254 configuring for a 2.4.x kernel. Bug report by Mark Haney
255
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000256 * In multithreaded loop send a TERM signal to the main thread if
257 one of the other threads exit. Needed on FreeBSD for a clean exit
258 on umount. Should not cause any harm on Linux either
259
Miklos Szerediead7f102005-11-28 16:02:27 +00002602005-11-28 Miklos Szeredi <miklos@szeredi.hu>
261
262 * Fix bug in 32-bit file handle compatibility
263
Miklos Szeredia90b7342005-11-27 19:22:42 +00002642005-11-27 Miklos Szeredi <miklos@szeredi.hu>
265
266 * Block TERM, INT, HUP and QUIT signals in all but the main
267 thread. According to POSIX it's not specified which thread will
268 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000269
270 * Kernel changes:
271
272 * Check for directory aliasing on mkdir, not just on lookup
273
274 * Check for special node ID values in create+open operation
275
276 * Sync with -mm: readv, writev, aio_read and aio_write methods
277 added to file operations
278
279 * Cleanups: lookup code, page offset calculation
280
281 * ABI stepped to 7.4, changes:
282
283 * frsize member added to fuse_kstatfs structure
284
285 * added support for negative entry caching: on lowlevel API if
286 fuse_entry_param::ino is set to zero in reply to a lookup request,
287 the kernel will cache the dentry for the specified amount of time.
288
289 * libfuse: added 'negative_timeout' option: specifies how much
290 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000291 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000292
Miklos Szeredibac4c772005-11-23 13:35:54 +00002932005-11-22 Miklos Szeredi <miklos@szeredi.hu>
294
295 * Add detection of mainline FUSE code in running kernel
296
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00002972005-11-21 Miklos Szeredi <miklos@szeredi.hu>
298
299 * Don't use async cancelation in multithreaded loop. This makes
300 it more portable to systems where read() is not async cancel safe.
301 Report from Andriy Gapon
302
Miklos Szeredi05c97842005-11-20 17:05:07 +00003032005-11-20 Miklos Szeredi <miklos@szeredi.hu>
304
305 * Warn if API version 11 compatibility is requested
306
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00003072005-11-17 Miklos Szeredi <miklos@szeredi.hu>
308
309 * More FreeBSD merge
310
Miklos Szeredi832ee442005-11-18 21:02:36 +0000311 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
312 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000313 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000314
315 * libfuse: don't use system() to invoke 'fusermount -u ...'
316 because it breaks mountpoints with spaces in them into multiple
317 arguments
318
Miklos Szeredib3f99722005-11-16 13:00:24 +00003192005-11-16 Miklos Szeredi <miklos@szeredi.hu>
320
321 * Merge library part of FreeBSD port. Patch by Csaba Henk
322
Miklos Szeredi3a770472005-11-11 21:32:42 +00003232005-11-11 Miklos Szeredi <miklos@szeredi.hu>
324
325 * Use 64bit type for file handle, so the full range supported by
326 the kernel interface is available to applications
327
Miklos Szeredibcc53852005-11-10 09:54:41 +00003282005-11-10 Miklos Szeredi <miklos@szeredi.hu>
329
330 * Moved mountpoint argument checking from fuse_parse_cmdline() to
331 fuse_mount() in preparation to FreeBSD merge.
332
Miklos Szeredi4ec06812005-11-08 13:04:27 +00003332005-11-08 Miklos Szeredi <miklos@szeredi.hu>
334
335 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
336 Henk.
337
Miklos Szeredic706ad92005-11-07 15:30:48 +00003382005-11-07 Miklos Szeredi <miklos@szeredi.hu>
339
340 * Make the statfs change backwards compatible.
341
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00003422005-11-06 Miklos Szeredi <miklos@szeredi.hu>
343
344 * Change ->statfs() method to use 'struct statvfs' instead of
345 'struct statfs'. This makes the API more portable since statvfs()
346 is defined by POSIX.
347
Miklos Szeredif7eec032005-10-28 13:09:50 +00003482005-10-28 Miklos Szeredi <miklos@szeredi.hu>
349
350 * Add fgetattr() method, which currently will only be called after
351 a successful call to a create() method.
352
Miklos Szeredib0b13d12005-10-26 12:53:25 +00003532005-10-26 Miklos Szeredi <miklos@szeredi.hu>
354
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000355 * Change kernel ABI version to 7.3
356
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000357 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000358 call if 'default_permissions' mount option is not given, and is
359 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000360
Miklos Szeredid9079a72005-10-26 15:29:06 +0000361 * Add atomic CREATE+OPEN operation. This will only work with
362 2.6.15 (presumably) or later Linux kernels.
363
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000364 * Add ftruncate() method. This will only work with 2.6.15
365 (presumably) or later Linux kernels.
366
367 * Fix kernel module compile if kernel source and build directories
368 differ. Report and initial patch by John Eastman
369
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00003702005-10-18 Miklos Szeredi <miklos@szeredi.hu>
371
372 * lib: optimize buffer reallocation in fill_dir.
373
Miklos Szeredic9daeb12005-10-17 10:19:21 +00003742005-10-17 Miklos Szeredi <miklos@szeredi.hu>
375
376 * Released 2.4.1
377
Miklos Szeredif412d072005-10-14 21:24:32 +00003782005-10-14 Miklos Szeredi <miklos@szeredi.hu>
379
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000380 * libfuse: add debug for write result (by Shaun Jackman) and
381 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000382
Miklos Szeredib75d4b92005-10-11 10:12:08 +00003832005-10-11 Miklos Szeredi <miklos@szeredi.hu>
384
385 * Spelling fixes, thanks to Ioannis Barkas
386
Miklos Szeredibaab5872005-10-10 08:41:14 +00003872005-10-10 Miklos Szeredi <miklos@szeredi.hu>
388
389 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
390 patch
391
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00003922005-10-07 Miklos Szeredi <miklos@szeredi.hu>
393
394 * highlevel-lib: init() and destroy() methods didn't have an
395 initialized fuse_context. Bug reported by Tim Stoakes
396
Miklos Szeredif2491122005-10-04 10:10:41 +00003972005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000398
399 * Released 2.4.0
400
Miklos Szeredi836ab712005-10-03 14:11:59 +00004012005-10-03 Miklos Szeredi <miklos@szeredi.hu>
402
403 * Add documentation to fuse_lowlevel.h
404
405 * API cleanups:
406
407 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
408
409 * Move fuse_mount() and fuse_unmount() to fuse_common.h
410
411 * Change the return type of fuse_reply_none() from int to void.
412
Miklos Szerediaf138742005-09-30 08:49:59 +00004132005-09-30 Miklos Szeredi <miklos@szeredi.hu>
414
415 * kernel: NFS exporting leaked dentries. Bug found and fixed by
416 Akshat Aranya.
417
Miklos Szeredidb016e02005-09-29 10:06:27 +00004182005-09-29 Miklos Szeredi <miklos@szeredi.hu>
419
420 * fusermount: fix error message, when unable to open /dev/fuse.
421 Report by Balázs Pozsár
422
Miklos Szeredi35200932005-09-28 14:50:49 +00004232005-09-28 Miklos Szeredi <miklos@szeredi.hu>
424
425 * UClibc fixes from Christian Magnusson
426
Miklos Szeredi8eddf642005-09-27 08:58:26 +00004272005-09-27 Miklos Szeredi <miklos@szeredi.hu>
428
429 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
430
Miklos Szerediedec95c2005-09-26 10:22:22 +00004312005-09-26 Miklos Szeredi <miklos@szeredi.hu>
432
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000433 * Released 2.4.0-rc1
434
4352005-09-26 Miklos Szeredi <miklos@szeredi.hu>
436
Miklos Szerediedec95c2005-09-26 10:22:22 +0000437 * fusermount: allow user umount in the case when /etc/mtab is a
438 symlink to /proc/mounts. Reported by Balázs Pozsár.
439
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00004402005-09-23 Miklos Szeredi <miklos@szeredi.hu>
441
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000442 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000443
Miklos Szeredif45f3c12005-09-22 15:14:27 +00004442005-09-22 Miklos Szeredi <miklos@szeredi.hu>
445
446 * Slight optimization in returning EINVAL error in case of an open
447 with O_DIRECT flag.
448
Miklos Szeredi670d07a2005-09-20 11:36:32 +00004492005-09-20 Miklos Szeredi <miklos@szeredi.hu>
450
451 * Remove '--enable-auto-modprobe' configure flag. Module
452 auto-loading is now handled by the kernel.
453
Miklos Szeredid51fca12005-09-15 12:51:00 +00004542005-09-15 Miklos Szeredi <miklos@szeredi.hu>
455
456 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
457 Help from Jens M. Noedler.
458
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00004592005-09-14 Miklos Szeredi <miklos@szeredi.hu>
460
461 * Add memory cleanup on thread exit
462
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00004632005-09-13 Miklos Szeredi <miklos@szeredi.hu>
464
465 * Set umask to zero in fusexmp and fusexmp_fh, so that
466 files/directories are created with the requested mode.
467
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00004682005-09-12 Miklos Szeredi <miklos@szeredi.hu>
469
470 * Don't ignore read error in multithreaded loop
471
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00004722005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000473
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000474 * Released 2.4.0-pre2
475
4762005-09-08 Miklos Szeredi <miklos@szeredi.hu>
477
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000478 * Revert lock and access operations. Postpone these until 2.5.
479
4802005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000481
482 * Fix compile warning on 2.6.13 and later
483
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000484 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000485
Miklos Szeredi77ccf652005-08-19 14:40:27 +00004862005-08-19 Miklos Szeredi <miklos@szeredi.hu>
487
488 * lib: always refresh directory contents after rewinddir() to
489 conform to SUS. Bug found by John Muir.
490
Miklos Szeredia1482422005-08-14 23:00:27 +00004912005-08-15 Miklos Szeredi <miklos@szeredi.hu>
492
Miklos Szeredic43f9412005-08-15 15:10:48 +0000493 * Released 2.4.0-pre1
494
4952005-08-14 Miklos Szeredi <miklos@szeredi.hu>
496
Miklos Szeredia1482422005-08-14 23:00:27 +0000497 * lib: cleaned up (or messed up, depending on your POV) the low
498 level library API. Hopefully this is close to the final form.
499
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00005002005-08-05 Miklos Szeredi <miklos@szeredi.hu>
501
502 * fusermount: don't allow empty mountpoint argument, which defeats
503 automatic umounting in fuse_main(). Bugreport by Václav Jůza
504
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00005052005-08-03 Miklos Szeredi <miklos@szeredi.hu>
506
507 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
508 option is used (Paul Alfille).
509
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00005102005-08-02 Miklos Szeredi <miklos@szeredi.hu>
511
512 * highlevel-lib: added mount options "attr_timeout" and
513 "entry_timeout". These options control the length of time file
514 attributes and entries (names) are cached. Both default to 1.0
515 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000516
517 * kernel: correctly handle zero timeout for attributes and entries
518
Miklos Szeredi56a61f02005-08-01 10:42:25 +00005192005-08-01 Miklos Szeredi <miklos@szeredi.hu>
520
521 * Added missing symbols to versionscript (Joshua J. Berry)
522
Miklos Szeredie77cc072005-08-01 11:58:51 +0000523 * kernel: implement two flags, open can set: 'direct_io' and
524 'keep_cache'. These correspond exactly to mount options
525 'direct_io' and 'kernel_cache', but allow a per-open setting.
526
527 * Move 'direct_io' and 'kernel_cache' mount option handling to
528 userspace. For both mount options, if the option is given, then
529 the respective open flag is set, otherwise the open flag is left
530 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000531
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000532 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000533
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00005342005-07-28 Miklos Szeredi <miklos@szeredi.hu>
535
536 * kernel: invalidate attributes for read/readdir/readlink
537 operations
538
539 * kernel: detect newer UML kernels
540
Miklos Szeredibfb99462005-07-26 11:07:55 +00005412005-07-26 Miklos Szeredi <miklos@szeredi.hu>
542
543 * Make the installation path of fuse.ko and mount.fuse
544 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
545 environment variables. Requirement and help from Csaba Henk.
546
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00005472005-07-22 Miklos Szeredi <miklos@szeredi.hu>
548
549 * Fix bug, that causes filesystem requests to hang when unique
550 request counter becomes negative. This happens after
551 2,147,483,648 operations, so most people won't care. Thanks to
552 Franco Broi for the report and testing.
553
Miklos Szeredi9b813af2005-07-21 07:59:37 +00005542005-07-21 Miklos Szeredi <miklos@szeredi.hu>
555
556 * Don't change mtime/ctime/atime to local time on read/write.
557 Bug reported by Ben Grimm
558
559 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
560 Magnusson
561
562 * fusermount: use getopt_long() for option parsing. It allows the
563 use of '--' to stop argument scanning, so fusermount can now
564 operate on directories whose names begin with a '-'. Patch by
565 Adam Connell
566
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00005672005-07-15 Miklos Szeredi <miklos@szeredi.hu>
568
569 * fusermount: add '-v', '--version' and '--help' options
570
571 * add inode based API
572
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00005732005-07-12 Miklos Szeredi <miklos@szeredi.hu>
574
575 * lib: don't block signals in worker threads. Problem noticed by
576 Usarin Heininga
577
Miklos Szeredic902a852005-07-07 12:35:37 +00005782005-07-07 Miklos Szeredi <miklos@szeredi.hu>
579
580 * lib: don't allow both 'allow_other' and 'allow_root' options to
581 be given
582
Miklos Szeredi437d8112005-07-06 09:14:20 +00005832005-07-06 Miklos Szeredi <miklos@szeredi.hu>
584
585 * fusermount: check if mountpoint is empty (only '.' and '..' for
586 directories, and size = 0 for regular files). If "nonempty"
587 option is given, omit this check. This is useful, so users don't
588 accidentally hide data (e.g. from backup programs). Thanks to
589 Frank van Maarseveen for pointing this out.
590
591 * kernel: check if mandatory mount options ('fd', 'rootmode',
592 'user_id', 'group_id') are all given
593
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000594 * lib: simplify 'readdir_ino' handling
595
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000596 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
597
Miklos Szeredibb9f5172005-07-03 18:03:11 +00005982005-07-03 Miklos Szeredi <miklos@szeredi.hu>
599
600 * kernel: clean up 'direct_io' code
601
Miklos Szeredie1bcece2005-06-28 10:37:06 +00006022005-06-28 Miklos Szeredi <miklos@szeredi.hu>
603
604 * Add 'mount.fuse' written by Petr Klima
605
Miklos Szeredi866826d2005-06-28 12:22:57 +0000606 * '/dev/fuse' is created by 'make install' if does not yet exist
607
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00006082005-06-20 Miklos Szeredi <miklos@szeredi.hu>
609
610 * Fix UCLIBC compile error. Patch by Christian Magnusson
611
Miklos Szerediec12fad2005-06-08 10:26:34 +00006122005-06-08 Miklos Szeredi <miklos@szeredi.hu>
613
614 * Enable the auto-loading of the module via access to the
615 corresponding device file. Patch by Takashi Iwai.
616
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000617 * Allow mounting a regular file (over a regular file) for
618 unprivleged users.
619
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000620 * Do not create temporary device file. Require "/dev/fuse" to
621 exist, and be readable/writable by the mounting user.
622
Miklos Szeredi46960ce2005-06-02 09:05:00 +00006232005-06-02 Miklos Szeredi <miklos@szeredi.hu>
624
Miklos Szeredi56478552005-06-02 10:29:00 +0000625 * Released 2.3.0
626
6272005-06-02 Miklos Szeredi <miklos@szeredi.hu>
628
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000629 * Fix serious information leak: if the filesystem returns a short
630 byte count to a read request, and there are non-zero number of
631 pages which are not filled at all, these pages will not be zeroed.
632 Hence the user can read out previous memory contents. Found by
633 Sven Tantau.
634
Miklos Szeredi33be22d2005-05-27 09:12:43 +00006352005-05-27 Miklos Szeredi <miklos@szeredi.hu>
636
637 * Add "readdir_ino" mount option, which tries to fill in the d_ino
638 field in struct dirent. This mount option is ignored if "use_ino"
639 is used. It helps some programs (e.g. 'pwd' used over NFS from a
640 non-Linux OS). Patch by David Shaw.
641
Miklos Szeredif94e0102005-05-12 14:56:34 +00006422005-05-12 Miklos Szeredi <miklos@szeredi.hu>
643
Miklos Szeredieb009c42005-05-12 15:01:17 +0000644 * Released 2.3-rc1
645
6462005-05-12 Miklos Szeredi <miklos@szeredi.hu>
647
Miklos Szeredif94e0102005-05-12 14:56:34 +0000648 * File save in krusader and other editors doesn't work with sshfs,
649 because open() is interrupted by a periodic signal, and open()
650 restarts forever, without any progress. This could just be fixed
651 in open(), but the problem is more generic: if signals are
652 received more often than the filesystem can get the request to
653 userspace, it will never finish. This is probably only a
654 theoretical problem, nevertheless I'm removing the possibility to
655 interrupt requests with anything other than SIGKILL, even before
656 being sent to userspace. Bugreport by Eduard Czimbalmos.
657
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00006582005-05-09 Miklos Szeredi <miklos@szeredi.hu>
659
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000660 * libfuse: add "tree_lock" rwlock, that is locked for write in
661 rename, unlink and rmdir, and locked for read in all other
662 operations. This should fix the rename/release race reported by
663 Valient Gough and others. The solution is very coarse, a finer
664 grained locking scheme could be implemented, but it would be much
665 more complex. Let's see whether this is good enough.
666
6672005-05-09 Miklos Szeredi <miklos@szeredi.hu>
668
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000669 * Released 2.3-pre7
670
Miklos Szeredi38009022005-05-08 19:47:22 +00006712005-05-08 Miklos Szeredi <miklos@szeredi.hu>
672
673 * Better fix for out of order FORGET messages. Now the
674 LOOKUP/FORGET messages are balanced exactly (one FORGET can
675 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000676 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000677 compatible.
678
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00006792005-05-06 Miklos Szeredi <miklos@szeredi.hu>
680
681 * Fix abort for out of order FORGET messages. Again. Spotted by
682 Franco Broi again. Sorry :)
683
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00006842005-04-29 Miklos Szeredi <miklos@szeredi.hu>
685
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000686 * Released 2.3-pre6
687
6882005-04-29 Miklos Szeredi <miklos@szeredi.hu>
689
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000690 * Make fusermount work with fuse kernel modules not yet supporting
691 the "group_id" option (added for the purpose of stricter
692 permission checking).
693
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00006942005-04-28 Miklos Szeredi <miklos@szeredi.hu>
695
696 * Check for hard-linked directories in lookup. This could cause
697 problems in the VFS, which assumes that such objects never exist.
698
699 * Make checking of permission for other users more strict. Now
700 the same privilege is required for the mount owner as for ptrace
701 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000702
Miklos Szeredi3efcb562005-04-23 13:34:29 +00007032005-04-23 Miklos Szeredi <miklos@szeredi.hu>
704
705 * Released 2.3-pre5
706
Miklos Szeredid001bf92005-04-22 07:54:11 +00007072005-04-22 Miklos Szeredi <miklos@szeredi.hu>
708
709 * Add -msoft-float to kernel module compile flags for 2.4.X. This
710 is needed on certain architectures. Report from Chris Kirby
711
712 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
713 Reported by David Shaw
714
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000715 * Remove "allow_root" option from kernel module, and implement
716 it's functionality in the library
717
718 * Fix Oops caused by premature release of fuse_conn. Clean up
719 related code, to be more readable
720
Miklos Szeredif9137452005-04-23 10:59:44 +0000721 * Sendfile should not use page cache if "direct_io" mount option
722 is given
723
Miklos Szeredib7640d22005-04-08 15:15:28 +00007242005-04-08 Miklos Szeredi <miklos@szeredi.hu>
725
726 * Fix Oops in case of nfs export. Spotted by David Shaw
727
Miklos Szeredi89814a12005-04-08 16:39:09 +0000728 * Fix another Oops in case of write over nfs with direct_io turned
729 on. Again spotted by David Shaw
730
Miklos Szerediab974562005-04-07 15:40:21 +00007312005-04-07 Miklos Szeredi <miklos@szeredi.hu>
732
Miklos Szeredi432d6182005-04-07 15:56:13 +0000733 * Released 2.3-pre4
734
7352005-04-07 Miklos Szeredi <miklos@szeredi.hu>
736
Miklos Szerediab974562005-04-07 15:40:21 +0000737 * lib: finalized new readdir() interface, which now supersedes the
738 getdir() method.
739
Miklos Szeredi30e093a2005-04-03 17:44:54 +00007402005-04-03 Miklos Szeredi <miklos@szeredi.hu>
741
742 * Released 2.3-pre3
743
7442005-04-03 Miklos Szeredi <miklos@szeredi.hu>
745
746 * Implement backward compatibility with version 5 kernel ABI
747
Miklos Szeredi18fce982005-04-01 21:07:35 +00007482005-04-01 Miklos Szeredi <miklos@szeredi.hu>
749
750 * Released 2.3-pre2
751
7522005-04-01 Miklos Szeredi <miklos@szeredi.hu>
753
754 * kernel: fix dirent offset handling
755
756 * lib: add readdir and releasedir methods
757
758 * lib: use fh field of fuse_file_info in opendir, readdir,
759 releasedir and fsyncdir methods
760
761 * lib: check kernel API version and bail out of it's old. This
762 will be properly fixed in the next release
763
7642005-03-31 Miklos Szeredi <miklos@szeredi.hu>
765
766 * Released 2.3-pre1
767
Miklos Szeredieab72ef2005-03-31 19:59:12 +00007682005-03-31 Miklos Szeredi <miklos@szeredi.hu>
769
770 * kernel API: add padding to structures, so 64bit and 32bit
771 compiler will return the same size
772
773 * kernel API: add offset field to fuse_dirent. This will allow
774 more sophisticated readdir interface for userspace
775
776 * kernel API: change major number to 6
777
778 * kernel: fix warnings on 64bit archs
779
780 * kernel: in case of API version mismatch, return ECONNREFUSED
781
Miklos Szeredi407e6a72005-03-25 12:19:43 +00007822005-03-24 Miklos Szeredi <miklos@szeredi.hu>
783
784 * kernel: trivial cleanups
785
Miklos Szeredi4283ee72005-03-21 12:09:04 +00007862005-03-21 Miklos Szeredi <miklos@szeredi.hu>
787
788 * Add fsyncdir() operation
789
Miklos Szeredid17da462005-03-21 11:47:04 +00007902005-03-19 Miklos Szeredi <miklos@szeredi.hu>
791
792 * kernel: add locking to background list (fixes previous fix)
793
7942005-03-18 Miklos Szeredi <miklos@szeredi.hu>
795
796 * kernel: fix bug which could cause leave busy inodes after
797 unmount, and Oops.
798
7992005-03-08 Miklos Szeredi <miklos@szeredi.hu>
800
801 * examples: add -lpthread to link flags to work around valgrind
802 quirk
803
804 * lib: don't exit threads, so cancelation doesn't cause segfault
805
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00008062005-03-04 Miklos Szeredi <miklos@szeredi.hu>
807
808 * kernel: fix nasty bug which could cause an Oops under certain
809 situations. Found by Magnus Johansson
810
Miklos Szeredif43f0632005-02-28 11:46:56 +00008112005-02-28 Miklos Szeredi <miklos@szeredi.hu>
812
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000813 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000814 permission checking in getdir() is too late. Thanks to Usarin
815 Heininga for pointing out this deficiency
816
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000817 * libfuse: added init() and destroy() methods to fuse_operations
818
Miklos Szeredif43f0632005-02-28 11:46:56 +0000819 * kernel: llseek() method for files and directories made explicit
820
821 * kernel: fixed inode leak in NFS export in case of nodeid
822 wrapping
823
Miklos Szeredied3c97c2005-02-15 17:04:50 +00008242005-02-15 Miklos Szeredi <miklos@szeredi.hu>
825
826 * libfuse: clean up some unitialized memory found with valgrind
827
Miklos Szeredi47c52982005-02-23 09:27:38 +0000828 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
829 explicitly linked libpthread for applications
830
Miklos Szeredia7169412005-02-10 07:35:05 +00008312005-02-10 Miklos Szeredi <miklos@szeredi.hu>
832
833 * fusermount: set umask, otherwise /etc/mtab will have
834 unpredictable permission. Spotted by Jindrich Kolorenc
835
836 * fusermount: set owner and group of /etc/mtab to original values
837 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000838
839 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000840
Miklos Szeredib92d9782005-02-07 16:10:49 +00008412005-02-07 Miklos Szeredi <miklos@szeredi.hu>
842
843 * Cleaned up directory reading (temporary file is not used)
844
Miklos Szerediff30a6c2005-02-02 10:53:59 +00008452005-02-02 Miklos Szeredi <miklos@szeredi.hu>
846
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000847 * Released 2.2
848
8492005-02-02 Miklos Szeredi <miklos@szeredi.hu>
850
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000851 * Fix possible race when operation is interrupted
852
Miklos Szeredi7a983952005-01-28 09:58:19 +00008532005-01-28 Miklos Szeredi <miklos@szeredi.hu>
854
Miklos Szeredie5183742005-02-02 11:14:04 +0000855 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000856
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00008572005-01-26 Miklos Szeredi <miklos@szeredi.hu>
858
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000859 * Released 2.2-pre6
860
8612005-01-26 Miklos Szeredi <miklos@szeredi.hu>
862
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000863 * Fix bug in link() operation which caused the wrong path to be
864 passed as the first argument. Found by Anton Altaparmakov
865
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00008662005-01-21 Miklos Szeredi <miklos@szeredi.hu>
867
868 * LIB: fix double reply in readdir operation
869
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000870 * fusermount: fix uid checking bug. Patch by Adam Connell
871
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000872 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000873 Patch by Keshava Gowda
874
Miklos Szeredi64074142005-01-20 08:48:11 +00008752005-01-20 Miklos Szeredi <miklos@szeredi.hu>
876
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000877 * KERNEL: provide correct llseek semantics for fuse device (fixes
878 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
879
8802005-01-20 Miklos Szeredi <miklos@szeredi.hu>
881
Miklos Szeredi64074142005-01-20 08:48:11 +0000882 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
883
Miklos Szeredi1adb2272005-01-18 21:19:58 +00008842005-01-18 Miklos Szeredi <miklos@szeredi.hu>
885
886 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
887 and RELEASEDIR. This ends the ugly hack of passing a file
888 descriptor to the kernel, and actually makes the code simpler.
889
Miklos Szeredi7db35c02005-01-17 09:46:28 +00008902005-01-17 Miklos Szeredi <miklos@szeredi.hu>
891
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000892 * Released 2.2-pre4
893
8942005-01-17 Miklos Szeredi <miklos@szeredi.hu>
895
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000896 * fusermount: remove capability setting, which was the cause of
897 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000898 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000899
Miklos Szeredidbe0f652005-01-15 14:32:56 +00009002005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000901
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000902 * fix compilation on 2.4 kernels (reported by Valient Gough)
903
904 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000905
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000906 * fusermount: improve parsing of /etc/fuse.conf
907
9082005-01-13 Miklos Szeredi <miklos@szeredi.hu>
909
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000910 * Remove 'mount_max' and 'user_allow_other' module options. These
911 are now checked by fusermount, and can be set in /etc/fuse.conf
912
913 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
914
Miklos Szeredi81394522005-01-11 14:24:18 +00009152005-01-11 Miklos Szeredi <miklos@szeredi.hu>
916
917 * KERNEL: fix possible inode allocation problem, where
918 sizeof(struct inode) is not aligned (found by Mike Waychison)
919
920 * KERNEL: use new follow_link/put_link methods
921
922 * KERNEL: cosmetic fixes
923
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00009242005-01-10 Miklos Szeredi <miklos@szeredi.hu>
925
926 * Released 2.2-pre3
927
9282005-01-10 Miklos Szeredi <miklos@szeredi.hu>
929
930 * Add missing code that was accidently left out
931
Miklos Szeredi8c7da232005-01-09 12:27:41 +00009322005-01-09 Miklos Szeredi <miklos@szeredi.hu>
933
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000934 * Released 2.2-pre2
935
9362005-01-09 Miklos Szeredi <miklos@szeredi.hu>
937
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000938 * Change "uid" mount option to "user_id" to avoid confusion with a
939 mount option "uid" commonly used by many filesystems
940
9412005-01-09 Miklos Szeredi <miklos@szeredi.hu>
942
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000943 * Released 2.2-pre1
944
9452005-01-09 Miklos Szeredi <miklos@szeredi.hu>
946
947 * If FUSE is configured in the kernel, don't build it by default
948
Miklos Szeredi2a927272005-01-07 11:14:15 +00009492005-01-07 Miklos Szeredi <miklos@szeredi.hu>
950
951 * Compile fix by Christian Magnusson
952
Miklos Szeredib6220192005-01-05 16:19:10 +00009532005-01-05 Miklos Szeredi <miklos@szeredi.hu>
954
955 * Fix compilation for 2.6.{0-5} kernels
956
Miklos Szeredi0f62d722005-01-04 12:45:54 +00009572005-01-04 Miklos Szeredi <miklos@szeredi.hu>
958
959 * KERNEL: if request is interrupted, still keep reference to used
960 inode(s) and file, so that FORGET and RELEASE are not sent until
961 userspace finishes the request.
962
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000963 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
964 request with the same information, which is more flexible,
965 simpler, works on embedded systems.
966
Miklos Szeredi0f62d722005-01-04 12:45:54 +00009672004-12-16 Miklos Szeredi <miklos@szeredi.hu>
968
969 * KERNEL ABI: update interface to make it independent of type
970 sizes. This will help on 64 bit architectures which can run
971 legacy 32 bit applications.
972
973 * KERNEL ABI: add "len" field to request headers. This will allow
974 sending/receiving requests in multiple chunks.
975
976 * KERNEL: handle file type change more intelligently
977
978 * LIB: "-o debug" option should disable backgrounding (fix by
979 Fabien Reygrobellet)
980
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00009812004-12-13 Miklos Szeredi <miklos@szeredi.hu>
982
983 * KERNEL: invalidate dentry/attributes if interrupted request
984 could leave filesystem in an unknown state.
985
Miklos Szeredie56818b2004-12-12 11:45:24 +00009862004-12-12 Miklos Szeredi <miklos@szeredi.hu>
987
988 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
989 These will cause some regressions, but stability is considered
990 more important. If any of these features turns out to be
991 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000992
Miklos Szeredie56818b2004-12-12 11:45:24 +0000993 * Make all requests interruptible (only with SIGKILL currently).
994 This can be used to break any deadlock produced by the userspace
995 filesystem accessing it's own exported files. The RELEASE request
996 is special, because if it's interrupted before sending it to
997 userspace it is still sent, but the reply is not awaited.
998
999 * If request is interrupted before being sent to userspace, and if
1000 it hasn't yet got any side effects, it is always restarted,
1001 regardless of the SA_RESTART flag. This makes these interruptions
1002 transparent to the process.
1003
1004 * Remove shared-writable mmap support, which was prone to an
1005 out-of-memory deadlock situation
1006
1007 * Remove INVALIDATE userspace initiated request
1008
1009 * Make readpages() synchronous. Asynchronous requests are
1010 deadlock prone, since they cannot be interrupted.
1011
1012 * Add readv/writev support to fuse device operations
1013
1014 * Remove some printks, which userspace FS can use for a DoS
1015 against syslog
1016
1017 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1018 fusermount instead
1019
1020 * LIB: improve compatibility with a fuse.h header installed in
1021 ${prefix}/include which in turn includes the real header.
1022
1023 * LIB: improve compatibility by defining fuse_main() (which is now
1024 not used), so old configure scripts find it.
1025
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000010262004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1027
1028 * When mounting on a subdirectory of / don't duplicate slashes at
1029 the beggining of path (spotted by David Shaw)
1030
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000010312004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1032
1033 * Fix bug causing garbage in mount options (spotted by David Shaw)
1034
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000010352004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1036
1037 * Add 'writepage' flag to 'fuse_file_info'.
1038
1039 * More comments in fuse.h
1040
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001041 * Get rid of double underscores
1042
Miklos Szeredi799993c2004-12-04 21:20:05 +000010432004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1044
1045 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1046
1047 * helper.c: add -ho option, which only displays the options not
1048 the usage header. This can be used by filesystems which have
1049 their own options.
1050
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000010512004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1052
1053 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1054 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1055 including the fuse header
1056
1057 * Add binary compatibility to 2.1 version of library with symbol
1058 versioning
1059
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000010602004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1061
1062 * Released 2.1
1063
Miklos Szeredi039322d2004-12-01 18:39:12 +000010642004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1065
1066 * kernel: clean up writing functions
1067
1068 * kernel: no allocation on write in direct_io mode
1069
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001070 * move linux/fuse.h to fuse_kernel.h
1071
Miklos Szeredi83a07442004-11-30 18:25:20 +000010722004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1073
1074 * kernel: clean up reading functions
1075
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000010762004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1077
1078 * kernel: make readpage() uninterruptible
1079
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001080 * kernel: check readonly filesystem flag in fuse_permission
1081
1082 * lib: don't die if version file not found and new style device
1083 exists
1084
1085 * lib: add '-r' option, which is short for '-o ro'
1086
1087 * fusermount: simplify device opening
1088
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001089 * kernel: when direct_io is turend on, copy data directly to
1090 destination without itermediate buffer. More efficient and safer,
1091 since no allocation is done.
1092
1093 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001094
1095 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001096
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000010972004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1098
1099 * libfuse API change: open, read, write, flush, fsync and release
1100 are passed a 'struct fuse_file_info' pointer containing the open
1101 flags (open and release), and the file handle. Verion changed to
1102 3.0.
1103
Miklos Szeredia25d4c22004-11-23 22:32:16 +000011042004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1105
1106 * More cleanups in the kernel
1107
1108 * The 10,229 charater device number has been assigned for FUSE
1109
1110 * Version file checking fix (reported by Christian Magnusson)
1111
1112 * fusermount: opening the fuse device now doesn't need /sys.
1113
1114 * Optimize reading by controlling the maximum readahead based on
1115 the 'max_read' mount option
1116
1117 * fixes for UCLIBC (Christian Magnusson)
1118
Miklos Szeredi13ed4822004-11-20 11:12:21 +000011192004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1120
1121 * Cleaned up kernel in preparation for merge into mainline:
1122
1123 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1124
1125 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1126
1127 * __user annotations for sparse
1128
1129 * allocate individual pages instead of kmalloc in fuse_readdir,
1130 fuse_read and fuse_write.
1131
1132 * Fix NFS export in case "use_ino" mount option is given
1133
Miklos Szeredif3845c42004-11-20 11:18:34 +00001134 * Make libfuse and fusermount compatible with future versions
1135
1136 * fusermount: properly add mount options to /etc/mtab
1137
11382004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1139
1140 * fusermount: do not resolve last component of mountpoint on if it
1141 is '.' or '..'. This new path resolvation is now done on mount as
1142 well as unmount. This enables relative paths to work on unmount.
1143
1144 * fusermount: parse common mount options like "ro", "rw", etc...
1145
1146 * Allow module params to be changed through sysfs
1147
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000011482004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1149
1150 * Released 2.1-pre1
1151
11522004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1153
1154 * Fix bug in fuse_readpages() causing Oops in certain situations.
1155 Bug found by Vincenzo Ciancia.
1156
1157 * Fix compilation with kernels versions > 2.6.9.
1158
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000011592004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001160
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001161 * Check kernel interface version in fusermount to prevent
1162 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001163
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001164 * No need to allocate fuse_conn until actual mount happens
1165
1166 * Fix potential race between umount and fuse_invalidate
1167
1168 * Check superblock of proc file in addition to inode number
1169
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001170 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001171
Miklos Szeredi51ec1032004-11-10 11:52:26 +000011722004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1173
1174 * Separate configure for the kernel directory
1175
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001176 * Don't allow write to return more than 'count'
1177
1178 * Extend kernel interface for future use
1179
Miklos Szeredi51ec1032004-11-10 11:52:26 +000011802004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1181
1182 * Fix 'makeconf.sh' to use autoreconf if available
1183
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000011842004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1185
Miklos Szeredid507c732004-11-08 17:32:25 +00001186 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1187 compatibility with earlier versions. To compile earier versions
1188 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1189 Do not use the "use_ino" mount flag with filesystems compiled with
1190 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001191
1192 * Add pkg-config support. To compile a FUSE based filesystem you
1193 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1194 or similar. Note, that the PKG_CONFIG_PATH environment variable
1195 usually needs to be set to "/usr/local/lib/pkgconfig".
1196
1197 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001198
Miklos Szeredia13d9002004-11-02 17:32:03 +000011992004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1200
1201 * Added "use_ino" mount option. This enables the filesystems to
1202 set the st_ino field on files
1203
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000012042004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1205
1206 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1207 by Jeremy Smith)
1208
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001209 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1210
1211 * Clear the 'exited' flag when mail loop is finished
1212
Miklos Szeredie989f0d2004-10-28 20:24:58 +000012132004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1214
1215 * Make xattr functions work under 2.6 (bug found by Vincenzo
1216 Ciancia)
1217
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000012182004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1219
1220 * Reset request in fuse_flush() (bugreport by David Shaw)
1221
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000012222004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1223
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001224 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001225 error code
1226
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001227 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001228 make it easier to implement a custom event loop.
1229
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001230 * Use daemon() call to background the filesystem after mounting.
1231 This function closes the standard input, output and error and
1232 changes the current working directory to "/".
1233
Miklos Szeredi127d49b2004-10-14 13:33:39 +000012342004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1235
1236 * Released 1.9
1237
Miklos Szeredid45baf42004-10-10 07:56:12 +000012382004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1239
1240 * Don't allow fuse_flush() to be interrupted (bug found by David
1241 Shaw)
1242
Miklos Szeredi1f18db52004-09-27 06:54:49 +000012432004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1244
1245 * Add PID to fuse_context. Patch by Steven James
1246
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001247 * Change file handle type to 'unsigned long' in kernel interface
1248
Miklos Szeredid169f312004-09-22 08:48:26 +000012492004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1250
1251 * A slight API change: fuse_get_context() doesn't need the "fuse"
1252 pointer, but the returned context contains it instead. The
1253 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001254
1255 * Fix mounting and umounting FUSE filesystem under another FUSE
1256 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001257
Miklos Szeredic2309912004-09-21 13:40:38 +000012582004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1259
1260 * Fix deadlock in case of memory allocation failure. Patch by
1261 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001262
Miklos Szeredib2cf9562004-09-16 08:42:40 +000012632004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1264
1265 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001266
Miklos Szeredi65afea12004-09-14 07:13:45 +000012672004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1268
1269 * Check temporary file creation failure in do_getdir(). Bug
1270 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001271
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000012722004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1273
1274 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001275
1276 * Make requests non-interruptible so race with FORGET is avoided.
1277 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001278
1279 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001280
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000012812004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1282
1283 * Fix bug in case two FORGETs for the same node are executed in
1284 the wrong order. Bug spotted and endured for months by Franco
1285 Broi, and logfile for solution provided by Terje Oseberg
1286
Miklos Szeredi12085102004-09-02 18:13:57 +000012872004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1288
1289 * Add -D_REENTRANT to the compile flags
1290
1291 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001292
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000012932004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1294
1295 * Change release method to be non-interruptible. Fixes bug
1296 causing missing release() call when program which has opened files
1297 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001298
Miklos Szeredi891b8742004-07-29 09:27:49 +000012992004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1300
1301 * Add fuse_invalidate() to library API
1302
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000013032004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1304
1305 * Check permissions in setattr if 'default_permissions' flag is
1306 set. Bug spotted by Damjan Lango
1307
Miklos Szeredid66d3942004-07-24 13:47:44 +000013082004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1309
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001310 * 'large_read' mount option removed for 2.6 kernels, since the
1311 default (dynamic read size) is better
1312
1313 * Extend kernel API with file handles. A file handle is returned
1314 by open, and passed to read, write, flush, fsync and release.
1315 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001316
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001317 * Security changes:
1318
1319 * Change the current directory to the mountpoint before checking
1320 the permissions and mount filesystem on "."
1321
1322 * By default don't modprobe the fuse module for non-root. The old
1323 behavior can be restored with the '--enable-auto-modprobe' flag of
1324 ./configure
1325
1326 * By default don't allow shared writable mappings for non-root.
1327 The old behavior can be restored with the 'user_mmap=1' module
1328 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001329
Miklos Szeredibd7661b2004-07-23 17:16:29 +000013302004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1331
1332 * Clean up mount option passing to fusermount and to fuse_new()
1333 BEWARE: this changes the userspace API slightly, and the command
1334 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001335
Miklos Szeredi58865372004-07-20 14:22:26 +000013362004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1337
1338 * Optimize reading under 2.6 kernels by issuing multiple page
1339 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001340
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000013412004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1342
1343 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001344
Miklos Szeredi069c9502004-07-16 16:17:02 +000013452004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1346
1347 * Separate directory entry and inode attribute validity timer
1348
1349 * New write semaphore to stop page writeback during truncate
1350
1351 * Fsync now waits for all writes to complete before sending the
1352 request
1353
1354 * Optimization: if a page is completely written by
1355 fuse_commit_write(), clear the dirty flag and set the uptodate
1356 flag for that page
1357
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001358 * Some memory cleanup at exit
1359
Miklos Szeredi2529ca22004-07-13 15:36:52 +000013602004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1361
1362 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001363 disable the "hide if open" behavior of unlink/rename.
1364
1365 * If temporary buffer allocation fails in raw read, fall back to a
1366 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001367
Miklos Szeredi73798f92004-07-12 15:55:11 +000013682004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1369
1370 * Fix bug in do_open() in libfuse: open count was incremented
1371 after the reply is sent so it could race with unlink/forget and
1372 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001373
Miklos Szeredi015fe702004-07-12 11:52:24 +000013742004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1375
1376 * When performing create or remove operation, refresh the parent's
1377 attributes on next revalidate, as i_nlink (and maybe size/time)
1378 could be inacurate.
1379
1380 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1381 pages (2.6 only)
1382
1383 * Set set_page_dirty address space operation (2.6 only)
1384
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013852004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001386
1387 * Minor fix in read: print debug info even if read size is zero
1388
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013892004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001390
1391 * Fix race between truncate and writepage (fsx-linux now runs
1392 without error)
1393
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013942004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001395
1396 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1397 by Mattias Wadman)
1398
1399 * Added option for direct read/write (-r)
1400
1401 * Fix revalidate time setting for newly created inodes
1402
Miklos Szerediacb4d362004-07-02 16:20:45 +00001403 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1404 this)
1405
1406 * fuse_main() only installs handlers for signals (out of INT, HUP,
1407 TERM, PIPE), for which no handler has yet been installed
1408
1409 * Add module option 'user_allow_other' which if set to non-zero
1410 will allow non root user to specify the 'allow_other' mount option
1411 ('-x' option of fusermount)
1412
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001413 * Fix deadlock between page writeback completion and truncate
1414 (bug found by Valient Gough with the fsx-linux utility)
1415
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014162004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001417
1418 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001419 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1420 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001421
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014222004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001423
1424 * Acquire inode->i_sem before open and release methods to prevent
1425 concurrent rename or unlink operations.
1426
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001427 * Make __fuse_read_cmd() read only one command. This allows
1428 multiplexing the fuse file descriptor with other event sources
1429 using select() or poll() (patch by Jeff Harris)
1430
1431 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1432
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014332004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001434
1435 * Fix file offset wrap around at 4G when doing large reads
1436
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014372004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001438
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001439 * Fix memory leak in open (Valient Gough)
1440
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014412004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001442
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001443 * Add "close after delete" support to libfuse (patch by Valient
1444 Gough)
1445
1446 * Cancel all worker threads before exit in multithreaded mode
1447
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014482004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001449
1450 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001451
1452 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001453
1454 * Work with newer libtool (1.5a)
1455
1456 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001457
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014582004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001459
1460 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001461
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014622004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001463
1464 * Fix possible inode leak in userspace in case of unfinished
1465 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001466
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014672004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001468
1469 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001470
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014712004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001472
1473 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001474
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014752004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001476
1477 * Build shared library as well as static (using libtool)
1478
1479 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1480 there has not been a release with the previous minor number, and I
1481 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001482
1483 * Change fuse_main(), so that default behavior is to go into
1484 background if mount is successful. '-f' and '-d' options disable
1485 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1486 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001487
1488 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1489 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001490
1491 * Don't call getdir method from open() only from first readdir().
1492 Open is sometimes just used to store the current directory
1493 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001494
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014952004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001496
1497 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001498
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014992004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001500
1501 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001502
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015032004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001504
1505 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001506
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015072004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001508
1509 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001510
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015112004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001512
1513 * Replaced binary mount data with text options
1514
1515 * Show FUSE specific mount options in /proc/mounts
1516
1517 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1518
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015192004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001520
1521 * Check some limits so userspace won't get too big requests
1522
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015232004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001524
1525 * Kill compile warning
1526
1527 * Upgraded user-mount patch for 2.6.5
1528
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015292004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001530
1531 * Add detection of user-mode-linux to configure
1532
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015332004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001534
1535 * fixed zero size case for getxattr and listxattr
1536
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015372004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001538
1539 * new fusermount flag '-z': lazy unmount, default is not lazy
1540
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001541 * Extended attributes operations added (getxattr, setxattr,
1542 listxattr, removexattr)
1543
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015442004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001545
1546 * If filesystem doesn't define a statfs operation, then an
1547 all-zero default statfs is returned instead of ENOSYS
1548
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015492004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001550
1551 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1552
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015532004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001554
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001555 * Fix for uClinux (Christian Magnusson)
1556
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015572004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001558
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001559 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001560
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001561 * More kernel interface changes:
1562
1563 * Lookup/getattr return cache timeout values
1564
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015652004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001566
1567 * Clean up option parsing in fuse_main()
1568
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001569 * Added fuse_get() function which returns the fuse object created
1570 by fuse_main()
1571
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015722004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001573
Miklos Szeredic40748a2004-02-20 16:38:45 +00001574 * removed old way of mounting (fusermount mountpoint program)
1575
Miklos Szeredib5958612004-02-20 14:10:49 +00001576 * more kernel interface changes:
1577
1578 * added nanosecond precision to file times
1579
Miklos Szeredic40748a2004-02-20 16:38:45 +00001580 * removed interface version from mount data
1581
1582 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1583
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015842004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001585
1586 * statfs library API changed to match other methods. Since this
1587 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1588
Miklos Szeredi76f65782004-02-19 16:55:40 +00001589 * kernel interface changes follow:
1590
1591 * statfs changed to 64 bits, added 'bavail' field
1592
1593 * add generation number to lookup result
1594
1595 * optimized mknod/mkdir/symlink/link (no separate lookup is
1596 needed)
1597
1598 * rdev size increased to 32 bits for mknod
1599
1600 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001601
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016022004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001603
1604 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001605
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016062004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001607
1608 * Added user-mount.2.6.2-rc3.patch
1609
1610 * Add FS_SAFE flag to fuse filesystem
1611
1612 * fusermount should allow (un)mounting for non-root even if not
1613 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001614
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016152004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001616
1617 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001618
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016192004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001620
1621 * Added check for i_size_read/write functions to configure.in
1622 (patch by Valient Gough)
1623
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016242004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001625
1626 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001627
1628 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001629
1630 * Readpage calls flush_dcache_page() after storing data
1631
1632 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001633
1634 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001635
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016362004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001637
1638 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001639
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016402004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001641
1642 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001643
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016442004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001645
1646 * Added -q option for fusermount
1647
1648 * fuse_unmount() now uses -q option of fusermount, so no error is
1649 printed if the cause of the program exit is that the filesystem
1650 has already been unmounted
1651
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001652 * Fix i_nlink correctness after rmdir/unlink
1653
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016542004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001655
Miklos Szeredib1158392004-01-26 14:43:12 +00001656 * Released 1.1-pre2
1657
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016582004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001659
Miklos Szeredi307242f2004-01-26 11:28:44 +00001660 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001661
1662 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001663
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016642004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001665
1666 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001667
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016682004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001669
1670 * Write all pending data before a RELEASE operation
1671
1672 * Suppress 'Bad file descriptor' warning on exit
1673
1674 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001675 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001676
Miklos Szeredib1158392004-01-26 14:43:12 +00001677 * New fusermount option '-l' which enables big reads. Big reads
1678 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001679
1680 * fuse_main() can accept fusermount arguments after a '--'
1681
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016822004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001683
1684 * Support for exporting filesystem over NFS (see README.NFS)
1685
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016862004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001687
1688 * Support non-blocking writepage on 2.6. This makes FUSE behave
1689 much more nicely in low-memory situations
1690
1691 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1692 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001693
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016942004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001695
1696 * Code cleanups
1697
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016982004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001699
1700 * Released 1.1-pre1
1701
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017022004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001703
1704 * Integrated 2.6 kernel support patch by Michael Grigoriev
1705
1706 * Improvements and cleanups for 2.6 kernels
1707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017082004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001709
Miklos Szeredie5183742005-02-02 11:14:04 +00001710 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017122003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001713
1714 * Added major+minor version to library API, and minor version to
1715 kernel API
1716
David McNab7a19caf2003-12-13 02:05:46 +000017172003-12-13 David McNab <david@rebirthing.co.nz>
1718
1719 * Implemented fsync support in examples/example.py
1720
1721 * Implemented 'fsync' and 'statfs' methods in python
1722 interface
1723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017242003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001725
Miklos Szeredie5183742005-02-02 11:14:04 +00001726 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001727
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001728 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001729
David McNab8bf62632003-12-11 22:49:22 +000017302003-12-12 David McNab <david@rebirthing.co.nz>
1731
1732 * Added distutils support to the python module, as per standard
1733 python development practice
1734
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017352003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001736
1737 * Add file locking for mount/unmount (based on patch by Valient
1738 Gough)
1739
17402003-12-11 David McNab <david@rebirthing.co.nz>
1741
1742 * Python filesystem - was broken with python2.3, now fixed:
1743 - changed PyTuple_* calls to PySequence_*, because os.lstat
1744 is no longer returning a pure tuple
1745 - changed PyInt_Check() calls to also call PyLong_Check,
1746 to cover for cases (eg os.lstat) where longs are returned
1747 - Added support for file 'release' handling, which IMO is
1748 essential since this signals to a FS that writes to a file
1749 are complete (and therefore the file can now be disposed of
1750 meaningfully at the python filesystem's discretion)
1751 - Added '__init__' handler to base Fuse class, which allows
1752 your Python class to know the mountpoint and mount args,
1753 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001754
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001755 * General:
1756 - added 'mount.fuse' script (in util/ dir), which is meant to be
1757 symlinked from /sbin, and which allows FUSE filesystems to
1758 be mounted with the 'mount' command, and listed in fstab;
1759 also, mount arguments get passed to your filesystem
1760
1761
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017622003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001763
1764 * Fix kernel version detection (again). Bugreport by Peter Levart
1765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017662003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001767
1768 * Applied read combining patch by Michael Grigoriev (tested by
1769 Valient Gough and Vincent Wagelaar)
1770
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017712003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001772
1773 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1774 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001775
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017762003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001777
1778 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001779
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017802003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001781
1782 * kernel version detection fix
1783
1784 * fusermount now uses "lazy" umount option
1785
1786 * fusermount can use modprobe with module-init-tools
1787
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017882003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001789
1790 * Integrated caching patch by Michael Grigoriev
1791
Miklos Szeredida4e4862003-09-08 11:14:11 +00001792 * Added "Filesystems" file with descriptions of projects using
1793 FUSE
1794
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001795 * Added patch by Michael Grigoriev to allow compliation of FUSE
1796 kernel module for 2.6 kernels
1797
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017982003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001799
1800 * And another spec-file fix by Achim Settelmeier
1801
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018022003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001803
1804 * Spec-file fix by Achim Settelmeier
1805
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018062003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001807
Miklos Szerediac361172004-11-02 19:14:14 +00001808 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018102003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001811
1812 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1813
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018142003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001815
1816 * Updated fuse.spec file (Achim Settelmeier)
1817
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018182003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001819
1820 * Version 1.0 released
1821
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018222003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001823
1824 * SuSE compilation fix by Juan-Mariano de Goyeneche
1825
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018262002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001827
1828 * The release() VFS call is now exported to the FUSE interface
1829
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018302002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001831
1832 * 64 bit file offset fixes in the fuse kernel module
1833
1834 * Added function 'fuse_exit()' which can be used to exit the main
1835 loop
1836
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018372002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001838
1839 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1840 an incompatible interface change.
1841
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018422002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001843
1844 * Portablility fix (bug reported by C. Chris Erway)
1845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018462002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001847
1848 * Use Mark Glines' fd passing method for default operation instead
1849 of old reexec
1850
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018512002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001852
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001853 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1854
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018552002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001856
Miklos Szeredi60c23522002-10-24 09:19:43 +00001857 * fix incompatiblity with Red Hat kernels, with help from Nathan
1858 Thompson-Amato.
1859
Mark Glines65ba2192002-04-18 14:41:48 +000018602002-04-18 Mark Glines <mark@glines.org>
1861
1862 * added an alternative to fuse_mount(), called
1863 fuse_mount_ioslave(), which does not need to reexec the
1864 FUSE program.
1865 * added a small helper util needed by fuse_mount_ioslave().
1866
Mark Glines220635a2002-03-17 07:01:14 +000018672002-03-16 Mark Glines <mark@glines.org>
1868
1869 * use struct fuse_statfs everywhere possible to avoid problems
1870 with the headerfiles changing struct statfs member sizes
1871
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018722002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001873
1874 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1875
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018762002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001877
1878 * RPM support by Achim Settelmeier
1879
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018802002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001881
Miklos Szerediddc862a2002-01-09 13:46:10 +00001882 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001883
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018842002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001885
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001886 * Revaidate all path components not just the last, this means a
1887 very small performance penalty for being more up-to-date.
1888
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018892002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001890
1891 * Update and fix python interface
1892
Mark Glinesd84b39a2002-01-07 16:32:02 +000018932002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001894
Mark Glinesd84b39a2002-01-07 16:32:02 +00001895 * Added statfs() support to kernel, lib, examples, and perl!
1896
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018972001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001898
1899 * Better cross compilation support
1900
1901 * Ported to Compaq IPAQ
1902
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019032001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001904
Miklos Szeredife25def2001-12-20 15:38:05 +00001905 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001906 patch from Matt Ryan)
1907
Miklos Szeredife25def2001-12-20 15:38:05 +00001908 * Added flags to fusermount and to kernel interface to control
1909 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001910
Miklos Szeredife25def2001-12-20 15:38:05 +00001911 * Integrated fuse_set_operations() into fuse_new()
1912
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019132001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001914
1915 * Applied header protection + extern "C" patch by Roland
1916 Bauerschmidt
1917
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019182001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001919
Miklos Szeredie5183742005-02-02 11:14:04 +00001920 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001921
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019222001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001923
1924 * Cleaned up way of mounting simple filesystems.
1925
1926 * fuse_main() helper function added
1927
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019282001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001929
Miklos Szeredife25def2001-12-20 15:38:05 +00001930 * Optimized read/write operations, so that minimal copying of data
1931 is done
1932
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019332001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001934
1935 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001936
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019372001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001938
1939 * Fixed vfsmount reference leak in fuse_follow_link
1940
1941 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1942 userspace is ignored
1943
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019442001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001945
Miklos Szeredife25def2001-12-20 15:38:05 +00001946 * Started ChangeLog