blob: 7007037a09d8c1248b6258da5ad9c2e7ace4bb9d [file] [log] [blame]
Csaba Henk2efe48f2006-04-22 22:46:52 +000012006-04-23 Csaba Henk <csaba.henk@creo.hu>
2
3 * lib: make FreeBSD mount routine recognize if kernel features
4 backgrounded init and if it does, run the mount util in foreground
5 (similarly to Linux)
6
Miklos Szeredi5fe07d62006-04-21 14:09:28 +000072006-04-21 Miklos Szeredi <miklos@szeredi.hu>
8
9 * kernel: fix fput deadlock fix, the lockless solution could lead
10 to "VFS: busy inodes after umount..."
11
12 * kernel: fix race between checking and setting file->private_data
13 for the device. Found by Al Viro
14
152006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +000016
17 * kernel: remove request pool, instead allocate requests on
18 demand. Account the number of background requests, and if they go
19 over a limit, block the allocation of new requests.
20
21 * kernel: fix deadlock if backgrounded request holds the last
22 reference to the super block
23
24 * kernel: don't use fuse_reset_request() during direct I/O
25
Csaba Henkbaa49d22006-04-06 00:12:44 +0000262006-04-06 Csaba Henk <csaba.henk@creo.hu>
27
28 * lib: Let FreeBSD mount option parsing routine recognize "no"
29 prefixes for FUSE specific options as well
30
Miklos Szeredid0a777a2006-04-05 07:18:00 +0000312006-04-01 Miklos Szeredi <miklos@szeredi.hu>
32
33 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
34
Miklos Szeredi6f385412006-03-17 15:05:40 +0000352006-03-17 Miklos Szeredi <miklos@szeredi.hu>
36
37 * API changes:
38
39 * fuse_main(), fuse_setup() and fuse_new() have an additionl
40 user_data parameter
41
42 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
43 file descriptor
44
45 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
46 destroys the given channel
47
48 * fuse_teardown() no longer has a file descriptor parameter
49
50 * new exported functions: fuse_session_remove_chan(),
51 fuse_get_session(), fuse_daemonize()
52
Miklos Szeredi8d975f62006-03-17 15:56:05 +000053 * fuse_chan_recv() may now return a new channel which will be used
54 to send the reply
55
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000562006-03-16 Miklos Szeredi <miklos@szeredi.hu>
57
Miklos Szeredi9db31dc2006-03-16 14:43:28 +000058 * Released 2.6.0-pre2
59
602006-03-16 Miklos Szeredi <miklos@szeredi.hu>
61
Miklos Szeredif51e43f2006-03-16 14:19:25 +000062 * Don't unmount if already unmounted. This fixes a problem seen
63 in the following situation: Lazy unmount a busy filesystem; Mount
64 a new one in top; When the first finally unmounts, the second also
65 unmounts. Reported by Franco Broi
66
Miklos Szeredi2c1381f2006-03-15 20:34:10 +0000672006-03-15 Miklos Szeredi <miklos@szeredi.hu>
68
69 * lowlevel lib: use indirect function calls instead of a
70 switch/case construct. Besides increased efficiency it helps
71 maintainability & readability too. Patch from Florin Malita
72
Miklos Szeredi67d26d42006-03-13 17:39:56 +0000732006-03-13 Miklos Szeredi <miklos@szeredi.hu>
74
75 * kernel: replace global spinlock with a per-connection spinlock
76
Miklos Szeredi87c77932006-03-10 10:18:20 +0000772006-03-10 Miklos Szeredi <miklos@szeredi.hu>
78
79 * Fix source compatibility breakage for fuse_unmount(). Report
80 from Yura Pakhuchiy
81
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000822006-03-02 Miklos Szeredi <miklos@szeredi.hu>
83
84 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
85
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000862006-03-01 Miklos Szeredi <miklos@szeredi.hu>
87
88 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
89 Jeff Dike
90
91 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
92 interface to return -errno in case of error.
93
Csaba Henkee588c02006-03-01 09:40:35 +0000942006-03-01 Csaba Henk <csaba.henk@creo.hu>
95
96 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
97 FreeBSD implementation so that it uses libc (sysctl backed) instead
98 of an embdedded script (kmem backed). Adjust the control flow of
99 hello_ll so that device doesn't get closed before unmount attempt.
100
Miklos Szerediaa8258e2006-02-25 14:42:03 +00001012006-02-25 Miklos Szeredi <miklos@szeredi.hu>
102
103 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
104 implement method. This is needed on FreeBSD, and nicer on Linux
105 too. Highlevel lib already did this. Reported by Csaba Henk
106
107 * Fix negative entry handling. There was a bug, that negative
108 lookups with timeouts (nodeid == 0) returned -EIO.
109
1102006-02-23 Miklos Szeredi <miklos@szeredi.hu>
111
112 * Fix race between RELEASE and UNLINK, which might leave
113 .fuse_hidden* files around
114
Miklos Szeredi6bab4802006-02-21 18:31:29 +00001152006-02-21 Miklos Szeredi <miklos@szeredi.hu>
116
117 * fusexmp_fh: implement flush() method and call close() on the
118 open file descriptor. This is needed if used on an NFS
119 filesystem, which buffers data until file is closed. Franco Broi
120 spotted the situation when 'cp -p' failed to set the modification
121 time because of this.
122
Miklos Szeredie109e282006-02-20 11:06:20 +00001232006-02-20 Miklos Szeredi <miklos@szeredi.hu>
124
125 * Released 2.6.0-pre1
126
Miklos Szeredib67f2162006-02-20 10:55:33 +00001272006-02-19 Miklos Szeredi <miklos@szeredi.hu>
128
129 * libfuse: fix use-after-free bug in interruptred reply_entry().
130 Patch from John Muir
131
132 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
133 ID: 352631. Found by Stéphane Rosi
134
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00001352006-02-17 Miklos Szeredi <miklos@szeredi.hu>
136
137 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
138 into a single function fuse_add_direntry(). This cleans up the
139 interface and makes it possible to do stacking.
140
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00001412006-02-16 Miklos Szeredi <miklos@szeredi.hu>
142
143 * Fix rare race betweeen abort and release caused by failed iget()
144 in fuse_create_open().
145
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000146 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
147 own attribute caching.
148
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00001492006-02-15 Miklos Szeredi <miklos@szeredi.hu>
150
151 * Work around FreeBSD runtime linker "feature" which binds an old
152 version of a symbol to internal references if the symbol has more
153 than one version. This resulted in infinite recursion in
154 fuse_lowlevel_new_compat25().
155
Csaba Henkdcce3e52006-02-10 06:22:15 +00001562006-02-10 Csaba Henk <csaba.henk@creo.hu>
157
158 * Refine clock_gettime() querying so that linker options
159 shall be set as it's appropriate for the target platform.
160
Miklos Szeredi390ae312006-02-10 16:44:34 +00001612006-02-09 Miklos Szeredi <miklos@szeredi.hu>
162
163 * Fix udev rule syntax. Reported by Nix
164
Miklos Szeredieb643582006-02-08 10:54:02 +00001652006-02-08 Miklos Szeredi <miklos@szeredi.hu>
166
167 * In some cases udev rule seems to be ineffective when installed
168 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
169
Miklos Szeredi357529c2006-02-03 09:20:31 +00001702006-02-03 Miklos Szeredi <miklos@szeredi.hu>
171
172 * Fix compilation when build directory is different from source
173 directory. Reported by Frédéric L. W. Meunier
174
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001752006-02-02 Miklos Szeredi <miklos@szeredi.hu>
176
177 * Fix even bigger bug introduced in fix for request_end() on
178 2006-01-14. Reported by Gal Rosen
179
Miklos Szeredi320abe42006-01-30 18:14:51 +00001802006-01-30 Miklos Szeredi <miklos@szeredi.hu>
181
182 * highlevel-lib: add 'auto_cache' option. This caches file data
183 based on modification time and size
184
Miklos Szeredi065f2222006-01-20 15:15:21 +00001852006-01-20 Miklos Szeredi <miklos@szeredi.hu>
186
Miklos Szeredid66b7282006-02-02 15:15:21 +0000187 * Sanitize storage type and help message in mount_bsd.c. Patch
188 from Csaba Henk
189
Miklos Szeredi065f2222006-01-20 15:15:21 +0000190 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
191 FUSE_OPT_KEY_DISCARD
192
193 * Add options 'max_readahead', 'sync_read' and 'async_read'
194
195 * Kernel ABI version 7.6:
196
197 * Negotiate the 'max_readahead' value and 'async_read' flags with
198 userspace in the INIT method
199
200 * Add connection info to ->init() methods to both lowlevel and
201 highlevel API
202
203 * Fall back to synchronous read() behavior if either library or
204 userspace filesystem is using the old interface version. This is
205 needed so non-updated filesystems won't be confused by the
206 different read() behavior
207
2082006-01-19 Miklos Szeredi <miklos@szeredi.hu>
209
210 * lib: if "fsname=" option was given, pass it to fusermount
211
212 * fuse_opt: add new fuse_opt_insert_arg() function, which is
213 needed by filesystems to implement some argument manipulations
214 correctly
215
216 * fuse_opt: fix memory leak in handling "--" option
217
2182006-01-18 Miklos Szeredi <miklos@szeredi.hu>
219
220 * kernel: fix detection of case when fuse is not configured into
221 the kernel either as module or built-in
222
223 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
224 'template' structure member to 'templ'. Reported by Takashi Iwai
225
226 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
227
228 * kernel: support version 2.6.16 (i_sem -> i_mutex)
229
Miklos Szeredi15af1b82006-01-16 17:52:24 +00002302006-01-16 Miklos Szeredi <miklos@szeredi.hu>
231
232 * Added (again) asynchronous readpages support
233
234 * Each connection now shows up under /sys/fs/fuse/connections
235
236 * Connection attributes exported to sysfs: 'waiting' number of
237 waiting requests; 'abort' abort the connection
238
239 * Connection may be aborted through either the sysfs interface or
240 with 'umount -f mountpoint'
241
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00002422006-01-14 Miklos Szeredi <miklos@szeredi.hu>
243
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000244 * Released 2.5.0
245
2462006-01-14 Miklos Szeredi <miklos@szeredi.hu>
247
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000248 * kernel: fix a couple of bugs
249
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000250 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000251 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000252 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000253
254 * request_end() used request pointer after decrementing refcount
255
256 * Clearing ->connected or ->mounted connection flags could race
257 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000258
Miklos Szeredia9820342006-01-10 10:54:11 +00002592006-01-10 Miklos Szeredi <miklos@szeredi.hu>
260
261 * kernel: add necessary compile flags for 2.4.X/x86_64.
262 Report from Sean Ziegeler
263
Miklos Szeredi35676b02006-01-09 10:13:28 +00002642006-01-09 Miklos Szeredi <miklos@szeredi.hu>
265
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000266 * Released 2.5.0-pre2
267
2682006-01-09 Miklos Szeredi <miklos@szeredi.hu>
269
Miklos Szeredi35676b02006-01-09 10:13:28 +0000270 * Applied patch from Csaba Henk, to update mount_bsd to new
271 fuse_mount() semantics
272
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000273 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
274 Steiner and Don Taber
275
Miklos Szeredicb075c82006-01-09 11:33:04 +0000276 * fusermount: add 'dirsync' mount option
277
Miklos Szerediad005972006-01-07 10:14:34 +00002782006-01-07 Miklos Szeredi <miklos@szeredi.hu>
279
280 * Improved help reporting and added version reporting to library
281
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002822006-01-06 Miklos Szeredi <miklos@szeredi.hu>
283
284 * Change working directory to "/" even if running in the
285 foreground. Patch from Jonathan Brandmeyer
286
Miklos Szeredi95da8602006-01-06 18:29:40 +0000287 * Changed lots of functions to use 'struct fuse_args' instead of
288 separate argc and argv
289
290 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
291 fuse_remove_signal_handlers() functions, so that it's now pretty
292 easy to get all the functionality of fuse_main() with a filesystem
293 using the lowlevel API.
294
Miklos Szeredib8638182006-01-02 12:52:24 +00002952006-01-02 Miklos Szeredi <miklos@szeredi.hu>
296
Miklos Szeredif1941472006-01-02 16:27:48 +0000297 * mount.fuse: the 'user' option should be ignored. Report and
298 solution from Mattd.
299
300 * mount.fuse: export PATH in the right place. Report and patch
301 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000302
Miklos Szeredi73f41392005-12-16 11:12:16 +00003032005-12-16 Miklos Szeredi <miklos@szeredi.hu>
304
305 * Clean up the option parsing interface slightly, by creating an
306 "argument list" structure, that contains the argument vector and
307 count
308
Miklos Szeredi4e829092005-12-15 16:13:49 +00003092005-12-15 Miklos Szeredi <miklos@szeredi.hu>
310
311 * fusermount: check if /mnt/mtab is a symlink and don't modify it
312 in that case
313
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000314 * kernel: simplify request size limiting. INIT only contains
315 maximum write size, maximum path component size remains fixed at
316 1024 bytes, and maximum xattr size depends on read buffer.
317
Miklos Szeredie248e4b2005-12-14 16:18:32 +00003182005-12-14 Miklos Szeredi <miklos@szeredi.hu>
319
320 * Fix readdir() failure on x86_64, of 32bit programs compiled
321 without largefile support. Bug report and help from Anthony
322 Kolasny
323
Miklos Szeredi64709572005-12-14 22:16:28 +0000324 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000325 a regular file
326
327 * Add current output argument vector to option processing
328 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000329
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00003302005-12-12 Miklos Szeredi <miklos@szeredi.hu>
331
332 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
333
Miklos Szeredi659743b2005-12-09 17:41:42 +00003342005-12-09 Miklos Szeredi <miklos@szeredi.hu>
335
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000336 * Released 2.5.0-pre1
337
3382005-12-09 Miklos Szeredi <miklos@szeredi.hu>
339
Miklos Szeredi659743b2005-12-09 17:41:42 +0000340 * libfuse: added option parsing interface, defined in
341 <fuse_opt.h>.
342
Miklos Szeredic53cddd2005-12-07 12:57:59 +00003432005-12-07 Miklos Szeredi <miklos@szeredi.hu>
344
345 * Return EIO for file operations (read, write, fsync, flush) on
346 open files whose inode has become "bad". Inodes will be marked
347 "bad" if their type changes. Bug report by Csaba Henk
348
Miklos Szeredi044da2e2005-12-06 17:59:55 +00003492005-12-06 Miklos Szeredi <miklos@szeredi.hu>
350
351 * Use bigger request buffer size. write() did not work on archs
352 with > 4k page size, Bug report by Mark Haney
353
354 * ABI version 7.5:
355
356 * Extend INIT reply with data size limits
357
Miklos Szeredifa829b52005-12-02 11:05:41 +00003582005-12-02 Miklos Szeredi <miklos@szeredi.hu>
359
360 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
361 reported by Vincenzo Ciancia
362
363 * Handle exit-by-umount in fuse_read_cmd()
364
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00003652005-11-29 Miklos Szeredi <miklos@szeredi.hu>
366
367 * Check if '-msoft-float' option is supported by compiler when
368 configuring for a 2.4.x kernel. Bug report by Mark Haney
369
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000370 * In multithreaded loop send a TERM signal to the main thread if
371 one of the other threads exit. Needed on FreeBSD for a clean exit
372 on umount. Should not cause any harm on Linux either
373
Miklos Szerediead7f102005-11-28 16:02:27 +00003742005-11-28 Miklos Szeredi <miklos@szeredi.hu>
375
376 * Fix bug in 32-bit file handle compatibility
377
Miklos Szeredia90b7342005-11-27 19:22:42 +00003782005-11-27 Miklos Szeredi <miklos@szeredi.hu>
379
380 * Block TERM, INT, HUP and QUIT signals in all but the main
381 thread. According to POSIX it's not specified which thread will
382 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000383
384 * Kernel changes:
385
386 * Check for directory aliasing on mkdir, not just on lookup
387
388 * Check for special node ID values in create+open operation
389
390 * Sync with -mm: readv, writev, aio_read and aio_write methods
391 added to file operations
392
393 * Cleanups: lookup code, page offset calculation
394
395 * ABI stepped to 7.4, changes:
396
397 * frsize member added to fuse_kstatfs structure
398
399 * added support for negative entry caching: on lowlevel API if
400 fuse_entry_param::ino is set to zero in reply to a lookup request,
401 the kernel will cache the dentry for the specified amount of time.
402
403 * libfuse: added 'negative_timeout' option: specifies how much
404 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000405 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000406
Miklos Szeredibac4c772005-11-23 13:35:54 +00004072005-11-22 Miklos Szeredi <miklos@szeredi.hu>
408
409 * Add detection of mainline FUSE code in running kernel
410
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00004112005-11-21 Miklos Szeredi <miklos@szeredi.hu>
412
413 * Don't use async cancelation in multithreaded loop. This makes
414 it more portable to systems where read() is not async cancel safe.
415 Report from Andriy Gapon
416
Miklos Szeredi05c97842005-11-20 17:05:07 +00004172005-11-20 Miklos Szeredi <miklos@szeredi.hu>
418
419 * Warn if API version 11 compatibility is requested
420
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00004212005-11-17 Miklos Szeredi <miklos@szeredi.hu>
422
423 * More FreeBSD merge
424
Miklos Szeredi832ee442005-11-18 21:02:36 +0000425 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
426 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000427 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000428
429 * libfuse: don't use system() to invoke 'fusermount -u ...'
430 because it breaks mountpoints with spaces in them into multiple
431 arguments
432
Miklos Szeredib3f99722005-11-16 13:00:24 +00004332005-11-16 Miklos Szeredi <miklos@szeredi.hu>
434
435 * Merge library part of FreeBSD port. Patch by Csaba Henk
436
Miklos Szeredi3a770472005-11-11 21:32:42 +00004372005-11-11 Miklos Szeredi <miklos@szeredi.hu>
438
439 * Use 64bit type for file handle, so the full range supported by
440 the kernel interface is available to applications
441
Miklos Szeredibcc53852005-11-10 09:54:41 +00004422005-11-10 Miklos Szeredi <miklos@szeredi.hu>
443
444 * Moved mountpoint argument checking from fuse_parse_cmdline() to
445 fuse_mount() in preparation to FreeBSD merge.
446
Miklos Szeredi4ec06812005-11-08 13:04:27 +00004472005-11-08 Miklos Szeredi <miklos@szeredi.hu>
448
449 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
450 Henk.
451
Miklos Szeredic706ad92005-11-07 15:30:48 +00004522005-11-07 Miklos Szeredi <miklos@szeredi.hu>
453
454 * Make the statfs change backwards compatible.
455
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00004562005-11-06 Miklos Szeredi <miklos@szeredi.hu>
457
458 * Change ->statfs() method to use 'struct statvfs' instead of
459 'struct statfs'. This makes the API more portable since statvfs()
460 is defined by POSIX.
461
Miklos Szeredif7eec032005-10-28 13:09:50 +00004622005-10-28 Miklos Szeredi <miklos@szeredi.hu>
463
464 * Add fgetattr() method, which currently will only be called after
465 a successful call to a create() method.
466
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004672005-10-26 Miklos Szeredi <miklos@szeredi.hu>
468
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000469 * Change kernel ABI version to 7.3
470
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000471 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000472 call if 'default_permissions' mount option is not given, and is
473 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000474
Miklos Szeredid9079a72005-10-26 15:29:06 +0000475 * Add atomic CREATE+OPEN operation. This will only work with
476 2.6.15 (presumably) or later Linux kernels.
477
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000478 * Add ftruncate() method. This will only work with 2.6.15
479 (presumably) or later Linux kernels.
480
481 * Fix kernel module compile if kernel source and build directories
482 differ. Report and initial patch by John Eastman
483
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004842005-10-18 Miklos Szeredi <miklos@szeredi.hu>
485
486 * lib: optimize buffer reallocation in fill_dir.
487
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004882005-10-17 Miklos Szeredi <miklos@szeredi.hu>
489
490 * Released 2.4.1
491
Miklos Szeredif412d072005-10-14 21:24:32 +00004922005-10-14 Miklos Szeredi <miklos@szeredi.hu>
493
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000494 * libfuse: add debug for write result (by Shaun Jackman) and
495 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000496
Miklos Szeredib75d4b92005-10-11 10:12:08 +00004972005-10-11 Miklos Szeredi <miklos@szeredi.hu>
498
499 * Spelling fixes, thanks to Ioannis Barkas
500
Miklos Szeredibaab5872005-10-10 08:41:14 +00005012005-10-10 Miklos Szeredi <miklos@szeredi.hu>
502
503 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
504 patch
505
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00005062005-10-07 Miklos Szeredi <miklos@szeredi.hu>
507
508 * highlevel-lib: init() and destroy() methods didn't have an
509 initialized fuse_context. Bug reported by Tim Stoakes
510
Miklos Szeredif2491122005-10-04 10:10:41 +00005112005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000512
513 * Released 2.4.0
514
Miklos Szeredi836ab712005-10-03 14:11:59 +00005152005-10-03 Miklos Szeredi <miklos@szeredi.hu>
516
517 * Add documentation to fuse_lowlevel.h
518
519 * API cleanups:
520
521 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
522
523 * Move fuse_mount() and fuse_unmount() to fuse_common.h
524
525 * Change the return type of fuse_reply_none() from int to void.
526
Miklos Szerediaf138742005-09-30 08:49:59 +00005272005-09-30 Miklos Szeredi <miklos@szeredi.hu>
528
529 * kernel: NFS exporting leaked dentries. Bug found and fixed by
530 Akshat Aranya.
531
Miklos Szeredidb016e02005-09-29 10:06:27 +00005322005-09-29 Miklos Szeredi <miklos@szeredi.hu>
533
534 * fusermount: fix error message, when unable to open /dev/fuse.
535 Report by Balázs Pozsár
536
Miklos Szeredi35200932005-09-28 14:50:49 +00005372005-09-28 Miklos Szeredi <miklos@szeredi.hu>
538
539 * UClibc fixes from Christian Magnusson
540
Miklos Szeredi8eddf642005-09-27 08:58:26 +00005412005-09-27 Miklos Szeredi <miklos@szeredi.hu>
542
543 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
544
Miklos Szerediedec95c2005-09-26 10:22:22 +00005452005-09-26 Miklos Szeredi <miklos@szeredi.hu>
546
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000547 * Released 2.4.0-rc1
548
5492005-09-26 Miklos Szeredi <miklos@szeredi.hu>
550
Miklos Szerediedec95c2005-09-26 10:22:22 +0000551 * fusermount: allow user umount in the case when /etc/mtab is a
552 symlink to /proc/mounts. Reported by Balázs Pozsár.
553
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00005542005-09-23 Miklos Szeredi <miklos@szeredi.hu>
555
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000556 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000557
Miklos Szeredif45f3c12005-09-22 15:14:27 +00005582005-09-22 Miklos Szeredi <miklos@szeredi.hu>
559
560 * Slight optimization in returning EINVAL error in case of an open
561 with O_DIRECT flag.
562
Miklos Szeredi670d07a2005-09-20 11:36:32 +00005632005-09-20 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Remove '--enable-auto-modprobe' configure flag. Module
566 auto-loading is now handled by the kernel.
567
Miklos Szeredid51fca12005-09-15 12:51:00 +00005682005-09-15 Miklos Szeredi <miklos@szeredi.hu>
569
570 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
571 Help from Jens M. Noedler.
572
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005732005-09-14 Miklos Szeredi <miklos@szeredi.hu>
574
575 * Add memory cleanup on thread exit
576
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005772005-09-13 Miklos Szeredi <miklos@szeredi.hu>
578
579 * Set umask to zero in fusexmp and fusexmp_fh, so that
580 files/directories are created with the requested mode.
581
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005822005-09-12 Miklos Szeredi <miklos@szeredi.hu>
583
584 * Don't ignore read error in multithreaded loop
585
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005862005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000587
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000588 * Released 2.4.0-pre2
589
5902005-09-08 Miklos Szeredi <miklos@szeredi.hu>
591
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000592 * Revert lock and access operations. Postpone these until 2.5.
593
5942005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000595
596 * Fix compile warning on 2.6.13 and later
597
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000598 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000599
Miklos Szeredi77ccf652005-08-19 14:40:27 +00006002005-08-19 Miklos Szeredi <miklos@szeredi.hu>
601
602 * lib: always refresh directory contents after rewinddir() to
603 conform to SUS. Bug found by John Muir.
604
Miklos Szeredia1482422005-08-14 23:00:27 +00006052005-08-15 Miklos Szeredi <miklos@szeredi.hu>
606
Miklos Szeredic43f9412005-08-15 15:10:48 +0000607 * Released 2.4.0-pre1
608
6092005-08-14 Miklos Szeredi <miklos@szeredi.hu>
610
Miklos Szeredia1482422005-08-14 23:00:27 +0000611 * lib: cleaned up (or messed up, depending on your POV) the low
612 level library API. Hopefully this is close to the final form.
613
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00006142005-08-05 Miklos Szeredi <miklos@szeredi.hu>
615
616 * fusermount: don't allow empty mountpoint argument, which defeats
617 automatic umounting in fuse_main(). Bugreport by Václav Jůza
618
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00006192005-08-03 Miklos Szeredi <miklos@szeredi.hu>
620
621 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
622 option is used (Paul Alfille).
623
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00006242005-08-02 Miklos Szeredi <miklos@szeredi.hu>
625
626 * highlevel-lib: added mount options "attr_timeout" and
627 "entry_timeout". These options control the length of time file
628 attributes and entries (names) are cached. Both default to 1.0
629 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000630
631 * kernel: correctly handle zero timeout for attributes and entries
632
Miklos Szeredi56a61f02005-08-01 10:42:25 +00006332005-08-01 Miklos Szeredi <miklos@szeredi.hu>
634
635 * Added missing symbols to versionscript (Joshua J. Berry)
636
Miklos Szeredie77cc072005-08-01 11:58:51 +0000637 * kernel: implement two flags, open can set: 'direct_io' and
638 'keep_cache'. These correspond exactly to mount options
639 'direct_io' and 'kernel_cache', but allow a per-open setting.
640
641 * Move 'direct_io' and 'kernel_cache' mount option handling to
642 userspace. For both mount options, if the option is given, then
643 the respective open flag is set, otherwise the open flag is left
644 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000645
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000646 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000647
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00006482005-07-28 Miklos Szeredi <miklos@szeredi.hu>
649
650 * kernel: invalidate attributes for read/readdir/readlink
651 operations
652
653 * kernel: detect newer UML kernels
654
Miklos Szeredibfb99462005-07-26 11:07:55 +00006552005-07-26 Miklos Szeredi <miklos@szeredi.hu>
656
657 * Make the installation path of fuse.ko and mount.fuse
658 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
659 environment variables. Requirement and help from Csaba Henk.
660
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00006612005-07-22 Miklos Szeredi <miklos@szeredi.hu>
662
663 * Fix bug, that causes filesystem requests to hang when unique
664 request counter becomes negative. This happens after
665 2,147,483,648 operations, so most people won't care. Thanks to
666 Franco Broi for the report and testing.
667
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006682005-07-21 Miklos Szeredi <miklos@szeredi.hu>
669
670 * Don't change mtime/ctime/atime to local time on read/write.
671 Bug reported by Ben Grimm
672
673 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
674 Magnusson
675
676 * fusermount: use getopt_long() for option parsing. It allows the
677 use of '--' to stop argument scanning, so fusermount can now
678 operate on directories whose names begin with a '-'. Patch by
679 Adam Connell
680
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006812005-07-15 Miklos Szeredi <miklos@szeredi.hu>
682
683 * fusermount: add '-v', '--version' and '--help' options
684
685 * add inode based API
686
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006872005-07-12 Miklos Szeredi <miklos@szeredi.hu>
688
689 * lib: don't block signals in worker threads. Problem noticed by
690 Usarin Heininga
691
Miklos Szeredic902a852005-07-07 12:35:37 +00006922005-07-07 Miklos Szeredi <miklos@szeredi.hu>
693
694 * lib: don't allow both 'allow_other' and 'allow_root' options to
695 be given
696
Miklos Szeredi437d8112005-07-06 09:14:20 +00006972005-07-06 Miklos Szeredi <miklos@szeredi.hu>
698
699 * fusermount: check if mountpoint is empty (only '.' and '..' for
700 directories, and size = 0 for regular files). If "nonempty"
701 option is given, omit this check. This is useful, so users don't
702 accidentally hide data (e.g. from backup programs). Thanks to
703 Frank van Maarseveen for pointing this out.
704
705 * kernel: check if mandatory mount options ('fd', 'rootmode',
706 'user_id', 'group_id') are all given
707
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000708 * lib: simplify 'readdir_ino' handling
709
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000710 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
711
Miklos Szeredibb9f5172005-07-03 18:03:11 +00007122005-07-03 Miklos Szeredi <miklos@szeredi.hu>
713
714 * kernel: clean up 'direct_io' code
715
Miklos Szeredie1bcece2005-06-28 10:37:06 +00007162005-06-28 Miklos Szeredi <miklos@szeredi.hu>
717
718 * Add 'mount.fuse' written by Petr Klima
719
Miklos Szeredi866826d2005-06-28 12:22:57 +0000720 * '/dev/fuse' is created by 'make install' if does not yet exist
721
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00007222005-06-20 Miklos Szeredi <miklos@szeredi.hu>
723
724 * Fix UCLIBC compile error. Patch by Christian Magnusson
725
Miklos Szerediec12fad2005-06-08 10:26:34 +00007262005-06-08 Miklos Szeredi <miklos@szeredi.hu>
727
728 * Enable the auto-loading of the module via access to the
729 corresponding device file. Patch by Takashi Iwai.
730
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000731 * Allow mounting a regular file (over a regular file) for
732 unprivleged users.
733
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000734 * Do not create temporary device file. Require "/dev/fuse" to
735 exist, and be readable/writable by the mounting user.
736
Miklos Szeredi46960ce2005-06-02 09:05:00 +00007372005-06-02 Miklos Szeredi <miklos@szeredi.hu>
738
Miklos Szeredi56478552005-06-02 10:29:00 +0000739 * Released 2.3.0
740
7412005-06-02 Miklos Szeredi <miklos@szeredi.hu>
742
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000743 * Fix serious information leak: if the filesystem returns a short
744 byte count to a read request, and there are non-zero number of
745 pages which are not filled at all, these pages will not be zeroed.
746 Hence the user can read out previous memory contents. Found by
747 Sven Tantau.
748
Miklos Szeredi33be22d2005-05-27 09:12:43 +00007492005-05-27 Miklos Szeredi <miklos@szeredi.hu>
750
751 * Add "readdir_ino" mount option, which tries to fill in the d_ino
752 field in struct dirent. This mount option is ignored if "use_ino"
753 is used. It helps some programs (e.g. 'pwd' used over NFS from a
754 non-Linux OS). Patch by David Shaw.
755
Miklos Szeredif94e0102005-05-12 14:56:34 +00007562005-05-12 Miklos Szeredi <miklos@szeredi.hu>
757
Miklos Szeredieb009c42005-05-12 15:01:17 +0000758 * Released 2.3-rc1
759
7602005-05-12 Miklos Szeredi <miklos@szeredi.hu>
761
Miklos Szeredif94e0102005-05-12 14:56:34 +0000762 * File save in krusader and other editors doesn't work with sshfs,
763 because open() is interrupted by a periodic signal, and open()
764 restarts forever, without any progress. This could just be fixed
765 in open(), but the problem is more generic: if signals are
766 received more often than the filesystem can get the request to
767 userspace, it will never finish. This is probably only a
768 theoretical problem, nevertheless I'm removing the possibility to
769 interrupt requests with anything other than SIGKILL, even before
770 being sent to userspace. Bugreport by Eduard Czimbalmos.
771
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007722005-05-09 Miklos Szeredi <miklos@szeredi.hu>
773
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000774 * libfuse: add "tree_lock" rwlock, that is locked for write in
775 rename, unlink and rmdir, and locked for read in all other
776 operations. This should fix the rename/release race reported by
777 Valient Gough and others. The solution is very coarse, a finer
778 grained locking scheme could be implemented, but it would be much
779 more complex. Let's see whether this is good enough.
780
7812005-05-09 Miklos Szeredi <miklos@szeredi.hu>
782
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000783 * Released 2.3-pre7
784
Miklos Szeredi38009022005-05-08 19:47:22 +00007852005-05-08 Miklos Szeredi <miklos@szeredi.hu>
786
787 * Better fix for out of order FORGET messages. Now the
788 LOOKUP/FORGET messages are balanced exactly (one FORGET can
789 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000790 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000791 compatible.
792
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00007932005-05-06 Miklos Szeredi <miklos@szeredi.hu>
794
795 * Fix abort for out of order FORGET messages. Again. Spotted by
796 Franco Broi again. Sorry :)
797
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00007982005-04-29 Miklos Szeredi <miklos@szeredi.hu>
799
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000800 * Released 2.3-pre6
801
8022005-04-29 Miklos Szeredi <miklos@szeredi.hu>
803
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000804 * Make fusermount work with fuse kernel modules not yet supporting
805 the "group_id" option (added for the purpose of stricter
806 permission checking).
807
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00008082005-04-28 Miklos Szeredi <miklos@szeredi.hu>
809
810 * Check for hard-linked directories in lookup. This could cause
811 problems in the VFS, which assumes that such objects never exist.
812
813 * Make checking of permission for other users more strict. Now
814 the same privilege is required for the mount owner as for ptrace
815 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000816
Miklos Szeredi3efcb562005-04-23 13:34:29 +00008172005-04-23 Miklos Szeredi <miklos@szeredi.hu>
818
819 * Released 2.3-pre5
820
Miklos Szeredid001bf92005-04-22 07:54:11 +00008212005-04-22 Miklos Szeredi <miklos@szeredi.hu>
822
823 * Add -msoft-float to kernel module compile flags for 2.4.X. This
824 is needed on certain architectures. Report from Chris Kirby
825
826 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
827 Reported by David Shaw
828
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000829 * Remove "allow_root" option from kernel module, and implement
830 it's functionality in the library
831
832 * Fix Oops caused by premature release of fuse_conn. Clean up
833 related code, to be more readable
834
Miklos Szeredif9137452005-04-23 10:59:44 +0000835 * Sendfile should not use page cache if "direct_io" mount option
836 is given
837
Miklos Szeredib7640d22005-04-08 15:15:28 +00008382005-04-08 Miklos Szeredi <miklos@szeredi.hu>
839
840 * Fix Oops in case of nfs export. Spotted by David Shaw
841
Miklos Szeredi89814a12005-04-08 16:39:09 +0000842 * Fix another Oops in case of write over nfs with direct_io turned
843 on. Again spotted by David Shaw
844
Miklos Szerediab974562005-04-07 15:40:21 +00008452005-04-07 Miklos Szeredi <miklos@szeredi.hu>
846
Miklos Szeredi432d6182005-04-07 15:56:13 +0000847 * Released 2.3-pre4
848
8492005-04-07 Miklos Szeredi <miklos@szeredi.hu>
850
Miklos Szerediab974562005-04-07 15:40:21 +0000851 * lib: finalized new readdir() interface, which now supersedes the
852 getdir() method.
853
Miklos Szeredi30e093a2005-04-03 17:44:54 +00008542005-04-03 Miklos Szeredi <miklos@szeredi.hu>
855
856 * Released 2.3-pre3
857
8582005-04-03 Miklos Szeredi <miklos@szeredi.hu>
859
860 * Implement backward compatibility with version 5 kernel ABI
861
Miklos Szeredi18fce982005-04-01 21:07:35 +00008622005-04-01 Miklos Szeredi <miklos@szeredi.hu>
863
864 * Released 2.3-pre2
865
8662005-04-01 Miklos Szeredi <miklos@szeredi.hu>
867
868 * kernel: fix dirent offset handling
869
870 * lib: add readdir and releasedir methods
871
872 * lib: use fh field of fuse_file_info in opendir, readdir,
873 releasedir and fsyncdir methods
874
875 * lib: check kernel API version and bail out of it's old. This
876 will be properly fixed in the next release
877
8782005-03-31 Miklos Szeredi <miklos@szeredi.hu>
879
880 * Released 2.3-pre1
881
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008822005-03-31 Miklos Szeredi <miklos@szeredi.hu>
883
884 * kernel API: add padding to structures, so 64bit and 32bit
885 compiler will return the same size
886
887 * kernel API: add offset field to fuse_dirent. This will allow
888 more sophisticated readdir interface for userspace
889
890 * kernel API: change major number to 6
891
892 * kernel: fix warnings on 64bit archs
893
894 * kernel: in case of API version mismatch, return ECONNREFUSED
895
Miklos Szeredi407e6a72005-03-25 12:19:43 +00008962005-03-24 Miklos Szeredi <miklos@szeredi.hu>
897
898 * kernel: trivial cleanups
899
Miklos Szeredi4283ee72005-03-21 12:09:04 +00009002005-03-21 Miklos Szeredi <miklos@szeredi.hu>
901
902 * Add fsyncdir() operation
903
Miklos Szeredid17da462005-03-21 11:47:04 +00009042005-03-19 Miklos Szeredi <miklos@szeredi.hu>
905
906 * kernel: add locking to background list (fixes previous fix)
907
9082005-03-18 Miklos Szeredi <miklos@szeredi.hu>
909
910 * kernel: fix bug which could cause leave busy inodes after
911 unmount, and Oops.
912
9132005-03-08 Miklos Szeredi <miklos@szeredi.hu>
914
915 * examples: add -lpthread to link flags to work around valgrind
916 quirk
917
918 * lib: don't exit threads, so cancelation doesn't cause segfault
919
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00009202005-03-04 Miklos Szeredi <miklos@szeredi.hu>
921
922 * kernel: fix nasty bug which could cause an Oops under certain
923 situations. Found by Magnus Johansson
924
Miklos Szeredif43f0632005-02-28 11:46:56 +00009252005-02-28 Miklos Szeredi <miklos@szeredi.hu>
926
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000927 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000928 permission checking in getdir() is too late. Thanks to Usarin
929 Heininga for pointing out this deficiency
930
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000931 * libfuse: added init() and destroy() methods to fuse_operations
932
Miklos Szeredif43f0632005-02-28 11:46:56 +0000933 * kernel: llseek() method for files and directories made explicit
934
935 * kernel: fixed inode leak in NFS export in case of nodeid
936 wrapping
937
Miklos Szeredied3c97c2005-02-15 17:04:50 +00009382005-02-15 Miklos Szeredi <miklos@szeredi.hu>
939
940 * libfuse: clean up some unitialized memory found with valgrind
941
Miklos Szeredi47c52982005-02-23 09:27:38 +0000942 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
943 explicitly linked libpthread for applications
944
Miklos Szeredia7169412005-02-10 07:35:05 +00009452005-02-10 Miklos Szeredi <miklos@szeredi.hu>
946
947 * fusermount: set umask, otherwise /etc/mtab will have
948 unpredictable permission. Spotted by Jindrich Kolorenc
949
950 * fusermount: set owner and group of /etc/mtab to original values
951 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000952
953 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000954
Miklos Szeredib92d9782005-02-07 16:10:49 +00009552005-02-07 Miklos Szeredi <miklos@szeredi.hu>
956
957 * Cleaned up directory reading (temporary file is not used)
958
Miklos Szerediff30a6c2005-02-02 10:53:59 +00009592005-02-02 Miklos Szeredi <miklos@szeredi.hu>
960
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000961 * Released 2.2
962
9632005-02-02 Miklos Szeredi <miklos@szeredi.hu>
964
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000965 * Fix possible race when operation is interrupted
966
Miklos Szeredi7a983952005-01-28 09:58:19 +00009672005-01-28 Miklos Szeredi <miklos@szeredi.hu>
968
Miklos Szeredie5183742005-02-02 11:14:04 +0000969 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000970
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009712005-01-26 Miklos Szeredi <miklos@szeredi.hu>
972
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000973 * Released 2.2-pre6
974
9752005-01-26 Miklos Szeredi <miklos@szeredi.hu>
976
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000977 * Fix bug in link() operation which caused the wrong path to be
978 passed as the first argument. Found by Anton Altaparmakov
979
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009802005-01-21 Miklos Szeredi <miklos@szeredi.hu>
981
982 * LIB: fix double reply in readdir operation
983
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000984 * fusermount: fix uid checking bug. Patch by Adam Connell
985
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000986 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000987 Patch by Keshava Gowda
988
Miklos Szeredi64074142005-01-20 08:48:11 +00009892005-01-20 Miklos Szeredi <miklos@szeredi.hu>
990
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000991 * KERNEL: provide correct llseek semantics for fuse device (fixes
992 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
993
9942005-01-20 Miklos Szeredi <miklos@szeredi.hu>
995
Miklos Szeredi64074142005-01-20 08:48:11 +0000996 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
997
Miklos Szeredi1adb2272005-01-18 21:19:58 +00009982005-01-18 Miklos Szeredi <miklos@szeredi.hu>
999
1000 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1001 and RELEASEDIR. This ends the ugly hack of passing a file
1002 descriptor to the kernel, and actually makes the code simpler.
1003
Miklos Szeredi7db35c02005-01-17 09:46:28 +000010042005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1005
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001006 * Released 2.2-pre4
1007
10082005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1009
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001010 * fusermount: remove capability setting, which was the cause of
1011 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001012 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001013
Miklos Szeredidbe0f652005-01-15 14:32:56 +000010142005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001015
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001016 * fix compilation on 2.4 kernels (reported by Valient Gough)
1017
1018 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001019
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001020 * fusermount: improve parsing of /etc/fuse.conf
1021
10222005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1023
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001024 * Remove 'mount_max' and 'user_allow_other' module options. These
1025 are now checked by fusermount, and can be set in /etc/fuse.conf
1026
1027 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1028
Miklos Szeredi81394522005-01-11 14:24:18 +000010292005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1030
1031 * KERNEL: fix possible inode allocation problem, where
1032 sizeof(struct inode) is not aligned (found by Mike Waychison)
1033
1034 * KERNEL: use new follow_link/put_link methods
1035
1036 * KERNEL: cosmetic fixes
1037
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000010382005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1039
1040 * Released 2.2-pre3
1041
10422005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1043
1044 * Add missing code that was accidently left out
1045
Miklos Szeredi8c7da232005-01-09 12:27:41 +000010462005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1047
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001048 * Released 2.2-pre2
1049
10502005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1051
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001052 * Change "uid" mount option to "user_id" to avoid confusion with a
1053 mount option "uid" commonly used by many filesystems
1054
10552005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1056
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001057 * Released 2.2-pre1
1058
10592005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1060
1061 * If FUSE is configured in the kernel, don't build it by default
1062
Miklos Szeredi2a927272005-01-07 11:14:15 +000010632005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1064
1065 * Compile fix by Christian Magnusson
1066
Miklos Szeredib6220192005-01-05 16:19:10 +000010672005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1068
1069 * Fix compilation for 2.6.{0-5} kernels
1070
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010712005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1072
1073 * KERNEL: if request is interrupted, still keep reference to used
1074 inode(s) and file, so that FORGET and RELEASE are not sent until
1075 userspace finishes the request.
1076
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001077 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1078 request with the same information, which is more flexible,
1079 simpler, works on embedded systems.
1080
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010812004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1082
1083 * KERNEL ABI: update interface to make it independent of type
1084 sizes. This will help on 64 bit architectures which can run
1085 legacy 32 bit applications.
1086
1087 * KERNEL ABI: add "len" field to request headers. This will allow
1088 sending/receiving requests in multiple chunks.
1089
1090 * KERNEL: handle file type change more intelligently
1091
1092 * LIB: "-o debug" option should disable backgrounding (fix by
1093 Fabien Reygrobellet)
1094
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000010952004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1096
1097 * KERNEL: invalidate dentry/attributes if interrupted request
1098 could leave filesystem in an unknown state.
1099
Miklos Szeredie56818b2004-12-12 11:45:24 +000011002004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1101
1102 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1103 These will cause some regressions, but stability is considered
1104 more important. If any of these features turns out to be
1105 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001106
Miklos Szeredie56818b2004-12-12 11:45:24 +00001107 * Make all requests interruptible (only with SIGKILL currently).
1108 This can be used to break any deadlock produced by the userspace
1109 filesystem accessing it's own exported files. The RELEASE request
1110 is special, because if it's interrupted before sending it to
1111 userspace it is still sent, but the reply is not awaited.
1112
1113 * If request is interrupted before being sent to userspace, and if
1114 it hasn't yet got any side effects, it is always restarted,
1115 regardless of the SA_RESTART flag. This makes these interruptions
1116 transparent to the process.
1117
1118 * Remove shared-writable mmap support, which was prone to an
1119 out-of-memory deadlock situation
1120
1121 * Remove INVALIDATE userspace initiated request
1122
1123 * Make readpages() synchronous. Asynchronous requests are
1124 deadlock prone, since they cannot be interrupted.
1125
1126 * Add readv/writev support to fuse device operations
1127
1128 * Remove some printks, which userspace FS can use for a DoS
1129 against syslog
1130
1131 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1132 fusermount instead
1133
1134 * LIB: improve compatibility with a fuse.h header installed in
1135 ${prefix}/include which in turn includes the real header.
1136
1137 * LIB: improve compatibility by defining fuse_main() (which is now
1138 not used), so old configure scripts find it.
1139
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000011402004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1141
1142 * When mounting on a subdirectory of / don't duplicate slashes at
1143 the beggining of path (spotted by David Shaw)
1144
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000011452004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1146
1147 * Fix bug causing garbage in mount options (spotted by David Shaw)
1148
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000011492004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1150
1151 * Add 'writepage' flag to 'fuse_file_info'.
1152
1153 * More comments in fuse.h
1154
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001155 * Get rid of double underscores
1156
Miklos Szeredi799993c2004-12-04 21:20:05 +000011572004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1158
1159 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1160
1161 * helper.c: add -ho option, which only displays the options not
1162 the usage header. This can be used by filesystems which have
1163 their own options.
1164
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000011652004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1166
1167 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1168 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1169 including the fuse header
1170
1171 * Add binary compatibility to 2.1 version of library with symbol
1172 versioning
1173
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011742004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1175
1176 * Released 2.1
1177
Miklos Szeredi039322d2004-12-01 18:39:12 +000011782004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1179
1180 * kernel: clean up writing functions
1181
1182 * kernel: no allocation on write in direct_io mode
1183
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001184 * move linux/fuse.h to fuse_kernel.h
1185
Miklos Szeredi83a07442004-11-30 18:25:20 +000011862004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1187
1188 * kernel: clean up reading functions
1189
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000011902004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1191
1192 * kernel: make readpage() uninterruptible
1193
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001194 * kernel: check readonly filesystem flag in fuse_permission
1195
1196 * lib: don't die if version file not found and new style device
1197 exists
1198
1199 * lib: add '-r' option, which is short for '-o ro'
1200
1201 * fusermount: simplify device opening
1202
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001203 * kernel: when direct_io is turend on, copy data directly to
1204 destination without itermediate buffer. More efficient and safer,
1205 since no allocation is done.
1206
1207 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001208
1209 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001210
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000012112004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1212
1213 * libfuse API change: open, read, write, flush, fsync and release
1214 are passed a 'struct fuse_file_info' pointer containing the open
1215 flags (open and release), and the file handle. Verion changed to
1216 3.0.
1217
Miklos Szeredia25d4c22004-11-23 22:32:16 +000012182004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1219
1220 * More cleanups in the kernel
1221
1222 * The 10,229 charater device number has been assigned for FUSE
1223
1224 * Version file checking fix (reported by Christian Magnusson)
1225
1226 * fusermount: opening the fuse device now doesn't need /sys.
1227
1228 * Optimize reading by controlling the maximum readahead based on
1229 the 'max_read' mount option
1230
1231 * fixes for UCLIBC (Christian Magnusson)
1232
Miklos Szeredi13ed4822004-11-20 11:12:21 +000012332004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1234
1235 * Cleaned up kernel in preparation for merge into mainline:
1236
1237 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1238
1239 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1240
1241 * __user annotations for sparse
1242
1243 * allocate individual pages instead of kmalloc in fuse_readdir,
1244 fuse_read and fuse_write.
1245
1246 * Fix NFS export in case "use_ino" mount option is given
1247
Miklos Szeredif3845c42004-11-20 11:18:34 +00001248 * Make libfuse and fusermount compatible with future versions
1249
1250 * fusermount: properly add mount options to /etc/mtab
1251
12522004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1253
1254 * fusermount: do not resolve last component of mountpoint on if it
1255 is '.' or '..'. This new path resolvation is now done on mount as
1256 well as unmount. This enables relative paths to work on unmount.
1257
1258 * fusermount: parse common mount options like "ro", "rw", etc...
1259
1260 * Allow module params to be changed through sysfs
1261
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000012622004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1263
1264 * Released 2.1-pre1
1265
12662004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1267
1268 * Fix bug in fuse_readpages() causing Oops in certain situations.
1269 Bug found by Vincenzo Ciancia.
1270
1271 * Fix compilation with kernels versions > 2.6.9.
1272
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012732004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001274
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001275 * Check kernel interface version in fusermount to prevent
1276 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001277
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001278 * No need to allocate fuse_conn until actual mount happens
1279
1280 * Fix potential race between umount and fuse_invalidate
1281
1282 * Check superblock of proc file in addition to inode number
1283
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001284 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001285
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012862004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1287
1288 * Separate configure for the kernel directory
1289
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001290 * Don't allow write to return more than 'count'
1291
1292 * Extend kernel interface for future use
1293
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012942004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1295
1296 * Fix 'makeconf.sh' to use autoreconf if available
1297
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000012982004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1299
Miklos Szeredid507c732004-11-08 17:32:25 +00001300 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1301 compatibility with earlier versions. To compile earier versions
1302 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1303 Do not use the "use_ino" mount flag with filesystems compiled with
1304 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001305
1306 * Add pkg-config support. To compile a FUSE based filesystem you
1307 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1308 or similar. Note, that the PKG_CONFIG_PATH environment variable
1309 usually needs to be set to "/usr/local/lib/pkgconfig".
1310
1311 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001312
Miklos Szeredia13d9002004-11-02 17:32:03 +000013132004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1314
1315 * Added "use_ino" mount option. This enables the filesystems to
1316 set the st_ino field on files
1317
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000013182004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1319
1320 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1321 by Jeremy Smith)
1322
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001323 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1324
1325 * Clear the 'exited' flag when mail loop is finished
1326
Miklos Szeredie989f0d2004-10-28 20:24:58 +000013272004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1328
1329 * Make xattr functions work under 2.6 (bug found by Vincenzo
1330 Ciancia)
1331
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000013322004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1333
1334 * Reset request in fuse_flush() (bugreport by David Shaw)
1335
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000013362004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1337
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001338 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001339 error code
1340
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001341 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001342 make it easier to implement a custom event loop.
1343
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001344 * Use daemon() call to background the filesystem after mounting.
1345 This function closes the standard input, output and error and
1346 changes the current working directory to "/".
1347
Miklos Szeredi127d49b2004-10-14 13:33:39 +000013482004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1349
1350 * Released 1.9
1351
Miklos Szeredid45baf42004-10-10 07:56:12 +000013522004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1353
1354 * Don't allow fuse_flush() to be interrupted (bug found by David
1355 Shaw)
1356
Miklos Szeredi1f18db52004-09-27 06:54:49 +000013572004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1358
1359 * Add PID to fuse_context. Patch by Steven James
1360
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001361 * Change file handle type to 'unsigned long' in kernel interface
1362
Miklos Szeredid169f312004-09-22 08:48:26 +000013632004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1364
1365 * A slight API change: fuse_get_context() doesn't need the "fuse"
1366 pointer, but the returned context contains it instead. The
1367 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001368
1369 * Fix mounting and umounting FUSE filesystem under another FUSE
1370 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001371
Miklos Szeredic2309912004-09-21 13:40:38 +000013722004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1373
1374 * Fix deadlock in case of memory allocation failure. Patch by
1375 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001376
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013772004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1378
1379 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001380
Miklos Szeredi65afea12004-09-14 07:13:45 +000013812004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1382
1383 * Check temporary file creation failure in do_getdir(). Bug
1384 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001385
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013862004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1387
1388 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001389
1390 * Make requests non-interruptible so race with FORGET is avoided.
1391 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001392
1393 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001394
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000013952004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1396
1397 * Fix bug in case two FORGETs for the same node are executed in
1398 the wrong order. Bug spotted and endured for months by Franco
1399 Broi, and logfile for solution provided by Terje Oseberg
1400
Miklos Szeredi12085102004-09-02 18:13:57 +000014012004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1402
1403 * Add -D_REENTRANT to the compile flags
1404
1405 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001406
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000014072004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1408
1409 * Change release method to be non-interruptible. Fixes bug
1410 causing missing release() call when program which has opened files
1411 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001412
Miklos Szeredi891b8742004-07-29 09:27:49 +000014132004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1414
1415 * Add fuse_invalidate() to library API
1416
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000014172004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1418
1419 * Check permissions in setattr if 'default_permissions' flag is
1420 set. Bug spotted by Damjan Lango
1421
Miklos Szeredid66d3942004-07-24 13:47:44 +000014222004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1423
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001424 * 'large_read' mount option removed for 2.6 kernels, since the
1425 default (dynamic read size) is better
1426
1427 * Extend kernel API with file handles. A file handle is returned
1428 by open, and passed to read, write, flush, fsync and release.
1429 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001430
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001431 * Security changes:
1432
1433 * Change the current directory to the mountpoint before checking
1434 the permissions and mount filesystem on "."
1435
1436 * By default don't modprobe the fuse module for non-root. The old
1437 behavior can be restored with the '--enable-auto-modprobe' flag of
1438 ./configure
1439
1440 * By default don't allow shared writable mappings for non-root.
1441 The old behavior can be restored with the 'user_mmap=1' module
1442 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001443
Miklos Szeredibd7661b2004-07-23 17:16:29 +000014442004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1445
1446 * Clean up mount option passing to fusermount and to fuse_new()
1447 BEWARE: this changes the userspace API slightly, and the command
1448 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001449
Miklos Szeredi58865372004-07-20 14:22:26 +000014502004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1451
1452 * Optimize reading under 2.6 kernels by issuing multiple page
1453 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001454
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000014552004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1456
1457 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001458
Miklos Szeredi069c9502004-07-16 16:17:02 +000014592004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1460
1461 * Separate directory entry and inode attribute validity timer
1462
1463 * New write semaphore to stop page writeback during truncate
1464
1465 * Fsync now waits for all writes to complete before sending the
1466 request
1467
1468 * Optimization: if a page is completely written by
1469 fuse_commit_write(), clear the dirty flag and set the uptodate
1470 flag for that page
1471
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001472 * Some memory cleanup at exit
1473
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014742004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1475
1476 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001477 disable the "hide if open" behavior of unlink/rename.
1478
1479 * If temporary buffer allocation fails in raw read, fall back to a
1480 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001481
Miklos Szeredi73798f92004-07-12 15:55:11 +000014822004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1483
1484 * Fix bug in do_open() in libfuse: open count was incremented
1485 after the reply is sent so it could race with unlink/forget and
1486 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001487
Miklos Szeredi015fe702004-07-12 11:52:24 +000014882004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1489
1490 * When performing create or remove operation, refresh the parent's
1491 attributes on next revalidate, as i_nlink (and maybe size/time)
1492 could be inacurate.
1493
1494 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1495 pages (2.6 only)
1496
1497 * Set set_page_dirty address space operation (2.6 only)
1498
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014992004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001500
1501 * Minor fix in read: print debug info even if read size is zero
1502
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015032004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001504
1505 * Fix race between truncate and writepage (fsx-linux now runs
1506 without error)
1507
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015082004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001509
1510 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1511 by Mattias Wadman)
1512
1513 * Added option for direct read/write (-r)
1514
1515 * Fix revalidate time setting for newly created inodes
1516
Miklos Szerediacb4d362004-07-02 16:20:45 +00001517 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1518 this)
1519
1520 * fuse_main() only installs handlers for signals (out of INT, HUP,
1521 TERM, PIPE), for which no handler has yet been installed
1522
1523 * Add module option 'user_allow_other' which if set to non-zero
1524 will allow non root user to specify the 'allow_other' mount option
1525 ('-x' option of fusermount)
1526
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001527 * Fix deadlock between page writeback completion and truncate
1528 (bug found by Valient Gough with the fsx-linux utility)
1529
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015302004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001531
1532 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001533 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1534 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001535
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015362004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001537
1538 * Acquire inode->i_sem before open and release methods to prevent
1539 concurrent rename or unlink operations.
1540
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001541 * Make __fuse_read_cmd() read only one command. This allows
1542 multiplexing the fuse file descriptor with other event sources
1543 using select() or poll() (patch by Jeff Harris)
1544
1545 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1546
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015472004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001548
1549 * Fix file offset wrap around at 4G when doing large reads
1550
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015512004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001552
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001553 * Fix memory leak in open (Valient Gough)
1554
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015552004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001556
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001557 * Add "close after delete" support to libfuse (patch by Valient
1558 Gough)
1559
1560 * Cancel all worker threads before exit in multithreaded mode
1561
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015622004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001563
1564 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001565
1566 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001567
1568 * Work with newer libtool (1.5a)
1569
1570 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001571
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015722004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001573
1574 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001575
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015762004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001577
1578 * Fix possible inode leak in userspace in case of unfinished
1579 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001580
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015812004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001582
1583 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001584
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015852004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001586
1587 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001588
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015892004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001590
1591 * Build shared library as well as static (using libtool)
1592
1593 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1594 there has not been a release with the previous minor number, and I
1595 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001596
1597 * Change fuse_main(), so that default behavior is to go into
1598 background if mount is successful. '-f' and '-d' options disable
1599 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1600 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001601
1602 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1603 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001604
1605 * Don't call getdir method from open() only from first readdir().
1606 Open is sometimes just used to store the current directory
1607 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001608
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016092004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001610
1611 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001612
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016132004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001614
1615 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001616
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016172004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001618
1619 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001620
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016212004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001622
1623 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001624
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016252004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001626
1627 * Replaced binary mount data with text options
1628
1629 * Show FUSE specific mount options in /proc/mounts
1630
1631 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1632
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016332004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001634
1635 * Check some limits so userspace won't get too big requests
1636
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016372004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001638
1639 * Kill compile warning
1640
1641 * Upgraded user-mount patch for 2.6.5
1642
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016432004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001644
1645 * Add detection of user-mode-linux to configure
1646
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016472004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001648
1649 * fixed zero size case for getxattr and listxattr
1650
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016512004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001652
1653 * new fusermount flag '-z': lazy unmount, default is not lazy
1654
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001655 * Extended attributes operations added (getxattr, setxattr,
1656 listxattr, removexattr)
1657
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016582004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001659
1660 * If filesystem doesn't define a statfs operation, then an
1661 all-zero default statfs is returned instead of ENOSYS
1662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016632004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001664
1665 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1666
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016672004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001668
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001669 * Fix for uClinux (Christian Magnusson)
1670
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016712004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001672
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001673 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001674
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001675 * More kernel interface changes:
1676
1677 * Lookup/getattr return cache timeout values
1678
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016792004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001680
1681 * Clean up option parsing in fuse_main()
1682
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001683 * Added fuse_get() function which returns the fuse object created
1684 by fuse_main()
1685
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016862004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001687
Miklos Szeredic40748a2004-02-20 16:38:45 +00001688 * removed old way of mounting (fusermount mountpoint program)
1689
Miklos Szeredib5958612004-02-20 14:10:49 +00001690 * more kernel interface changes:
1691
1692 * added nanosecond precision to file times
1693
Miklos Szeredic40748a2004-02-20 16:38:45 +00001694 * removed interface version from mount data
1695
1696 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1697
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016982004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001699
1700 * statfs library API changed to match other methods. Since this
1701 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1702
Miklos Szeredi76f65782004-02-19 16:55:40 +00001703 * kernel interface changes follow:
1704
1705 * statfs changed to 64 bits, added 'bavail' field
1706
1707 * add generation number to lookup result
1708
1709 * optimized mknod/mkdir/symlink/link (no separate lookup is
1710 needed)
1711
1712 * rdev size increased to 32 bits for mknod
1713
1714 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001715
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017162004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001717
1718 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001719
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017202004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001721
1722 * Added user-mount.2.6.2-rc3.patch
1723
1724 * Add FS_SAFE flag to fuse filesystem
1725
1726 * fusermount should allow (un)mounting for non-root even if not
1727 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001728
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017292004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001730
1731 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001732
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017332004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001734
1735 * Added check for i_size_read/write functions to configure.in
1736 (patch by Valient Gough)
1737
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017382004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001739
1740 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001741
1742 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001743
1744 * Readpage calls flush_dcache_page() after storing data
1745
1746 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001747
1748 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001749
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017502004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001751
1752 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001753
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017542004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001755
1756 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001757
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017582004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001759
1760 * Added -q option for fusermount
1761
1762 * fuse_unmount() now uses -q option of fusermount, so no error is
1763 printed if the cause of the program exit is that the filesystem
1764 has already been unmounted
1765
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001766 * Fix i_nlink correctness after rmdir/unlink
1767
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017682004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001769
Miklos Szeredib1158392004-01-26 14:43:12 +00001770 * Released 1.1-pre2
1771
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017722004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001773
Miklos Szeredi307242f2004-01-26 11:28:44 +00001774 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001775
1776 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001777
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017782004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001779
1780 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001781
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017822004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001783
1784 * Write all pending data before a RELEASE operation
1785
1786 * Suppress 'Bad file descriptor' warning on exit
1787
1788 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001789 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001790
Miklos Szeredib1158392004-01-26 14:43:12 +00001791 * New fusermount option '-l' which enables big reads. Big reads
1792 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001793
1794 * fuse_main() can accept fusermount arguments after a '--'
1795
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017962004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001797
1798 * Support for exporting filesystem over NFS (see README.NFS)
1799
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018002004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001801
1802 * Support non-blocking writepage on 2.6. This makes FUSE behave
1803 much more nicely in low-memory situations
1804
1805 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1806 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001807
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018082004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001809
1810 * Code cleanups
1811
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018122004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001813
1814 * Released 1.1-pre1
1815
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018162004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001817
1818 * Integrated 2.6 kernel support patch by Michael Grigoriev
1819
1820 * Improvements and cleanups for 2.6 kernels
1821
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018222004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001823
Miklos Szeredie5183742005-02-02 11:14:04 +00001824 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001825
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018262003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001827
1828 * Added major+minor version to library API, and minor version to
1829 kernel API
1830
David McNab7a19caf2003-12-13 02:05:46 +000018312003-12-13 David McNab <david@rebirthing.co.nz>
1832
1833 * Implemented fsync support in examples/example.py
1834
1835 * Implemented 'fsync' and 'statfs' methods in python
1836 interface
1837
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018382003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001839
Miklos Szeredie5183742005-02-02 11:14:04 +00001840 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001841
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001842 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001843
David McNab8bf62632003-12-11 22:49:22 +000018442003-12-12 David McNab <david@rebirthing.co.nz>
1845
1846 * Added distutils support to the python module, as per standard
1847 python development practice
1848
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018492003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001850
1851 * Add file locking for mount/unmount (based on patch by Valient
1852 Gough)
1853
18542003-12-11 David McNab <david@rebirthing.co.nz>
1855
1856 * Python filesystem - was broken with python2.3, now fixed:
1857 - changed PyTuple_* calls to PySequence_*, because os.lstat
1858 is no longer returning a pure tuple
1859 - changed PyInt_Check() calls to also call PyLong_Check,
1860 to cover for cases (eg os.lstat) where longs are returned
1861 - Added support for file 'release' handling, which IMO is
1862 essential since this signals to a FS that writes to a file
1863 are complete (and therefore the file can now be disposed of
1864 meaningfully at the python filesystem's discretion)
1865 - Added '__init__' handler to base Fuse class, which allows
1866 your Python class to know the mountpoint and mount args,
1867 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001868
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001869 * General:
1870 - added 'mount.fuse' script (in util/ dir), which is meant to be
1871 symlinked from /sbin, and which allows FUSE filesystems to
1872 be mounted with the 'mount' command, and listed in fstab;
1873 also, mount arguments get passed to your filesystem
1874
1875
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018762003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001877
1878 * Fix kernel version detection (again). Bugreport by Peter Levart
1879
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018802003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001881
1882 * Applied read combining patch by Michael Grigoriev (tested by
1883 Valient Gough and Vincent Wagelaar)
1884
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018852003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001886
1887 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1888 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001891
1892 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001893
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018942003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001895
1896 * kernel version detection fix
1897
1898 * fusermount now uses "lazy" umount option
1899
1900 * fusermount can use modprobe with module-init-tools
1901
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019022003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001903
1904 * Integrated caching patch by Michael Grigoriev
1905
Miklos Szeredida4e4862003-09-08 11:14:11 +00001906 * Added "Filesystems" file with descriptions of projects using
1907 FUSE
1908
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001909 * Added patch by Michael Grigoriev to allow compliation of FUSE
1910 kernel module for 2.6 kernels
1911
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019122003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001913
1914 * And another spec-file fix by Achim Settelmeier
1915
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019162003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001917
1918 * Spec-file fix by Achim Settelmeier
1919
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019202003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001921
Miklos Szerediac361172004-11-02 19:14:14 +00001922 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001923
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019242003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001925
1926 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1927
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019282003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001929
1930 * Updated fuse.spec file (Achim Settelmeier)
1931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019322003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001933
1934 * Version 1.0 released
1935
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019362003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001937
1938 * SuSE compilation fix by Juan-Mariano de Goyeneche
1939
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019402002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001941
1942 * The release() VFS call is now exported to the FUSE interface
1943
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019442002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001945
1946 * 64 bit file offset fixes in the fuse kernel module
1947
1948 * Added function 'fuse_exit()' which can be used to exit the main
1949 loop
1950
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019512002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001952
1953 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1954 an incompatible interface change.
1955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019562002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001957
1958 * Portablility fix (bug reported by C. Chris Erway)
1959
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019602002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001961
1962 * Use Mark Glines' fd passing method for default operation instead
1963 of old reexec
1964
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019652002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001966
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001967 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1968
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019692002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001970
Miklos Szeredi60c23522002-10-24 09:19:43 +00001971 * fix incompatiblity with Red Hat kernels, with help from Nathan
1972 Thompson-Amato.
1973
Mark Glines65ba2192002-04-18 14:41:48 +000019742002-04-18 Mark Glines <mark@glines.org>
1975
1976 * added an alternative to fuse_mount(), called
1977 fuse_mount_ioslave(), which does not need to reexec the
1978 FUSE program.
1979 * added a small helper util needed by fuse_mount_ioslave().
1980
Mark Glines220635a2002-03-17 07:01:14 +000019812002-03-16 Mark Glines <mark@glines.org>
1982
1983 * use struct fuse_statfs everywhere possible to avoid problems
1984 with the headerfiles changing struct statfs member sizes
1985
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019862002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001987
1988 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1989
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019902002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001991
1992 * RPM support by Achim Settelmeier
1993
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019942002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001995
Miklos Szerediddc862a2002-01-09 13:46:10 +00001996 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001997
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019982002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001999
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002000 * Revaidate all path components not just the last, this means a
2001 very small performance penalty for being more up-to-date.
2002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020032002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002004
2005 * Update and fix python interface
2006
Mark Glinesd84b39a2002-01-07 16:32:02 +000020072002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002008
Mark Glinesd84b39a2002-01-07 16:32:02 +00002009 * Added statfs() support to kernel, lib, examples, and perl!
2010
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020112001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002012
2013 * Better cross compilation support
2014
2015 * Ported to Compaq IPAQ
2016
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020172001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002018
Miklos Szeredife25def2001-12-20 15:38:05 +00002019 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002020 patch from Matt Ryan)
2021
Miklos Szeredife25def2001-12-20 15:38:05 +00002022 * Added flags to fusermount and to kernel interface to control
2023 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002024
Miklos Szeredife25def2001-12-20 15:38:05 +00002025 * Integrated fuse_set_operations() into fuse_new()
2026
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020272001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002028
2029 * Applied header protection + extern "C" patch by Roland
2030 Bauerschmidt
2031
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020322001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002033
Miklos Szeredie5183742005-02-02 11:14:04 +00002034 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002035
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020362001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002037
2038 * Cleaned up way of mounting simple filesystems.
2039
2040 * fuse_main() helper function added
2041
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020422001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002043
Miklos Szeredife25def2001-12-20 15:38:05 +00002044 * Optimized read/write operations, so that minimal copying of data
2045 is done
2046
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020472001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002048
2049 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002050
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020512001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002052
2053 * Fixed vfsmount reference leak in fuse_follow_link
2054
2055 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2056 userspace is ignored
2057
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020582001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002059
Miklos Szeredife25def2001-12-20 15:38:05 +00002060 * Started ChangeLog