blob: 08c2c54c219fef8bc2a7dcdfd0bcf6ebedd65186 [file] [log] [blame]
Miklos Szeredif51e43f2006-03-16 14:19:25 +000012006-03-16 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Don't unmount if already unmounted. This fixes a problem seen
4 in the following situation: Lazy unmount a busy filesystem; Mount
5 a new one in top; When the first finally unmounts, the second also
6 unmounts. Reported by Franco Broi
7
Miklos Szeredi2c1381f2006-03-15 20:34:10 +000082006-03-15 Miklos Szeredi <miklos@szeredi.hu>
9
10 * lowlevel lib: use indirect function calls instead of a
11 switch/case construct. Besides increased efficiency it helps
12 maintainability & readability too. Patch from Florin Malita
13
Miklos Szeredi67d26d42006-03-13 17:39:56 +0000142006-03-13 Miklos Szeredi <miklos@szeredi.hu>
15
16 * kernel: replace global spinlock with a per-connection spinlock
17
Miklos Szeredi87c77932006-03-10 10:18:20 +0000182006-03-10 Miklos Szeredi <miklos@szeredi.hu>
19
20 * Fix source compatibility breakage for fuse_unmount(). Report
21 from Yura Pakhuchiy
22
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000232006-03-02 Miklos Szeredi <miklos@szeredi.hu>
24
25 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
26
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000272006-03-01 Miklos Szeredi <miklos@szeredi.hu>
28
29 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
30 Jeff Dike
31
32 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
33 interface to return -errno in case of error.
34
Csaba Henkee588c02006-03-01 09:40:35 +0000352006-03-01 Csaba Henk <csaba.henk@creo.hu>
36
37 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
38 FreeBSD implementation so that it uses libc (sysctl backed) instead
39 of an embdedded script (kmem backed). Adjust the control flow of
40 hello_ll so that device doesn't get closed before unmount attempt.
41
Miklos Szerediaa8258e2006-02-25 14:42:03 +0000422006-02-25 Miklos Szeredi <miklos@szeredi.hu>
43
44 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
45 implement method. This is needed on FreeBSD, and nicer on Linux
46 too. Highlevel lib already did this. Reported by Csaba Henk
47
48 * Fix negative entry handling. There was a bug, that negative
49 lookups with timeouts (nodeid == 0) returned -EIO.
50
512006-02-23 Miklos Szeredi <miklos@szeredi.hu>
52
53 * Fix race between RELEASE and UNLINK, which might leave
54 .fuse_hidden* files around
55
Miklos Szeredi6bab4802006-02-21 18:31:29 +0000562006-02-21 Miklos Szeredi <miklos@szeredi.hu>
57
58 * fusexmp_fh: implement flush() method and call close() on the
59 open file descriptor. This is needed if used on an NFS
60 filesystem, which buffers data until file is closed. Franco Broi
61 spotted the situation when 'cp -p' failed to set the modification
62 time because of this.
63
Miklos Szeredie109e282006-02-20 11:06:20 +0000642006-02-20 Miklos Szeredi <miklos@szeredi.hu>
65
66 * Released 2.6.0-pre1
67
Miklos Szeredib67f2162006-02-20 10:55:33 +0000682006-02-19 Miklos Szeredi <miklos@szeredi.hu>
69
70 * libfuse: fix use-after-free bug in interruptred reply_entry().
71 Patch from John Muir
72
73 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
74 ID: 352631. Found by Stéphane Rosi
75
Miklos Szeredi1bf64f42006-02-17 15:49:25 +0000762006-02-17 Miklos Szeredi <miklos@szeredi.hu>
77
78 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
79 into a single function fuse_add_direntry(). This cleans up the
80 interface and makes it possible to do stacking.
81
Miklos Szeredi99ac9c02006-02-16 10:08:32 +0000822006-02-16 Miklos Szeredi <miklos@szeredi.hu>
83
84 * Fix rare race betweeen abort and release caused by failed iget()
85 in fuse_create_open().
86
Miklos Szeredi6e806e92006-02-16 16:59:39 +000087 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
88 own attribute caching.
89
Miklos Szeredid65cdfe2006-02-15 14:25:17 +0000902006-02-15 Miklos Szeredi <miklos@szeredi.hu>
91
92 * Work around FreeBSD runtime linker "feature" which binds an old
93 version of a symbol to internal references if the symbol has more
94 than one version. This resulted in infinite recursion in
95 fuse_lowlevel_new_compat25().
96
Csaba Henkdcce3e52006-02-10 06:22:15 +0000972006-02-10 Csaba Henk <csaba.henk@creo.hu>
98
99 * Refine clock_gettime() querying so that linker options
100 shall be set as it's appropriate for the target platform.
101
Miklos Szeredi390ae312006-02-10 16:44:34 +00001022006-02-09 Miklos Szeredi <miklos@szeredi.hu>
103
104 * Fix udev rule syntax. Reported by Nix
105
Miklos Szeredieb643582006-02-08 10:54:02 +00001062006-02-08 Miklos Szeredi <miklos@szeredi.hu>
107
108 * In some cases udev rule seems to be ineffective when installed
109 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
110
Miklos Szeredi357529c2006-02-03 09:20:31 +00001112006-02-03 Miklos Szeredi <miklos@szeredi.hu>
112
113 * Fix compilation when build directory is different from source
114 directory. Reported by Frédéric L. W. Meunier
115
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001162006-02-02 Miklos Szeredi <miklos@szeredi.hu>
117
118 * Fix even bigger bug introduced in fix for request_end() on
119 2006-01-14. Reported by Gal Rosen
120
Miklos Szeredi320abe42006-01-30 18:14:51 +00001212006-01-30 Miklos Szeredi <miklos@szeredi.hu>
122
123 * highlevel-lib: add 'auto_cache' option. This caches file data
124 based on modification time and size
125
Miklos Szeredi065f2222006-01-20 15:15:21 +00001262006-01-20 Miklos Szeredi <miklos@szeredi.hu>
127
Miklos Szeredid66b7282006-02-02 15:15:21 +0000128 * Sanitize storage type and help message in mount_bsd.c. Patch
129 from Csaba Henk
130
Miklos Szeredi065f2222006-01-20 15:15:21 +0000131 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
132 FUSE_OPT_KEY_DISCARD
133
134 * Add options 'max_readahead', 'sync_read' and 'async_read'
135
136 * Kernel ABI version 7.6:
137
138 * Negotiate the 'max_readahead' value and 'async_read' flags with
139 userspace in the INIT method
140
141 * Add connection info to ->init() methods to both lowlevel and
142 highlevel API
143
144 * Fall back to synchronous read() behavior if either library or
145 userspace filesystem is using the old interface version. This is
146 needed so non-updated filesystems won't be confused by the
147 different read() behavior
148
1492006-01-19 Miklos Szeredi <miklos@szeredi.hu>
150
151 * lib: if "fsname=" option was given, pass it to fusermount
152
153 * fuse_opt: add new fuse_opt_insert_arg() function, which is
154 needed by filesystems to implement some argument manipulations
155 correctly
156
157 * fuse_opt: fix memory leak in handling "--" option
158
1592006-01-18 Miklos Szeredi <miklos@szeredi.hu>
160
161 * kernel: fix detection of case when fuse is not configured into
162 the kernel either as module or built-in
163
164 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
165 'template' structure member to 'templ'. Reported by Takashi Iwai
166
167 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
168
169 * kernel: support version 2.6.16 (i_sem -> i_mutex)
170
Miklos Szeredi15af1b82006-01-16 17:52:24 +00001712006-01-16 Miklos Szeredi <miklos@szeredi.hu>
172
173 * Added (again) asynchronous readpages support
174
175 * Each connection now shows up under /sys/fs/fuse/connections
176
177 * Connection attributes exported to sysfs: 'waiting' number of
178 waiting requests; 'abort' abort the connection
179
180 * Connection may be aborted through either the sysfs interface or
181 with 'umount -f mountpoint'
182
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00001832006-01-14 Miklos Szeredi <miklos@szeredi.hu>
184
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000185 * Released 2.5.0
186
1872006-01-14 Miklos Szeredi <miklos@szeredi.hu>
188
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000189 * kernel: fix a couple of bugs
190
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000191 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000192 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000193 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000194
195 * request_end() used request pointer after decrementing refcount
196
197 * Clearing ->connected or ->mounted connection flags could race
198 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000199
Miklos Szeredia9820342006-01-10 10:54:11 +00002002006-01-10 Miklos Szeredi <miklos@szeredi.hu>
201
202 * kernel: add necessary compile flags for 2.4.X/x86_64.
203 Report from Sean Ziegeler
204
Miklos Szeredi35676b02006-01-09 10:13:28 +00002052006-01-09 Miklos Szeredi <miklos@szeredi.hu>
206
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000207 * Released 2.5.0-pre2
208
2092006-01-09 Miklos Szeredi <miklos@szeredi.hu>
210
Miklos Szeredi35676b02006-01-09 10:13:28 +0000211 * Applied patch from Csaba Henk, to update mount_bsd to new
212 fuse_mount() semantics
213
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000214 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
215 Steiner and Don Taber
216
Miklos Szeredicb075c82006-01-09 11:33:04 +0000217 * fusermount: add 'dirsync' mount option
218
Miklos Szerediad005972006-01-07 10:14:34 +00002192006-01-07 Miklos Szeredi <miklos@szeredi.hu>
220
221 * Improved help reporting and added version reporting to library
222
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002232006-01-06 Miklos Szeredi <miklos@szeredi.hu>
224
225 * Change working directory to "/" even if running in the
226 foreground. Patch from Jonathan Brandmeyer
227
Miklos Szeredi95da8602006-01-06 18:29:40 +0000228 * Changed lots of functions to use 'struct fuse_args' instead of
229 separate argc and argv
230
231 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
232 fuse_remove_signal_handlers() functions, so that it's now pretty
233 easy to get all the functionality of fuse_main() with a filesystem
234 using the lowlevel API.
235
Miklos Szeredib8638182006-01-02 12:52:24 +00002362006-01-02 Miklos Szeredi <miklos@szeredi.hu>
237
Miklos Szeredif1941472006-01-02 16:27:48 +0000238 * mount.fuse: the 'user' option should be ignored. Report and
239 solution from Mattd.
240
241 * mount.fuse: export PATH in the right place. Report and patch
242 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000243
Miklos Szeredi73f41392005-12-16 11:12:16 +00002442005-12-16 Miklos Szeredi <miklos@szeredi.hu>
245
246 * Clean up the option parsing interface slightly, by creating an
247 "argument list" structure, that contains the argument vector and
248 count
249
Miklos Szeredi4e829092005-12-15 16:13:49 +00002502005-12-15 Miklos Szeredi <miklos@szeredi.hu>
251
252 * fusermount: check if /mnt/mtab is a symlink and don't modify it
253 in that case
254
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000255 * kernel: simplify request size limiting. INIT only contains
256 maximum write size, maximum path component size remains fixed at
257 1024 bytes, and maximum xattr size depends on read buffer.
258
Miklos Szeredie248e4b2005-12-14 16:18:32 +00002592005-12-14 Miklos Szeredi <miklos@szeredi.hu>
260
261 * Fix readdir() failure on x86_64, of 32bit programs compiled
262 without largefile support. Bug report and help from Anthony
263 Kolasny
264
Miklos Szeredi64709572005-12-14 22:16:28 +0000265 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000266 a regular file
267
268 * Add current output argument vector to option processing
269 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000270
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00002712005-12-12 Miklos Szeredi <miklos@szeredi.hu>
272
273 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
274
Miklos Szeredi659743b2005-12-09 17:41:42 +00002752005-12-09 Miklos Szeredi <miklos@szeredi.hu>
276
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000277 * Released 2.5.0-pre1
278
2792005-12-09 Miklos Szeredi <miklos@szeredi.hu>
280
Miklos Szeredi659743b2005-12-09 17:41:42 +0000281 * libfuse: added option parsing interface, defined in
282 <fuse_opt.h>.
283
Miklos Szeredic53cddd2005-12-07 12:57:59 +00002842005-12-07 Miklos Szeredi <miklos@szeredi.hu>
285
286 * Return EIO for file operations (read, write, fsync, flush) on
287 open files whose inode has become "bad". Inodes will be marked
288 "bad" if their type changes. Bug report by Csaba Henk
289
Miklos Szeredi044da2e2005-12-06 17:59:55 +00002902005-12-06 Miklos Szeredi <miklos@szeredi.hu>
291
292 * Use bigger request buffer size. write() did not work on archs
293 with > 4k page size, Bug report by Mark Haney
294
295 * ABI version 7.5:
296
297 * Extend INIT reply with data size limits
298
Miklos Szeredifa829b52005-12-02 11:05:41 +00002992005-12-02 Miklos Szeredi <miklos@szeredi.hu>
300
301 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
302 reported by Vincenzo Ciancia
303
304 * Handle exit-by-umount in fuse_read_cmd()
305
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00003062005-11-29 Miklos Szeredi <miklos@szeredi.hu>
307
308 * Check if '-msoft-float' option is supported by compiler when
309 configuring for a 2.4.x kernel. Bug report by Mark Haney
310
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000311 * In multithreaded loop send a TERM signal to the main thread if
312 one of the other threads exit. Needed on FreeBSD for a clean exit
313 on umount. Should not cause any harm on Linux either
314
Miklos Szerediead7f102005-11-28 16:02:27 +00003152005-11-28 Miklos Szeredi <miklos@szeredi.hu>
316
317 * Fix bug in 32-bit file handle compatibility
318
Miklos Szeredia90b7342005-11-27 19:22:42 +00003192005-11-27 Miklos Szeredi <miklos@szeredi.hu>
320
321 * Block TERM, INT, HUP and QUIT signals in all but the main
322 thread. According to POSIX it's not specified which thread will
323 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000324
325 * Kernel changes:
326
327 * Check for directory aliasing on mkdir, not just on lookup
328
329 * Check for special node ID values in create+open operation
330
331 * Sync with -mm: readv, writev, aio_read and aio_write methods
332 added to file operations
333
334 * Cleanups: lookup code, page offset calculation
335
336 * ABI stepped to 7.4, changes:
337
338 * frsize member added to fuse_kstatfs structure
339
340 * added support for negative entry caching: on lowlevel API if
341 fuse_entry_param::ino is set to zero in reply to a lookup request,
342 the kernel will cache the dentry for the specified amount of time.
343
344 * libfuse: added 'negative_timeout' option: specifies how much
345 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000346 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000347
Miklos Szeredibac4c772005-11-23 13:35:54 +00003482005-11-22 Miklos Szeredi <miklos@szeredi.hu>
349
350 * Add detection of mainline FUSE code in running kernel
351
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00003522005-11-21 Miklos Szeredi <miklos@szeredi.hu>
353
354 * Don't use async cancelation in multithreaded loop. This makes
355 it more portable to systems where read() is not async cancel safe.
356 Report from Andriy Gapon
357
Miklos Szeredi05c97842005-11-20 17:05:07 +00003582005-11-20 Miklos Szeredi <miklos@szeredi.hu>
359
360 * Warn if API version 11 compatibility is requested
361
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00003622005-11-17 Miklos Szeredi <miklos@szeredi.hu>
363
364 * More FreeBSD merge
365
Miklos Szeredi832ee442005-11-18 21:02:36 +0000366 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
367 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000368 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000369
370 * libfuse: don't use system() to invoke 'fusermount -u ...'
371 because it breaks mountpoints with spaces in them into multiple
372 arguments
373
Miklos Szeredib3f99722005-11-16 13:00:24 +00003742005-11-16 Miklos Szeredi <miklos@szeredi.hu>
375
376 * Merge library part of FreeBSD port. Patch by Csaba Henk
377
Miklos Szeredi3a770472005-11-11 21:32:42 +00003782005-11-11 Miklos Szeredi <miklos@szeredi.hu>
379
380 * Use 64bit type for file handle, so the full range supported by
381 the kernel interface is available to applications
382
Miklos Szeredibcc53852005-11-10 09:54:41 +00003832005-11-10 Miklos Szeredi <miklos@szeredi.hu>
384
385 * Moved mountpoint argument checking from fuse_parse_cmdline() to
386 fuse_mount() in preparation to FreeBSD merge.
387
Miklos Szeredi4ec06812005-11-08 13:04:27 +00003882005-11-08 Miklos Szeredi <miklos@szeredi.hu>
389
390 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
391 Henk.
392
Miklos Szeredic706ad92005-11-07 15:30:48 +00003932005-11-07 Miklos Szeredi <miklos@szeredi.hu>
394
395 * Make the statfs change backwards compatible.
396
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00003972005-11-06 Miklos Szeredi <miklos@szeredi.hu>
398
399 * Change ->statfs() method to use 'struct statvfs' instead of
400 'struct statfs'. This makes the API more portable since statvfs()
401 is defined by POSIX.
402
Miklos Szeredif7eec032005-10-28 13:09:50 +00004032005-10-28 Miklos Szeredi <miklos@szeredi.hu>
404
405 * Add fgetattr() method, which currently will only be called after
406 a successful call to a create() method.
407
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004082005-10-26 Miklos Szeredi <miklos@szeredi.hu>
409
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000410 * Change kernel ABI version to 7.3
411
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000412 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000413 call if 'default_permissions' mount option is not given, and is
414 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000415
Miklos Szeredid9079a72005-10-26 15:29:06 +0000416 * Add atomic CREATE+OPEN operation. This will only work with
417 2.6.15 (presumably) or later Linux kernels.
418
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000419 * Add ftruncate() method. This will only work with 2.6.15
420 (presumably) or later Linux kernels.
421
422 * Fix kernel module compile if kernel source and build directories
423 differ. Report and initial patch by John Eastman
424
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004252005-10-18 Miklos Szeredi <miklos@szeredi.hu>
426
427 * lib: optimize buffer reallocation in fill_dir.
428
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004292005-10-17 Miklos Szeredi <miklos@szeredi.hu>
430
431 * Released 2.4.1
432
Miklos Szeredif412d072005-10-14 21:24:32 +00004332005-10-14 Miklos Szeredi <miklos@szeredi.hu>
434
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000435 * libfuse: add debug for write result (by Shaun Jackman) and
436 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000437
Miklos Szeredib75d4b92005-10-11 10:12:08 +00004382005-10-11 Miklos Szeredi <miklos@szeredi.hu>
439
440 * Spelling fixes, thanks to Ioannis Barkas
441
Miklos Szeredibaab5872005-10-10 08:41:14 +00004422005-10-10 Miklos Szeredi <miklos@szeredi.hu>
443
444 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
445 patch
446
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00004472005-10-07 Miklos Szeredi <miklos@szeredi.hu>
448
449 * highlevel-lib: init() and destroy() methods didn't have an
450 initialized fuse_context. Bug reported by Tim Stoakes
451
Miklos Szeredif2491122005-10-04 10:10:41 +00004522005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000453
454 * Released 2.4.0
455
Miklos Szeredi836ab712005-10-03 14:11:59 +00004562005-10-03 Miklos Szeredi <miklos@szeredi.hu>
457
458 * Add documentation to fuse_lowlevel.h
459
460 * API cleanups:
461
462 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
463
464 * Move fuse_mount() and fuse_unmount() to fuse_common.h
465
466 * Change the return type of fuse_reply_none() from int to void.
467
Miklos Szerediaf138742005-09-30 08:49:59 +00004682005-09-30 Miklos Szeredi <miklos@szeredi.hu>
469
470 * kernel: NFS exporting leaked dentries. Bug found and fixed by
471 Akshat Aranya.
472
Miklos Szeredidb016e02005-09-29 10:06:27 +00004732005-09-29 Miklos Szeredi <miklos@szeredi.hu>
474
475 * fusermount: fix error message, when unable to open /dev/fuse.
476 Report by Balázs Pozsár
477
Miklos Szeredi35200932005-09-28 14:50:49 +00004782005-09-28 Miklos Szeredi <miklos@szeredi.hu>
479
480 * UClibc fixes from Christian Magnusson
481
Miklos Szeredi8eddf642005-09-27 08:58:26 +00004822005-09-27 Miklos Szeredi <miklos@szeredi.hu>
483
484 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
485
Miklos Szerediedec95c2005-09-26 10:22:22 +00004862005-09-26 Miklos Szeredi <miklos@szeredi.hu>
487
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000488 * Released 2.4.0-rc1
489
4902005-09-26 Miklos Szeredi <miklos@szeredi.hu>
491
Miklos Szerediedec95c2005-09-26 10:22:22 +0000492 * fusermount: allow user umount in the case when /etc/mtab is a
493 symlink to /proc/mounts. Reported by Balázs Pozsár.
494
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00004952005-09-23 Miklos Szeredi <miklos@szeredi.hu>
496
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000497 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000498
Miklos Szeredif45f3c12005-09-22 15:14:27 +00004992005-09-22 Miklos Szeredi <miklos@szeredi.hu>
500
501 * Slight optimization in returning EINVAL error in case of an open
502 with O_DIRECT flag.
503
Miklos Szeredi670d07a2005-09-20 11:36:32 +00005042005-09-20 Miklos Szeredi <miklos@szeredi.hu>
505
506 * Remove '--enable-auto-modprobe' configure flag. Module
507 auto-loading is now handled by the kernel.
508
Miklos Szeredid51fca12005-09-15 12:51:00 +00005092005-09-15 Miklos Szeredi <miklos@szeredi.hu>
510
511 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
512 Help from Jens M. Noedler.
513
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005142005-09-14 Miklos Szeredi <miklos@szeredi.hu>
515
516 * Add memory cleanup on thread exit
517
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005182005-09-13 Miklos Szeredi <miklos@szeredi.hu>
519
520 * Set umask to zero in fusexmp and fusexmp_fh, so that
521 files/directories are created with the requested mode.
522
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005232005-09-12 Miklos Szeredi <miklos@szeredi.hu>
524
525 * Don't ignore read error in multithreaded loop
526
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005272005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000528
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000529 * Released 2.4.0-pre2
530
5312005-09-08 Miklos Szeredi <miklos@szeredi.hu>
532
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000533 * Revert lock and access operations. Postpone these until 2.5.
534
5352005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000536
537 * Fix compile warning on 2.6.13 and later
538
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000539 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000540
Miklos Szeredi77ccf652005-08-19 14:40:27 +00005412005-08-19 Miklos Szeredi <miklos@szeredi.hu>
542
543 * lib: always refresh directory contents after rewinddir() to
544 conform to SUS. Bug found by John Muir.
545
Miklos Szeredia1482422005-08-14 23:00:27 +00005462005-08-15 Miklos Szeredi <miklos@szeredi.hu>
547
Miklos Szeredic43f9412005-08-15 15:10:48 +0000548 * Released 2.4.0-pre1
549
5502005-08-14 Miklos Szeredi <miklos@szeredi.hu>
551
Miklos Szeredia1482422005-08-14 23:00:27 +0000552 * lib: cleaned up (or messed up, depending on your POV) the low
553 level library API. Hopefully this is close to the final form.
554
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00005552005-08-05 Miklos Szeredi <miklos@szeredi.hu>
556
557 * fusermount: don't allow empty mountpoint argument, which defeats
558 automatic umounting in fuse_main(). Bugreport by Václav Jůza
559
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00005602005-08-03 Miklos Szeredi <miklos@szeredi.hu>
561
562 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
563 option is used (Paul Alfille).
564
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00005652005-08-02 Miklos Szeredi <miklos@szeredi.hu>
566
567 * highlevel-lib: added mount options "attr_timeout" and
568 "entry_timeout". These options control the length of time file
569 attributes and entries (names) are cached. Both default to 1.0
570 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000571
572 * kernel: correctly handle zero timeout for attributes and entries
573
Miklos Szeredi56a61f02005-08-01 10:42:25 +00005742005-08-01 Miklos Szeredi <miklos@szeredi.hu>
575
576 * Added missing symbols to versionscript (Joshua J. Berry)
577
Miklos Szeredie77cc072005-08-01 11:58:51 +0000578 * kernel: implement two flags, open can set: 'direct_io' and
579 'keep_cache'. These correspond exactly to mount options
580 'direct_io' and 'kernel_cache', but allow a per-open setting.
581
582 * Move 'direct_io' and 'kernel_cache' mount option handling to
583 userspace. For both mount options, if the option is given, then
584 the respective open flag is set, otherwise the open flag is left
585 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000586
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000587 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000588
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00005892005-07-28 Miklos Szeredi <miklos@szeredi.hu>
590
591 * kernel: invalidate attributes for read/readdir/readlink
592 operations
593
594 * kernel: detect newer UML kernels
595
Miklos Szeredibfb99462005-07-26 11:07:55 +00005962005-07-26 Miklos Szeredi <miklos@szeredi.hu>
597
598 * Make the installation path of fuse.ko and mount.fuse
599 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
600 environment variables. Requirement and help from Csaba Henk.
601
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00006022005-07-22 Miklos Szeredi <miklos@szeredi.hu>
603
604 * Fix bug, that causes filesystem requests to hang when unique
605 request counter becomes negative. This happens after
606 2,147,483,648 operations, so most people won't care. Thanks to
607 Franco Broi for the report and testing.
608
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006092005-07-21 Miklos Szeredi <miklos@szeredi.hu>
610
611 * Don't change mtime/ctime/atime to local time on read/write.
612 Bug reported by Ben Grimm
613
614 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
615 Magnusson
616
617 * fusermount: use getopt_long() for option parsing. It allows the
618 use of '--' to stop argument scanning, so fusermount can now
619 operate on directories whose names begin with a '-'. Patch by
620 Adam Connell
621
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006222005-07-15 Miklos Szeredi <miklos@szeredi.hu>
623
624 * fusermount: add '-v', '--version' and '--help' options
625
626 * add inode based API
627
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006282005-07-12 Miklos Szeredi <miklos@szeredi.hu>
629
630 * lib: don't block signals in worker threads. Problem noticed by
631 Usarin Heininga
632
Miklos Szeredic902a852005-07-07 12:35:37 +00006332005-07-07 Miklos Szeredi <miklos@szeredi.hu>
634
635 * lib: don't allow both 'allow_other' and 'allow_root' options to
636 be given
637
Miklos Szeredi437d8112005-07-06 09:14:20 +00006382005-07-06 Miklos Szeredi <miklos@szeredi.hu>
639
640 * fusermount: check if mountpoint is empty (only '.' and '..' for
641 directories, and size = 0 for regular files). If "nonempty"
642 option is given, omit this check. This is useful, so users don't
643 accidentally hide data (e.g. from backup programs). Thanks to
644 Frank van Maarseveen for pointing this out.
645
646 * kernel: check if mandatory mount options ('fd', 'rootmode',
647 'user_id', 'group_id') are all given
648
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000649 * lib: simplify 'readdir_ino' handling
650
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000651 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
652
Miklos Szeredibb9f5172005-07-03 18:03:11 +00006532005-07-03 Miklos Szeredi <miklos@szeredi.hu>
654
655 * kernel: clean up 'direct_io' code
656
Miklos Szeredie1bcece2005-06-28 10:37:06 +00006572005-06-28 Miklos Szeredi <miklos@szeredi.hu>
658
659 * Add 'mount.fuse' written by Petr Klima
660
Miklos Szeredi866826d2005-06-28 12:22:57 +0000661 * '/dev/fuse' is created by 'make install' if does not yet exist
662
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00006632005-06-20 Miklos Szeredi <miklos@szeredi.hu>
664
665 * Fix UCLIBC compile error. Patch by Christian Magnusson
666
Miklos Szerediec12fad2005-06-08 10:26:34 +00006672005-06-08 Miklos Szeredi <miklos@szeredi.hu>
668
669 * Enable the auto-loading of the module via access to the
670 corresponding device file. Patch by Takashi Iwai.
671
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000672 * Allow mounting a regular file (over a regular file) for
673 unprivleged users.
674
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000675 * Do not create temporary device file. Require "/dev/fuse" to
676 exist, and be readable/writable by the mounting user.
677
Miklos Szeredi46960ce2005-06-02 09:05:00 +00006782005-06-02 Miklos Szeredi <miklos@szeredi.hu>
679
Miklos Szeredi56478552005-06-02 10:29:00 +0000680 * Released 2.3.0
681
6822005-06-02 Miklos Szeredi <miklos@szeredi.hu>
683
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000684 * Fix serious information leak: if the filesystem returns a short
685 byte count to a read request, and there are non-zero number of
686 pages which are not filled at all, these pages will not be zeroed.
687 Hence the user can read out previous memory contents. Found by
688 Sven Tantau.
689
Miklos Szeredi33be22d2005-05-27 09:12:43 +00006902005-05-27 Miklos Szeredi <miklos@szeredi.hu>
691
692 * Add "readdir_ino" mount option, which tries to fill in the d_ino
693 field in struct dirent. This mount option is ignored if "use_ino"
694 is used. It helps some programs (e.g. 'pwd' used over NFS from a
695 non-Linux OS). Patch by David Shaw.
696
Miklos Szeredif94e0102005-05-12 14:56:34 +00006972005-05-12 Miklos Szeredi <miklos@szeredi.hu>
698
Miklos Szeredieb009c42005-05-12 15:01:17 +0000699 * Released 2.3-rc1
700
7012005-05-12 Miklos Szeredi <miklos@szeredi.hu>
702
Miklos Szeredif94e0102005-05-12 14:56:34 +0000703 * File save in krusader and other editors doesn't work with sshfs,
704 because open() is interrupted by a periodic signal, and open()
705 restarts forever, without any progress. This could just be fixed
706 in open(), but the problem is more generic: if signals are
707 received more often than the filesystem can get the request to
708 userspace, it will never finish. This is probably only a
709 theoretical problem, nevertheless I'm removing the possibility to
710 interrupt requests with anything other than SIGKILL, even before
711 being sent to userspace. Bugreport by Eduard Czimbalmos.
712
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007132005-05-09 Miklos Szeredi <miklos@szeredi.hu>
714
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000715 * libfuse: add "tree_lock" rwlock, that is locked for write in
716 rename, unlink and rmdir, and locked for read in all other
717 operations. This should fix the rename/release race reported by
718 Valient Gough and others. The solution is very coarse, a finer
719 grained locking scheme could be implemented, but it would be much
720 more complex. Let's see whether this is good enough.
721
7222005-05-09 Miklos Szeredi <miklos@szeredi.hu>
723
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000724 * Released 2.3-pre7
725
Miklos Szeredi38009022005-05-08 19:47:22 +00007262005-05-08 Miklos Szeredi <miklos@szeredi.hu>
727
728 * Better fix for out of order FORGET messages. Now the
729 LOOKUP/FORGET messages are balanced exactly (one FORGET can
730 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000731 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000732 compatible.
733
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00007342005-05-06 Miklos Szeredi <miklos@szeredi.hu>
735
736 * Fix abort for out of order FORGET messages. Again. Spotted by
737 Franco Broi again. Sorry :)
738
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00007392005-04-29 Miklos Szeredi <miklos@szeredi.hu>
740
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000741 * Released 2.3-pre6
742
7432005-04-29 Miklos Szeredi <miklos@szeredi.hu>
744
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000745 * Make fusermount work with fuse kernel modules not yet supporting
746 the "group_id" option (added for the purpose of stricter
747 permission checking).
748
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00007492005-04-28 Miklos Szeredi <miklos@szeredi.hu>
750
751 * Check for hard-linked directories in lookup. This could cause
752 problems in the VFS, which assumes that such objects never exist.
753
754 * Make checking of permission for other users more strict. Now
755 the same privilege is required for the mount owner as for ptrace
756 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000757
Miklos Szeredi3efcb562005-04-23 13:34:29 +00007582005-04-23 Miklos Szeredi <miklos@szeredi.hu>
759
760 * Released 2.3-pre5
761
Miklos Szeredid001bf92005-04-22 07:54:11 +00007622005-04-22 Miklos Szeredi <miklos@szeredi.hu>
763
764 * Add -msoft-float to kernel module compile flags for 2.4.X. This
765 is needed on certain architectures. Report from Chris Kirby
766
767 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
768 Reported by David Shaw
769
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000770 * Remove "allow_root" option from kernel module, and implement
771 it's functionality in the library
772
773 * Fix Oops caused by premature release of fuse_conn. Clean up
774 related code, to be more readable
775
Miklos Szeredif9137452005-04-23 10:59:44 +0000776 * Sendfile should not use page cache if "direct_io" mount option
777 is given
778
Miklos Szeredib7640d22005-04-08 15:15:28 +00007792005-04-08 Miklos Szeredi <miklos@szeredi.hu>
780
781 * Fix Oops in case of nfs export. Spotted by David Shaw
782
Miklos Szeredi89814a12005-04-08 16:39:09 +0000783 * Fix another Oops in case of write over nfs with direct_io turned
784 on. Again spotted by David Shaw
785
Miklos Szerediab974562005-04-07 15:40:21 +00007862005-04-07 Miklos Szeredi <miklos@szeredi.hu>
787
Miklos Szeredi432d6182005-04-07 15:56:13 +0000788 * Released 2.3-pre4
789
7902005-04-07 Miklos Szeredi <miklos@szeredi.hu>
791
Miklos Szerediab974562005-04-07 15:40:21 +0000792 * lib: finalized new readdir() interface, which now supersedes the
793 getdir() method.
794
Miklos Szeredi30e093a2005-04-03 17:44:54 +00007952005-04-03 Miklos Szeredi <miklos@szeredi.hu>
796
797 * Released 2.3-pre3
798
7992005-04-03 Miklos Szeredi <miklos@szeredi.hu>
800
801 * Implement backward compatibility with version 5 kernel ABI
802
Miklos Szeredi18fce982005-04-01 21:07:35 +00008032005-04-01 Miklos Szeredi <miklos@szeredi.hu>
804
805 * Released 2.3-pre2
806
8072005-04-01 Miklos Szeredi <miklos@szeredi.hu>
808
809 * kernel: fix dirent offset handling
810
811 * lib: add readdir and releasedir methods
812
813 * lib: use fh field of fuse_file_info in opendir, readdir,
814 releasedir and fsyncdir methods
815
816 * lib: check kernel API version and bail out of it's old. This
817 will be properly fixed in the next release
818
8192005-03-31 Miklos Szeredi <miklos@szeredi.hu>
820
821 * Released 2.3-pre1
822
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008232005-03-31 Miklos Szeredi <miklos@szeredi.hu>
824
825 * kernel API: add padding to structures, so 64bit and 32bit
826 compiler will return the same size
827
828 * kernel API: add offset field to fuse_dirent. This will allow
829 more sophisticated readdir interface for userspace
830
831 * kernel API: change major number to 6
832
833 * kernel: fix warnings on 64bit archs
834
835 * kernel: in case of API version mismatch, return ECONNREFUSED
836
Miklos Szeredi407e6a72005-03-25 12:19:43 +00008372005-03-24 Miklos Szeredi <miklos@szeredi.hu>
838
839 * kernel: trivial cleanups
840
Miklos Szeredi4283ee72005-03-21 12:09:04 +00008412005-03-21 Miklos Szeredi <miklos@szeredi.hu>
842
843 * Add fsyncdir() operation
844
Miklos Szeredid17da462005-03-21 11:47:04 +00008452005-03-19 Miklos Szeredi <miklos@szeredi.hu>
846
847 * kernel: add locking to background list (fixes previous fix)
848
8492005-03-18 Miklos Szeredi <miklos@szeredi.hu>
850
851 * kernel: fix bug which could cause leave busy inodes after
852 unmount, and Oops.
853
8542005-03-08 Miklos Szeredi <miklos@szeredi.hu>
855
856 * examples: add -lpthread to link flags to work around valgrind
857 quirk
858
859 * lib: don't exit threads, so cancelation doesn't cause segfault
860
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00008612005-03-04 Miklos Szeredi <miklos@szeredi.hu>
862
863 * kernel: fix nasty bug which could cause an Oops under certain
864 situations. Found by Magnus Johansson
865
Miklos Szeredif43f0632005-02-28 11:46:56 +00008662005-02-28 Miklos Szeredi <miklos@szeredi.hu>
867
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000868 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000869 permission checking in getdir() is too late. Thanks to Usarin
870 Heininga for pointing out this deficiency
871
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000872 * libfuse: added init() and destroy() methods to fuse_operations
873
Miklos Szeredif43f0632005-02-28 11:46:56 +0000874 * kernel: llseek() method for files and directories made explicit
875
876 * kernel: fixed inode leak in NFS export in case of nodeid
877 wrapping
878
Miklos Szeredied3c97c2005-02-15 17:04:50 +00008792005-02-15 Miklos Szeredi <miklos@szeredi.hu>
880
881 * libfuse: clean up some unitialized memory found with valgrind
882
Miklos Szeredi47c52982005-02-23 09:27:38 +0000883 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
884 explicitly linked libpthread for applications
885
Miklos Szeredia7169412005-02-10 07:35:05 +00008862005-02-10 Miklos Szeredi <miklos@szeredi.hu>
887
888 * fusermount: set umask, otherwise /etc/mtab will have
889 unpredictable permission. Spotted by Jindrich Kolorenc
890
891 * fusermount: set owner and group of /etc/mtab to original values
892 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000893
894 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000895
Miklos Szeredib92d9782005-02-07 16:10:49 +00008962005-02-07 Miklos Szeredi <miklos@szeredi.hu>
897
898 * Cleaned up directory reading (temporary file is not used)
899
Miklos Szerediff30a6c2005-02-02 10:53:59 +00009002005-02-02 Miklos Szeredi <miklos@szeredi.hu>
901
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000902 * Released 2.2
903
9042005-02-02 Miklos Szeredi <miklos@szeredi.hu>
905
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000906 * Fix possible race when operation is interrupted
907
Miklos Szeredi7a983952005-01-28 09:58:19 +00009082005-01-28 Miklos Szeredi <miklos@szeredi.hu>
909
Miklos Szeredie5183742005-02-02 11:14:04 +0000910 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000911
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009122005-01-26 Miklos Szeredi <miklos@szeredi.hu>
913
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000914 * Released 2.2-pre6
915
9162005-01-26 Miklos Szeredi <miklos@szeredi.hu>
917
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000918 * Fix bug in link() operation which caused the wrong path to be
919 passed as the first argument. Found by Anton Altaparmakov
920
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009212005-01-21 Miklos Szeredi <miklos@szeredi.hu>
922
923 * LIB: fix double reply in readdir operation
924
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000925 * fusermount: fix uid checking bug. Patch by Adam Connell
926
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000927 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000928 Patch by Keshava Gowda
929
Miklos Szeredi64074142005-01-20 08:48:11 +00009302005-01-20 Miklos Szeredi <miklos@szeredi.hu>
931
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000932 * KERNEL: provide correct llseek semantics for fuse device (fixes
933 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
934
9352005-01-20 Miklos Szeredi <miklos@szeredi.hu>
936
Miklos Szeredi64074142005-01-20 08:48:11 +0000937 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
938
Miklos Szeredi1adb2272005-01-18 21:19:58 +00009392005-01-18 Miklos Szeredi <miklos@szeredi.hu>
940
941 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
942 and RELEASEDIR. This ends the ugly hack of passing a file
943 descriptor to the kernel, and actually makes the code simpler.
944
Miklos Szeredi7db35c02005-01-17 09:46:28 +00009452005-01-17 Miklos Szeredi <miklos@szeredi.hu>
946
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000947 * Released 2.2-pre4
948
9492005-01-17 Miklos Szeredi <miklos@szeredi.hu>
950
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000951 * fusermount: remove capability setting, which was the cause of
952 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000953 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000954
Miklos Szeredidbe0f652005-01-15 14:32:56 +00009552005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000956
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000957 * fix compilation on 2.4 kernels (reported by Valient Gough)
958
959 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000960
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000961 * fusermount: improve parsing of /etc/fuse.conf
962
9632005-01-13 Miklos Szeredi <miklos@szeredi.hu>
964
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000965 * Remove 'mount_max' and 'user_allow_other' module options. These
966 are now checked by fusermount, and can be set in /etc/fuse.conf
967
968 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
969
Miklos Szeredi81394522005-01-11 14:24:18 +00009702005-01-11 Miklos Szeredi <miklos@szeredi.hu>
971
972 * KERNEL: fix possible inode allocation problem, where
973 sizeof(struct inode) is not aligned (found by Mike Waychison)
974
975 * KERNEL: use new follow_link/put_link methods
976
977 * KERNEL: cosmetic fixes
978
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00009792005-01-10 Miklos Szeredi <miklos@szeredi.hu>
980
981 * Released 2.2-pre3
982
9832005-01-10 Miklos Szeredi <miklos@szeredi.hu>
984
985 * Add missing code that was accidently left out
986
Miklos Szeredi8c7da232005-01-09 12:27:41 +00009872005-01-09 Miklos Szeredi <miklos@szeredi.hu>
988
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000989 * Released 2.2-pre2
990
9912005-01-09 Miklos Szeredi <miklos@szeredi.hu>
992
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000993 * Change "uid" mount option to "user_id" to avoid confusion with a
994 mount option "uid" commonly used by many filesystems
995
9962005-01-09 Miklos Szeredi <miklos@szeredi.hu>
997
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000998 * Released 2.2-pre1
999
10002005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1001
1002 * If FUSE is configured in the kernel, don't build it by default
1003
Miklos Szeredi2a927272005-01-07 11:14:15 +000010042005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1005
1006 * Compile fix by Christian Magnusson
1007
Miklos Szeredib6220192005-01-05 16:19:10 +000010082005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1009
1010 * Fix compilation for 2.6.{0-5} kernels
1011
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010122005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1013
1014 * KERNEL: if request is interrupted, still keep reference to used
1015 inode(s) and file, so that FORGET and RELEASE are not sent until
1016 userspace finishes the request.
1017
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001018 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1019 request with the same information, which is more flexible,
1020 simpler, works on embedded systems.
1021
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010222004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1023
1024 * KERNEL ABI: update interface to make it independent of type
1025 sizes. This will help on 64 bit architectures which can run
1026 legacy 32 bit applications.
1027
1028 * KERNEL ABI: add "len" field to request headers. This will allow
1029 sending/receiving requests in multiple chunks.
1030
1031 * KERNEL: handle file type change more intelligently
1032
1033 * LIB: "-o debug" option should disable backgrounding (fix by
1034 Fabien Reygrobellet)
1035
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000010362004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1037
1038 * KERNEL: invalidate dentry/attributes if interrupted request
1039 could leave filesystem in an unknown state.
1040
Miklos Szeredie56818b2004-12-12 11:45:24 +000010412004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1042
1043 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1044 These will cause some regressions, but stability is considered
1045 more important. If any of these features turns out to be
1046 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001047
Miklos Szeredie56818b2004-12-12 11:45:24 +00001048 * Make all requests interruptible (only with SIGKILL currently).
1049 This can be used to break any deadlock produced by the userspace
1050 filesystem accessing it's own exported files. The RELEASE request
1051 is special, because if it's interrupted before sending it to
1052 userspace it is still sent, but the reply is not awaited.
1053
1054 * If request is interrupted before being sent to userspace, and if
1055 it hasn't yet got any side effects, it is always restarted,
1056 regardless of the SA_RESTART flag. This makes these interruptions
1057 transparent to the process.
1058
1059 * Remove shared-writable mmap support, which was prone to an
1060 out-of-memory deadlock situation
1061
1062 * Remove INVALIDATE userspace initiated request
1063
1064 * Make readpages() synchronous. Asynchronous requests are
1065 deadlock prone, since they cannot be interrupted.
1066
1067 * Add readv/writev support to fuse device operations
1068
1069 * Remove some printks, which userspace FS can use for a DoS
1070 against syslog
1071
1072 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1073 fusermount instead
1074
1075 * LIB: improve compatibility with a fuse.h header installed in
1076 ${prefix}/include which in turn includes the real header.
1077
1078 * LIB: improve compatibility by defining fuse_main() (which is now
1079 not used), so old configure scripts find it.
1080
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000010812004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1082
1083 * When mounting on a subdirectory of / don't duplicate slashes at
1084 the beggining of path (spotted by David Shaw)
1085
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000010862004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1087
1088 * Fix bug causing garbage in mount options (spotted by David Shaw)
1089
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000010902004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1091
1092 * Add 'writepage' flag to 'fuse_file_info'.
1093
1094 * More comments in fuse.h
1095
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001096 * Get rid of double underscores
1097
Miklos Szeredi799993c2004-12-04 21:20:05 +000010982004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1099
1100 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1101
1102 * helper.c: add -ho option, which only displays the options not
1103 the usage header. This can be used by filesystems which have
1104 their own options.
1105
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000011062004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1107
1108 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1109 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1110 including the fuse header
1111
1112 * Add binary compatibility to 2.1 version of library with symbol
1113 versioning
1114
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011152004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1116
1117 * Released 2.1
1118
Miklos Szeredi039322d2004-12-01 18:39:12 +000011192004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1120
1121 * kernel: clean up writing functions
1122
1123 * kernel: no allocation on write in direct_io mode
1124
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001125 * move linux/fuse.h to fuse_kernel.h
1126
Miklos Szeredi83a07442004-11-30 18:25:20 +000011272004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1128
1129 * kernel: clean up reading functions
1130
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000011312004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1132
1133 * kernel: make readpage() uninterruptible
1134
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001135 * kernel: check readonly filesystem flag in fuse_permission
1136
1137 * lib: don't die if version file not found and new style device
1138 exists
1139
1140 * lib: add '-r' option, which is short for '-o ro'
1141
1142 * fusermount: simplify device opening
1143
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001144 * kernel: when direct_io is turend on, copy data directly to
1145 destination without itermediate buffer. More efficient and safer,
1146 since no allocation is done.
1147
1148 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001149
1150 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001151
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000011522004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1153
1154 * libfuse API change: open, read, write, flush, fsync and release
1155 are passed a 'struct fuse_file_info' pointer containing the open
1156 flags (open and release), and the file handle. Verion changed to
1157 3.0.
1158
Miklos Szeredia25d4c22004-11-23 22:32:16 +000011592004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1160
1161 * More cleanups in the kernel
1162
1163 * The 10,229 charater device number has been assigned for FUSE
1164
1165 * Version file checking fix (reported by Christian Magnusson)
1166
1167 * fusermount: opening the fuse device now doesn't need /sys.
1168
1169 * Optimize reading by controlling the maximum readahead based on
1170 the 'max_read' mount option
1171
1172 * fixes for UCLIBC (Christian Magnusson)
1173
Miklos Szeredi13ed4822004-11-20 11:12:21 +000011742004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1175
1176 * Cleaned up kernel in preparation for merge into mainline:
1177
1178 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1179
1180 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1181
1182 * __user annotations for sparse
1183
1184 * allocate individual pages instead of kmalloc in fuse_readdir,
1185 fuse_read and fuse_write.
1186
1187 * Fix NFS export in case "use_ino" mount option is given
1188
Miklos Szeredif3845c42004-11-20 11:18:34 +00001189 * Make libfuse and fusermount compatible with future versions
1190
1191 * fusermount: properly add mount options to /etc/mtab
1192
11932004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1194
1195 * fusermount: do not resolve last component of mountpoint on if it
1196 is '.' or '..'. This new path resolvation is now done on mount as
1197 well as unmount. This enables relative paths to work on unmount.
1198
1199 * fusermount: parse common mount options like "ro", "rw", etc...
1200
1201 * Allow module params to be changed through sysfs
1202
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000012032004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1204
1205 * Released 2.1-pre1
1206
12072004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1208
1209 * Fix bug in fuse_readpages() causing Oops in certain situations.
1210 Bug found by Vincenzo Ciancia.
1211
1212 * Fix compilation with kernels versions > 2.6.9.
1213
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012142004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001215
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001216 * Check kernel interface version in fusermount to prevent
1217 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001218
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001219 * No need to allocate fuse_conn until actual mount happens
1220
1221 * Fix potential race between umount and fuse_invalidate
1222
1223 * Check superblock of proc file in addition to inode number
1224
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001225 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001226
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012272004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1228
1229 * Separate configure for the kernel directory
1230
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001231 * Don't allow write to return more than 'count'
1232
1233 * Extend kernel interface for future use
1234
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012352004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1236
1237 * Fix 'makeconf.sh' to use autoreconf if available
1238
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000012392004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1240
Miklos Szeredid507c732004-11-08 17:32:25 +00001241 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1242 compatibility with earlier versions. To compile earier versions
1243 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1244 Do not use the "use_ino" mount flag with filesystems compiled with
1245 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001246
1247 * Add pkg-config support. To compile a FUSE based filesystem you
1248 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1249 or similar. Note, that the PKG_CONFIG_PATH environment variable
1250 usually needs to be set to "/usr/local/lib/pkgconfig".
1251
1252 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001253
Miklos Szeredia13d9002004-11-02 17:32:03 +000012542004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1255
1256 * Added "use_ino" mount option. This enables the filesystems to
1257 set the st_ino field on files
1258
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000012592004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1260
1261 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1262 by Jeremy Smith)
1263
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001264 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1265
1266 * Clear the 'exited' flag when mail loop is finished
1267
Miklos Szeredie989f0d2004-10-28 20:24:58 +000012682004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1269
1270 * Make xattr functions work under 2.6 (bug found by Vincenzo
1271 Ciancia)
1272
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000012732004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1274
1275 * Reset request in fuse_flush() (bugreport by David Shaw)
1276
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000012772004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1278
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001279 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001280 error code
1281
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001282 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001283 make it easier to implement a custom event loop.
1284
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001285 * Use daemon() call to background the filesystem after mounting.
1286 This function closes the standard input, output and error and
1287 changes the current working directory to "/".
1288
Miklos Szeredi127d49b2004-10-14 13:33:39 +000012892004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1290
1291 * Released 1.9
1292
Miklos Szeredid45baf42004-10-10 07:56:12 +000012932004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1294
1295 * Don't allow fuse_flush() to be interrupted (bug found by David
1296 Shaw)
1297
Miklos Szeredi1f18db52004-09-27 06:54:49 +000012982004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1299
1300 * Add PID to fuse_context. Patch by Steven James
1301
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001302 * Change file handle type to 'unsigned long' in kernel interface
1303
Miklos Szeredid169f312004-09-22 08:48:26 +000013042004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1305
1306 * A slight API change: fuse_get_context() doesn't need the "fuse"
1307 pointer, but the returned context contains it instead. The
1308 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001309
1310 * Fix mounting and umounting FUSE filesystem under another FUSE
1311 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001312
Miklos Szeredic2309912004-09-21 13:40:38 +000013132004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1314
1315 * Fix deadlock in case of memory allocation failure. Patch by
1316 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001317
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013182004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1319
1320 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001321
Miklos Szeredi65afea12004-09-14 07:13:45 +000013222004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1323
1324 * Check temporary file creation failure in do_getdir(). Bug
1325 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001326
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013272004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1328
1329 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001330
1331 * Make requests non-interruptible so race with FORGET is avoided.
1332 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001333
1334 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001335
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000013362004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1337
1338 * Fix bug in case two FORGETs for the same node are executed in
1339 the wrong order. Bug spotted and endured for months by Franco
1340 Broi, and logfile for solution provided by Terje Oseberg
1341
Miklos Szeredi12085102004-09-02 18:13:57 +000013422004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1343
1344 * Add -D_REENTRANT to the compile flags
1345
1346 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001347
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000013482004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1349
1350 * Change release method to be non-interruptible. Fixes bug
1351 causing missing release() call when program which has opened files
1352 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001353
Miklos Szeredi891b8742004-07-29 09:27:49 +000013542004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1355
1356 * Add fuse_invalidate() to library API
1357
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000013582004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1359
1360 * Check permissions in setattr if 'default_permissions' flag is
1361 set. Bug spotted by Damjan Lango
1362
Miklos Szeredid66d3942004-07-24 13:47:44 +000013632004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1364
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001365 * 'large_read' mount option removed for 2.6 kernels, since the
1366 default (dynamic read size) is better
1367
1368 * Extend kernel API with file handles. A file handle is returned
1369 by open, and passed to read, write, flush, fsync and release.
1370 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001371
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001372 * Security changes:
1373
1374 * Change the current directory to the mountpoint before checking
1375 the permissions and mount filesystem on "."
1376
1377 * By default don't modprobe the fuse module for non-root. The old
1378 behavior can be restored with the '--enable-auto-modprobe' flag of
1379 ./configure
1380
1381 * By default don't allow shared writable mappings for non-root.
1382 The old behavior can be restored with the 'user_mmap=1' module
1383 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001384
Miklos Szeredibd7661b2004-07-23 17:16:29 +000013852004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1386
1387 * Clean up mount option passing to fusermount and to fuse_new()
1388 BEWARE: this changes the userspace API slightly, and the command
1389 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001390
Miklos Szeredi58865372004-07-20 14:22:26 +000013912004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1392
1393 * Optimize reading under 2.6 kernels by issuing multiple page
1394 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001395
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000013962004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1397
1398 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001399
Miklos Szeredi069c9502004-07-16 16:17:02 +000014002004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1401
1402 * Separate directory entry and inode attribute validity timer
1403
1404 * New write semaphore to stop page writeback during truncate
1405
1406 * Fsync now waits for all writes to complete before sending the
1407 request
1408
1409 * Optimization: if a page is completely written by
1410 fuse_commit_write(), clear the dirty flag and set the uptodate
1411 flag for that page
1412
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001413 * Some memory cleanup at exit
1414
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014152004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1416
1417 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001418 disable the "hide if open" behavior of unlink/rename.
1419
1420 * If temporary buffer allocation fails in raw read, fall back to a
1421 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001422
Miklos Szeredi73798f92004-07-12 15:55:11 +000014232004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1424
1425 * Fix bug in do_open() in libfuse: open count was incremented
1426 after the reply is sent so it could race with unlink/forget and
1427 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001428
Miklos Szeredi015fe702004-07-12 11:52:24 +000014292004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1430
1431 * When performing create or remove operation, refresh the parent's
1432 attributes on next revalidate, as i_nlink (and maybe size/time)
1433 could be inacurate.
1434
1435 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1436 pages (2.6 only)
1437
1438 * Set set_page_dirty address space operation (2.6 only)
1439
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014402004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001441
1442 * Minor fix in read: print debug info even if read size is zero
1443
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014442004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001445
1446 * Fix race between truncate and writepage (fsx-linux now runs
1447 without error)
1448
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014492004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001450
1451 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1452 by Mattias Wadman)
1453
1454 * Added option for direct read/write (-r)
1455
1456 * Fix revalidate time setting for newly created inodes
1457
Miklos Szerediacb4d362004-07-02 16:20:45 +00001458 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1459 this)
1460
1461 * fuse_main() only installs handlers for signals (out of INT, HUP,
1462 TERM, PIPE), for which no handler has yet been installed
1463
1464 * Add module option 'user_allow_other' which if set to non-zero
1465 will allow non root user to specify the 'allow_other' mount option
1466 ('-x' option of fusermount)
1467
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001468 * Fix deadlock between page writeback completion and truncate
1469 (bug found by Valient Gough with the fsx-linux utility)
1470
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014712004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001472
1473 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001474 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1475 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001476
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014772004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001478
1479 * Acquire inode->i_sem before open and release methods to prevent
1480 concurrent rename or unlink operations.
1481
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001482 * Make __fuse_read_cmd() read only one command. This allows
1483 multiplexing the fuse file descriptor with other event sources
1484 using select() or poll() (patch by Jeff Harris)
1485
1486 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1487
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014882004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001489
1490 * Fix file offset wrap around at 4G when doing large reads
1491
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014922004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001493
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001494 * Fix memory leak in open (Valient Gough)
1495
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014962004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001497
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001498 * Add "close after delete" support to libfuse (patch by Valient
1499 Gough)
1500
1501 * Cancel all worker threads before exit in multithreaded mode
1502
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015032004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001504
1505 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001506
1507 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001508
1509 * Work with newer libtool (1.5a)
1510
1511 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001512
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015132004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001514
1515 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001516
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015172004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001518
1519 * Fix possible inode leak in userspace in case of unfinished
1520 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001521
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015222004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001523
1524 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001525
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015262004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001527
1528 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001529
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015302004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001531
1532 * Build shared library as well as static (using libtool)
1533
1534 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1535 there has not been a release with the previous minor number, and I
1536 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001537
1538 * Change fuse_main(), so that default behavior is to go into
1539 background if mount is successful. '-f' and '-d' options disable
1540 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1541 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001542
1543 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1544 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001545
1546 * Don't call getdir method from open() only from first readdir().
1547 Open is sometimes just used to store the current directory
1548 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001549
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015502004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001551
1552 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001553
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015542004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001555
1556 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001557
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015582004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001559
1560 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001561
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015622004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001563
1564 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001565
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015662004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001567
1568 * Replaced binary mount data with text options
1569
1570 * Show FUSE specific mount options in /proc/mounts
1571
1572 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1573
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015742004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001575
1576 * Check some limits so userspace won't get too big requests
1577
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015782004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001579
1580 * Kill compile warning
1581
1582 * Upgraded user-mount patch for 2.6.5
1583
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015842004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001585
1586 * Add detection of user-mode-linux to configure
1587
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015882004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001589
1590 * fixed zero size case for getxattr and listxattr
1591
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015922004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001593
1594 * new fusermount flag '-z': lazy unmount, default is not lazy
1595
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001596 * Extended attributes operations added (getxattr, setxattr,
1597 listxattr, removexattr)
1598
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015992004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001600
1601 * If filesystem doesn't define a statfs operation, then an
1602 all-zero default statfs is returned instead of ENOSYS
1603
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016042004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001605
1606 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1607
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016082004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001609
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001610 * Fix for uClinux (Christian Magnusson)
1611
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016122004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001613
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001614 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001615
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001616 * More kernel interface changes:
1617
1618 * Lookup/getattr return cache timeout values
1619
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016202004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001621
1622 * Clean up option parsing in fuse_main()
1623
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001624 * Added fuse_get() function which returns the fuse object created
1625 by fuse_main()
1626
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016272004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001628
Miklos Szeredic40748a2004-02-20 16:38:45 +00001629 * removed old way of mounting (fusermount mountpoint program)
1630
Miklos Szeredib5958612004-02-20 14:10:49 +00001631 * more kernel interface changes:
1632
1633 * added nanosecond precision to file times
1634
Miklos Szeredic40748a2004-02-20 16:38:45 +00001635 * removed interface version from mount data
1636
1637 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1638
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016392004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001640
1641 * statfs library API changed to match other methods. Since this
1642 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1643
Miklos Szeredi76f65782004-02-19 16:55:40 +00001644 * kernel interface changes follow:
1645
1646 * statfs changed to 64 bits, added 'bavail' field
1647
1648 * add generation number to lookup result
1649
1650 * optimized mknod/mkdir/symlink/link (no separate lookup is
1651 needed)
1652
1653 * rdev size increased to 32 bits for mknod
1654
1655 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016572004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001658
1659 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001660
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016612004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001662
1663 * Added user-mount.2.6.2-rc3.patch
1664
1665 * Add FS_SAFE flag to fuse filesystem
1666
1667 * fusermount should allow (un)mounting for non-root even if not
1668 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001669
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016702004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001671
1672 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001673
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016742004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001675
1676 * Added check for i_size_read/write functions to configure.in
1677 (patch by Valient Gough)
1678
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016792004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001680
1681 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001682
1683 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001684
1685 * Readpage calls flush_dcache_page() after storing data
1686
1687 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001688
1689 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001690
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016912004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001692
1693 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001694
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016952004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001696
1697 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001698
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016992004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001700
1701 * Added -q option for fusermount
1702
1703 * fuse_unmount() now uses -q option of fusermount, so no error is
1704 printed if the cause of the program exit is that the filesystem
1705 has already been unmounted
1706
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001707 * Fix i_nlink correctness after rmdir/unlink
1708
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017092004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001710
Miklos Szeredib1158392004-01-26 14:43:12 +00001711 * Released 1.1-pre2
1712
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017132004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001714
Miklos Szeredi307242f2004-01-26 11:28:44 +00001715 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001716
1717 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001718
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017192004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001720
1721 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001722
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017232004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001724
1725 * Write all pending data before a RELEASE operation
1726
1727 * Suppress 'Bad file descriptor' warning on exit
1728
1729 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001730 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001731
Miklos Szeredib1158392004-01-26 14:43:12 +00001732 * New fusermount option '-l' which enables big reads. Big reads
1733 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001734
1735 * fuse_main() can accept fusermount arguments after a '--'
1736
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017372004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001738
1739 * Support for exporting filesystem over NFS (see README.NFS)
1740
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017412004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001742
1743 * Support non-blocking writepage on 2.6. This makes FUSE behave
1744 much more nicely in low-memory situations
1745
1746 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1747 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001748
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017492004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001750
1751 * Code cleanups
1752
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017532004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001754
1755 * Released 1.1-pre1
1756
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017572004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001758
1759 * Integrated 2.6 kernel support patch by Michael Grigoriev
1760
1761 * Improvements and cleanups for 2.6 kernels
1762
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017632004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001764
Miklos Szeredie5183742005-02-02 11:14:04 +00001765 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001766
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017672003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001768
1769 * Added major+minor version to library API, and minor version to
1770 kernel API
1771
David McNab7a19caf2003-12-13 02:05:46 +000017722003-12-13 David McNab <david@rebirthing.co.nz>
1773
1774 * Implemented fsync support in examples/example.py
1775
1776 * Implemented 'fsync' and 'statfs' methods in python
1777 interface
1778
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017792003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001780
Miklos Szeredie5183742005-02-02 11:14:04 +00001781 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001782
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001783 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001784
David McNab8bf62632003-12-11 22:49:22 +000017852003-12-12 David McNab <david@rebirthing.co.nz>
1786
1787 * Added distutils support to the python module, as per standard
1788 python development practice
1789
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017902003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001791
1792 * Add file locking for mount/unmount (based on patch by Valient
1793 Gough)
1794
17952003-12-11 David McNab <david@rebirthing.co.nz>
1796
1797 * Python filesystem - was broken with python2.3, now fixed:
1798 - changed PyTuple_* calls to PySequence_*, because os.lstat
1799 is no longer returning a pure tuple
1800 - changed PyInt_Check() calls to also call PyLong_Check,
1801 to cover for cases (eg os.lstat) where longs are returned
1802 - Added support for file 'release' handling, which IMO is
1803 essential since this signals to a FS that writes to a file
1804 are complete (and therefore the file can now be disposed of
1805 meaningfully at the python filesystem's discretion)
1806 - Added '__init__' handler to base Fuse class, which allows
1807 your Python class to know the mountpoint and mount args,
1808 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001809
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001810 * General:
1811 - added 'mount.fuse' script (in util/ dir), which is meant to be
1812 symlinked from /sbin, and which allows FUSE filesystems to
1813 be mounted with the 'mount' command, and listed in fstab;
1814 also, mount arguments get passed to your filesystem
1815
1816
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018172003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001818
1819 * Fix kernel version detection (again). Bugreport by Peter Levart
1820
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018212003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001822
1823 * Applied read combining patch by Michael Grigoriev (tested by
1824 Valient Gough and Vincent Wagelaar)
1825
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018262003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001827
1828 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1829 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001830
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018312003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001832
1833 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018352003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001836
1837 * kernel version detection fix
1838
1839 * fusermount now uses "lazy" umount option
1840
1841 * fusermount can use modprobe with module-init-tools
1842
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018432003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001844
1845 * Integrated caching patch by Michael Grigoriev
1846
Miklos Szeredida4e4862003-09-08 11:14:11 +00001847 * Added "Filesystems" file with descriptions of projects using
1848 FUSE
1849
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001850 * Added patch by Michael Grigoriev to allow compliation of FUSE
1851 kernel module for 2.6 kernels
1852
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018532003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001854
1855 * And another spec-file fix by Achim Settelmeier
1856
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018572003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001858
1859 * Spec-file fix by Achim Settelmeier
1860
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018612003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001862
Miklos Szerediac361172004-11-02 19:14:14 +00001863 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001864
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018652003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001866
1867 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1868
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018692003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001870
1871 * Updated fuse.spec file (Achim Settelmeier)
1872
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018732003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001874
1875 * Version 1.0 released
1876
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018772003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001878
1879 * SuSE compilation fix by Juan-Mariano de Goyeneche
1880
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018812002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001882
1883 * The release() VFS call is now exported to the FUSE interface
1884
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018852002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001886
1887 * 64 bit file offset fixes in the fuse kernel module
1888
1889 * Added function 'fuse_exit()' which can be used to exit the main
1890 loop
1891
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018922002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001893
1894 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1895 an incompatible interface change.
1896
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018972002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001898
1899 * Portablility fix (bug reported by C. Chris Erway)
1900
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019012002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001902
1903 * Use Mark Glines' fd passing method for default operation instead
1904 of old reexec
1905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019062002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001907
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001908 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1909
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019102002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001911
Miklos Szeredi60c23522002-10-24 09:19:43 +00001912 * fix incompatiblity with Red Hat kernels, with help from Nathan
1913 Thompson-Amato.
1914
Mark Glines65ba2192002-04-18 14:41:48 +000019152002-04-18 Mark Glines <mark@glines.org>
1916
1917 * added an alternative to fuse_mount(), called
1918 fuse_mount_ioslave(), which does not need to reexec the
1919 FUSE program.
1920 * added a small helper util needed by fuse_mount_ioslave().
1921
Mark Glines220635a2002-03-17 07:01:14 +000019222002-03-16 Mark Glines <mark@glines.org>
1923
1924 * use struct fuse_statfs everywhere possible to avoid problems
1925 with the headerfiles changing struct statfs member sizes
1926
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019272002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001928
1929 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1930
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019312002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001932
1933 * RPM support by Achim Settelmeier
1934
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019352002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001936
Miklos Szerediddc862a2002-01-09 13:46:10 +00001937 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001938
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019392002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001940
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001941 * Revaidate all path components not just the last, this means a
1942 very small performance penalty for being more up-to-date.
1943
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019442002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001945
1946 * Update and fix python interface
1947
Mark Glinesd84b39a2002-01-07 16:32:02 +000019482002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001949
Mark Glinesd84b39a2002-01-07 16:32:02 +00001950 * Added statfs() support to kernel, lib, examples, and perl!
1951
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019522001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001953
1954 * Better cross compilation support
1955
1956 * Ported to Compaq IPAQ
1957
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019582001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001959
Miklos Szeredife25def2001-12-20 15:38:05 +00001960 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001961 patch from Matt Ryan)
1962
Miklos Szeredife25def2001-12-20 15:38:05 +00001963 * Added flags to fusermount and to kernel interface to control
1964 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001965
Miklos Szeredife25def2001-12-20 15:38:05 +00001966 * Integrated fuse_set_operations() into fuse_new()
1967
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019682001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001969
1970 * Applied header protection + extern "C" patch by Roland
1971 Bauerschmidt
1972
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019732001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001974
Miklos Szeredie5183742005-02-02 11:14:04 +00001975 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001976
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019772001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001978
1979 * Cleaned up way of mounting simple filesystems.
1980
1981 * fuse_main() helper function added
1982
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019832001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001984
Miklos Szeredife25def2001-12-20 15:38:05 +00001985 * Optimized read/write operations, so that minimal copying of data
1986 is done
1987
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019882001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001989
1990 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001991
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019922001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001993
1994 * Fixed vfsmount reference leak in fuse_follow_link
1995
1996 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1997 userspace is ignored
1998
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019992001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002000
Miklos Szeredife25def2001-12-20 15:38:05 +00002001 * Started ChangeLog