blob: 363ef740440ee43e30f3db1725f899a715cf4611 [file] [log] [blame]
Miklos Szeredi06908f42006-05-16 14:39:47 +000012006-05-16 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Test commit
4
Miklos Szeredi9d3b7da2006-05-08 12:35:04 +000052006-05-08 Miklos Szeredi <miklos@szeredi.hu>
6
7 * lib: search fusermount in installation directory (bindir) as
8 well as in PATH.
9
Miklos Szeredi2512aaa2006-05-03 14:54:59 +0000102006-05-03 Miklos Szeredi <miklos@szeredi.hu>
11
12 * lib: fix compilation if CLOCK_MONOTONIC is not defined.
13 Reported by Christian Magnusson
14
Csaba Henk2efe48f2006-04-22 22:46:52 +0000152006-04-23 Csaba Henk <csaba.henk@creo.hu>
16
17 * lib: make FreeBSD mount routine recognize if kernel features
18 backgrounded init and if it does, run the mount util in foreground
19 (similarly to Linux)
20
Miklos Szeredi5fe07d62006-04-21 14:09:28 +0000212006-04-21 Miklos Szeredi <miklos@szeredi.hu>
22
23 * kernel: fix fput deadlock fix, the lockless solution could lead
24 to "VFS: busy inodes after umount..."
25
26 * kernel: fix race between checking and setting file->private_data
27 for the device. Found by Al Viro
28
292006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +000030
31 * kernel: remove request pool, instead allocate requests on
32 demand. Account the number of background requests, and if they go
33 over a limit, block the allocation of new requests.
34
35 * kernel: fix deadlock if backgrounded request holds the last
36 reference to the super block
37
38 * kernel: don't use fuse_reset_request() during direct I/O
39
Csaba Henkbaa49d22006-04-06 00:12:44 +0000402006-04-06 Csaba Henk <csaba.henk@creo.hu>
41
42 * lib: Let FreeBSD mount option parsing routine recognize "no"
43 prefixes for FUSE specific options as well
44
Miklos Szeredid0a777a2006-04-05 07:18:00 +0000452006-04-01 Miklos Szeredi <miklos@szeredi.hu>
46
47 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
48
Miklos Szeredi6f385412006-03-17 15:05:40 +0000492006-03-17 Miklos Szeredi <miklos@szeredi.hu>
50
51 * API changes:
52
53 * fuse_main(), fuse_setup() and fuse_new() have an additionl
54 user_data parameter
55
56 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
57 file descriptor
58
59 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
60 destroys the given channel
61
62 * fuse_teardown() no longer has a file descriptor parameter
63
64 * new exported functions: fuse_session_remove_chan(),
65 fuse_get_session(), fuse_daemonize()
66
Miklos Szeredi8d975f62006-03-17 15:56:05 +000067 * fuse_chan_recv() may now return a new channel which will be used
68 to send the reply
69
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000702006-03-16 Miklos Szeredi <miklos@szeredi.hu>
71
Miklos Szeredi9db31dc2006-03-16 14:43:28 +000072 * Released 2.6.0-pre2
73
742006-03-16 Miklos Szeredi <miklos@szeredi.hu>
75
Miklos Szeredif51e43f2006-03-16 14:19:25 +000076 * Don't unmount if already unmounted. This fixes a problem seen
77 in the following situation: Lazy unmount a busy filesystem; Mount
78 a new one in top; When the first finally unmounts, the second also
79 unmounts. Reported by Franco Broi
80
Miklos Szeredi2c1381f2006-03-15 20:34:10 +0000812006-03-15 Miklos Szeredi <miklos@szeredi.hu>
82
83 * lowlevel lib: use indirect function calls instead of a
84 switch/case construct. Besides increased efficiency it helps
85 maintainability & readability too. Patch from Florin Malita
86
Miklos Szeredi67d26d42006-03-13 17:39:56 +0000872006-03-13 Miklos Szeredi <miklos@szeredi.hu>
88
89 * kernel: replace global spinlock with a per-connection spinlock
90
Miklos Szeredi87c77932006-03-10 10:18:20 +0000912006-03-10 Miklos Szeredi <miklos@szeredi.hu>
92
93 * Fix source compatibility breakage for fuse_unmount(). Report
94 from Yura Pakhuchiy
95
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000962006-03-02 Miklos Szeredi <miklos@szeredi.hu>
97
98 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
99
Miklos Szeredi5d9ce362006-03-01 12:10:13 +00001002006-03-01 Miklos Szeredi <miklos@szeredi.hu>
101
102 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
103 Jeff Dike
104
105 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
106 interface to return -errno in case of error.
107
Csaba Henkee588c02006-03-01 09:40:35 +00001082006-03-01 Csaba Henk <csaba.henk@creo.hu>
109
110 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
111 FreeBSD implementation so that it uses libc (sysctl backed) instead
112 of an embdedded script (kmem backed). Adjust the control flow of
113 hello_ll so that device doesn't get closed before unmount attempt.
114
Miklos Szerediaa8258e2006-02-25 14:42:03 +00001152006-02-25 Miklos Szeredi <miklos@szeredi.hu>
116
117 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
118 implement method. This is needed on FreeBSD, and nicer on Linux
119 too. Highlevel lib already did this. Reported by Csaba Henk
120
121 * Fix negative entry handling. There was a bug, that negative
122 lookups with timeouts (nodeid == 0) returned -EIO.
123
1242006-02-23 Miklos Szeredi <miklos@szeredi.hu>
125
126 * Fix race between RELEASE and UNLINK, which might leave
127 .fuse_hidden* files around
128
Miklos Szeredi6bab4802006-02-21 18:31:29 +00001292006-02-21 Miklos Szeredi <miklos@szeredi.hu>
130
131 * fusexmp_fh: implement flush() method and call close() on the
132 open file descriptor. This is needed if used on an NFS
133 filesystem, which buffers data until file is closed. Franco Broi
134 spotted the situation when 'cp -p' failed to set the modification
135 time because of this.
136
Miklos Szeredie109e282006-02-20 11:06:20 +00001372006-02-20 Miklos Szeredi <miklos@szeredi.hu>
138
139 * Released 2.6.0-pre1
140
Miklos Szeredib67f2162006-02-20 10:55:33 +00001412006-02-19 Miklos Szeredi <miklos@szeredi.hu>
142
143 * libfuse: fix use-after-free bug in interruptred reply_entry().
144 Patch from John Muir
145
146 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
147 ID: 352631. Found by Stéphane Rosi
148
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00001492006-02-17 Miklos Szeredi <miklos@szeredi.hu>
150
151 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
152 into a single function fuse_add_direntry(). This cleans up the
153 interface and makes it possible to do stacking.
154
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00001552006-02-16 Miklos Szeredi <miklos@szeredi.hu>
156
157 * Fix rare race betweeen abort and release caused by failed iget()
158 in fuse_create_open().
159
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000160 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
161 own attribute caching.
162
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00001632006-02-15 Miklos Szeredi <miklos@szeredi.hu>
164
165 * Work around FreeBSD runtime linker "feature" which binds an old
166 version of a symbol to internal references if the symbol has more
167 than one version. This resulted in infinite recursion in
168 fuse_lowlevel_new_compat25().
169
Csaba Henkdcce3e52006-02-10 06:22:15 +00001702006-02-10 Csaba Henk <csaba.henk@creo.hu>
171
172 * Refine clock_gettime() querying so that linker options
173 shall be set as it's appropriate for the target platform.
174
Miklos Szeredi390ae312006-02-10 16:44:34 +00001752006-02-09 Miklos Szeredi <miklos@szeredi.hu>
176
177 * Fix udev rule syntax. Reported by Nix
178
Miklos Szeredieb643582006-02-08 10:54:02 +00001792006-02-08 Miklos Szeredi <miklos@szeredi.hu>
180
181 * In some cases udev rule seems to be ineffective when installed
182 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
183
Miklos Szeredi357529c2006-02-03 09:20:31 +00001842006-02-03 Miklos Szeredi <miklos@szeredi.hu>
185
186 * Fix compilation when build directory is different from source
187 directory. Reported by Frédéric L. W. Meunier
188
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001892006-02-02 Miklos Szeredi <miklos@szeredi.hu>
190
191 * Fix even bigger bug introduced in fix for request_end() on
192 2006-01-14. Reported by Gal Rosen
193
Miklos Szeredi320abe42006-01-30 18:14:51 +00001942006-01-30 Miklos Szeredi <miklos@szeredi.hu>
195
196 * highlevel-lib: add 'auto_cache' option. This caches file data
197 based on modification time and size
198
Miklos Szeredi065f2222006-01-20 15:15:21 +00001992006-01-20 Miklos Szeredi <miklos@szeredi.hu>
200
Miklos Szeredid66b7282006-02-02 15:15:21 +0000201 * Sanitize storage type and help message in mount_bsd.c. Patch
202 from Csaba Henk
203
Miklos Szeredi065f2222006-01-20 15:15:21 +0000204 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
205 FUSE_OPT_KEY_DISCARD
206
207 * Add options 'max_readahead', 'sync_read' and 'async_read'
208
209 * Kernel ABI version 7.6:
210
211 * Negotiate the 'max_readahead' value and 'async_read' flags with
212 userspace in the INIT method
213
214 * Add connection info to ->init() methods to both lowlevel and
215 highlevel API
216
217 * Fall back to synchronous read() behavior if either library or
218 userspace filesystem is using the old interface version. This is
219 needed so non-updated filesystems won't be confused by the
220 different read() behavior
221
2222006-01-19 Miklos Szeredi <miklos@szeredi.hu>
223
224 * lib: if "fsname=" option was given, pass it to fusermount
225
226 * fuse_opt: add new fuse_opt_insert_arg() function, which is
227 needed by filesystems to implement some argument manipulations
228 correctly
229
230 * fuse_opt: fix memory leak in handling "--" option
231
2322006-01-18 Miklos Szeredi <miklos@szeredi.hu>
233
234 * kernel: fix detection of case when fuse is not configured into
235 the kernel either as module or built-in
236
237 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
238 'template' structure member to 'templ'. Reported by Takashi Iwai
239
240 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
241
242 * kernel: support version 2.6.16 (i_sem -> i_mutex)
243
Miklos Szeredi15af1b82006-01-16 17:52:24 +00002442006-01-16 Miklos Szeredi <miklos@szeredi.hu>
245
246 * Added (again) asynchronous readpages support
247
248 * Each connection now shows up under /sys/fs/fuse/connections
249
250 * Connection attributes exported to sysfs: 'waiting' number of
251 waiting requests; 'abort' abort the connection
252
253 * Connection may be aborted through either the sysfs interface or
254 with 'umount -f mountpoint'
255
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00002562006-01-14 Miklos Szeredi <miklos@szeredi.hu>
257
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000258 * Released 2.5.0
259
2602006-01-14 Miklos Szeredi <miklos@szeredi.hu>
261
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000262 * kernel: fix a couple of bugs
263
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000264 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000265 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000266 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000267
268 * request_end() used request pointer after decrementing refcount
269
270 * Clearing ->connected or ->mounted connection flags could race
271 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000272
Miklos Szeredia9820342006-01-10 10:54:11 +00002732006-01-10 Miklos Szeredi <miklos@szeredi.hu>
274
275 * kernel: add necessary compile flags for 2.4.X/x86_64.
276 Report from Sean Ziegeler
277
Miklos Szeredi35676b02006-01-09 10:13:28 +00002782006-01-09 Miklos Szeredi <miklos@szeredi.hu>
279
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000280 * Released 2.5.0-pre2
281
2822006-01-09 Miklos Szeredi <miklos@szeredi.hu>
283
Miklos Szeredi35676b02006-01-09 10:13:28 +0000284 * Applied patch from Csaba Henk, to update mount_bsd to new
285 fuse_mount() semantics
286
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000287 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
288 Steiner and Don Taber
289
Miklos Szeredicb075c82006-01-09 11:33:04 +0000290 * fusermount: add 'dirsync' mount option
291
Miklos Szerediad005972006-01-07 10:14:34 +00002922006-01-07 Miklos Szeredi <miklos@szeredi.hu>
293
294 * Improved help reporting and added version reporting to library
295
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002962006-01-06 Miklos Szeredi <miklos@szeredi.hu>
297
298 * Change working directory to "/" even if running in the
299 foreground. Patch from Jonathan Brandmeyer
300
Miklos Szeredi95da8602006-01-06 18:29:40 +0000301 * Changed lots of functions to use 'struct fuse_args' instead of
302 separate argc and argv
303
304 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
305 fuse_remove_signal_handlers() functions, so that it's now pretty
306 easy to get all the functionality of fuse_main() with a filesystem
307 using the lowlevel API.
308
Miklos Szeredib8638182006-01-02 12:52:24 +00003092006-01-02 Miklos Szeredi <miklos@szeredi.hu>
310
Miklos Szeredif1941472006-01-02 16:27:48 +0000311 * mount.fuse: the 'user' option should be ignored. Report and
312 solution from Mattd.
313
314 * mount.fuse: export PATH in the right place. Report and patch
315 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000316
Miklos Szeredi73f41392005-12-16 11:12:16 +00003172005-12-16 Miklos Szeredi <miklos@szeredi.hu>
318
319 * Clean up the option parsing interface slightly, by creating an
320 "argument list" structure, that contains the argument vector and
321 count
322
Miklos Szeredi4e829092005-12-15 16:13:49 +00003232005-12-15 Miklos Szeredi <miklos@szeredi.hu>
324
325 * fusermount: check if /mnt/mtab is a symlink and don't modify it
326 in that case
327
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000328 * kernel: simplify request size limiting. INIT only contains
329 maximum write size, maximum path component size remains fixed at
330 1024 bytes, and maximum xattr size depends on read buffer.
331
Miklos Szeredie248e4b2005-12-14 16:18:32 +00003322005-12-14 Miklos Szeredi <miklos@szeredi.hu>
333
334 * Fix readdir() failure on x86_64, of 32bit programs compiled
335 without largefile support. Bug report and help from Anthony
336 Kolasny
337
Miklos Szeredi64709572005-12-14 22:16:28 +0000338 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000339 a regular file
340
341 * Add current output argument vector to option processing
342 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000343
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00003442005-12-12 Miklos Szeredi <miklos@szeredi.hu>
345
346 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
347
Miklos Szeredi659743b2005-12-09 17:41:42 +00003482005-12-09 Miklos Szeredi <miklos@szeredi.hu>
349
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000350 * Released 2.5.0-pre1
351
3522005-12-09 Miklos Szeredi <miklos@szeredi.hu>
353
Miklos Szeredi659743b2005-12-09 17:41:42 +0000354 * libfuse: added option parsing interface, defined in
355 <fuse_opt.h>.
356
Miklos Szeredic53cddd2005-12-07 12:57:59 +00003572005-12-07 Miklos Szeredi <miklos@szeredi.hu>
358
359 * Return EIO for file operations (read, write, fsync, flush) on
360 open files whose inode has become "bad". Inodes will be marked
361 "bad" if their type changes. Bug report by Csaba Henk
362
Miklos Szeredi044da2e2005-12-06 17:59:55 +00003632005-12-06 Miklos Szeredi <miklos@szeredi.hu>
364
365 * Use bigger request buffer size. write() did not work on archs
366 with > 4k page size, Bug report by Mark Haney
367
368 * ABI version 7.5:
369
370 * Extend INIT reply with data size limits
371
Miklos Szeredifa829b52005-12-02 11:05:41 +00003722005-12-02 Miklos Szeredi <miklos@szeredi.hu>
373
374 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
375 reported by Vincenzo Ciancia
376
377 * Handle exit-by-umount in fuse_read_cmd()
378
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00003792005-11-29 Miklos Szeredi <miklos@szeredi.hu>
380
381 * Check if '-msoft-float' option is supported by compiler when
382 configuring for a 2.4.x kernel. Bug report by Mark Haney
383
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000384 * In multithreaded loop send a TERM signal to the main thread if
385 one of the other threads exit. Needed on FreeBSD for a clean exit
386 on umount. Should not cause any harm on Linux either
387
Miklos Szerediead7f102005-11-28 16:02:27 +00003882005-11-28 Miklos Szeredi <miklos@szeredi.hu>
389
390 * Fix bug in 32-bit file handle compatibility
391
Miklos Szeredia90b7342005-11-27 19:22:42 +00003922005-11-27 Miklos Szeredi <miklos@szeredi.hu>
393
394 * Block TERM, INT, HUP and QUIT signals in all but the main
395 thread. According to POSIX it's not specified which thread will
396 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000397
398 * Kernel changes:
399
400 * Check for directory aliasing on mkdir, not just on lookup
401
402 * Check for special node ID values in create+open operation
403
404 * Sync with -mm: readv, writev, aio_read and aio_write methods
405 added to file operations
406
407 * Cleanups: lookup code, page offset calculation
408
409 * ABI stepped to 7.4, changes:
410
411 * frsize member added to fuse_kstatfs structure
412
413 * added support for negative entry caching: on lowlevel API if
414 fuse_entry_param::ino is set to zero in reply to a lookup request,
415 the kernel will cache the dentry for the specified amount of time.
416
417 * libfuse: added 'negative_timeout' option: specifies how much
418 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000419 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000420
Miklos Szeredibac4c772005-11-23 13:35:54 +00004212005-11-22 Miklos Szeredi <miklos@szeredi.hu>
422
423 * Add detection of mainline FUSE code in running kernel
424
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00004252005-11-21 Miklos Szeredi <miklos@szeredi.hu>
426
427 * Don't use async cancelation in multithreaded loop. This makes
428 it more portable to systems where read() is not async cancel safe.
429 Report from Andriy Gapon
430
Miklos Szeredi05c97842005-11-20 17:05:07 +00004312005-11-20 Miklos Szeredi <miklos@szeredi.hu>
432
433 * Warn if API version 11 compatibility is requested
434
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00004352005-11-17 Miklos Szeredi <miklos@szeredi.hu>
436
437 * More FreeBSD merge
438
Miklos Szeredi832ee442005-11-18 21:02:36 +0000439 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
440 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000441 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000442
443 * libfuse: don't use system() to invoke 'fusermount -u ...'
444 because it breaks mountpoints with spaces in them into multiple
445 arguments
446
Miklos Szeredib3f99722005-11-16 13:00:24 +00004472005-11-16 Miklos Szeredi <miklos@szeredi.hu>
448
449 * Merge library part of FreeBSD port. Patch by Csaba Henk
450
Miklos Szeredi3a770472005-11-11 21:32:42 +00004512005-11-11 Miklos Szeredi <miklos@szeredi.hu>
452
453 * Use 64bit type for file handle, so the full range supported by
454 the kernel interface is available to applications
455
Miklos Szeredibcc53852005-11-10 09:54:41 +00004562005-11-10 Miklos Szeredi <miklos@szeredi.hu>
457
458 * Moved mountpoint argument checking from fuse_parse_cmdline() to
459 fuse_mount() in preparation to FreeBSD merge.
460
Miklos Szeredi4ec06812005-11-08 13:04:27 +00004612005-11-08 Miklos Szeredi <miklos@szeredi.hu>
462
463 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
464 Henk.
465
Miklos Szeredic706ad92005-11-07 15:30:48 +00004662005-11-07 Miklos Szeredi <miklos@szeredi.hu>
467
468 * Make the statfs change backwards compatible.
469
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00004702005-11-06 Miklos Szeredi <miklos@szeredi.hu>
471
472 * Change ->statfs() method to use 'struct statvfs' instead of
473 'struct statfs'. This makes the API more portable since statvfs()
474 is defined by POSIX.
475
Miklos Szeredif7eec032005-10-28 13:09:50 +00004762005-10-28 Miklos Szeredi <miklos@szeredi.hu>
477
478 * Add fgetattr() method, which currently will only be called after
479 a successful call to a create() method.
480
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004812005-10-26 Miklos Szeredi <miklos@szeredi.hu>
482
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000483 * Change kernel ABI version to 7.3
484
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000485 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000486 call if 'default_permissions' mount option is not given, and is
487 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000488
Miklos Szeredid9079a72005-10-26 15:29:06 +0000489 * Add atomic CREATE+OPEN operation. This will only work with
490 2.6.15 (presumably) or later Linux kernels.
491
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000492 * Add ftruncate() method. This will only work with 2.6.15
493 (presumably) or later Linux kernels.
494
495 * Fix kernel module compile if kernel source and build directories
496 differ. Report and initial patch by John Eastman
497
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004982005-10-18 Miklos Szeredi <miklos@szeredi.hu>
499
500 * lib: optimize buffer reallocation in fill_dir.
501
Miklos Szeredic9daeb12005-10-17 10:19:21 +00005022005-10-17 Miklos Szeredi <miklos@szeredi.hu>
503
504 * Released 2.4.1
505
Miklos Szeredif412d072005-10-14 21:24:32 +00005062005-10-14 Miklos Szeredi <miklos@szeredi.hu>
507
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000508 * libfuse: add debug for write result (by Shaun Jackman) and
509 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000510
Miklos Szeredib75d4b92005-10-11 10:12:08 +00005112005-10-11 Miklos Szeredi <miklos@szeredi.hu>
512
513 * Spelling fixes, thanks to Ioannis Barkas
514
Miklos Szeredibaab5872005-10-10 08:41:14 +00005152005-10-10 Miklos Szeredi <miklos@szeredi.hu>
516
517 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
518 patch
519
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00005202005-10-07 Miklos Szeredi <miklos@szeredi.hu>
521
522 * highlevel-lib: init() and destroy() methods didn't have an
523 initialized fuse_context. Bug reported by Tim Stoakes
524
Miklos Szeredif2491122005-10-04 10:10:41 +00005252005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000526
527 * Released 2.4.0
528
Miklos Szeredi836ab712005-10-03 14:11:59 +00005292005-10-03 Miklos Szeredi <miklos@szeredi.hu>
530
531 * Add documentation to fuse_lowlevel.h
532
533 * API cleanups:
534
535 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
536
537 * Move fuse_mount() and fuse_unmount() to fuse_common.h
538
539 * Change the return type of fuse_reply_none() from int to void.
540
Miklos Szerediaf138742005-09-30 08:49:59 +00005412005-09-30 Miklos Szeredi <miklos@szeredi.hu>
542
543 * kernel: NFS exporting leaked dentries. Bug found and fixed by
544 Akshat Aranya.
545
Miklos Szeredidb016e02005-09-29 10:06:27 +00005462005-09-29 Miklos Szeredi <miklos@szeredi.hu>
547
548 * fusermount: fix error message, when unable to open /dev/fuse.
549 Report by Balázs Pozsár
550
Miklos Szeredi35200932005-09-28 14:50:49 +00005512005-09-28 Miklos Szeredi <miklos@szeredi.hu>
552
553 * UClibc fixes from Christian Magnusson
554
Miklos Szeredi8eddf642005-09-27 08:58:26 +00005552005-09-27 Miklos Szeredi <miklos@szeredi.hu>
556
557 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
558
Miklos Szerediedec95c2005-09-26 10:22:22 +00005592005-09-26 Miklos Szeredi <miklos@szeredi.hu>
560
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000561 * Released 2.4.0-rc1
562
5632005-09-26 Miklos Szeredi <miklos@szeredi.hu>
564
Miklos Szerediedec95c2005-09-26 10:22:22 +0000565 * fusermount: allow user umount in the case when /etc/mtab is a
566 symlink to /proc/mounts. Reported by Balázs Pozsár.
567
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00005682005-09-23 Miklos Szeredi <miklos@szeredi.hu>
569
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000570 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000571
Miklos Szeredif45f3c12005-09-22 15:14:27 +00005722005-09-22 Miklos Szeredi <miklos@szeredi.hu>
573
574 * Slight optimization in returning EINVAL error in case of an open
575 with O_DIRECT flag.
576
Miklos Szeredi670d07a2005-09-20 11:36:32 +00005772005-09-20 Miklos Szeredi <miklos@szeredi.hu>
578
579 * Remove '--enable-auto-modprobe' configure flag. Module
580 auto-loading is now handled by the kernel.
581
Miklos Szeredid51fca12005-09-15 12:51:00 +00005822005-09-15 Miklos Szeredi <miklos@szeredi.hu>
583
584 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
585 Help from Jens M. Noedler.
586
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005872005-09-14 Miklos Szeredi <miklos@szeredi.hu>
588
589 * Add memory cleanup on thread exit
590
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005912005-09-13 Miklos Szeredi <miklos@szeredi.hu>
592
593 * Set umask to zero in fusexmp and fusexmp_fh, so that
594 files/directories are created with the requested mode.
595
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005962005-09-12 Miklos Szeredi <miklos@szeredi.hu>
597
598 * Don't ignore read error in multithreaded loop
599
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00006002005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000601
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000602 * Released 2.4.0-pre2
603
6042005-09-08 Miklos Szeredi <miklos@szeredi.hu>
605
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000606 * Revert lock and access operations. Postpone these until 2.5.
607
6082005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000609
610 * Fix compile warning on 2.6.13 and later
611
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000612 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000613
Miklos Szeredi77ccf652005-08-19 14:40:27 +00006142005-08-19 Miklos Szeredi <miklos@szeredi.hu>
615
616 * lib: always refresh directory contents after rewinddir() to
617 conform to SUS. Bug found by John Muir.
618
Miklos Szeredia1482422005-08-14 23:00:27 +00006192005-08-15 Miklos Szeredi <miklos@szeredi.hu>
620
Miklos Szeredic43f9412005-08-15 15:10:48 +0000621 * Released 2.4.0-pre1
622
6232005-08-14 Miklos Szeredi <miklos@szeredi.hu>
624
Miklos Szeredia1482422005-08-14 23:00:27 +0000625 * lib: cleaned up (or messed up, depending on your POV) the low
626 level library API. Hopefully this is close to the final form.
627
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00006282005-08-05 Miklos Szeredi <miklos@szeredi.hu>
629
630 * fusermount: don't allow empty mountpoint argument, which defeats
631 automatic umounting in fuse_main(). Bugreport by Václav Jůza
632
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00006332005-08-03 Miklos Szeredi <miklos@szeredi.hu>
634
635 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
636 option is used (Paul Alfille).
637
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00006382005-08-02 Miklos Szeredi <miklos@szeredi.hu>
639
640 * highlevel-lib: added mount options "attr_timeout" and
641 "entry_timeout". These options control the length of time file
642 attributes and entries (names) are cached. Both default to 1.0
643 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000644
645 * kernel: correctly handle zero timeout for attributes and entries
646
Miklos Szeredi56a61f02005-08-01 10:42:25 +00006472005-08-01 Miklos Szeredi <miklos@szeredi.hu>
648
649 * Added missing symbols to versionscript (Joshua J. Berry)
650
Miklos Szeredie77cc072005-08-01 11:58:51 +0000651 * kernel: implement two flags, open can set: 'direct_io' and
652 'keep_cache'. These correspond exactly to mount options
653 'direct_io' and 'kernel_cache', but allow a per-open setting.
654
655 * Move 'direct_io' and 'kernel_cache' mount option handling to
656 userspace. For both mount options, if the option is given, then
657 the respective open flag is set, otherwise the open flag is left
658 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000659
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000660 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000661
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00006622005-07-28 Miklos Szeredi <miklos@szeredi.hu>
663
664 * kernel: invalidate attributes for read/readdir/readlink
665 operations
666
667 * kernel: detect newer UML kernels
668
Miklos Szeredibfb99462005-07-26 11:07:55 +00006692005-07-26 Miklos Szeredi <miklos@szeredi.hu>
670
671 * Make the installation path of fuse.ko and mount.fuse
672 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
673 environment variables. Requirement and help from Csaba Henk.
674
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00006752005-07-22 Miklos Szeredi <miklos@szeredi.hu>
676
677 * Fix bug, that causes filesystem requests to hang when unique
678 request counter becomes negative. This happens after
679 2,147,483,648 operations, so most people won't care. Thanks to
680 Franco Broi for the report and testing.
681
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006822005-07-21 Miklos Szeredi <miklos@szeredi.hu>
683
684 * Don't change mtime/ctime/atime to local time on read/write.
685 Bug reported by Ben Grimm
686
687 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
688 Magnusson
689
690 * fusermount: use getopt_long() for option parsing. It allows the
691 use of '--' to stop argument scanning, so fusermount can now
692 operate on directories whose names begin with a '-'. Patch by
693 Adam Connell
694
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006952005-07-15 Miklos Szeredi <miklos@szeredi.hu>
696
697 * fusermount: add '-v', '--version' and '--help' options
698
699 * add inode based API
700
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00007012005-07-12 Miklos Szeredi <miklos@szeredi.hu>
702
703 * lib: don't block signals in worker threads. Problem noticed by
704 Usarin Heininga
705
Miklos Szeredic902a852005-07-07 12:35:37 +00007062005-07-07 Miklos Szeredi <miklos@szeredi.hu>
707
708 * lib: don't allow both 'allow_other' and 'allow_root' options to
709 be given
710
Miklos Szeredi437d8112005-07-06 09:14:20 +00007112005-07-06 Miklos Szeredi <miklos@szeredi.hu>
712
713 * fusermount: check if mountpoint is empty (only '.' and '..' for
714 directories, and size = 0 for regular files). If "nonempty"
715 option is given, omit this check. This is useful, so users don't
716 accidentally hide data (e.g. from backup programs). Thanks to
717 Frank van Maarseveen for pointing this out.
718
719 * kernel: check if mandatory mount options ('fd', 'rootmode',
720 'user_id', 'group_id') are all given
721
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000722 * lib: simplify 'readdir_ino' handling
723
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000724 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
725
Miklos Szeredibb9f5172005-07-03 18:03:11 +00007262005-07-03 Miklos Szeredi <miklos@szeredi.hu>
727
728 * kernel: clean up 'direct_io' code
729
Miklos Szeredie1bcece2005-06-28 10:37:06 +00007302005-06-28 Miklos Szeredi <miklos@szeredi.hu>
731
732 * Add 'mount.fuse' written by Petr Klima
733
Miklos Szeredi866826d2005-06-28 12:22:57 +0000734 * '/dev/fuse' is created by 'make install' if does not yet exist
735
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00007362005-06-20 Miklos Szeredi <miklos@szeredi.hu>
737
738 * Fix UCLIBC compile error. Patch by Christian Magnusson
739
Miklos Szerediec12fad2005-06-08 10:26:34 +00007402005-06-08 Miklos Szeredi <miklos@szeredi.hu>
741
742 * Enable the auto-loading of the module via access to the
743 corresponding device file. Patch by Takashi Iwai.
744
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000745 * Allow mounting a regular file (over a regular file) for
746 unprivleged users.
747
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000748 * Do not create temporary device file. Require "/dev/fuse" to
749 exist, and be readable/writable by the mounting user.
750
Miklos Szeredi46960ce2005-06-02 09:05:00 +00007512005-06-02 Miklos Szeredi <miklos@szeredi.hu>
752
Miklos Szeredi56478552005-06-02 10:29:00 +0000753 * Released 2.3.0
754
7552005-06-02 Miklos Szeredi <miklos@szeredi.hu>
756
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000757 * Fix serious information leak: if the filesystem returns a short
758 byte count to a read request, and there are non-zero number of
759 pages which are not filled at all, these pages will not be zeroed.
760 Hence the user can read out previous memory contents. Found by
761 Sven Tantau.
762
Miklos Szeredi33be22d2005-05-27 09:12:43 +00007632005-05-27 Miklos Szeredi <miklos@szeredi.hu>
764
765 * Add "readdir_ino" mount option, which tries to fill in the d_ino
766 field in struct dirent. This mount option is ignored if "use_ino"
767 is used. It helps some programs (e.g. 'pwd' used over NFS from a
768 non-Linux OS). Patch by David Shaw.
769
Miklos Szeredif94e0102005-05-12 14:56:34 +00007702005-05-12 Miklos Szeredi <miklos@szeredi.hu>
771
Miklos Szeredieb009c42005-05-12 15:01:17 +0000772 * Released 2.3-rc1
773
7742005-05-12 Miklos Szeredi <miklos@szeredi.hu>
775
Miklos Szeredif94e0102005-05-12 14:56:34 +0000776 * File save in krusader and other editors doesn't work with sshfs,
777 because open() is interrupted by a periodic signal, and open()
778 restarts forever, without any progress. This could just be fixed
779 in open(), but the problem is more generic: if signals are
780 received more often than the filesystem can get the request to
781 userspace, it will never finish. This is probably only a
782 theoretical problem, nevertheless I'm removing the possibility to
783 interrupt requests with anything other than SIGKILL, even before
784 being sent to userspace. Bugreport by Eduard Czimbalmos.
785
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007862005-05-09 Miklos Szeredi <miklos@szeredi.hu>
787
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000788 * libfuse: add "tree_lock" rwlock, that is locked for write in
789 rename, unlink and rmdir, and locked for read in all other
790 operations. This should fix the rename/release race reported by
791 Valient Gough and others. The solution is very coarse, a finer
792 grained locking scheme could be implemented, but it would be much
793 more complex. Let's see whether this is good enough.
794
7952005-05-09 Miklos Szeredi <miklos@szeredi.hu>
796
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000797 * Released 2.3-pre7
798
Miklos Szeredi38009022005-05-08 19:47:22 +00007992005-05-08 Miklos Szeredi <miklos@szeredi.hu>
800
801 * Better fix for out of order FORGET messages. Now the
802 LOOKUP/FORGET messages are balanced exactly (one FORGET can
803 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000804 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000805 compatible.
806
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00008072005-05-06 Miklos Szeredi <miklos@szeredi.hu>
808
809 * Fix abort for out of order FORGET messages. Again. Spotted by
810 Franco Broi again. Sorry :)
811
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00008122005-04-29 Miklos Szeredi <miklos@szeredi.hu>
813
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000814 * Released 2.3-pre6
815
8162005-04-29 Miklos Szeredi <miklos@szeredi.hu>
817
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000818 * Make fusermount work with fuse kernel modules not yet supporting
819 the "group_id" option (added for the purpose of stricter
820 permission checking).
821
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00008222005-04-28 Miklos Szeredi <miklos@szeredi.hu>
823
824 * Check for hard-linked directories in lookup. This could cause
825 problems in the VFS, which assumes that such objects never exist.
826
827 * Make checking of permission for other users more strict. Now
828 the same privilege is required for the mount owner as for ptrace
829 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000830
Miklos Szeredi3efcb562005-04-23 13:34:29 +00008312005-04-23 Miklos Szeredi <miklos@szeredi.hu>
832
833 * Released 2.3-pre5
834
Miklos Szeredid001bf92005-04-22 07:54:11 +00008352005-04-22 Miklos Szeredi <miklos@szeredi.hu>
836
837 * Add -msoft-float to kernel module compile flags for 2.4.X. This
838 is needed on certain architectures. Report from Chris Kirby
839
840 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
841 Reported by David Shaw
842
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000843 * Remove "allow_root" option from kernel module, and implement
844 it's functionality in the library
845
846 * Fix Oops caused by premature release of fuse_conn. Clean up
847 related code, to be more readable
848
Miklos Szeredif9137452005-04-23 10:59:44 +0000849 * Sendfile should not use page cache if "direct_io" mount option
850 is given
851
Miklos Szeredib7640d22005-04-08 15:15:28 +00008522005-04-08 Miklos Szeredi <miklos@szeredi.hu>
853
854 * Fix Oops in case of nfs export. Spotted by David Shaw
855
Miklos Szeredi89814a12005-04-08 16:39:09 +0000856 * Fix another Oops in case of write over nfs with direct_io turned
857 on. Again spotted by David Shaw
858
Miklos Szerediab974562005-04-07 15:40:21 +00008592005-04-07 Miklos Szeredi <miklos@szeredi.hu>
860
Miklos Szeredi432d6182005-04-07 15:56:13 +0000861 * Released 2.3-pre4
862
8632005-04-07 Miklos Szeredi <miklos@szeredi.hu>
864
Miklos Szerediab974562005-04-07 15:40:21 +0000865 * lib: finalized new readdir() interface, which now supersedes the
866 getdir() method.
867
Miklos Szeredi30e093a2005-04-03 17:44:54 +00008682005-04-03 Miklos Szeredi <miklos@szeredi.hu>
869
870 * Released 2.3-pre3
871
8722005-04-03 Miklos Szeredi <miklos@szeredi.hu>
873
874 * Implement backward compatibility with version 5 kernel ABI
875
Miklos Szeredi18fce982005-04-01 21:07:35 +00008762005-04-01 Miklos Szeredi <miklos@szeredi.hu>
877
878 * Released 2.3-pre2
879
8802005-04-01 Miklos Szeredi <miklos@szeredi.hu>
881
882 * kernel: fix dirent offset handling
883
884 * lib: add readdir and releasedir methods
885
886 * lib: use fh field of fuse_file_info in opendir, readdir,
887 releasedir and fsyncdir methods
888
889 * lib: check kernel API version and bail out of it's old. This
890 will be properly fixed in the next release
891
8922005-03-31 Miklos Szeredi <miklos@szeredi.hu>
893
894 * Released 2.3-pre1
895
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008962005-03-31 Miklos Szeredi <miklos@szeredi.hu>
897
898 * kernel API: add padding to structures, so 64bit and 32bit
899 compiler will return the same size
900
901 * kernel API: add offset field to fuse_dirent. This will allow
902 more sophisticated readdir interface for userspace
903
904 * kernel API: change major number to 6
905
906 * kernel: fix warnings on 64bit archs
907
908 * kernel: in case of API version mismatch, return ECONNREFUSED
909
Miklos Szeredi407e6a72005-03-25 12:19:43 +00009102005-03-24 Miklos Szeredi <miklos@szeredi.hu>
911
912 * kernel: trivial cleanups
913
Miklos Szeredi4283ee72005-03-21 12:09:04 +00009142005-03-21 Miklos Szeredi <miklos@szeredi.hu>
915
916 * Add fsyncdir() operation
917
Miklos Szeredid17da462005-03-21 11:47:04 +00009182005-03-19 Miklos Szeredi <miklos@szeredi.hu>
919
920 * kernel: add locking to background list (fixes previous fix)
921
9222005-03-18 Miklos Szeredi <miklos@szeredi.hu>
923
924 * kernel: fix bug which could cause leave busy inodes after
925 unmount, and Oops.
926
9272005-03-08 Miklos Szeredi <miklos@szeredi.hu>
928
929 * examples: add -lpthread to link flags to work around valgrind
930 quirk
931
932 * lib: don't exit threads, so cancelation doesn't cause segfault
933
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00009342005-03-04 Miklos Szeredi <miklos@szeredi.hu>
935
936 * kernel: fix nasty bug which could cause an Oops under certain
937 situations. Found by Magnus Johansson
938
Miklos Szeredif43f0632005-02-28 11:46:56 +00009392005-02-28 Miklos Szeredi <miklos@szeredi.hu>
940
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000941 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000942 permission checking in getdir() is too late. Thanks to Usarin
943 Heininga for pointing out this deficiency
944
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000945 * libfuse: added init() and destroy() methods to fuse_operations
946
Miklos Szeredif43f0632005-02-28 11:46:56 +0000947 * kernel: llseek() method for files and directories made explicit
948
949 * kernel: fixed inode leak in NFS export in case of nodeid
950 wrapping
951
Miklos Szeredied3c97c2005-02-15 17:04:50 +00009522005-02-15 Miklos Szeredi <miklos@szeredi.hu>
953
954 * libfuse: clean up some unitialized memory found with valgrind
955
Miklos Szeredi47c52982005-02-23 09:27:38 +0000956 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
957 explicitly linked libpthread for applications
958
Miklos Szeredia7169412005-02-10 07:35:05 +00009592005-02-10 Miklos Szeredi <miklos@szeredi.hu>
960
961 * fusermount: set umask, otherwise /etc/mtab will have
962 unpredictable permission. Spotted by Jindrich Kolorenc
963
964 * fusermount: set owner and group of /etc/mtab to original values
965 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000966
967 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000968
Miklos Szeredib92d9782005-02-07 16:10:49 +00009692005-02-07 Miklos Szeredi <miklos@szeredi.hu>
970
971 * Cleaned up directory reading (temporary file is not used)
972
Miklos Szerediff30a6c2005-02-02 10:53:59 +00009732005-02-02 Miklos Szeredi <miklos@szeredi.hu>
974
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000975 * Released 2.2
976
9772005-02-02 Miklos Szeredi <miklos@szeredi.hu>
978
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000979 * Fix possible race when operation is interrupted
980
Miklos Szeredi7a983952005-01-28 09:58:19 +00009812005-01-28 Miklos Szeredi <miklos@szeredi.hu>
982
Miklos Szeredie5183742005-02-02 11:14:04 +0000983 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000984
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009852005-01-26 Miklos Szeredi <miklos@szeredi.hu>
986
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000987 * Released 2.2-pre6
988
9892005-01-26 Miklos Szeredi <miklos@szeredi.hu>
990
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000991 * Fix bug in link() operation which caused the wrong path to be
992 passed as the first argument. Found by Anton Altaparmakov
993
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009942005-01-21 Miklos Szeredi <miklos@szeredi.hu>
995
996 * LIB: fix double reply in readdir operation
997
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000998 * fusermount: fix uid checking bug. Patch by Adam Connell
999
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +00001000 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +00001001 Patch by Keshava Gowda
1002
Miklos Szeredi64074142005-01-20 08:48:11 +000010032005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1004
Miklos Szeredi092b50b2005-01-20 18:05:07 +00001005 * KERNEL: provide correct llseek semantics for fuse device (fixes
1006 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
1007
10082005-01-20 Miklos Szeredi <miklos@szeredi.hu>
1009
Miklos Szeredi64074142005-01-20 08:48:11 +00001010 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
1011
Miklos Szeredi1adb2272005-01-18 21:19:58 +000010122005-01-18 Miklos Szeredi <miklos@szeredi.hu>
1013
1014 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
1015 and RELEASEDIR. This ends the ugly hack of passing a file
1016 descriptor to the kernel, and actually makes the code simpler.
1017
Miklos Szeredi7db35c02005-01-17 09:46:28 +000010182005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1019
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001020 * Released 2.2-pre4
1021
10222005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1023
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001024 * fusermount: remove capability setting, which was the cause of
1025 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001026 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001027
Miklos Szeredidbe0f652005-01-15 14:32:56 +000010282005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001029
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001030 * fix compilation on 2.4 kernels (reported by Valient Gough)
1031
1032 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001033
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001034 * fusermount: improve parsing of /etc/fuse.conf
1035
10362005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1037
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001038 * Remove 'mount_max' and 'user_allow_other' module options. These
1039 are now checked by fusermount, and can be set in /etc/fuse.conf
1040
1041 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1042
Miklos Szeredi81394522005-01-11 14:24:18 +000010432005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1044
1045 * KERNEL: fix possible inode allocation problem, where
1046 sizeof(struct inode) is not aligned (found by Mike Waychison)
1047
1048 * KERNEL: use new follow_link/put_link methods
1049
1050 * KERNEL: cosmetic fixes
1051
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000010522005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1053
1054 * Released 2.2-pre3
1055
10562005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1057
1058 * Add missing code that was accidently left out
1059
Miklos Szeredi8c7da232005-01-09 12:27:41 +000010602005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1061
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001062 * Released 2.2-pre2
1063
10642005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1065
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001066 * Change "uid" mount option to "user_id" to avoid confusion with a
1067 mount option "uid" commonly used by many filesystems
1068
10692005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1070
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001071 * Released 2.2-pre1
1072
10732005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1074
1075 * If FUSE is configured in the kernel, don't build it by default
1076
Miklos Szeredi2a927272005-01-07 11:14:15 +000010772005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1078
1079 * Compile fix by Christian Magnusson
1080
Miklos Szeredib6220192005-01-05 16:19:10 +000010812005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1082
1083 * Fix compilation for 2.6.{0-5} kernels
1084
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010852005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1086
1087 * KERNEL: if request is interrupted, still keep reference to used
1088 inode(s) and file, so that FORGET and RELEASE are not sent until
1089 userspace finishes the request.
1090
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001091 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1092 request with the same information, which is more flexible,
1093 simpler, works on embedded systems.
1094
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010952004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1096
1097 * KERNEL ABI: update interface to make it independent of type
1098 sizes. This will help on 64 bit architectures which can run
1099 legacy 32 bit applications.
1100
1101 * KERNEL ABI: add "len" field to request headers. This will allow
1102 sending/receiving requests in multiple chunks.
1103
1104 * KERNEL: handle file type change more intelligently
1105
1106 * LIB: "-o debug" option should disable backgrounding (fix by
1107 Fabien Reygrobellet)
1108
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000011092004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1110
1111 * KERNEL: invalidate dentry/attributes if interrupted request
1112 could leave filesystem in an unknown state.
1113
Miklos Szeredie56818b2004-12-12 11:45:24 +000011142004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1115
1116 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1117 These will cause some regressions, but stability is considered
1118 more important. If any of these features turns out to be
1119 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001120
Miklos Szeredie56818b2004-12-12 11:45:24 +00001121 * Make all requests interruptible (only with SIGKILL currently).
1122 This can be used to break any deadlock produced by the userspace
1123 filesystem accessing it's own exported files. The RELEASE request
1124 is special, because if it's interrupted before sending it to
1125 userspace it is still sent, but the reply is not awaited.
1126
1127 * If request is interrupted before being sent to userspace, and if
1128 it hasn't yet got any side effects, it is always restarted,
1129 regardless of the SA_RESTART flag. This makes these interruptions
1130 transparent to the process.
1131
1132 * Remove shared-writable mmap support, which was prone to an
1133 out-of-memory deadlock situation
1134
1135 * Remove INVALIDATE userspace initiated request
1136
1137 * Make readpages() synchronous. Asynchronous requests are
1138 deadlock prone, since they cannot be interrupted.
1139
1140 * Add readv/writev support to fuse device operations
1141
1142 * Remove some printks, which userspace FS can use for a DoS
1143 against syslog
1144
1145 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1146 fusermount instead
1147
1148 * LIB: improve compatibility with a fuse.h header installed in
1149 ${prefix}/include which in turn includes the real header.
1150
1151 * LIB: improve compatibility by defining fuse_main() (which is now
1152 not used), so old configure scripts find it.
1153
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000011542004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1155
1156 * When mounting on a subdirectory of / don't duplicate slashes at
1157 the beggining of path (spotted by David Shaw)
1158
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000011592004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1160
1161 * Fix bug causing garbage in mount options (spotted by David Shaw)
1162
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000011632004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1164
1165 * Add 'writepage' flag to 'fuse_file_info'.
1166
1167 * More comments in fuse.h
1168
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001169 * Get rid of double underscores
1170
Miklos Szeredi799993c2004-12-04 21:20:05 +000011712004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1172
1173 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1174
1175 * helper.c: add -ho option, which only displays the options not
1176 the usage header. This can be used by filesystems which have
1177 their own options.
1178
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000011792004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1180
1181 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1182 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1183 including the fuse header
1184
1185 * Add binary compatibility to 2.1 version of library with symbol
1186 versioning
1187
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011882004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1189
1190 * Released 2.1
1191
Miklos Szeredi039322d2004-12-01 18:39:12 +000011922004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1193
1194 * kernel: clean up writing functions
1195
1196 * kernel: no allocation on write in direct_io mode
1197
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001198 * move linux/fuse.h to fuse_kernel.h
1199
Miklos Szeredi83a07442004-11-30 18:25:20 +000012002004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1201
1202 * kernel: clean up reading functions
1203
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000012042004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1205
1206 * kernel: make readpage() uninterruptible
1207
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001208 * kernel: check readonly filesystem flag in fuse_permission
1209
1210 * lib: don't die if version file not found and new style device
1211 exists
1212
1213 * lib: add '-r' option, which is short for '-o ro'
1214
1215 * fusermount: simplify device opening
1216
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001217 * kernel: when direct_io is turend on, copy data directly to
1218 destination without itermediate buffer. More efficient and safer,
1219 since no allocation is done.
1220
1221 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001222
1223 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001224
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000012252004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1226
1227 * libfuse API change: open, read, write, flush, fsync and release
1228 are passed a 'struct fuse_file_info' pointer containing the open
1229 flags (open and release), and the file handle. Verion changed to
1230 3.0.
1231
Miklos Szeredia25d4c22004-11-23 22:32:16 +000012322004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1233
1234 * More cleanups in the kernel
1235
1236 * The 10,229 charater device number has been assigned for FUSE
1237
1238 * Version file checking fix (reported by Christian Magnusson)
1239
1240 * fusermount: opening the fuse device now doesn't need /sys.
1241
1242 * Optimize reading by controlling the maximum readahead based on
1243 the 'max_read' mount option
1244
1245 * fixes for UCLIBC (Christian Magnusson)
1246
Miklos Szeredi13ed4822004-11-20 11:12:21 +000012472004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1248
1249 * Cleaned up kernel in preparation for merge into mainline:
1250
1251 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1252
1253 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1254
1255 * __user annotations for sparse
1256
1257 * allocate individual pages instead of kmalloc in fuse_readdir,
1258 fuse_read and fuse_write.
1259
1260 * Fix NFS export in case "use_ino" mount option is given
1261
Miklos Szeredif3845c42004-11-20 11:18:34 +00001262 * Make libfuse and fusermount compatible with future versions
1263
1264 * fusermount: properly add mount options to /etc/mtab
1265
12662004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1267
1268 * fusermount: do not resolve last component of mountpoint on if it
1269 is '.' or '..'. This new path resolvation is now done on mount as
1270 well as unmount. This enables relative paths to work on unmount.
1271
1272 * fusermount: parse common mount options like "ro", "rw", etc...
1273
1274 * Allow module params to be changed through sysfs
1275
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000012762004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1277
1278 * Released 2.1-pre1
1279
12802004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1281
1282 * Fix bug in fuse_readpages() causing Oops in certain situations.
1283 Bug found by Vincenzo Ciancia.
1284
1285 * Fix compilation with kernels versions > 2.6.9.
1286
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012872004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001288
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001289 * Check kernel interface version in fusermount to prevent
1290 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001291
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001292 * No need to allocate fuse_conn until actual mount happens
1293
1294 * Fix potential race between umount and fuse_invalidate
1295
1296 * Check superblock of proc file in addition to inode number
1297
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001298 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001299
Miklos Szeredi51ec1032004-11-10 11:52:26 +000013002004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1301
1302 * Separate configure for the kernel directory
1303
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001304 * Don't allow write to return more than 'count'
1305
1306 * Extend kernel interface for future use
1307
Miklos Szeredi51ec1032004-11-10 11:52:26 +000013082004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1309
1310 * Fix 'makeconf.sh' to use autoreconf if available
1311
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000013122004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1313
Miklos Szeredid507c732004-11-08 17:32:25 +00001314 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1315 compatibility with earlier versions. To compile earier versions
1316 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1317 Do not use the "use_ino" mount flag with filesystems compiled with
1318 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001319
1320 * Add pkg-config support. To compile a FUSE based filesystem you
1321 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1322 or similar. Note, that the PKG_CONFIG_PATH environment variable
1323 usually needs to be set to "/usr/local/lib/pkgconfig".
1324
1325 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001326
Miklos Szeredia13d9002004-11-02 17:32:03 +000013272004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1328
1329 * Added "use_ino" mount option. This enables the filesystems to
1330 set the st_ino field on files
1331
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000013322004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1333
1334 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1335 by Jeremy Smith)
1336
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001337 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1338
1339 * Clear the 'exited' flag when mail loop is finished
1340
Miklos Szeredie989f0d2004-10-28 20:24:58 +000013412004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1342
1343 * Make xattr functions work under 2.6 (bug found by Vincenzo
1344 Ciancia)
1345
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000013462004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1347
1348 * Reset request in fuse_flush() (bugreport by David Shaw)
1349
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000013502004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1351
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001352 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001353 error code
1354
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001355 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001356 make it easier to implement a custom event loop.
1357
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001358 * Use daemon() call to background the filesystem after mounting.
1359 This function closes the standard input, output and error and
1360 changes the current working directory to "/".
1361
Miklos Szeredi127d49b2004-10-14 13:33:39 +000013622004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1363
1364 * Released 1.9
1365
Miklos Szeredid45baf42004-10-10 07:56:12 +000013662004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1367
1368 * Don't allow fuse_flush() to be interrupted (bug found by David
1369 Shaw)
1370
Miklos Szeredi1f18db52004-09-27 06:54:49 +000013712004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1372
1373 * Add PID to fuse_context. Patch by Steven James
1374
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001375 * Change file handle type to 'unsigned long' in kernel interface
1376
Miklos Szeredid169f312004-09-22 08:48:26 +000013772004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1378
1379 * A slight API change: fuse_get_context() doesn't need the "fuse"
1380 pointer, but the returned context contains it instead. The
1381 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001382
1383 * Fix mounting and umounting FUSE filesystem under another FUSE
1384 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001385
Miklos Szeredic2309912004-09-21 13:40:38 +000013862004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1387
1388 * Fix deadlock in case of memory allocation failure. Patch by
1389 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001390
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013912004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1392
1393 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001394
Miklos Szeredi65afea12004-09-14 07:13:45 +000013952004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1396
1397 * Check temporary file creation failure in do_getdir(). Bug
1398 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001399
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000014002004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1401
1402 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001403
1404 * Make requests non-interruptible so race with FORGET is avoided.
1405 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001406
1407 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001408
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000014092004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1410
1411 * Fix bug in case two FORGETs for the same node are executed in
1412 the wrong order. Bug spotted and endured for months by Franco
1413 Broi, and logfile for solution provided by Terje Oseberg
1414
Miklos Szeredi12085102004-09-02 18:13:57 +000014152004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1416
1417 * Add -D_REENTRANT to the compile flags
1418
1419 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001420
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000014212004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1422
1423 * Change release method to be non-interruptible. Fixes bug
1424 causing missing release() call when program which has opened files
1425 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001426
Miklos Szeredi891b8742004-07-29 09:27:49 +000014272004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1428
1429 * Add fuse_invalidate() to library API
1430
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000014312004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1432
1433 * Check permissions in setattr if 'default_permissions' flag is
1434 set. Bug spotted by Damjan Lango
1435
Miklos Szeredid66d3942004-07-24 13:47:44 +000014362004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1437
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001438 * 'large_read' mount option removed for 2.6 kernels, since the
1439 default (dynamic read size) is better
1440
1441 * Extend kernel API with file handles. A file handle is returned
1442 by open, and passed to read, write, flush, fsync and release.
1443 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001444
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001445 * Security changes:
1446
1447 * Change the current directory to the mountpoint before checking
1448 the permissions and mount filesystem on "."
1449
1450 * By default don't modprobe the fuse module for non-root. The old
1451 behavior can be restored with the '--enable-auto-modprobe' flag of
1452 ./configure
1453
1454 * By default don't allow shared writable mappings for non-root.
1455 The old behavior can be restored with the 'user_mmap=1' module
1456 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001457
Miklos Szeredibd7661b2004-07-23 17:16:29 +000014582004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1459
1460 * Clean up mount option passing to fusermount and to fuse_new()
1461 BEWARE: this changes the userspace API slightly, and the command
1462 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001463
Miklos Szeredi58865372004-07-20 14:22:26 +000014642004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1465
1466 * Optimize reading under 2.6 kernels by issuing multiple page
1467 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001468
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000014692004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1470
1471 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001472
Miklos Szeredi069c9502004-07-16 16:17:02 +000014732004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1474
1475 * Separate directory entry and inode attribute validity timer
1476
1477 * New write semaphore to stop page writeback during truncate
1478
1479 * Fsync now waits for all writes to complete before sending the
1480 request
1481
1482 * Optimization: if a page is completely written by
1483 fuse_commit_write(), clear the dirty flag and set the uptodate
1484 flag for that page
1485
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001486 * Some memory cleanup at exit
1487
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014882004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1489
1490 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001491 disable the "hide if open" behavior of unlink/rename.
1492
1493 * If temporary buffer allocation fails in raw read, fall back to a
1494 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001495
Miklos Szeredi73798f92004-07-12 15:55:11 +000014962004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1497
1498 * Fix bug in do_open() in libfuse: open count was incremented
1499 after the reply is sent so it could race with unlink/forget and
1500 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001501
Miklos Szeredi015fe702004-07-12 11:52:24 +000015022004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1503
1504 * When performing create or remove operation, refresh the parent's
1505 attributes on next revalidate, as i_nlink (and maybe size/time)
1506 could be inacurate.
1507
1508 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1509 pages (2.6 only)
1510
1511 * Set set_page_dirty address space operation (2.6 only)
1512
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015132004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001514
1515 * Minor fix in read: print debug info even if read size is zero
1516
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015172004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001518
1519 * Fix race between truncate and writepage (fsx-linux now runs
1520 without error)
1521
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015222004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001523
1524 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1525 by Mattias Wadman)
1526
1527 * Added option for direct read/write (-r)
1528
1529 * Fix revalidate time setting for newly created inodes
1530
Miklos Szerediacb4d362004-07-02 16:20:45 +00001531 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1532 this)
1533
1534 * fuse_main() only installs handlers for signals (out of INT, HUP,
1535 TERM, PIPE), for which no handler has yet been installed
1536
1537 * Add module option 'user_allow_other' which if set to non-zero
1538 will allow non root user to specify the 'allow_other' mount option
1539 ('-x' option of fusermount)
1540
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001541 * Fix deadlock between page writeback completion and truncate
1542 (bug found by Valient Gough with the fsx-linux utility)
1543
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015442004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001545
1546 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001547 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1548 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001549
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015502004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001551
1552 * Acquire inode->i_sem before open and release methods to prevent
1553 concurrent rename or unlink operations.
1554
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001555 * Make __fuse_read_cmd() read only one command. This allows
1556 multiplexing the fuse file descriptor with other event sources
1557 using select() or poll() (patch by Jeff Harris)
1558
1559 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1560
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015612004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001562
1563 * Fix file offset wrap around at 4G when doing large reads
1564
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015652004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001566
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001567 * Fix memory leak in open (Valient Gough)
1568
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015692004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001570
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001571 * Add "close after delete" support to libfuse (patch by Valient
1572 Gough)
1573
1574 * Cancel all worker threads before exit in multithreaded mode
1575
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015762004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001577
1578 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001579
1580 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001581
1582 * Work with newer libtool (1.5a)
1583
1584 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001585
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015862004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001587
1588 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001589
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015902004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001591
1592 * Fix possible inode leak in userspace in case of unfinished
1593 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001594
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015952004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001596
1597 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001598
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015992004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001600
1601 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001602
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016032004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001604
1605 * Build shared library as well as static (using libtool)
1606
1607 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1608 there has not been a release with the previous minor number, and I
1609 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001610
1611 * Change fuse_main(), so that default behavior is to go into
1612 background if mount is successful. '-f' and '-d' options disable
1613 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1614 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001615
1616 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1617 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001618
1619 * Don't call getdir method from open() only from first readdir().
1620 Open is sometimes just used to store the current directory
1621 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001622
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016232004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001624
1625 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001626
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016272004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001628
1629 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001630
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016312004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001632
1633 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001634
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016352004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001636
1637 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001638
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016392004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001640
1641 * Replaced binary mount data with text options
1642
1643 * Show FUSE specific mount options in /proc/mounts
1644
1645 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1646
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016472004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001648
1649 * Check some limits so userspace won't get too big requests
1650
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016512004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001652
1653 * Kill compile warning
1654
1655 * Upgraded user-mount patch for 2.6.5
1656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016572004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001658
1659 * Add detection of user-mode-linux to configure
1660
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016612004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001662
1663 * fixed zero size case for getxattr and listxattr
1664
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016652004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001666
1667 * new fusermount flag '-z': lazy unmount, default is not lazy
1668
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001669 * Extended attributes operations added (getxattr, setxattr,
1670 listxattr, removexattr)
1671
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016722004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001673
1674 * If filesystem doesn't define a statfs operation, then an
1675 all-zero default statfs is returned instead of ENOSYS
1676
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016772004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001678
1679 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1680
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016812004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001682
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001683 * Fix for uClinux (Christian Magnusson)
1684
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016852004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001686
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001687 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001688
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001689 * More kernel interface changes:
1690
1691 * Lookup/getattr return cache timeout values
1692
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016932004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001694
1695 * Clean up option parsing in fuse_main()
1696
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001697 * Added fuse_get() function which returns the fuse object created
1698 by fuse_main()
1699
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017002004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001701
Miklos Szeredic40748a2004-02-20 16:38:45 +00001702 * removed old way of mounting (fusermount mountpoint program)
1703
Miklos Szeredib5958612004-02-20 14:10:49 +00001704 * more kernel interface changes:
1705
1706 * added nanosecond precision to file times
1707
Miklos Szeredic40748a2004-02-20 16:38:45 +00001708 * removed interface version from mount data
1709
1710 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017122004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001713
1714 * statfs library API changed to match other methods. Since this
1715 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1716
Miklos Szeredi76f65782004-02-19 16:55:40 +00001717 * kernel interface changes follow:
1718
1719 * statfs changed to 64 bits, added 'bavail' field
1720
1721 * add generation number to lookup result
1722
1723 * optimized mknod/mkdir/symlink/link (no separate lookup is
1724 needed)
1725
1726 * rdev size increased to 32 bits for mknod
1727
1728 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001729
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017302004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001731
1732 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001733
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017342004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001735
1736 * Added user-mount.2.6.2-rc3.patch
1737
1738 * Add FS_SAFE flag to fuse filesystem
1739
1740 * fusermount should allow (un)mounting for non-root even if not
1741 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001742
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017432004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001744
1745 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001746
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017472004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001748
1749 * Added check for i_size_read/write functions to configure.in
1750 (patch by Valient Gough)
1751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017522004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001753
1754 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001755
1756 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001757
1758 * Readpage calls flush_dcache_page() after storing data
1759
1760 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001761
1762 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001763
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017642004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001765
1766 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001767
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017682004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001769
1770 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001771
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017722004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001773
1774 * Added -q option for fusermount
1775
1776 * fuse_unmount() now uses -q option of fusermount, so no error is
1777 printed if the cause of the program exit is that the filesystem
1778 has already been unmounted
1779
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001780 * Fix i_nlink correctness after rmdir/unlink
1781
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017822004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001783
Miklos Szeredib1158392004-01-26 14:43:12 +00001784 * Released 1.1-pre2
1785
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017862004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001787
Miklos Szeredi307242f2004-01-26 11:28:44 +00001788 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001789
1790 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017922004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001793
1794 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001795
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017962004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001797
1798 * Write all pending data before a RELEASE operation
1799
1800 * Suppress 'Bad file descriptor' warning on exit
1801
1802 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001803 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001804
Miklos Szeredib1158392004-01-26 14:43:12 +00001805 * New fusermount option '-l' which enables big reads. Big reads
1806 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001807
1808 * fuse_main() can accept fusermount arguments after a '--'
1809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018102004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001811
1812 * Support for exporting filesystem over NFS (see README.NFS)
1813
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018142004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001815
1816 * Support non-blocking writepage on 2.6. This makes FUSE behave
1817 much more nicely in low-memory situations
1818
1819 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1820 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001821
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018222004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001823
1824 * Code cleanups
1825
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018262004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001827
1828 * Released 1.1-pre1
1829
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018302004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001831
1832 * Integrated 2.6 kernel support patch by Michael Grigoriev
1833
1834 * Improvements and cleanups for 2.6 kernels
1835
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018362004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001837
Miklos Szeredie5183742005-02-02 11:14:04 +00001838 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001839
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018402003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001841
1842 * Added major+minor version to library API, and minor version to
1843 kernel API
1844
David McNab7a19caf2003-12-13 02:05:46 +000018452003-12-13 David McNab <david@rebirthing.co.nz>
1846
1847 * Implemented fsync support in examples/example.py
1848
1849 * Implemented 'fsync' and 'statfs' methods in python
1850 interface
1851
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018522003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001853
Miklos Szeredie5183742005-02-02 11:14:04 +00001854 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001855
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001856 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001857
David McNab8bf62632003-12-11 22:49:22 +000018582003-12-12 David McNab <david@rebirthing.co.nz>
1859
1860 * Added distutils support to the python module, as per standard
1861 python development practice
1862
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018632003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001864
1865 * Add file locking for mount/unmount (based on patch by Valient
1866 Gough)
1867
18682003-12-11 David McNab <david@rebirthing.co.nz>
1869
1870 * Python filesystem - was broken with python2.3, now fixed:
1871 - changed PyTuple_* calls to PySequence_*, because os.lstat
1872 is no longer returning a pure tuple
1873 - changed PyInt_Check() calls to also call PyLong_Check,
1874 to cover for cases (eg os.lstat) where longs are returned
1875 - Added support for file 'release' handling, which IMO is
1876 essential since this signals to a FS that writes to a file
1877 are complete (and therefore the file can now be disposed of
1878 meaningfully at the python filesystem's discretion)
1879 - Added '__init__' handler to base Fuse class, which allows
1880 your Python class to know the mountpoint and mount args,
1881 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001882
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001883 * General:
1884 - added 'mount.fuse' script (in util/ dir), which is meant to be
1885 symlinked from /sbin, and which allows FUSE filesystems to
1886 be mounted with the 'mount' command, and listed in fstab;
1887 also, mount arguments get passed to your filesystem
1888
1889
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018902003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001891
1892 * Fix kernel version detection (again). Bugreport by Peter Levart
1893
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018942003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001895
1896 * Applied read combining patch by Michael Grigoriev (tested by
1897 Valient Gough and Vincent Wagelaar)
1898
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018992003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001900
1901 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1902 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001903
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019042003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001905
1906 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001907
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019082003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001909
1910 * kernel version detection fix
1911
1912 * fusermount now uses "lazy" umount option
1913
1914 * fusermount can use modprobe with module-init-tools
1915
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019162003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001917
1918 * Integrated caching patch by Michael Grigoriev
1919
Miklos Szeredida4e4862003-09-08 11:14:11 +00001920 * Added "Filesystems" file with descriptions of projects using
1921 FUSE
1922
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001923 * Added patch by Michael Grigoriev to allow compliation of FUSE
1924 kernel module for 2.6 kernels
1925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019262003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001927
1928 * And another spec-file fix by Achim Settelmeier
1929
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019302003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001931
1932 * Spec-file fix by Achim Settelmeier
1933
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019342003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001935
Miklos Szerediac361172004-11-02 19:14:14 +00001936 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001937
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019382003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001939
1940 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1941
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019422003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001943
1944 * Updated fuse.spec file (Achim Settelmeier)
1945
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019462003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001947
1948 * Version 1.0 released
1949
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019502003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001951
1952 * SuSE compilation fix by Juan-Mariano de Goyeneche
1953
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019542002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001955
1956 * The release() VFS call is now exported to the FUSE interface
1957
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019582002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001959
1960 * 64 bit file offset fixes in the fuse kernel module
1961
1962 * Added function 'fuse_exit()' which can be used to exit the main
1963 loop
1964
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019652002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001966
1967 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1968 an incompatible interface change.
1969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019702002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001971
1972 * Portablility fix (bug reported by C. Chris Erway)
1973
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019742002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001975
1976 * Use Mark Glines' fd passing method for default operation instead
1977 of old reexec
1978
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019792002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001980
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001981 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1982
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019832002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001984
Miklos Szeredi60c23522002-10-24 09:19:43 +00001985 * fix incompatiblity with Red Hat kernels, with help from Nathan
1986 Thompson-Amato.
1987
Mark Glines65ba2192002-04-18 14:41:48 +000019882002-04-18 Mark Glines <mark@glines.org>
1989
1990 * added an alternative to fuse_mount(), called
1991 fuse_mount_ioslave(), which does not need to reexec the
1992 FUSE program.
1993 * added a small helper util needed by fuse_mount_ioslave().
1994
Mark Glines220635a2002-03-17 07:01:14 +000019952002-03-16 Mark Glines <mark@glines.org>
1996
1997 * use struct fuse_statfs everywhere possible to avoid problems
1998 with the headerfiles changing struct statfs member sizes
1999
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020002002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00002001
2002 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
2003
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020042002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00002005
2006 * RPM support by Achim Settelmeier
2007
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020082002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002009
Miklos Szerediddc862a2002-01-09 13:46:10 +00002010 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00002011
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020122002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00002013
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002014 * Revaidate all path components not just the last, this means a
2015 very small performance penalty for being more up-to-date.
2016
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020172002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00002018
2019 * Update and fix python interface
2020
Mark Glinesd84b39a2002-01-07 16:32:02 +000020212002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002022
Mark Glinesd84b39a2002-01-07 16:32:02 +00002023 * Added statfs() support to kernel, lib, examples, and perl!
2024
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020252001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002026
2027 * Better cross compilation support
2028
2029 * Ported to Compaq IPAQ
2030
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020312001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002032
Miklos Szeredife25def2001-12-20 15:38:05 +00002033 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002034 patch from Matt Ryan)
2035
Miklos Szeredife25def2001-12-20 15:38:05 +00002036 * Added flags to fusermount and to kernel interface to control
2037 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002038
Miklos Szeredife25def2001-12-20 15:38:05 +00002039 * Integrated fuse_set_operations() into fuse_new()
2040
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020412001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002042
2043 * Applied header protection + extern "C" patch by Roland
2044 Bauerschmidt
2045
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020462001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002047
Miklos Szeredie5183742005-02-02 11:14:04 +00002048 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002049
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020502001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002051
2052 * Cleaned up way of mounting simple filesystems.
2053
2054 * fuse_main() helper function added
2055
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020562001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002057
Miklos Szeredife25def2001-12-20 15:38:05 +00002058 * Optimized read/write operations, so that minimal copying of data
2059 is done
2060
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020612001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002062
2063 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002064
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020652001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002066
2067 * Fixed vfsmount reference leak in fuse_follow_link
2068
2069 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2070 userspace is ignored
2071
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020722001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002073
Miklos Szeredife25def2001-12-20 15:38:05 +00002074 * Started ChangeLog