blob: 66f8aac44f2dac57e0ad84d2f2e5424e75edd726 [file] [log] [blame]
Miklos Szeredid0a777a2006-04-05 07:18:00 +000012006-04-01 Miklos Szeredi <miklos@szeredi.hu>
2
3 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
4
Miklos Szeredi6f385412006-03-17 15:05:40 +000052006-03-17 Miklos Szeredi <miklos@szeredi.hu>
6
7 * API changes:
8
9 * fuse_main(), fuse_setup() and fuse_new() have an additionl
10 user_data parameter
11
12 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
13 file descriptor
14
15 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
16 destroys the given channel
17
18 * fuse_teardown() no longer has a file descriptor parameter
19
20 * new exported functions: fuse_session_remove_chan(),
21 fuse_get_session(), fuse_daemonize()
22
Miklos Szeredi8d975f62006-03-17 15:56:05 +000023 * fuse_chan_recv() may now return a new channel which will be used
24 to send the reply
25
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000262006-03-16 Miklos Szeredi <miklos@szeredi.hu>
27
Miklos Szeredi9db31dc2006-03-16 14:43:28 +000028 * Released 2.6.0-pre2
29
302006-03-16 Miklos Szeredi <miklos@szeredi.hu>
31
Miklos Szeredif51e43f2006-03-16 14:19:25 +000032 * Don't unmount if already unmounted. This fixes a problem seen
33 in the following situation: Lazy unmount a busy filesystem; Mount
34 a new one in top; When the first finally unmounts, the second also
35 unmounts. Reported by Franco Broi
36
Miklos Szeredi2c1381f2006-03-15 20:34:10 +0000372006-03-15 Miklos Szeredi <miklos@szeredi.hu>
38
39 * lowlevel lib: use indirect function calls instead of a
40 switch/case construct. Besides increased efficiency it helps
41 maintainability & readability too. Patch from Florin Malita
42
Miklos Szeredi67d26d42006-03-13 17:39:56 +0000432006-03-13 Miklos Szeredi <miklos@szeredi.hu>
44
45 * kernel: replace global spinlock with a per-connection spinlock
46
Miklos Szeredi87c77932006-03-10 10:18:20 +0000472006-03-10 Miklos Szeredi <miklos@szeredi.hu>
48
49 * Fix source compatibility breakage for fuse_unmount(). Report
50 from Yura Pakhuchiy
51
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000522006-03-02 Miklos Szeredi <miklos@szeredi.hu>
53
54 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
55
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000562006-03-01 Miklos Szeredi <miklos@szeredi.hu>
57
58 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
59 Jeff Dike
60
61 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
62 interface to return -errno in case of error.
63
Csaba Henkee588c02006-03-01 09:40:35 +0000642006-03-01 Csaba Henk <csaba.henk@creo.hu>
65
66 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
67 FreeBSD implementation so that it uses libc (sysctl backed) instead
68 of an embdedded script (kmem backed). Adjust the control flow of
69 hello_ll so that device doesn't get closed before unmount attempt.
70
Miklos Szerediaa8258e2006-02-25 14:42:03 +0000712006-02-25 Miklos Szeredi <miklos@szeredi.hu>
72
73 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
74 implement method. This is needed on FreeBSD, and nicer on Linux
75 too. Highlevel lib already did this. Reported by Csaba Henk
76
77 * Fix negative entry handling. There was a bug, that negative
78 lookups with timeouts (nodeid == 0) returned -EIO.
79
802006-02-23 Miklos Szeredi <miklos@szeredi.hu>
81
82 * Fix race between RELEASE and UNLINK, which might leave
83 .fuse_hidden* files around
84
Miklos Szeredi6bab4802006-02-21 18:31:29 +0000852006-02-21 Miklos Szeredi <miklos@szeredi.hu>
86
87 * fusexmp_fh: implement flush() method and call close() on the
88 open file descriptor. This is needed if used on an NFS
89 filesystem, which buffers data until file is closed. Franco Broi
90 spotted the situation when 'cp -p' failed to set the modification
91 time because of this.
92
Miklos Szeredie109e282006-02-20 11:06:20 +0000932006-02-20 Miklos Szeredi <miklos@szeredi.hu>
94
95 * Released 2.6.0-pre1
96
Miklos Szeredib67f2162006-02-20 10:55:33 +0000972006-02-19 Miklos Szeredi <miklos@szeredi.hu>
98
99 * libfuse: fix use-after-free bug in interruptred reply_entry().
100 Patch from John Muir
101
102 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
103 ID: 352631. Found by Stéphane Rosi
104
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00001052006-02-17 Miklos Szeredi <miklos@szeredi.hu>
106
107 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
108 into a single function fuse_add_direntry(). This cleans up the
109 interface and makes it possible to do stacking.
110
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00001112006-02-16 Miklos Szeredi <miklos@szeredi.hu>
112
113 * Fix rare race betweeen abort and release caused by failed iget()
114 in fuse_create_open().
115
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000116 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
117 own attribute caching.
118
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00001192006-02-15 Miklos Szeredi <miklos@szeredi.hu>
120
121 * Work around FreeBSD runtime linker "feature" which binds an old
122 version of a symbol to internal references if the symbol has more
123 than one version. This resulted in infinite recursion in
124 fuse_lowlevel_new_compat25().
125
Csaba Henkdcce3e52006-02-10 06:22:15 +00001262006-02-10 Csaba Henk <csaba.henk@creo.hu>
127
128 * Refine clock_gettime() querying so that linker options
129 shall be set as it's appropriate for the target platform.
130
Miklos Szeredi390ae312006-02-10 16:44:34 +00001312006-02-09 Miklos Szeredi <miklos@szeredi.hu>
132
133 * Fix udev rule syntax. Reported by Nix
134
Miklos Szeredieb643582006-02-08 10:54:02 +00001352006-02-08 Miklos Szeredi <miklos@szeredi.hu>
136
137 * In some cases udev rule seems to be ineffective when installed
138 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
139
Miklos Szeredi357529c2006-02-03 09:20:31 +00001402006-02-03 Miklos Szeredi <miklos@szeredi.hu>
141
142 * Fix compilation when build directory is different from source
143 directory. Reported by Frédéric L. W. Meunier
144
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001452006-02-02 Miklos Szeredi <miklos@szeredi.hu>
146
147 * Fix even bigger bug introduced in fix for request_end() on
148 2006-01-14. Reported by Gal Rosen
149
Miklos Szeredi320abe42006-01-30 18:14:51 +00001502006-01-30 Miklos Szeredi <miklos@szeredi.hu>
151
152 * highlevel-lib: add 'auto_cache' option. This caches file data
153 based on modification time and size
154
Miklos Szeredi065f2222006-01-20 15:15:21 +00001552006-01-20 Miklos Szeredi <miklos@szeredi.hu>
156
Miklos Szeredid66b7282006-02-02 15:15:21 +0000157 * Sanitize storage type and help message in mount_bsd.c. Patch
158 from Csaba Henk
159
Miklos Szeredi065f2222006-01-20 15:15:21 +0000160 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
161 FUSE_OPT_KEY_DISCARD
162
163 * Add options 'max_readahead', 'sync_read' and 'async_read'
164
165 * Kernel ABI version 7.6:
166
167 * Negotiate the 'max_readahead' value and 'async_read' flags with
168 userspace in the INIT method
169
170 * Add connection info to ->init() methods to both lowlevel and
171 highlevel API
172
173 * Fall back to synchronous read() behavior if either library or
174 userspace filesystem is using the old interface version. This is
175 needed so non-updated filesystems won't be confused by the
176 different read() behavior
177
1782006-01-19 Miklos Szeredi <miklos@szeredi.hu>
179
180 * lib: if "fsname=" option was given, pass it to fusermount
181
182 * fuse_opt: add new fuse_opt_insert_arg() function, which is
183 needed by filesystems to implement some argument manipulations
184 correctly
185
186 * fuse_opt: fix memory leak in handling "--" option
187
1882006-01-18 Miklos Szeredi <miklos@szeredi.hu>
189
190 * kernel: fix detection of case when fuse is not configured into
191 the kernel either as module or built-in
192
193 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
194 'template' structure member to 'templ'. Reported by Takashi Iwai
195
196 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
197
198 * kernel: support version 2.6.16 (i_sem -> i_mutex)
199
Miklos Szeredi15af1b82006-01-16 17:52:24 +00002002006-01-16 Miklos Szeredi <miklos@szeredi.hu>
201
202 * Added (again) asynchronous readpages support
203
204 * Each connection now shows up under /sys/fs/fuse/connections
205
206 * Connection attributes exported to sysfs: 'waiting' number of
207 waiting requests; 'abort' abort the connection
208
209 * Connection may be aborted through either the sysfs interface or
210 with 'umount -f mountpoint'
211
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00002122006-01-14 Miklos Szeredi <miklos@szeredi.hu>
213
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000214 * Released 2.5.0
215
2162006-01-14 Miklos Szeredi <miklos@szeredi.hu>
217
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000218 * kernel: fix a couple of bugs
219
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000220 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000221 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000222 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000223
224 * request_end() used request pointer after decrementing refcount
225
226 * Clearing ->connected or ->mounted connection flags could race
227 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000228
Miklos Szeredia9820342006-01-10 10:54:11 +00002292006-01-10 Miklos Szeredi <miklos@szeredi.hu>
230
231 * kernel: add necessary compile flags for 2.4.X/x86_64.
232 Report from Sean Ziegeler
233
Miklos Szeredi35676b02006-01-09 10:13:28 +00002342006-01-09 Miklos Szeredi <miklos@szeredi.hu>
235
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000236 * Released 2.5.0-pre2
237
2382006-01-09 Miklos Szeredi <miklos@szeredi.hu>
239
Miklos Szeredi35676b02006-01-09 10:13:28 +0000240 * Applied patch from Csaba Henk, to update mount_bsd to new
241 fuse_mount() semantics
242
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000243 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
244 Steiner and Don Taber
245
Miklos Szeredicb075c82006-01-09 11:33:04 +0000246 * fusermount: add 'dirsync' mount option
247
Miklos Szerediad005972006-01-07 10:14:34 +00002482006-01-07 Miklos Szeredi <miklos@szeredi.hu>
249
250 * Improved help reporting and added version reporting to library
251
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002522006-01-06 Miklos Szeredi <miklos@szeredi.hu>
253
254 * Change working directory to "/" even if running in the
255 foreground. Patch from Jonathan Brandmeyer
256
Miklos Szeredi95da8602006-01-06 18:29:40 +0000257 * Changed lots of functions to use 'struct fuse_args' instead of
258 separate argc and argv
259
260 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
261 fuse_remove_signal_handlers() functions, so that it's now pretty
262 easy to get all the functionality of fuse_main() with a filesystem
263 using the lowlevel API.
264
Miklos Szeredib8638182006-01-02 12:52:24 +00002652006-01-02 Miklos Szeredi <miklos@szeredi.hu>
266
Miklos Szeredif1941472006-01-02 16:27:48 +0000267 * mount.fuse: the 'user' option should be ignored. Report and
268 solution from Mattd.
269
270 * mount.fuse: export PATH in the right place. Report and patch
271 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000272
Miklos Szeredi73f41392005-12-16 11:12:16 +00002732005-12-16 Miklos Szeredi <miklos@szeredi.hu>
274
275 * Clean up the option parsing interface slightly, by creating an
276 "argument list" structure, that contains the argument vector and
277 count
278
Miklos Szeredi4e829092005-12-15 16:13:49 +00002792005-12-15 Miklos Szeredi <miklos@szeredi.hu>
280
281 * fusermount: check if /mnt/mtab is a symlink and don't modify it
282 in that case
283
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000284 * kernel: simplify request size limiting. INIT only contains
285 maximum write size, maximum path component size remains fixed at
286 1024 bytes, and maximum xattr size depends on read buffer.
287
Miklos Szeredie248e4b2005-12-14 16:18:32 +00002882005-12-14 Miklos Szeredi <miklos@szeredi.hu>
289
290 * Fix readdir() failure on x86_64, of 32bit programs compiled
291 without largefile support. Bug report and help from Anthony
292 Kolasny
293
Miklos Szeredi64709572005-12-14 22:16:28 +0000294 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000295 a regular file
296
297 * Add current output argument vector to option processing
298 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000299
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00003002005-12-12 Miklos Szeredi <miklos@szeredi.hu>
301
302 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
303
Miklos Szeredi659743b2005-12-09 17:41:42 +00003042005-12-09 Miklos Szeredi <miklos@szeredi.hu>
305
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000306 * Released 2.5.0-pre1
307
3082005-12-09 Miklos Szeredi <miklos@szeredi.hu>
309
Miklos Szeredi659743b2005-12-09 17:41:42 +0000310 * libfuse: added option parsing interface, defined in
311 <fuse_opt.h>.
312
Miklos Szeredic53cddd2005-12-07 12:57:59 +00003132005-12-07 Miklos Szeredi <miklos@szeredi.hu>
314
315 * Return EIO for file operations (read, write, fsync, flush) on
316 open files whose inode has become "bad". Inodes will be marked
317 "bad" if their type changes. Bug report by Csaba Henk
318
Miklos Szeredi044da2e2005-12-06 17:59:55 +00003192005-12-06 Miklos Szeredi <miklos@szeredi.hu>
320
321 * Use bigger request buffer size. write() did not work on archs
322 with > 4k page size, Bug report by Mark Haney
323
324 * ABI version 7.5:
325
326 * Extend INIT reply with data size limits
327
Miklos Szeredifa829b52005-12-02 11:05:41 +00003282005-12-02 Miklos Szeredi <miklos@szeredi.hu>
329
330 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
331 reported by Vincenzo Ciancia
332
333 * Handle exit-by-umount in fuse_read_cmd()
334
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00003352005-11-29 Miklos Szeredi <miklos@szeredi.hu>
336
337 * Check if '-msoft-float' option is supported by compiler when
338 configuring for a 2.4.x kernel. Bug report by Mark Haney
339
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000340 * In multithreaded loop send a TERM signal to the main thread if
341 one of the other threads exit. Needed on FreeBSD for a clean exit
342 on umount. Should not cause any harm on Linux either
343
Miklos Szerediead7f102005-11-28 16:02:27 +00003442005-11-28 Miklos Szeredi <miklos@szeredi.hu>
345
346 * Fix bug in 32-bit file handle compatibility
347
Miklos Szeredia90b7342005-11-27 19:22:42 +00003482005-11-27 Miklos Szeredi <miklos@szeredi.hu>
349
350 * Block TERM, INT, HUP and QUIT signals in all but the main
351 thread. According to POSIX it's not specified which thread will
352 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000353
354 * Kernel changes:
355
356 * Check for directory aliasing on mkdir, not just on lookup
357
358 * Check for special node ID values in create+open operation
359
360 * Sync with -mm: readv, writev, aio_read and aio_write methods
361 added to file operations
362
363 * Cleanups: lookup code, page offset calculation
364
365 * ABI stepped to 7.4, changes:
366
367 * frsize member added to fuse_kstatfs structure
368
369 * added support for negative entry caching: on lowlevel API if
370 fuse_entry_param::ino is set to zero in reply to a lookup request,
371 the kernel will cache the dentry for the specified amount of time.
372
373 * libfuse: added 'negative_timeout' option: specifies how much
374 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000375 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000376
Miklos Szeredibac4c772005-11-23 13:35:54 +00003772005-11-22 Miklos Szeredi <miklos@szeredi.hu>
378
379 * Add detection of mainline FUSE code in running kernel
380
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00003812005-11-21 Miklos Szeredi <miklos@szeredi.hu>
382
383 * Don't use async cancelation in multithreaded loop. This makes
384 it more portable to systems where read() is not async cancel safe.
385 Report from Andriy Gapon
386
Miklos Szeredi05c97842005-11-20 17:05:07 +00003872005-11-20 Miklos Szeredi <miklos@szeredi.hu>
388
389 * Warn if API version 11 compatibility is requested
390
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00003912005-11-17 Miklos Szeredi <miklos@szeredi.hu>
392
393 * More FreeBSD merge
394
Miklos Szeredi832ee442005-11-18 21:02:36 +0000395 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
396 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000397 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000398
399 * libfuse: don't use system() to invoke 'fusermount -u ...'
400 because it breaks mountpoints with spaces in them into multiple
401 arguments
402
Miklos Szeredib3f99722005-11-16 13:00:24 +00004032005-11-16 Miklos Szeredi <miklos@szeredi.hu>
404
405 * Merge library part of FreeBSD port. Patch by Csaba Henk
406
Miklos Szeredi3a770472005-11-11 21:32:42 +00004072005-11-11 Miklos Szeredi <miklos@szeredi.hu>
408
409 * Use 64bit type for file handle, so the full range supported by
410 the kernel interface is available to applications
411
Miklos Szeredibcc53852005-11-10 09:54:41 +00004122005-11-10 Miklos Szeredi <miklos@szeredi.hu>
413
414 * Moved mountpoint argument checking from fuse_parse_cmdline() to
415 fuse_mount() in preparation to FreeBSD merge.
416
Miklos Szeredi4ec06812005-11-08 13:04:27 +00004172005-11-08 Miklos Szeredi <miklos@szeredi.hu>
418
419 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
420 Henk.
421
Miklos Szeredic706ad92005-11-07 15:30:48 +00004222005-11-07 Miklos Szeredi <miklos@szeredi.hu>
423
424 * Make the statfs change backwards compatible.
425
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00004262005-11-06 Miklos Szeredi <miklos@szeredi.hu>
427
428 * Change ->statfs() method to use 'struct statvfs' instead of
429 'struct statfs'. This makes the API more portable since statvfs()
430 is defined by POSIX.
431
Miklos Szeredif7eec032005-10-28 13:09:50 +00004322005-10-28 Miklos Szeredi <miklos@szeredi.hu>
433
434 * Add fgetattr() method, which currently will only be called after
435 a successful call to a create() method.
436
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004372005-10-26 Miklos Szeredi <miklos@szeredi.hu>
438
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000439 * Change kernel ABI version to 7.3
440
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000441 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000442 call if 'default_permissions' mount option is not given, and is
443 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000444
Miklos Szeredid9079a72005-10-26 15:29:06 +0000445 * Add atomic CREATE+OPEN operation. This will only work with
446 2.6.15 (presumably) or later Linux kernels.
447
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000448 * Add ftruncate() method. This will only work with 2.6.15
449 (presumably) or later Linux kernels.
450
451 * Fix kernel module compile if kernel source and build directories
452 differ. Report and initial patch by John Eastman
453
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004542005-10-18 Miklos Szeredi <miklos@szeredi.hu>
455
456 * lib: optimize buffer reallocation in fill_dir.
457
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004582005-10-17 Miklos Szeredi <miklos@szeredi.hu>
459
460 * Released 2.4.1
461
Miklos Szeredif412d072005-10-14 21:24:32 +00004622005-10-14 Miklos Szeredi <miklos@szeredi.hu>
463
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000464 * libfuse: add debug for write result (by Shaun Jackman) and
465 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000466
Miklos Szeredib75d4b92005-10-11 10:12:08 +00004672005-10-11 Miklos Szeredi <miklos@szeredi.hu>
468
469 * Spelling fixes, thanks to Ioannis Barkas
470
Miklos Szeredibaab5872005-10-10 08:41:14 +00004712005-10-10 Miklos Szeredi <miklos@szeredi.hu>
472
473 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
474 patch
475
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00004762005-10-07 Miklos Szeredi <miklos@szeredi.hu>
477
478 * highlevel-lib: init() and destroy() methods didn't have an
479 initialized fuse_context. Bug reported by Tim Stoakes
480
Miklos Szeredif2491122005-10-04 10:10:41 +00004812005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000482
483 * Released 2.4.0
484
Miklos Szeredi836ab712005-10-03 14:11:59 +00004852005-10-03 Miklos Szeredi <miklos@szeredi.hu>
486
487 * Add documentation to fuse_lowlevel.h
488
489 * API cleanups:
490
491 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
492
493 * Move fuse_mount() and fuse_unmount() to fuse_common.h
494
495 * Change the return type of fuse_reply_none() from int to void.
496
Miklos Szerediaf138742005-09-30 08:49:59 +00004972005-09-30 Miklos Szeredi <miklos@szeredi.hu>
498
499 * kernel: NFS exporting leaked dentries. Bug found and fixed by
500 Akshat Aranya.
501
Miklos Szeredidb016e02005-09-29 10:06:27 +00005022005-09-29 Miklos Szeredi <miklos@szeredi.hu>
503
504 * fusermount: fix error message, when unable to open /dev/fuse.
505 Report by Balázs Pozsár
506
Miklos Szeredi35200932005-09-28 14:50:49 +00005072005-09-28 Miklos Szeredi <miklos@szeredi.hu>
508
509 * UClibc fixes from Christian Magnusson
510
Miklos Szeredi8eddf642005-09-27 08:58:26 +00005112005-09-27 Miklos Szeredi <miklos@szeredi.hu>
512
513 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
514
Miklos Szerediedec95c2005-09-26 10:22:22 +00005152005-09-26 Miklos Szeredi <miklos@szeredi.hu>
516
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000517 * Released 2.4.0-rc1
518
5192005-09-26 Miklos Szeredi <miklos@szeredi.hu>
520
Miklos Szerediedec95c2005-09-26 10:22:22 +0000521 * fusermount: allow user umount in the case when /etc/mtab is a
522 symlink to /proc/mounts. Reported by Balázs Pozsár.
523
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00005242005-09-23 Miklos Szeredi <miklos@szeredi.hu>
525
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000526 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000527
Miklos Szeredif45f3c12005-09-22 15:14:27 +00005282005-09-22 Miklos Szeredi <miklos@szeredi.hu>
529
530 * Slight optimization in returning EINVAL error in case of an open
531 with O_DIRECT flag.
532
Miklos Szeredi670d07a2005-09-20 11:36:32 +00005332005-09-20 Miklos Szeredi <miklos@szeredi.hu>
534
535 * Remove '--enable-auto-modprobe' configure flag. Module
536 auto-loading is now handled by the kernel.
537
Miklos Szeredid51fca12005-09-15 12:51:00 +00005382005-09-15 Miklos Szeredi <miklos@szeredi.hu>
539
540 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
541 Help from Jens M. Noedler.
542
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005432005-09-14 Miklos Szeredi <miklos@szeredi.hu>
544
545 * Add memory cleanup on thread exit
546
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005472005-09-13 Miklos Szeredi <miklos@szeredi.hu>
548
549 * Set umask to zero in fusexmp and fusexmp_fh, so that
550 files/directories are created with the requested mode.
551
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005522005-09-12 Miklos Szeredi <miklos@szeredi.hu>
553
554 * Don't ignore read error in multithreaded loop
555
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005562005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000557
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000558 * Released 2.4.0-pre2
559
5602005-09-08 Miklos Szeredi <miklos@szeredi.hu>
561
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000562 * Revert lock and access operations. Postpone these until 2.5.
563
5642005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000565
566 * Fix compile warning on 2.6.13 and later
567
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000568 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000569
Miklos Szeredi77ccf652005-08-19 14:40:27 +00005702005-08-19 Miklos Szeredi <miklos@szeredi.hu>
571
572 * lib: always refresh directory contents after rewinddir() to
573 conform to SUS. Bug found by John Muir.
574
Miklos Szeredia1482422005-08-14 23:00:27 +00005752005-08-15 Miklos Szeredi <miklos@szeredi.hu>
576
Miklos Szeredic43f9412005-08-15 15:10:48 +0000577 * Released 2.4.0-pre1
578
5792005-08-14 Miklos Szeredi <miklos@szeredi.hu>
580
Miklos Szeredia1482422005-08-14 23:00:27 +0000581 * lib: cleaned up (or messed up, depending on your POV) the low
582 level library API. Hopefully this is close to the final form.
583
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00005842005-08-05 Miklos Szeredi <miklos@szeredi.hu>
585
586 * fusermount: don't allow empty mountpoint argument, which defeats
587 automatic umounting in fuse_main(). Bugreport by Václav Jůza
588
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00005892005-08-03 Miklos Szeredi <miklos@szeredi.hu>
590
591 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
592 option is used (Paul Alfille).
593
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00005942005-08-02 Miklos Szeredi <miklos@szeredi.hu>
595
596 * highlevel-lib: added mount options "attr_timeout" and
597 "entry_timeout". These options control the length of time file
598 attributes and entries (names) are cached. Both default to 1.0
599 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000600
601 * kernel: correctly handle zero timeout for attributes and entries
602
Miklos Szeredi56a61f02005-08-01 10:42:25 +00006032005-08-01 Miklos Szeredi <miklos@szeredi.hu>
604
605 * Added missing symbols to versionscript (Joshua J. Berry)
606
Miklos Szeredie77cc072005-08-01 11:58:51 +0000607 * kernel: implement two flags, open can set: 'direct_io' and
608 'keep_cache'. These correspond exactly to mount options
609 'direct_io' and 'kernel_cache', but allow a per-open setting.
610
611 * Move 'direct_io' and 'kernel_cache' mount option handling to
612 userspace. For both mount options, if the option is given, then
613 the respective open flag is set, otherwise the open flag is left
614 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000615
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000616 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000617
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00006182005-07-28 Miklos Szeredi <miklos@szeredi.hu>
619
620 * kernel: invalidate attributes for read/readdir/readlink
621 operations
622
623 * kernel: detect newer UML kernels
624
Miklos Szeredibfb99462005-07-26 11:07:55 +00006252005-07-26 Miklos Szeredi <miklos@szeredi.hu>
626
627 * Make the installation path of fuse.ko and mount.fuse
628 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
629 environment variables. Requirement and help from Csaba Henk.
630
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00006312005-07-22 Miklos Szeredi <miklos@szeredi.hu>
632
633 * Fix bug, that causes filesystem requests to hang when unique
634 request counter becomes negative. This happens after
635 2,147,483,648 operations, so most people won't care. Thanks to
636 Franco Broi for the report and testing.
637
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006382005-07-21 Miklos Szeredi <miklos@szeredi.hu>
639
640 * Don't change mtime/ctime/atime to local time on read/write.
641 Bug reported by Ben Grimm
642
643 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
644 Magnusson
645
646 * fusermount: use getopt_long() for option parsing. It allows the
647 use of '--' to stop argument scanning, so fusermount can now
648 operate on directories whose names begin with a '-'. Patch by
649 Adam Connell
650
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006512005-07-15 Miklos Szeredi <miklos@szeredi.hu>
652
653 * fusermount: add '-v', '--version' and '--help' options
654
655 * add inode based API
656
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006572005-07-12 Miklos Szeredi <miklos@szeredi.hu>
658
659 * lib: don't block signals in worker threads. Problem noticed by
660 Usarin Heininga
661
Miklos Szeredic902a852005-07-07 12:35:37 +00006622005-07-07 Miklos Szeredi <miklos@szeredi.hu>
663
664 * lib: don't allow both 'allow_other' and 'allow_root' options to
665 be given
666
Miklos Szeredi437d8112005-07-06 09:14:20 +00006672005-07-06 Miklos Szeredi <miklos@szeredi.hu>
668
669 * fusermount: check if mountpoint is empty (only '.' and '..' for
670 directories, and size = 0 for regular files). If "nonempty"
671 option is given, omit this check. This is useful, so users don't
672 accidentally hide data (e.g. from backup programs). Thanks to
673 Frank van Maarseveen for pointing this out.
674
675 * kernel: check if mandatory mount options ('fd', 'rootmode',
676 'user_id', 'group_id') are all given
677
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000678 * lib: simplify 'readdir_ino' handling
679
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000680 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
681
Miklos Szeredibb9f5172005-07-03 18:03:11 +00006822005-07-03 Miklos Szeredi <miklos@szeredi.hu>
683
684 * kernel: clean up 'direct_io' code
685
Miklos Szeredie1bcece2005-06-28 10:37:06 +00006862005-06-28 Miklos Szeredi <miklos@szeredi.hu>
687
688 * Add 'mount.fuse' written by Petr Klima
689
Miklos Szeredi866826d2005-06-28 12:22:57 +0000690 * '/dev/fuse' is created by 'make install' if does not yet exist
691
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00006922005-06-20 Miklos Szeredi <miklos@szeredi.hu>
693
694 * Fix UCLIBC compile error. Patch by Christian Magnusson
695
Miklos Szerediec12fad2005-06-08 10:26:34 +00006962005-06-08 Miklos Szeredi <miklos@szeredi.hu>
697
698 * Enable the auto-loading of the module via access to the
699 corresponding device file. Patch by Takashi Iwai.
700
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000701 * Allow mounting a regular file (over a regular file) for
702 unprivleged users.
703
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000704 * Do not create temporary device file. Require "/dev/fuse" to
705 exist, and be readable/writable by the mounting user.
706
Miklos Szeredi46960ce2005-06-02 09:05:00 +00007072005-06-02 Miklos Szeredi <miklos@szeredi.hu>
708
Miklos Szeredi56478552005-06-02 10:29:00 +0000709 * Released 2.3.0
710
7112005-06-02 Miklos Szeredi <miklos@szeredi.hu>
712
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000713 * Fix serious information leak: if the filesystem returns a short
714 byte count to a read request, and there are non-zero number of
715 pages which are not filled at all, these pages will not be zeroed.
716 Hence the user can read out previous memory contents. Found by
717 Sven Tantau.
718
Miklos Szeredi33be22d2005-05-27 09:12:43 +00007192005-05-27 Miklos Szeredi <miklos@szeredi.hu>
720
721 * Add "readdir_ino" mount option, which tries to fill in the d_ino
722 field in struct dirent. This mount option is ignored if "use_ino"
723 is used. It helps some programs (e.g. 'pwd' used over NFS from a
724 non-Linux OS). Patch by David Shaw.
725
Miklos Szeredif94e0102005-05-12 14:56:34 +00007262005-05-12 Miklos Szeredi <miklos@szeredi.hu>
727
Miklos Szeredieb009c42005-05-12 15:01:17 +0000728 * Released 2.3-rc1
729
7302005-05-12 Miklos Szeredi <miklos@szeredi.hu>
731
Miklos Szeredif94e0102005-05-12 14:56:34 +0000732 * File save in krusader and other editors doesn't work with sshfs,
733 because open() is interrupted by a periodic signal, and open()
734 restarts forever, without any progress. This could just be fixed
735 in open(), but the problem is more generic: if signals are
736 received more often than the filesystem can get the request to
737 userspace, it will never finish. This is probably only a
738 theoretical problem, nevertheless I'm removing the possibility to
739 interrupt requests with anything other than SIGKILL, even before
740 being sent to userspace. Bugreport by Eduard Czimbalmos.
741
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007422005-05-09 Miklos Szeredi <miklos@szeredi.hu>
743
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000744 * libfuse: add "tree_lock" rwlock, that is locked for write in
745 rename, unlink and rmdir, and locked for read in all other
746 operations. This should fix the rename/release race reported by
747 Valient Gough and others. The solution is very coarse, a finer
748 grained locking scheme could be implemented, but it would be much
749 more complex. Let's see whether this is good enough.
750
7512005-05-09 Miklos Szeredi <miklos@szeredi.hu>
752
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000753 * Released 2.3-pre7
754
Miklos Szeredi38009022005-05-08 19:47:22 +00007552005-05-08 Miklos Szeredi <miklos@szeredi.hu>
756
757 * Better fix for out of order FORGET messages. Now the
758 LOOKUP/FORGET messages are balanced exactly (one FORGET can
759 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000760 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000761 compatible.
762
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00007632005-05-06 Miklos Szeredi <miklos@szeredi.hu>
764
765 * Fix abort for out of order FORGET messages. Again. Spotted by
766 Franco Broi again. Sorry :)
767
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00007682005-04-29 Miklos Szeredi <miklos@szeredi.hu>
769
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000770 * Released 2.3-pre6
771
7722005-04-29 Miklos Szeredi <miklos@szeredi.hu>
773
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000774 * Make fusermount work with fuse kernel modules not yet supporting
775 the "group_id" option (added for the purpose of stricter
776 permission checking).
777
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00007782005-04-28 Miklos Szeredi <miklos@szeredi.hu>
779
780 * Check for hard-linked directories in lookup. This could cause
781 problems in the VFS, which assumes that such objects never exist.
782
783 * Make checking of permission for other users more strict. Now
784 the same privilege is required for the mount owner as for ptrace
785 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000786
Miklos Szeredi3efcb562005-04-23 13:34:29 +00007872005-04-23 Miklos Szeredi <miklos@szeredi.hu>
788
789 * Released 2.3-pre5
790
Miklos Szeredid001bf92005-04-22 07:54:11 +00007912005-04-22 Miklos Szeredi <miklos@szeredi.hu>
792
793 * Add -msoft-float to kernel module compile flags for 2.4.X. This
794 is needed on certain architectures. Report from Chris Kirby
795
796 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
797 Reported by David Shaw
798
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000799 * Remove "allow_root" option from kernel module, and implement
800 it's functionality in the library
801
802 * Fix Oops caused by premature release of fuse_conn. Clean up
803 related code, to be more readable
804
Miklos Szeredif9137452005-04-23 10:59:44 +0000805 * Sendfile should not use page cache if "direct_io" mount option
806 is given
807
Miklos Szeredib7640d22005-04-08 15:15:28 +00008082005-04-08 Miklos Szeredi <miklos@szeredi.hu>
809
810 * Fix Oops in case of nfs export. Spotted by David Shaw
811
Miklos Szeredi89814a12005-04-08 16:39:09 +0000812 * Fix another Oops in case of write over nfs with direct_io turned
813 on. Again spotted by David Shaw
814
Miklos Szerediab974562005-04-07 15:40:21 +00008152005-04-07 Miklos Szeredi <miklos@szeredi.hu>
816
Miklos Szeredi432d6182005-04-07 15:56:13 +0000817 * Released 2.3-pre4
818
8192005-04-07 Miklos Szeredi <miklos@szeredi.hu>
820
Miklos Szerediab974562005-04-07 15:40:21 +0000821 * lib: finalized new readdir() interface, which now supersedes the
822 getdir() method.
823
Miklos Szeredi30e093a2005-04-03 17:44:54 +00008242005-04-03 Miklos Szeredi <miklos@szeredi.hu>
825
826 * Released 2.3-pre3
827
8282005-04-03 Miklos Szeredi <miklos@szeredi.hu>
829
830 * Implement backward compatibility with version 5 kernel ABI
831
Miklos Szeredi18fce982005-04-01 21:07:35 +00008322005-04-01 Miklos Szeredi <miklos@szeredi.hu>
833
834 * Released 2.3-pre2
835
8362005-04-01 Miklos Szeredi <miklos@szeredi.hu>
837
838 * kernel: fix dirent offset handling
839
840 * lib: add readdir and releasedir methods
841
842 * lib: use fh field of fuse_file_info in opendir, readdir,
843 releasedir and fsyncdir methods
844
845 * lib: check kernel API version and bail out of it's old. This
846 will be properly fixed in the next release
847
8482005-03-31 Miklos Szeredi <miklos@szeredi.hu>
849
850 * Released 2.3-pre1
851
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008522005-03-31 Miklos Szeredi <miklos@szeredi.hu>
853
854 * kernel API: add padding to structures, so 64bit and 32bit
855 compiler will return the same size
856
857 * kernel API: add offset field to fuse_dirent. This will allow
858 more sophisticated readdir interface for userspace
859
860 * kernel API: change major number to 6
861
862 * kernel: fix warnings on 64bit archs
863
864 * kernel: in case of API version mismatch, return ECONNREFUSED
865
Miklos Szeredi407e6a72005-03-25 12:19:43 +00008662005-03-24 Miklos Szeredi <miklos@szeredi.hu>
867
868 * kernel: trivial cleanups
869
Miklos Szeredi4283ee72005-03-21 12:09:04 +00008702005-03-21 Miklos Szeredi <miklos@szeredi.hu>
871
872 * Add fsyncdir() operation
873
Miklos Szeredid17da462005-03-21 11:47:04 +00008742005-03-19 Miklos Szeredi <miklos@szeredi.hu>
875
876 * kernel: add locking to background list (fixes previous fix)
877
8782005-03-18 Miklos Szeredi <miklos@szeredi.hu>
879
880 * kernel: fix bug which could cause leave busy inodes after
881 unmount, and Oops.
882
8832005-03-08 Miklos Szeredi <miklos@szeredi.hu>
884
885 * examples: add -lpthread to link flags to work around valgrind
886 quirk
887
888 * lib: don't exit threads, so cancelation doesn't cause segfault
889
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00008902005-03-04 Miklos Szeredi <miklos@szeredi.hu>
891
892 * kernel: fix nasty bug which could cause an Oops under certain
893 situations. Found by Magnus Johansson
894
Miklos Szeredif43f0632005-02-28 11:46:56 +00008952005-02-28 Miklos Szeredi <miklos@szeredi.hu>
896
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000897 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000898 permission checking in getdir() is too late. Thanks to Usarin
899 Heininga for pointing out this deficiency
900
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000901 * libfuse: added init() and destroy() methods to fuse_operations
902
Miklos Szeredif43f0632005-02-28 11:46:56 +0000903 * kernel: llseek() method for files and directories made explicit
904
905 * kernel: fixed inode leak in NFS export in case of nodeid
906 wrapping
907
Miklos Szeredied3c97c2005-02-15 17:04:50 +00009082005-02-15 Miklos Szeredi <miklos@szeredi.hu>
909
910 * libfuse: clean up some unitialized memory found with valgrind
911
Miklos Szeredi47c52982005-02-23 09:27:38 +0000912 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
913 explicitly linked libpthread for applications
914
Miklos Szeredia7169412005-02-10 07:35:05 +00009152005-02-10 Miklos Szeredi <miklos@szeredi.hu>
916
917 * fusermount: set umask, otherwise /etc/mtab will have
918 unpredictable permission. Spotted by Jindrich Kolorenc
919
920 * fusermount: set owner and group of /etc/mtab to original values
921 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000922
923 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000924
Miklos Szeredib92d9782005-02-07 16:10:49 +00009252005-02-07 Miklos Szeredi <miklos@szeredi.hu>
926
927 * Cleaned up directory reading (temporary file is not used)
928
Miklos Szerediff30a6c2005-02-02 10:53:59 +00009292005-02-02 Miklos Szeredi <miklos@szeredi.hu>
930
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000931 * Released 2.2
932
9332005-02-02 Miklos Szeredi <miklos@szeredi.hu>
934
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000935 * Fix possible race when operation is interrupted
936
Miklos Szeredi7a983952005-01-28 09:58:19 +00009372005-01-28 Miklos Szeredi <miklos@szeredi.hu>
938
Miklos Szeredie5183742005-02-02 11:14:04 +0000939 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000940
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009412005-01-26 Miklos Szeredi <miklos@szeredi.hu>
942
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000943 * Released 2.2-pre6
944
9452005-01-26 Miklos Szeredi <miklos@szeredi.hu>
946
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000947 * Fix bug in link() operation which caused the wrong path to be
948 passed as the first argument. Found by Anton Altaparmakov
949
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009502005-01-21 Miklos Szeredi <miklos@szeredi.hu>
951
952 * LIB: fix double reply in readdir operation
953
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000954 * fusermount: fix uid checking bug. Patch by Adam Connell
955
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000956 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000957 Patch by Keshava Gowda
958
Miklos Szeredi64074142005-01-20 08:48:11 +00009592005-01-20 Miklos Szeredi <miklos@szeredi.hu>
960
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000961 * KERNEL: provide correct llseek semantics for fuse device (fixes
962 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
963
9642005-01-20 Miklos Szeredi <miklos@szeredi.hu>
965
Miklos Szeredi64074142005-01-20 08:48:11 +0000966 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
967
Miklos Szeredi1adb2272005-01-18 21:19:58 +00009682005-01-18 Miklos Szeredi <miklos@szeredi.hu>
969
970 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
971 and RELEASEDIR. This ends the ugly hack of passing a file
972 descriptor to the kernel, and actually makes the code simpler.
973
Miklos Szeredi7db35c02005-01-17 09:46:28 +00009742005-01-17 Miklos Szeredi <miklos@szeredi.hu>
975
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000976 * Released 2.2-pre4
977
9782005-01-17 Miklos Szeredi <miklos@szeredi.hu>
979
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000980 * fusermount: remove capability setting, which was the cause of
981 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000982 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000983
Miklos Szeredidbe0f652005-01-15 14:32:56 +00009842005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000985
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000986 * fix compilation on 2.4 kernels (reported by Valient Gough)
987
988 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000989
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000990 * fusermount: improve parsing of /etc/fuse.conf
991
9922005-01-13 Miklos Szeredi <miklos@szeredi.hu>
993
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000994 * Remove 'mount_max' and 'user_allow_other' module options. These
995 are now checked by fusermount, and can be set in /etc/fuse.conf
996
997 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
998
Miklos Szeredi81394522005-01-11 14:24:18 +00009992005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1000
1001 * KERNEL: fix possible inode allocation problem, where
1002 sizeof(struct inode) is not aligned (found by Mike Waychison)
1003
1004 * KERNEL: use new follow_link/put_link methods
1005
1006 * KERNEL: cosmetic fixes
1007
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000010082005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1009
1010 * Released 2.2-pre3
1011
10122005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1013
1014 * Add missing code that was accidently left out
1015
Miklos Szeredi8c7da232005-01-09 12:27:41 +000010162005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1017
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001018 * Released 2.2-pre2
1019
10202005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1021
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001022 * Change "uid" mount option to "user_id" to avoid confusion with a
1023 mount option "uid" commonly used by many filesystems
1024
10252005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1026
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001027 * Released 2.2-pre1
1028
10292005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1030
1031 * If FUSE is configured in the kernel, don't build it by default
1032
Miklos Szeredi2a927272005-01-07 11:14:15 +000010332005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1034
1035 * Compile fix by Christian Magnusson
1036
Miklos Szeredib6220192005-01-05 16:19:10 +000010372005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1038
1039 * Fix compilation for 2.6.{0-5} kernels
1040
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010412005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1042
1043 * KERNEL: if request is interrupted, still keep reference to used
1044 inode(s) and file, so that FORGET and RELEASE are not sent until
1045 userspace finishes the request.
1046
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001047 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1048 request with the same information, which is more flexible,
1049 simpler, works on embedded systems.
1050
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010512004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1052
1053 * KERNEL ABI: update interface to make it independent of type
1054 sizes. This will help on 64 bit architectures which can run
1055 legacy 32 bit applications.
1056
1057 * KERNEL ABI: add "len" field to request headers. This will allow
1058 sending/receiving requests in multiple chunks.
1059
1060 * KERNEL: handle file type change more intelligently
1061
1062 * LIB: "-o debug" option should disable backgrounding (fix by
1063 Fabien Reygrobellet)
1064
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000010652004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1066
1067 * KERNEL: invalidate dentry/attributes if interrupted request
1068 could leave filesystem in an unknown state.
1069
Miklos Szeredie56818b2004-12-12 11:45:24 +000010702004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1071
1072 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1073 These will cause some regressions, but stability is considered
1074 more important. If any of these features turns out to be
1075 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001076
Miklos Szeredie56818b2004-12-12 11:45:24 +00001077 * Make all requests interruptible (only with SIGKILL currently).
1078 This can be used to break any deadlock produced by the userspace
1079 filesystem accessing it's own exported files. The RELEASE request
1080 is special, because if it's interrupted before sending it to
1081 userspace it is still sent, but the reply is not awaited.
1082
1083 * If request is interrupted before being sent to userspace, and if
1084 it hasn't yet got any side effects, it is always restarted,
1085 regardless of the SA_RESTART flag. This makes these interruptions
1086 transparent to the process.
1087
1088 * Remove shared-writable mmap support, which was prone to an
1089 out-of-memory deadlock situation
1090
1091 * Remove INVALIDATE userspace initiated request
1092
1093 * Make readpages() synchronous. Asynchronous requests are
1094 deadlock prone, since they cannot be interrupted.
1095
1096 * Add readv/writev support to fuse device operations
1097
1098 * Remove some printks, which userspace FS can use for a DoS
1099 against syslog
1100
1101 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1102 fusermount instead
1103
1104 * LIB: improve compatibility with a fuse.h header installed in
1105 ${prefix}/include which in turn includes the real header.
1106
1107 * LIB: improve compatibility by defining fuse_main() (which is now
1108 not used), so old configure scripts find it.
1109
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000011102004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1111
1112 * When mounting on a subdirectory of / don't duplicate slashes at
1113 the beggining of path (spotted by David Shaw)
1114
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000011152004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1116
1117 * Fix bug causing garbage in mount options (spotted by David Shaw)
1118
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000011192004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1120
1121 * Add 'writepage' flag to 'fuse_file_info'.
1122
1123 * More comments in fuse.h
1124
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001125 * Get rid of double underscores
1126
Miklos Szeredi799993c2004-12-04 21:20:05 +000011272004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1128
1129 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1130
1131 * helper.c: add -ho option, which only displays the options not
1132 the usage header. This can be used by filesystems which have
1133 their own options.
1134
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000011352004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1136
1137 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1138 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1139 including the fuse header
1140
1141 * Add binary compatibility to 2.1 version of library with symbol
1142 versioning
1143
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011442004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1145
1146 * Released 2.1
1147
Miklos Szeredi039322d2004-12-01 18:39:12 +000011482004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1149
1150 * kernel: clean up writing functions
1151
1152 * kernel: no allocation on write in direct_io mode
1153
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001154 * move linux/fuse.h to fuse_kernel.h
1155
Miklos Szeredi83a07442004-11-30 18:25:20 +000011562004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1157
1158 * kernel: clean up reading functions
1159
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000011602004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1161
1162 * kernel: make readpage() uninterruptible
1163
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001164 * kernel: check readonly filesystem flag in fuse_permission
1165
1166 * lib: don't die if version file not found and new style device
1167 exists
1168
1169 * lib: add '-r' option, which is short for '-o ro'
1170
1171 * fusermount: simplify device opening
1172
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001173 * kernel: when direct_io is turend on, copy data directly to
1174 destination without itermediate buffer. More efficient and safer,
1175 since no allocation is done.
1176
1177 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001178
1179 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001180
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000011812004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1182
1183 * libfuse API change: open, read, write, flush, fsync and release
1184 are passed a 'struct fuse_file_info' pointer containing the open
1185 flags (open and release), and the file handle. Verion changed to
1186 3.0.
1187
Miklos Szeredia25d4c22004-11-23 22:32:16 +000011882004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1189
1190 * More cleanups in the kernel
1191
1192 * The 10,229 charater device number has been assigned for FUSE
1193
1194 * Version file checking fix (reported by Christian Magnusson)
1195
1196 * fusermount: opening the fuse device now doesn't need /sys.
1197
1198 * Optimize reading by controlling the maximum readahead based on
1199 the 'max_read' mount option
1200
1201 * fixes for UCLIBC (Christian Magnusson)
1202
Miklos Szeredi13ed4822004-11-20 11:12:21 +000012032004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1204
1205 * Cleaned up kernel in preparation for merge into mainline:
1206
1207 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1208
1209 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1210
1211 * __user annotations for sparse
1212
1213 * allocate individual pages instead of kmalloc in fuse_readdir,
1214 fuse_read and fuse_write.
1215
1216 * Fix NFS export in case "use_ino" mount option is given
1217
Miklos Szeredif3845c42004-11-20 11:18:34 +00001218 * Make libfuse and fusermount compatible with future versions
1219
1220 * fusermount: properly add mount options to /etc/mtab
1221
12222004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1223
1224 * fusermount: do not resolve last component of mountpoint on if it
1225 is '.' or '..'. This new path resolvation is now done on mount as
1226 well as unmount. This enables relative paths to work on unmount.
1227
1228 * fusermount: parse common mount options like "ro", "rw", etc...
1229
1230 * Allow module params to be changed through sysfs
1231
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000012322004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1233
1234 * Released 2.1-pre1
1235
12362004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1237
1238 * Fix bug in fuse_readpages() causing Oops in certain situations.
1239 Bug found by Vincenzo Ciancia.
1240
1241 * Fix compilation with kernels versions > 2.6.9.
1242
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012432004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001244
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001245 * Check kernel interface version in fusermount to prevent
1246 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001247
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001248 * No need to allocate fuse_conn until actual mount happens
1249
1250 * Fix potential race between umount and fuse_invalidate
1251
1252 * Check superblock of proc file in addition to inode number
1253
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001254 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001255
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012562004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1257
1258 * Separate configure for the kernel directory
1259
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001260 * Don't allow write to return more than 'count'
1261
1262 * Extend kernel interface for future use
1263
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012642004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1265
1266 * Fix 'makeconf.sh' to use autoreconf if available
1267
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000012682004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1269
Miklos Szeredid507c732004-11-08 17:32:25 +00001270 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1271 compatibility with earlier versions. To compile earier versions
1272 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1273 Do not use the "use_ino" mount flag with filesystems compiled with
1274 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001275
1276 * Add pkg-config support. To compile a FUSE based filesystem you
1277 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1278 or similar. Note, that the PKG_CONFIG_PATH environment variable
1279 usually needs to be set to "/usr/local/lib/pkgconfig".
1280
1281 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001282
Miklos Szeredia13d9002004-11-02 17:32:03 +000012832004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1284
1285 * Added "use_ino" mount option. This enables the filesystems to
1286 set the st_ino field on files
1287
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000012882004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1289
1290 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1291 by Jeremy Smith)
1292
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001293 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1294
1295 * Clear the 'exited' flag when mail loop is finished
1296
Miklos Szeredie989f0d2004-10-28 20:24:58 +000012972004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1298
1299 * Make xattr functions work under 2.6 (bug found by Vincenzo
1300 Ciancia)
1301
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000013022004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1303
1304 * Reset request in fuse_flush() (bugreport by David Shaw)
1305
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000013062004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1307
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001308 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001309 error code
1310
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001311 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001312 make it easier to implement a custom event loop.
1313
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001314 * Use daemon() call to background the filesystem after mounting.
1315 This function closes the standard input, output and error and
1316 changes the current working directory to "/".
1317
Miklos Szeredi127d49b2004-10-14 13:33:39 +000013182004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1319
1320 * Released 1.9
1321
Miklos Szeredid45baf42004-10-10 07:56:12 +000013222004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1323
1324 * Don't allow fuse_flush() to be interrupted (bug found by David
1325 Shaw)
1326
Miklos Szeredi1f18db52004-09-27 06:54:49 +000013272004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1328
1329 * Add PID to fuse_context. Patch by Steven James
1330
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001331 * Change file handle type to 'unsigned long' in kernel interface
1332
Miklos Szeredid169f312004-09-22 08:48:26 +000013332004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1334
1335 * A slight API change: fuse_get_context() doesn't need the "fuse"
1336 pointer, but the returned context contains it instead. The
1337 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001338
1339 * Fix mounting and umounting FUSE filesystem under another FUSE
1340 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001341
Miklos Szeredic2309912004-09-21 13:40:38 +000013422004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1343
1344 * Fix deadlock in case of memory allocation failure. Patch by
1345 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001346
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013472004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1348
1349 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001350
Miklos Szeredi65afea12004-09-14 07:13:45 +000013512004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1352
1353 * Check temporary file creation failure in do_getdir(). Bug
1354 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001355
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013562004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1357
1358 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001359
1360 * Make requests non-interruptible so race with FORGET is avoided.
1361 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001362
1363 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001364
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000013652004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1366
1367 * Fix bug in case two FORGETs for the same node are executed in
1368 the wrong order. Bug spotted and endured for months by Franco
1369 Broi, and logfile for solution provided by Terje Oseberg
1370
Miklos Szeredi12085102004-09-02 18:13:57 +000013712004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1372
1373 * Add -D_REENTRANT to the compile flags
1374
1375 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001376
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000013772004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1378
1379 * Change release method to be non-interruptible. Fixes bug
1380 causing missing release() call when program which has opened files
1381 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001382
Miklos Szeredi891b8742004-07-29 09:27:49 +000013832004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1384
1385 * Add fuse_invalidate() to library API
1386
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000013872004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1388
1389 * Check permissions in setattr if 'default_permissions' flag is
1390 set. Bug spotted by Damjan Lango
1391
Miklos Szeredid66d3942004-07-24 13:47:44 +000013922004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1393
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001394 * 'large_read' mount option removed for 2.6 kernels, since the
1395 default (dynamic read size) is better
1396
1397 * Extend kernel API with file handles. A file handle is returned
1398 by open, and passed to read, write, flush, fsync and release.
1399 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001400
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001401 * Security changes:
1402
1403 * Change the current directory to the mountpoint before checking
1404 the permissions and mount filesystem on "."
1405
1406 * By default don't modprobe the fuse module for non-root. The old
1407 behavior can be restored with the '--enable-auto-modprobe' flag of
1408 ./configure
1409
1410 * By default don't allow shared writable mappings for non-root.
1411 The old behavior can be restored with the 'user_mmap=1' module
1412 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001413
Miklos Szeredibd7661b2004-07-23 17:16:29 +000014142004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1415
1416 * Clean up mount option passing to fusermount and to fuse_new()
1417 BEWARE: this changes the userspace API slightly, and the command
1418 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001419
Miklos Szeredi58865372004-07-20 14:22:26 +000014202004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1421
1422 * Optimize reading under 2.6 kernels by issuing multiple page
1423 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001424
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000014252004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1426
1427 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001428
Miklos Szeredi069c9502004-07-16 16:17:02 +000014292004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1430
1431 * Separate directory entry and inode attribute validity timer
1432
1433 * New write semaphore to stop page writeback during truncate
1434
1435 * Fsync now waits for all writes to complete before sending the
1436 request
1437
1438 * Optimization: if a page is completely written by
1439 fuse_commit_write(), clear the dirty flag and set the uptodate
1440 flag for that page
1441
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001442 * Some memory cleanup at exit
1443
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014442004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1445
1446 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001447 disable the "hide if open" behavior of unlink/rename.
1448
1449 * If temporary buffer allocation fails in raw read, fall back to a
1450 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001451
Miklos Szeredi73798f92004-07-12 15:55:11 +000014522004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1453
1454 * Fix bug in do_open() in libfuse: open count was incremented
1455 after the reply is sent so it could race with unlink/forget and
1456 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001457
Miklos Szeredi015fe702004-07-12 11:52:24 +000014582004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1459
1460 * When performing create or remove operation, refresh the parent's
1461 attributes on next revalidate, as i_nlink (and maybe size/time)
1462 could be inacurate.
1463
1464 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1465 pages (2.6 only)
1466
1467 * Set set_page_dirty address space operation (2.6 only)
1468
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014692004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001470
1471 * Minor fix in read: print debug info even if read size is zero
1472
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014732004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001474
1475 * Fix race between truncate and writepage (fsx-linux now runs
1476 without error)
1477
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014782004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001479
1480 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1481 by Mattias Wadman)
1482
1483 * Added option for direct read/write (-r)
1484
1485 * Fix revalidate time setting for newly created inodes
1486
Miklos Szerediacb4d362004-07-02 16:20:45 +00001487 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1488 this)
1489
1490 * fuse_main() only installs handlers for signals (out of INT, HUP,
1491 TERM, PIPE), for which no handler has yet been installed
1492
1493 * Add module option 'user_allow_other' which if set to non-zero
1494 will allow non root user to specify the 'allow_other' mount option
1495 ('-x' option of fusermount)
1496
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001497 * Fix deadlock between page writeback completion and truncate
1498 (bug found by Valient Gough with the fsx-linux utility)
1499
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015002004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001501
1502 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001503 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1504 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001505
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015062004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001507
1508 * Acquire inode->i_sem before open and release methods to prevent
1509 concurrent rename or unlink operations.
1510
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001511 * Make __fuse_read_cmd() read only one command. This allows
1512 multiplexing the fuse file descriptor with other event sources
1513 using select() or poll() (patch by Jeff Harris)
1514
1515 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1516
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015172004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001518
1519 * Fix file offset wrap around at 4G when doing large reads
1520
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015212004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001522
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001523 * Fix memory leak in open (Valient Gough)
1524
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015252004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001526
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001527 * Add "close after delete" support to libfuse (patch by Valient
1528 Gough)
1529
1530 * Cancel all worker threads before exit in multithreaded mode
1531
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015322004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001533
1534 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001535
1536 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001537
1538 * Work with newer libtool (1.5a)
1539
1540 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001541
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015422004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001543
1544 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001545
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015462004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001547
1548 * Fix possible inode leak in userspace in case of unfinished
1549 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001550
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015512004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001552
1553 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001554
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015552004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001556
1557 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001558
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015592004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001560
1561 * Build shared library as well as static (using libtool)
1562
1563 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1564 there has not been a release with the previous minor number, and I
1565 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001566
1567 * Change fuse_main(), so that default behavior is to go into
1568 background if mount is successful. '-f' and '-d' options disable
1569 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1570 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001571
1572 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1573 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001574
1575 * Don't call getdir method from open() only from first readdir().
1576 Open is sometimes just used to store the current directory
1577 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001578
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015792004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001580
1581 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001582
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015832004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001584
1585 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001586
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015872004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001588
1589 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001590
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015912004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001592
1593 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001594
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015952004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001596
1597 * Replaced binary mount data with text options
1598
1599 * Show FUSE specific mount options in /proc/mounts
1600
1601 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1602
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016032004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001604
1605 * Check some limits so userspace won't get too big requests
1606
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016072004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001608
1609 * Kill compile warning
1610
1611 * Upgraded user-mount patch for 2.6.5
1612
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016132004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001614
1615 * Add detection of user-mode-linux to configure
1616
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016172004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001618
1619 * fixed zero size case for getxattr and listxattr
1620
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016212004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001622
1623 * new fusermount flag '-z': lazy unmount, default is not lazy
1624
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001625 * Extended attributes operations added (getxattr, setxattr,
1626 listxattr, removexattr)
1627
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016282004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001629
1630 * If filesystem doesn't define a statfs operation, then an
1631 all-zero default statfs is returned instead of ENOSYS
1632
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016332004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001634
1635 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1636
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016372004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001638
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001639 * Fix for uClinux (Christian Magnusson)
1640
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016412004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001642
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001643 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001644
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001645 * More kernel interface changes:
1646
1647 * Lookup/getattr return cache timeout values
1648
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016492004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001650
1651 * Clean up option parsing in fuse_main()
1652
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001653 * Added fuse_get() function which returns the fuse object created
1654 by fuse_main()
1655
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016562004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001657
Miklos Szeredic40748a2004-02-20 16:38:45 +00001658 * removed old way of mounting (fusermount mountpoint program)
1659
Miklos Szeredib5958612004-02-20 14:10:49 +00001660 * more kernel interface changes:
1661
1662 * added nanosecond precision to file times
1663
Miklos Szeredic40748a2004-02-20 16:38:45 +00001664 * removed interface version from mount data
1665
1666 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1667
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016682004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001669
1670 * statfs library API changed to match other methods. Since this
1671 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1672
Miklos Szeredi76f65782004-02-19 16:55:40 +00001673 * kernel interface changes follow:
1674
1675 * statfs changed to 64 bits, added 'bavail' field
1676
1677 * add generation number to lookup result
1678
1679 * optimized mknod/mkdir/symlink/link (no separate lookup is
1680 needed)
1681
1682 * rdev size increased to 32 bits for mknod
1683
1684 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001685
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016862004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001687
1688 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001689
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016902004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001691
1692 * Added user-mount.2.6.2-rc3.patch
1693
1694 * Add FS_SAFE flag to fuse filesystem
1695
1696 * fusermount should allow (un)mounting for non-root even if not
1697 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001698
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016992004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001700
1701 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001702
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017032004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001704
1705 * Added check for i_size_read/write functions to configure.in
1706 (patch by Valient Gough)
1707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017082004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001709
1710 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001711
1712 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001713
1714 * Readpage calls flush_dcache_page() after storing data
1715
1716 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001717
1718 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001719
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017202004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001721
1722 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017242004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001725
1726 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001727
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017282004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001729
1730 * Added -q option for fusermount
1731
1732 * fuse_unmount() now uses -q option of fusermount, so no error is
1733 printed if the cause of the program exit is that the filesystem
1734 has already been unmounted
1735
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001736 * Fix i_nlink correctness after rmdir/unlink
1737
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017382004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001739
Miklos Szeredib1158392004-01-26 14:43:12 +00001740 * Released 1.1-pre2
1741
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017422004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001743
Miklos Szeredi307242f2004-01-26 11:28:44 +00001744 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001745
1746 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001747
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017482004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001749
1750 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017522004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001753
1754 * Write all pending data before a RELEASE operation
1755
1756 * Suppress 'Bad file descriptor' warning on exit
1757
1758 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001759 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001760
Miklos Szeredib1158392004-01-26 14:43:12 +00001761 * New fusermount option '-l' which enables big reads. Big reads
1762 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001763
1764 * fuse_main() can accept fusermount arguments after a '--'
1765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017662004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001767
1768 * Support for exporting filesystem over NFS (see README.NFS)
1769
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017702004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001771
1772 * Support non-blocking writepage on 2.6. This makes FUSE behave
1773 much more nicely in low-memory situations
1774
1775 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1776 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001777
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017782004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001779
1780 * Code cleanups
1781
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017822004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001783
1784 * Released 1.1-pre1
1785
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017862004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001787
1788 * Integrated 2.6 kernel support patch by Michael Grigoriev
1789
1790 * Improvements and cleanups for 2.6 kernels
1791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017922004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001793
Miklos Szeredie5183742005-02-02 11:14:04 +00001794 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001795
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017962003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001797
1798 * Added major+minor version to library API, and minor version to
1799 kernel API
1800
David McNab7a19caf2003-12-13 02:05:46 +000018012003-12-13 David McNab <david@rebirthing.co.nz>
1802
1803 * Implemented fsync support in examples/example.py
1804
1805 * Implemented 'fsync' and 'statfs' methods in python
1806 interface
1807
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018082003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001809
Miklos Szeredie5183742005-02-02 11:14:04 +00001810 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001811
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001812 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001813
David McNab8bf62632003-12-11 22:49:22 +000018142003-12-12 David McNab <david@rebirthing.co.nz>
1815
1816 * Added distutils support to the python module, as per standard
1817 python development practice
1818
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018192003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001820
1821 * Add file locking for mount/unmount (based on patch by Valient
1822 Gough)
1823
18242003-12-11 David McNab <david@rebirthing.co.nz>
1825
1826 * Python filesystem - was broken with python2.3, now fixed:
1827 - changed PyTuple_* calls to PySequence_*, because os.lstat
1828 is no longer returning a pure tuple
1829 - changed PyInt_Check() calls to also call PyLong_Check,
1830 to cover for cases (eg os.lstat) where longs are returned
1831 - Added support for file 'release' handling, which IMO is
1832 essential since this signals to a FS that writes to a file
1833 are complete (and therefore the file can now be disposed of
1834 meaningfully at the python filesystem's discretion)
1835 - Added '__init__' handler to base Fuse class, which allows
1836 your Python class to know the mountpoint and mount args,
1837 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001838
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001839 * General:
1840 - added 'mount.fuse' script (in util/ dir), which is meant to be
1841 symlinked from /sbin, and which allows FUSE filesystems to
1842 be mounted with the 'mount' command, and listed in fstab;
1843 also, mount arguments get passed to your filesystem
1844
1845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018462003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001847
1848 * Fix kernel version detection (again). Bugreport by Peter Levart
1849
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018502003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001851
1852 * Applied read combining patch by Michael Grigoriev (tested by
1853 Valient Gough and Vincent Wagelaar)
1854
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018552003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001856
1857 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1858 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001859
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018602003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001861
1862 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001863
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018642003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001865
1866 * kernel version detection fix
1867
1868 * fusermount now uses "lazy" umount option
1869
1870 * fusermount can use modprobe with module-init-tools
1871
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018722003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001873
1874 * Integrated caching patch by Michael Grigoriev
1875
Miklos Szeredida4e4862003-09-08 11:14:11 +00001876 * Added "Filesystems" file with descriptions of projects using
1877 FUSE
1878
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001879 * Added patch by Michael Grigoriev to allow compliation of FUSE
1880 kernel module for 2.6 kernels
1881
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018822003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001883
1884 * And another spec-file fix by Achim Settelmeier
1885
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018862003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001887
1888 * Spec-file fix by Achim Settelmeier
1889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001891
Miklos Szerediac361172004-11-02 19:14:14 +00001892 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001893
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018942003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001895
1896 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1897
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018982003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001899
1900 * Updated fuse.spec file (Achim Settelmeier)
1901
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019022003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001903
1904 * Version 1.0 released
1905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019062003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001907
1908 * SuSE compilation fix by Juan-Mariano de Goyeneche
1909
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019102002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001911
1912 * The release() VFS call is now exported to the FUSE interface
1913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001915
1916 * 64 bit file offset fixes in the fuse kernel module
1917
1918 * Added function 'fuse_exit()' which can be used to exit the main
1919 loop
1920
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019212002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001922
1923 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1924 an incompatible interface change.
1925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019262002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001927
1928 * Portablility fix (bug reported by C. Chris Erway)
1929
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019302002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001931
1932 * Use Mark Glines' fd passing method for default operation instead
1933 of old reexec
1934
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019352002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001936
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001937 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1938
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019392002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001940
Miklos Szeredi60c23522002-10-24 09:19:43 +00001941 * fix incompatiblity with Red Hat kernels, with help from Nathan
1942 Thompson-Amato.
1943
Mark Glines65ba2192002-04-18 14:41:48 +000019442002-04-18 Mark Glines <mark@glines.org>
1945
1946 * added an alternative to fuse_mount(), called
1947 fuse_mount_ioslave(), which does not need to reexec the
1948 FUSE program.
1949 * added a small helper util needed by fuse_mount_ioslave().
1950
Mark Glines220635a2002-03-17 07:01:14 +000019512002-03-16 Mark Glines <mark@glines.org>
1952
1953 * use struct fuse_statfs everywhere possible to avoid problems
1954 with the headerfiles changing struct statfs member sizes
1955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019562002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001957
1958 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1959
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019602002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001961
1962 * RPM support by Achim Settelmeier
1963
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019642002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001965
Miklos Szerediddc862a2002-01-09 13:46:10 +00001966 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001967
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019682002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001969
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001970 * Revaidate all path components not just the last, this means a
1971 very small performance penalty for being more up-to-date.
1972
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019732002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001974
1975 * Update and fix python interface
1976
Mark Glinesd84b39a2002-01-07 16:32:02 +000019772002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001978
Mark Glinesd84b39a2002-01-07 16:32:02 +00001979 * Added statfs() support to kernel, lib, examples, and perl!
1980
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019812001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001982
1983 * Better cross compilation support
1984
1985 * Ported to Compaq IPAQ
1986
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019872001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001988
Miklos Szeredife25def2001-12-20 15:38:05 +00001989 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001990 patch from Matt Ryan)
1991
Miklos Szeredife25def2001-12-20 15:38:05 +00001992 * Added flags to fusermount and to kernel interface to control
1993 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001994
Miklos Szeredife25def2001-12-20 15:38:05 +00001995 * Integrated fuse_set_operations() into fuse_new()
1996
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019972001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001998
1999 * Applied header protection + extern "C" patch by Roland
2000 Bauerschmidt
2001
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020022001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002003
Miklos Szeredie5183742005-02-02 11:14:04 +00002004 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002005
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020062001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002007
2008 * Cleaned up way of mounting simple filesystems.
2009
2010 * fuse_main() helper function added
2011
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020122001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002013
Miklos Szeredife25def2001-12-20 15:38:05 +00002014 * Optimized read/write operations, so that minimal copying of data
2015 is done
2016
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020172001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002018
2019 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020212001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002022
2023 * Fixed vfsmount reference leak in fuse_follow_link
2024
2025 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2026 userspace is ignored
2027
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020282001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002029
Miklos Szeredife25def2001-12-20 15:38:05 +00002030 * Started ChangeLog