blob: 32df2584202d9791a7443035dd689b8a29e0d683 [file] [log] [blame]
Miklos Szeredi5fe07d62006-04-21 14:09:28 +000012006-04-21 Miklos Szeredi <miklos@szeredi.hu>
2
3 * kernel: fix fput deadlock fix, the lockless solution could lead
4 to "VFS: busy inodes after umount..."
5
6 * kernel: fix race between checking and setting file->private_data
7 for the device. Found by Al Viro
8
92006-04-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7a2814c2006-04-12 10:41:50 +000010
11 * kernel: remove request pool, instead allocate requests on
12 demand. Account the number of background requests, and if they go
13 over a limit, block the allocation of new requests.
14
15 * kernel: fix deadlock if backgrounded request holds the last
16 reference to the super block
17
18 * kernel: don't use fuse_reset_request() during direct I/O
19
Csaba Henkbaa49d22006-04-06 00:12:44 +0000202006-04-06 Csaba Henk <csaba.henk@creo.hu>
21
22 * lib: Let FreeBSD mount option parsing routine recognize "no"
23 prefixes for FUSE specific options as well
24
Miklos Szeredid0a777a2006-04-05 07:18:00 +0000252006-04-01 Miklos Szeredi <miklos@szeredi.hu>
26
27 * lib: Add missing rwlock initialization. Patch by Ryan Bradetich
28
Miklos Szeredi6f385412006-03-17 15:05:40 +0000292006-03-17 Miklos Szeredi <miklos@szeredi.hu>
30
31 * API changes:
32
33 * fuse_main(), fuse_setup() and fuse_new() have an additionl
34 user_data parameter
35
36 * fuse_mount() returns a 'struct fuse_chan' pointer instead of a
37 file descriptor
38
39 * fuse_unmount() receives a 'struct fuse_chan' pointer. It
40 destroys the given channel
41
42 * fuse_teardown() no longer has a file descriptor parameter
43
44 * new exported functions: fuse_session_remove_chan(),
45 fuse_get_session(), fuse_daemonize()
46
Miklos Szeredi8d975f62006-03-17 15:56:05 +000047 * fuse_chan_recv() may now return a new channel which will be used
48 to send the reply
49
Miklos Szeredif51e43f2006-03-16 14:19:25 +0000502006-03-16 Miklos Szeredi <miklos@szeredi.hu>
51
Miklos Szeredi9db31dc2006-03-16 14:43:28 +000052 * Released 2.6.0-pre2
53
542006-03-16 Miklos Szeredi <miklos@szeredi.hu>
55
Miklos Szeredif51e43f2006-03-16 14:19:25 +000056 * Don't unmount if already unmounted. This fixes a problem seen
57 in the following situation: Lazy unmount a busy filesystem; Mount
58 a new one in top; When the first finally unmounts, the second also
59 unmounts. Reported by Franco Broi
60
Miklos Szeredi2c1381f2006-03-15 20:34:10 +0000612006-03-15 Miklos Szeredi <miklos@szeredi.hu>
62
63 * lowlevel lib: use indirect function calls instead of a
64 switch/case construct. Besides increased efficiency it helps
65 maintainability & readability too. Patch from Florin Malita
66
Miklos Szeredi67d26d42006-03-13 17:39:56 +0000672006-03-13 Miklos Szeredi <miklos@szeredi.hu>
68
69 * kernel: replace global spinlock with a per-connection spinlock
70
Miklos Szeredi87c77932006-03-10 10:18:20 +0000712006-03-10 Miklos Szeredi <miklos@szeredi.hu>
72
73 * Fix source compatibility breakage for fuse_unmount(). Report
74 from Yura Pakhuchiy
75
Miklos Szeredi9caf0fe2006-03-02 19:55:56 +0000762006-03-02 Miklos Szeredi <miklos@szeredi.hu>
77
78 * Fix O_ASYNC handling in fuse_dev_release(). From Jeff Dike
79
Miklos Szeredi5d9ce362006-03-01 12:10:13 +0000802006-03-01 Miklos Szeredi <miklos@szeredi.hu>
81
82 * Add O_ASYNC and O_NONBLOCK support to FUSE device. Patch by
83 Jeff Dike
84
85 * Renamed fuse_chan_receive() to fuse_chan_recv() and changed
86 interface to return -errno in case of error.
87
Csaba Henkee588c02006-03-01 09:40:35 +0000882006-03-01 Csaba Henk <csaba.henk@creo.hu>
89
90 * libfuse: pass device file descriptor to fuse_unmount(), rewrite
91 FreeBSD implementation so that it uses libc (sysctl backed) instead
92 of an embdedded script (kmem backed). Adjust the control flow of
93 hello_ll so that device doesn't get closed before unmount attempt.
94
Miklos Szerediaa8258e2006-02-25 14:42:03 +0000952006-02-25 Miklos Szeredi <miklos@szeredi.hu>
96
97 * Lowlevel lib: return all-zero statvfs data if filesystem doesn't
98 implement method. This is needed on FreeBSD, and nicer on Linux
99 too. Highlevel lib already did this. Reported by Csaba Henk
100
101 * Fix negative entry handling. There was a bug, that negative
102 lookups with timeouts (nodeid == 0) returned -EIO.
103
1042006-02-23 Miklos Szeredi <miklos@szeredi.hu>
105
106 * Fix race between RELEASE and UNLINK, which might leave
107 .fuse_hidden* files around
108
Miklos Szeredi6bab4802006-02-21 18:31:29 +00001092006-02-21 Miklos Szeredi <miklos@szeredi.hu>
110
111 * fusexmp_fh: implement flush() method and call close() on the
112 open file descriptor. This is needed if used on an NFS
113 filesystem, which buffers data until file is closed. Franco Broi
114 spotted the situation when 'cp -p' failed to set the modification
115 time because of this.
116
Miklos Szeredie109e282006-02-20 11:06:20 +00001172006-02-20 Miklos Szeredi <miklos@szeredi.hu>
118
119 * Released 2.6.0-pre1
120
Miklos Szeredib67f2162006-02-20 10:55:33 +00001212006-02-19 Miklos Szeredi <miklos@szeredi.hu>
122
123 * libfuse: fix use-after-free bug in interruptred reply_entry().
124 Patch from John Muir
125
126 * libfuse: fix wrong symbol versioning for fuse_mount. Debian bug
127 ID: 352631. Found by Stéphane Rosi
128
Miklos Szeredi1bf64f42006-02-17 15:49:25 +00001292006-02-17 Miklos Szeredi <miklos@szeredi.hu>
130
131 * Lowlevel lib: Unify fuse_dirent_size() and fuse_add_dirent()
132 into a single function fuse_add_direntry(). This cleans up the
133 interface and makes it possible to do stacking.
134
Miklos Szeredi99ac9c02006-02-16 10:08:32 +00001352006-02-16 Miklos Szeredi <miklos@szeredi.hu>
136
137 * Fix rare race betweeen abort and release caused by failed iget()
138 in fuse_create_open().
139
Miklos Szeredi6e806e92006-02-16 16:59:39 +0000140 * Add 'ac_attr_timeout' option e.g. for filesystems which do their
141 own attribute caching.
142
Miklos Szeredid65cdfe2006-02-15 14:25:17 +00001432006-02-15 Miklos Szeredi <miklos@szeredi.hu>
144
145 * Work around FreeBSD runtime linker "feature" which binds an old
146 version of a symbol to internal references if the symbol has more
147 than one version. This resulted in infinite recursion in
148 fuse_lowlevel_new_compat25().
149
Csaba Henkdcce3e52006-02-10 06:22:15 +00001502006-02-10 Csaba Henk <csaba.henk@creo.hu>
151
152 * Refine clock_gettime() querying so that linker options
153 shall be set as it's appropriate for the target platform.
154
Miklos Szeredi390ae312006-02-10 16:44:34 +00001552006-02-09 Miklos Szeredi <miklos@szeredi.hu>
156
157 * Fix udev rule syntax. Reported by Nix
158
Miklos Szeredieb643582006-02-08 10:54:02 +00001592006-02-08 Miklos Szeredi <miklos@szeredi.hu>
160
161 * In some cases udev rule seems to be ineffective when installed
162 as 40-fuse.rules but work as 60-fuse.rules. Reported by John Hunt
163
Miklos Szeredi357529c2006-02-03 09:20:31 +00001642006-02-03 Miklos Szeredi <miklos@szeredi.hu>
165
166 * Fix compilation when build directory is different from source
167 directory. Reported by Frédéric L. W. Meunier
168
Miklos Szeredice28c7e2006-02-02 14:59:05 +00001692006-02-02 Miklos Szeredi <miklos@szeredi.hu>
170
171 * Fix even bigger bug introduced in fix for request_end() on
172 2006-01-14. Reported by Gal Rosen
173
Miklos Szeredi320abe42006-01-30 18:14:51 +00001742006-01-30 Miklos Szeredi <miklos@szeredi.hu>
175
176 * highlevel-lib: add 'auto_cache' option. This caches file data
177 based on modification time and size
178
Miklos Szeredi065f2222006-01-20 15:15:21 +00001792006-01-20 Miklos Szeredi <miklos@szeredi.hu>
180
Miklos Szeredid66b7282006-02-02 15:15:21 +0000181 * Sanitize storage type and help message in mount_bsd.c. Patch
182 from Csaba Henk
183
Miklos Szeredi065f2222006-01-20 15:15:21 +0000184 * fuse_opt: add new helper constants FUSE_OPT_KEY_KEEP and
185 FUSE_OPT_KEY_DISCARD
186
187 * Add options 'max_readahead', 'sync_read' and 'async_read'
188
189 * Kernel ABI version 7.6:
190
191 * Negotiate the 'max_readahead' value and 'async_read' flags with
192 userspace in the INIT method
193
194 * Add connection info to ->init() methods to both lowlevel and
195 highlevel API
196
197 * Fall back to synchronous read() behavior if either library or
198 userspace filesystem is using the old interface version. This is
199 needed so non-updated filesystems won't be confused by the
200 different read() behavior
201
2022006-01-19 Miklos Szeredi <miklos@szeredi.hu>
203
204 * lib: if "fsname=" option was given, pass it to fusermount
205
206 * fuse_opt: add new fuse_opt_insert_arg() function, which is
207 needed by filesystems to implement some argument manipulations
208 correctly
209
210 * fuse_opt: fix memory leak in handling "--" option
211
2122006-01-18 Miklos Szeredi <miklos@szeredi.hu>
213
214 * kernel: fix detection of case when fuse is not configured into
215 the kernel either as module or built-in
216
217 * fuse_opt.h: fix incompatibility with C++ compilers by renaming
218 'template' structure member to 'templ'. Reported by Takashi Iwai
219
220 * fuse.h: fix compatibility bugs. Patch by Yura Pakhuchiy
221
222 * kernel: support version 2.6.16 (i_sem -> i_mutex)
223
Miklos Szeredi15af1b82006-01-16 17:52:24 +00002242006-01-16 Miklos Szeredi <miklos@szeredi.hu>
225
226 * Added (again) asynchronous readpages support
227
228 * Each connection now shows up under /sys/fs/fuse/connections
229
230 * Connection attributes exported to sysfs: 'waiting' number of
231 waiting requests; 'abort' abort the connection
232
233 * Connection may be aborted through either the sysfs interface or
234 with 'umount -f mountpoint'
235
Miklos Szeredi9db5faa2006-01-14 14:47:21 +00002362006-01-14 Miklos Szeredi <miklos@szeredi.hu>
237
Miklos Szeredi75bb0de2006-01-14 18:38:54 +0000238 * Released 2.5.0
239
2402006-01-14 Miklos Szeredi <miklos@szeredi.hu>
241
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000242 * kernel: fix a couple of bugs
243
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000244 * Order of request_end() and fuse_copy_finish() was wrong.
Miklos Szeredie0451092006-01-27 11:19:51 +0000245 Posthumous note: Franco Broi managed to exploit this, though it
Miklos Szeredi68183ca2006-01-27 11:16:11 +0000246 seemed quite impossible
Miklos Szeredi9db5faa2006-01-14 14:47:21 +0000247
248 * request_end() used request pointer after decrementing refcount
249
250 * Clearing ->connected or ->mounted connection flags could race
251 with setting other bitfields not protected with a lock
Miklos Szeredi15af1b82006-01-16 17:52:24 +0000252
Miklos Szeredia9820342006-01-10 10:54:11 +00002532006-01-10 Miklos Szeredi <miklos@szeredi.hu>
254
255 * kernel: add necessary compile flags for 2.4.X/x86_64.
256 Report from Sean Ziegeler
257
Miklos Szeredi35676b02006-01-09 10:13:28 +00002582006-01-09 Miklos Szeredi <miklos@szeredi.hu>
259
Miklos Szeredie07b1a22006-01-09 14:46:10 +0000260 * Released 2.5.0-pre2
261
2622006-01-09 Miklos Szeredi <miklos@szeredi.hu>
263
Miklos Szeredi35676b02006-01-09 10:13:28 +0000264 * Applied patch from Csaba Henk, to update mount_bsd to new
265 fuse_mount() semantics
266
Miklos Szeredib32c79b2006-01-09 11:14:29 +0000267 * Ignore auto,noauto,... options in mount.fuse. Reported by Frank
268 Steiner and Don Taber
269
Miklos Szeredicb075c82006-01-09 11:33:04 +0000270 * fusermount: add 'dirsync' mount option
271
Miklos Szerediad005972006-01-07 10:14:34 +00002722006-01-07 Miklos Szeredi <miklos@szeredi.hu>
273
274 * Improved help reporting and added version reporting to library
275
Miklos Szeredi0af762a2006-01-06 09:47:54 +00002762006-01-06 Miklos Szeredi <miklos@szeredi.hu>
277
278 * Change working directory to "/" even if running in the
279 foreground. Patch from Jonathan Brandmeyer
280
Miklos Szeredi95da8602006-01-06 18:29:40 +0000281 * Changed lots of functions to use 'struct fuse_args' instead of
282 separate argc and argv
283
284 * Added fuse_parse_cmdline(), fuse_set_signal_handlers() and
285 fuse_remove_signal_handlers() functions, so that it's now pretty
286 easy to get all the functionality of fuse_main() with a filesystem
287 using the lowlevel API.
288
Miklos Szeredib8638182006-01-02 12:52:24 +00002892006-01-02 Miklos Szeredi <miklos@szeredi.hu>
290
Miklos Szeredif1941472006-01-02 16:27:48 +0000291 * mount.fuse: the 'user' option should be ignored. Report and
292 solution from Mattd.
293
294 * mount.fuse: export PATH in the right place. Report and patch
295 from Hannes Schweizer
Miklos Szeredib8638182006-01-02 12:52:24 +0000296
Miklos Szeredi73f41392005-12-16 11:12:16 +00002972005-12-16 Miklos Szeredi <miklos@szeredi.hu>
298
299 * Clean up the option parsing interface slightly, by creating an
300 "argument list" structure, that contains the argument vector and
301 count
302
Miklos Szeredi4e829092005-12-15 16:13:49 +00003032005-12-15 Miklos Szeredi <miklos@szeredi.hu>
304
305 * fusermount: check if /mnt/mtab is a symlink and don't modify it
306 in that case
307
Miklos Szeredi154ffe22005-12-15 16:41:20 +0000308 * kernel: simplify request size limiting. INIT only contains
309 maximum write size, maximum path component size remains fixed at
310 1024 bytes, and maximum xattr size depends on read buffer.
311
Miklos Szeredie248e4b2005-12-14 16:18:32 +00003122005-12-14 Miklos Szeredi <miklos@szeredi.hu>
313
314 * Fix readdir() failure on x86_64, of 32bit programs compiled
315 without largefile support. Bug report and help from Anthony
316 Kolasny
317
Miklos Szeredi64709572005-12-14 22:16:28 +0000318 * If lookup returns invalid mode, return -EIO instead of creating
Miklos Szeredicaa09312005-12-14 23:25:00 +0000319 a regular file
320
321 * Add current output argument vector to option processing
322 function
Miklos Szeredi64709572005-12-14 22:16:28 +0000323
Miklos Szeredi76fc3de2005-12-12 09:34:45 +00003242005-12-12 Miklos Szeredi <miklos@szeredi.hu>
325
326 * Fix stale code in ifdef FreeBSD. Patch from Csaba Henk
327
Miklos Szeredi659743b2005-12-09 17:41:42 +00003282005-12-09 Miklos Szeredi <miklos@szeredi.hu>
329
Miklos Szeredi3b534a42005-12-09 20:09:42 +0000330 * Released 2.5.0-pre1
331
3322005-12-09 Miklos Szeredi <miklos@szeredi.hu>
333
Miklos Szeredi659743b2005-12-09 17:41:42 +0000334 * libfuse: added option parsing interface, defined in
335 <fuse_opt.h>.
336
Miklos Szeredic53cddd2005-12-07 12:57:59 +00003372005-12-07 Miklos Szeredi <miklos@szeredi.hu>
338
339 * Return EIO for file operations (read, write, fsync, flush) on
340 open files whose inode has become "bad". Inodes will be marked
341 "bad" if their type changes. Bug report by Csaba Henk
342
Miklos Szeredi044da2e2005-12-06 17:59:55 +00003432005-12-06 Miklos Szeredi <miklos@szeredi.hu>
344
345 * Use bigger request buffer size. write() did not work on archs
346 with > 4k page size, Bug report by Mark Haney
347
348 * ABI version 7.5:
349
350 * Extend INIT reply with data size limits
351
Miklos Szeredifa829b52005-12-02 11:05:41 +00003522005-12-02 Miklos Szeredi <miklos@szeredi.hu>
353
354 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
355 reported by Vincenzo Ciancia
356
357 * Handle exit-by-umount in fuse_read_cmd()
358
Miklos Szeredi3cc8a262005-11-29 11:04:27 +00003592005-11-29 Miklos Szeredi <miklos@szeredi.hu>
360
361 * Check if '-msoft-float' option is supported by compiler when
362 configuring for a 2.4.x kernel. Bug report by Mark Haney
363
Miklos Szeredi40d7b382005-11-29 20:07:23 +0000364 * In multithreaded loop send a TERM signal to the main thread if
365 one of the other threads exit. Needed on FreeBSD for a clean exit
366 on umount. Should not cause any harm on Linux either
367
Miklos Szerediead7f102005-11-28 16:02:27 +00003682005-11-28 Miklos Szeredi <miklos@szeredi.hu>
369
370 * Fix bug in 32-bit file handle compatibility
371
Miklos Szeredia90b7342005-11-27 19:22:42 +00003722005-11-27 Miklos Szeredi <miklos@szeredi.hu>
373
374 * Block TERM, INT, HUP and QUIT signals in all but the main
375 thread. According to POSIX it's not specified which thread will
376 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +0000377
378 * Kernel changes:
379
380 * Check for directory aliasing on mkdir, not just on lookup
381
382 * Check for special node ID values in create+open operation
383
384 * Sync with -mm: readv, writev, aio_read and aio_write methods
385 added to file operations
386
387 * Cleanups: lookup code, page offset calculation
388
389 * ABI stepped to 7.4, changes:
390
391 * frsize member added to fuse_kstatfs structure
392
393 * added support for negative entry caching: on lowlevel API if
394 fuse_entry_param::ino is set to zero in reply to a lookup request,
395 the kernel will cache the dentry for the specified amount of time.
396
397 * libfuse: added 'negative_timeout' option: specifies how much
398 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +0000399 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +0000400
Miklos Szeredibac4c772005-11-23 13:35:54 +00004012005-11-22 Miklos Szeredi <miklos@szeredi.hu>
402
403 * Add detection of mainline FUSE code in running kernel
404
Miklos Szeredi8393e3d2005-11-21 11:37:01 +00004052005-11-21 Miklos Szeredi <miklos@szeredi.hu>
406
407 * Don't use async cancelation in multithreaded loop. This makes
408 it more portable to systems where read() is not async cancel safe.
409 Report from Andriy Gapon
410
Miklos Szeredi05c97842005-11-20 17:05:07 +00004112005-11-20 Miklos Szeredi <miklos@szeredi.hu>
412
413 * Warn if API version 11 compatibility is requested
414
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +00004152005-11-17 Miklos Szeredi <miklos@szeredi.hu>
416
417 * More FreeBSD merge
418
Miklos Szeredi832ee442005-11-18 21:02:36 +0000419 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
420 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +0000421 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +0000422
423 * libfuse: don't use system() to invoke 'fusermount -u ...'
424 because it breaks mountpoints with spaces in them into multiple
425 arguments
426
Miklos Szeredib3f99722005-11-16 13:00:24 +00004272005-11-16 Miklos Szeredi <miklos@szeredi.hu>
428
429 * Merge library part of FreeBSD port. Patch by Csaba Henk
430
Miklos Szeredi3a770472005-11-11 21:32:42 +00004312005-11-11 Miklos Szeredi <miklos@szeredi.hu>
432
433 * Use 64bit type for file handle, so the full range supported by
434 the kernel interface is available to applications
435
Miklos Szeredibcc53852005-11-10 09:54:41 +00004362005-11-10 Miklos Szeredi <miklos@szeredi.hu>
437
438 * Moved mountpoint argument checking from fuse_parse_cmdline() to
439 fuse_mount() in preparation to FreeBSD merge.
440
Miklos Szeredi4ec06812005-11-08 13:04:27 +00004412005-11-08 Miklos Szeredi <miklos@szeredi.hu>
442
443 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
444 Henk.
445
Miklos Szeredic706ad92005-11-07 15:30:48 +00004462005-11-07 Miklos Szeredi <miklos@szeredi.hu>
447
448 * Make the statfs change backwards compatible.
449
Miklos Szeredi52cb09d2005-11-07 11:59:00 +00004502005-11-06 Miklos Szeredi <miklos@szeredi.hu>
451
452 * Change ->statfs() method to use 'struct statvfs' instead of
453 'struct statfs'. This makes the API more portable since statvfs()
454 is defined by POSIX.
455
Miklos Szeredif7eec032005-10-28 13:09:50 +00004562005-10-28 Miklos Szeredi <miklos@szeredi.hu>
457
458 * Add fgetattr() method, which currently will only be called after
459 a successful call to a create() method.
460
Miklos Szeredib0b13d12005-10-26 12:53:25 +00004612005-10-26 Miklos Szeredi <miklos@szeredi.hu>
462
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000463 * Change kernel ABI version to 7.3
464
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000465 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000466 call if 'default_permissions' mount option is not given, and is
467 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000468
Miklos Szeredid9079a72005-10-26 15:29:06 +0000469 * Add atomic CREATE+OPEN operation. This will only work with
470 2.6.15 (presumably) or later Linux kernels.
471
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000472 * Add ftruncate() method. This will only work with 2.6.15
473 (presumably) or later Linux kernels.
474
475 * Fix kernel module compile if kernel source and build directories
476 differ. Report and initial patch by John Eastman
477
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00004782005-10-18 Miklos Szeredi <miklos@szeredi.hu>
479
480 * lib: optimize buffer reallocation in fill_dir.
481
Miklos Szeredic9daeb12005-10-17 10:19:21 +00004822005-10-17 Miklos Szeredi <miklos@szeredi.hu>
483
484 * Released 2.4.1
485
Miklos Szeredif412d072005-10-14 21:24:32 +00004862005-10-14 Miklos Szeredi <miklos@szeredi.hu>
487
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000488 * libfuse: add debug for write result (by Shaun Jackman) and
489 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000490
Miklos Szeredib75d4b92005-10-11 10:12:08 +00004912005-10-11 Miklos Szeredi <miklos@szeredi.hu>
492
493 * Spelling fixes, thanks to Ioannis Barkas
494
Miklos Szeredibaab5872005-10-10 08:41:14 +00004952005-10-10 Miklos Szeredi <miklos@szeredi.hu>
496
497 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
498 patch
499
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00005002005-10-07 Miklos Szeredi <miklos@szeredi.hu>
501
502 * highlevel-lib: init() and destroy() methods didn't have an
503 initialized fuse_context. Bug reported by Tim Stoakes
504
Miklos Szeredif2491122005-10-04 10:10:41 +00005052005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000506
507 * Released 2.4.0
508
Miklos Szeredi836ab712005-10-03 14:11:59 +00005092005-10-03 Miklos Szeredi <miklos@szeredi.hu>
510
511 * Add documentation to fuse_lowlevel.h
512
513 * API cleanups:
514
515 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
516
517 * Move fuse_mount() and fuse_unmount() to fuse_common.h
518
519 * Change the return type of fuse_reply_none() from int to void.
520
Miklos Szerediaf138742005-09-30 08:49:59 +00005212005-09-30 Miklos Szeredi <miklos@szeredi.hu>
522
523 * kernel: NFS exporting leaked dentries. Bug found and fixed by
524 Akshat Aranya.
525
Miklos Szeredidb016e02005-09-29 10:06:27 +00005262005-09-29 Miklos Szeredi <miklos@szeredi.hu>
527
528 * fusermount: fix error message, when unable to open /dev/fuse.
529 Report by Balázs Pozsár
530
Miklos Szeredi35200932005-09-28 14:50:49 +00005312005-09-28 Miklos Szeredi <miklos@szeredi.hu>
532
533 * UClibc fixes from Christian Magnusson
534
Miklos Szeredi8eddf642005-09-27 08:58:26 +00005352005-09-27 Miklos Szeredi <miklos@szeredi.hu>
536
537 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
538
Miklos Szerediedec95c2005-09-26 10:22:22 +00005392005-09-26 Miklos Szeredi <miklos@szeredi.hu>
540
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000541 * Released 2.4.0-rc1
542
5432005-09-26 Miklos Szeredi <miklos@szeredi.hu>
544
Miklos Szerediedec95c2005-09-26 10:22:22 +0000545 * fusermount: allow user umount in the case when /etc/mtab is a
546 symlink to /proc/mounts. Reported by Balázs Pozsár.
547
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00005482005-09-23 Miklos Szeredi <miklos@szeredi.hu>
549
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000550 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000551
Miklos Szeredif45f3c12005-09-22 15:14:27 +00005522005-09-22 Miklos Szeredi <miklos@szeredi.hu>
553
554 * Slight optimization in returning EINVAL error in case of an open
555 with O_DIRECT flag.
556
Miklos Szeredi670d07a2005-09-20 11:36:32 +00005572005-09-20 Miklos Szeredi <miklos@szeredi.hu>
558
559 * Remove '--enable-auto-modprobe' configure flag. Module
560 auto-loading is now handled by the kernel.
561
Miklos Szeredid51fca12005-09-15 12:51:00 +00005622005-09-15 Miklos Szeredi <miklos@szeredi.hu>
563
564 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
565 Help from Jens M. Noedler.
566
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00005672005-09-14 Miklos Szeredi <miklos@szeredi.hu>
568
569 * Add memory cleanup on thread exit
570
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00005712005-09-13 Miklos Szeredi <miklos@szeredi.hu>
572
573 * Set umask to zero in fusexmp and fusexmp_fh, so that
574 files/directories are created with the requested mode.
575
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00005762005-09-12 Miklos Szeredi <miklos@szeredi.hu>
577
578 * Don't ignore read error in multithreaded loop
579
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00005802005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000581
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000582 * Released 2.4.0-pre2
583
5842005-09-08 Miklos Szeredi <miklos@szeredi.hu>
585
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000586 * Revert lock and access operations. Postpone these until 2.5.
587
5882005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000589
590 * Fix compile warning on 2.6.13 and later
591
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000592 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000593
Miklos Szeredi77ccf652005-08-19 14:40:27 +00005942005-08-19 Miklos Szeredi <miklos@szeredi.hu>
595
596 * lib: always refresh directory contents after rewinddir() to
597 conform to SUS. Bug found by John Muir.
598
Miklos Szeredia1482422005-08-14 23:00:27 +00005992005-08-15 Miklos Szeredi <miklos@szeredi.hu>
600
Miklos Szeredic43f9412005-08-15 15:10:48 +0000601 * Released 2.4.0-pre1
602
6032005-08-14 Miklos Szeredi <miklos@szeredi.hu>
604
Miklos Szeredia1482422005-08-14 23:00:27 +0000605 * lib: cleaned up (or messed up, depending on your POV) the low
606 level library API. Hopefully this is close to the final form.
607
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00006082005-08-05 Miklos Szeredi <miklos@szeredi.hu>
609
610 * fusermount: don't allow empty mountpoint argument, which defeats
611 automatic umounting in fuse_main(). Bugreport by Václav Jůza
612
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00006132005-08-03 Miklos Szeredi <miklos@szeredi.hu>
614
615 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
616 option is used (Paul Alfille).
617
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00006182005-08-02 Miklos Szeredi <miklos@szeredi.hu>
619
620 * highlevel-lib: added mount options "attr_timeout" and
621 "entry_timeout". These options control the length of time file
622 attributes and entries (names) are cached. Both default to 1.0
623 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000624
625 * kernel: correctly handle zero timeout for attributes and entries
626
Miklos Szeredi56a61f02005-08-01 10:42:25 +00006272005-08-01 Miklos Szeredi <miklos@szeredi.hu>
628
629 * Added missing symbols to versionscript (Joshua J. Berry)
630
Miklos Szeredie77cc072005-08-01 11:58:51 +0000631 * kernel: implement two flags, open can set: 'direct_io' and
632 'keep_cache'. These correspond exactly to mount options
633 'direct_io' and 'kernel_cache', but allow a per-open setting.
634
635 * Move 'direct_io' and 'kernel_cache' mount option handling to
636 userspace. For both mount options, if the option is given, then
637 the respective open flag is set, otherwise the open flag is left
638 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000639
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000640 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000641
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00006422005-07-28 Miklos Szeredi <miklos@szeredi.hu>
643
644 * kernel: invalidate attributes for read/readdir/readlink
645 operations
646
647 * kernel: detect newer UML kernels
648
Miklos Szeredibfb99462005-07-26 11:07:55 +00006492005-07-26 Miklos Szeredi <miklos@szeredi.hu>
650
651 * Make the installation path of fuse.ko and mount.fuse
652 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
653 environment variables. Requirement and help from Csaba Henk.
654
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00006552005-07-22 Miklos Szeredi <miklos@szeredi.hu>
656
657 * Fix bug, that causes filesystem requests to hang when unique
658 request counter becomes negative. This happens after
659 2,147,483,648 operations, so most people won't care. Thanks to
660 Franco Broi for the report and testing.
661
Miklos Szeredi9b813af2005-07-21 07:59:37 +00006622005-07-21 Miklos Szeredi <miklos@szeredi.hu>
663
664 * Don't change mtime/ctime/atime to local time on read/write.
665 Bug reported by Ben Grimm
666
667 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
668 Magnusson
669
670 * fusermount: use getopt_long() for option parsing. It allows the
671 use of '--' to stop argument scanning, so fusermount can now
672 operate on directories whose names begin with a '-'. Patch by
673 Adam Connell
674
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00006752005-07-15 Miklos Szeredi <miklos@szeredi.hu>
676
677 * fusermount: add '-v', '--version' and '--help' options
678
679 * add inode based API
680
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00006812005-07-12 Miklos Szeredi <miklos@szeredi.hu>
682
683 * lib: don't block signals in worker threads. Problem noticed by
684 Usarin Heininga
685
Miklos Szeredic902a852005-07-07 12:35:37 +00006862005-07-07 Miklos Szeredi <miklos@szeredi.hu>
687
688 * lib: don't allow both 'allow_other' and 'allow_root' options to
689 be given
690
Miklos Szeredi437d8112005-07-06 09:14:20 +00006912005-07-06 Miklos Szeredi <miklos@szeredi.hu>
692
693 * fusermount: check if mountpoint is empty (only '.' and '..' for
694 directories, and size = 0 for regular files). If "nonempty"
695 option is given, omit this check. This is useful, so users don't
696 accidentally hide data (e.g. from backup programs). Thanks to
697 Frank van Maarseveen for pointing this out.
698
699 * kernel: check if mandatory mount options ('fd', 'rootmode',
700 'user_id', 'group_id') are all given
701
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000702 * lib: simplify 'readdir_ino' handling
703
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000704 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
705
Miklos Szeredibb9f5172005-07-03 18:03:11 +00007062005-07-03 Miklos Szeredi <miklos@szeredi.hu>
707
708 * kernel: clean up 'direct_io' code
709
Miklos Szeredie1bcece2005-06-28 10:37:06 +00007102005-06-28 Miklos Szeredi <miklos@szeredi.hu>
711
712 * Add 'mount.fuse' written by Petr Klima
713
Miklos Szeredi866826d2005-06-28 12:22:57 +0000714 * '/dev/fuse' is created by 'make install' if does not yet exist
715
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00007162005-06-20 Miklos Szeredi <miklos@szeredi.hu>
717
718 * Fix UCLIBC compile error. Patch by Christian Magnusson
719
Miklos Szerediec12fad2005-06-08 10:26:34 +00007202005-06-08 Miklos Szeredi <miklos@szeredi.hu>
721
722 * Enable the auto-loading of the module via access to the
723 corresponding device file. Patch by Takashi Iwai.
724
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000725 * Allow mounting a regular file (over a regular file) for
726 unprivleged users.
727
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000728 * Do not create temporary device file. Require "/dev/fuse" to
729 exist, and be readable/writable by the mounting user.
730
Miklos Szeredi46960ce2005-06-02 09:05:00 +00007312005-06-02 Miklos Szeredi <miklos@szeredi.hu>
732
Miklos Szeredi56478552005-06-02 10:29:00 +0000733 * Released 2.3.0
734
7352005-06-02 Miklos Szeredi <miklos@szeredi.hu>
736
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000737 * Fix serious information leak: if the filesystem returns a short
738 byte count to a read request, and there are non-zero number of
739 pages which are not filled at all, these pages will not be zeroed.
740 Hence the user can read out previous memory contents. Found by
741 Sven Tantau.
742
Miklos Szeredi33be22d2005-05-27 09:12:43 +00007432005-05-27 Miklos Szeredi <miklos@szeredi.hu>
744
745 * Add "readdir_ino" mount option, which tries to fill in the d_ino
746 field in struct dirent. This mount option is ignored if "use_ino"
747 is used. It helps some programs (e.g. 'pwd' used over NFS from a
748 non-Linux OS). Patch by David Shaw.
749
Miklos Szeredif94e0102005-05-12 14:56:34 +00007502005-05-12 Miklos Szeredi <miklos@szeredi.hu>
751
Miklos Szeredieb009c42005-05-12 15:01:17 +0000752 * Released 2.3-rc1
753
7542005-05-12 Miklos Szeredi <miklos@szeredi.hu>
755
Miklos Szeredif94e0102005-05-12 14:56:34 +0000756 * File save in krusader and other editors doesn't work with sshfs,
757 because open() is interrupted by a periodic signal, and open()
758 restarts forever, without any progress. This could just be fixed
759 in open(), but the problem is more generic: if signals are
760 received more often than the filesystem can get the request to
761 userspace, it will never finish. This is probably only a
762 theoretical problem, nevertheless I'm removing the possibility to
763 interrupt requests with anything other than SIGKILL, even before
764 being sent to userspace. Bugreport by Eduard Czimbalmos.
765
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00007662005-05-09 Miklos Szeredi <miklos@szeredi.hu>
767
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000768 * libfuse: add "tree_lock" rwlock, that is locked for write in
769 rename, unlink and rmdir, and locked for read in all other
770 operations. This should fix the rename/release race reported by
771 Valient Gough and others. The solution is very coarse, a finer
772 grained locking scheme could be implemented, but it would be much
773 more complex. Let's see whether this is good enough.
774
7752005-05-09 Miklos Szeredi <miklos@szeredi.hu>
776
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000777 * Released 2.3-pre7
778
Miklos Szeredi38009022005-05-08 19:47:22 +00007792005-05-08 Miklos Szeredi <miklos@szeredi.hu>
780
781 * Better fix for out of order FORGET messages. Now the
782 LOOKUP/FORGET messages are balanced exactly (one FORGET can
783 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000784 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000785 compatible.
786
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00007872005-05-06 Miklos Szeredi <miklos@szeredi.hu>
788
789 * Fix abort for out of order FORGET messages. Again. Spotted by
790 Franco Broi again. Sorry :)
791
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00007922005-04-29 Miklos Szeredi <miklos@szeredi.hu>
793
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000794 * Released 2.3-pre6
795
7962005-04-29 Miklos Szeredi <miklos@szeredi.hu>
797
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000798 * Make fusermount work with fuse kernel modules not yet supporting
799 the "group_id" option (added for the purpose of stricter
800 permission checking).
801
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00008022005-04-28 Miklos Szeredi <miklos@szeredi.hu>
803
804 * Check for hard-linked directories in lookup. This could cause
805 problems in the VFS, which assumes that such objects never exist.
806
807 * Make checking of permission for other users more strict. Now
808 the same privilege is required for the mount owner as for ptrace
809 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000810
Miklos Szeredi3efcb562005-04-23 13:34:29 +00008112005-04-23 Miklos Szeredi <miklos@szeredi.hu>
812
813 * Released 2.3-pre5
814
Miklos Szeredid001bf92005-04-22 07:54:11 +00008152005-04-22 Miklos Szeredi <miklos@szeredi.hu>
816
817 * Add -msoft-float to kernel module compile flags for 2.4.X. This
818 is needed on certain architectures. Report from Chris Kirby
819
820 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
821 Reported by David Shaw
822
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000823 * Remove "allow_root" option from kernel module, and implement
824 it's functionality in the library
825
826 * Fix Oops caused by premature release of fuse_conn. Clean up
827 related code, to be more readable
828
Miklos Szeredif9137452005-04-23 10:59:44 +0000829 * Sendfile should not use page cache if "direct_io" mount option
830 is given
831
Miklos Szeredib7640d22005-04-08 15:15:28 +00008322005-04-08 Miklos Szeredi <miklos@szeredi.hu>
833
834 * Fix Oops in case of nfs export. Spotted by David Shaw
835
Miklos Szeredi89814a12005-04-08 16:39:09 +0000836 * Fix another Oops in case of write over nfs with direct_io turned
837 on. Again spotted by David Shaw
838
Miklos Szerediab974562005-04-07 15:40:21 +00008392005-04-07 Miklos Szeredi <miklos@szeredi.hu>
840
Miklos Szeredi432d6182005-04-07 15:56:13 +0000841 * Released 2.3-pre4
842
8432005-04-07 Miklos Szeredi <miklos@szeredi.hu>
844
Miklos Szerediab974562005-04-07 15:40:21 +0000845 * lib: finalized new readdir() interface, which now supersedes the
846 getdir() method.
847
Miklos Szeredi30e093a2005-04-03 17:44:54 +00008482005-04-03 Miklos Szeredi <miklos@szeredi.hu>
849
850 * Released 2.3-pre3
851
8522005-04-03 Miklos Szeredi <miklos@szeredi.hu>
853
854 * Implement backward compatibility with version 5 kernel ABI
855
Miklos Szeredi18fce982005-04-01 21:07:35 +00008562005-04-01 Miklos Szeredi <miklos@szeredi.hu>
857
858 * Released 2.3-pre2
859
8602005-04-01 Miklos Szeredi <miklos@szeredi.hu>
861
862 * kernel: fix dirent offset handling
863
864 * lib: add readdir and releasedir methods
865
866 * lib: use fh field of fuse_file_info in opendir, readdir,
867 releasedir and fsyncdir methods
868
869 * lib: check kernel API version and bail out of it's old. This
870 will be properly fixed in the next release
871
8722005-03-31 Miklos Szeredi <miklos@szeredi.hu>
873
874 * Released 2.3-pre1
875
Miklos Szeredieab72ef2005-03-31 19:59:12 +00008762005-03-31 Miklos Szeredi <miklos@szeredi.hu>
877
878 * kernel API: add padding to structures, so 64bit and 32bit
879 compiler will return the same size
880
881 * kernel API: add offset field to fuse_dirent. This will allow
882 more sophisticated readdir interface for userspace
883
884 * kernel API: change major number to 6
885
886 * kernel: fix warnings on 64bit archs
887
888 * kernel: in case of API version mismatch, return ECONNREFUSED
889
Miklos Szeredi407e6a72005-03-25 12:19:43 +00008902005-03-24 Miklos Szeredi <miklos@szeredi.hu>
891
892 * kernel: trivial cleanups
893
Miklos Szeredi4283ee72005-03-21 12:09:04 +00008942005-03-21 Miklos Szeredi <miklos@szeredi.hu>
895
896 * Add fsyncdir() operation
897
Miklos Szeredid17da462005-03-21 11:47:04 +00008982005-03-19 Miklos Szeredi <miklos@szeredi.hu>
899
900 * kernel: add locking to background list (fixes previous fix)
901
9022005-03-18 Miklos Szeredi <miklos@szeredi.hu>
903
904 * kernel: fix bug which could cause leave busy inodes after
905 unmount, and Oops.
906
9072005-03-08 Miklos Szeredi <miklos@szeredi.hu>
908
909 * examples: add -lpthread to link flags to work around valgrind
910 quirk
911
912 * lib: don't exit threads, so cancelation doesn't cause segfault
913
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00009142005-03-04 Miklos Szeredi <miklos@szeredi.hu>
915
916 * kernel: fix nasty bug which could cause an Oops under certain
917 situations. Found by Magnus Johansson
918
Miklos Szeredif43f0632005-02-28 11:46:56 +00009192005-02-28 Miklos Szeredi <miklos@szeredi.hu>
920
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000921 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000922 permission checking in getdir() is too late. Thanks to Usarin
923 Heininga for pointing out this deficiency
924
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000925 * libfuse: added init() and destroy() methods to fuse_operations
926
Miklos Szeredif43f0632005-02-28 11:46:56 +0000927 * kernel: llseek() method for files and directories made explicit
928
929 * kernel: fixed inode leak in NFS export in case of nodeid
930 wrapping
931
Miklos Szeredied3c97c2005-02-15 17:04:50 +00009322005-02-15 Miklos Szeredi <miklos@szeredi.hu>
933
934 * libfuse: clean up some unitialized memory found with valgrind
935
Miklos Szeredi47c52982005-02-23 09:27:38 +0000936 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
937 explicitly linked libpthread for applications
938
Miklos Szeredia7169412005-02-10 07:35:05 +00009392005-02-10 Miklos Szeredi <miklos@szeredi.hu>
940
941 * fusermount: set umask, otherwise /etc/mtab will have
942 unpredictable permission. Spotted by Jindrich Kolorenc
943
944 * fusermount: set owner and group of /etc/mtab to original values
945 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000946
947 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000948
Miklos Szeredib92d9782005-02-07 16:10:49 +00009492005-02-07 Miklos Szeredi <miklos@szeredi.hu>
950
951 * Cleaned up directory reading (temporary file is not used)
952
Miklos Szerediff30a6c2005-02-02 10:53:59 +00009532005-02-02 Miklos Szeredi <miklos@szeredi.hu>
954
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000955 * Released 2.2
956
9572005-02-02 Miklos Szeredi <miklos@szeredi.hu>
958
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000959 * Fix possible race when operation is interrupted
960
Miklos Szeredi7a983952005-01-28 09:58:19 +00009612005-01-28 Miklos Szeredi <miklos@szeredi.hu>
962
Miklos Szeredie5183742005-02-02 11:14:04 +0000963 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000964
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00009652005-01-26 Miklos Szeredi <miklos@szeredi.hu>
966
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000967 * Released 2.2-pre6
968
9692005-01-26 Miklos Szeredi <miklos@szeredi.hu>
970
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000971 * Fix bug in link() operation which caused the wrong path to be
972 passed as the first argument. Found by Anton Altaparmakov
973
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00009742005-01-21 Miklos Szeredi <miklos@szeredi.hu>
975
976 * LIB: fix double reply in readdir operation
977
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000978 * fusermount: fix uid checking bug. Patch by Adam Connell
979
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000980 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000981 Patch by Keshava Gowda
982
Miklos Szeredi64074142005-01-20 08:48:11 +00009832005-01-20 Miklos Szeredi <miklos@szeredi.hu>
984
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000985 * KERNEL: provide correct llseek semantics for fuse device (fixes
986 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
987
9882005-01-20 Miklos Szeredi <miklos@szeredi.hu>
989
Miklos Szeredi64074142005-01-20 08:48:11 +0000990 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
991
Miklos Szeredi1adb2272005-01-18 21:19:58 +00009922005-01-18 Miklos Szeredi <miklos@szeredi.hu>
993
994 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
995 and RELEASEDIR. This ends the ugly hack of passing a file
996 descriptor to the kernel, and actually makes the code simpler.
997
Miklos Szeredi7db35c02005-01-17 09:46:28 +00009982005-01-17 Miklos Szeredi <miklos@szeredi.hu>
999
Miklos Szeredic2e960e2005-01-17 13:05:21 +00001000 * Released 2.2-pre4
1001
10022005-01-17 Miklos Szeredi <miklos@szeredi.hu>
1003
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001004 * fusermount: remove capability setting, which was the cause of
1005 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +00001006 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001007
Miklos Szeredidbe0f652005-01-15 14:32:56 +000010082005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001009
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001010 * fix compilation on 2.4 kernels (reported by Valient Gough)
1011
1012 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001013
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +00001014 * fusermount: improve parsing of /etc/fuse.conf
1015
10162005-01-13 Miklos Szeredi <miklos@szeredi.hu>
1017
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +00001018 * Remove 'mount_max' and 'user_allow_other' module options. These
1019 are now checked by fusermount, and can be set in /etc/fuse.conf
1020
1021 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
1022
Miklos Szeredi81394522005-01-11 14:24:18 +000010232005-01-11 Miklos Szeredi <miklos@szeredi.hu>
1024
1025 * KERNEL: fix possible inode allocation problem, where
1026 sizeof(struct inode) is not aligned (found by Mike Waychison)
1027
1028 * KERNEL: use new follow_link/put_link methods
1029
1030 * KERNEL: cosmetic fixes
1031
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +000010322005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1033
1034 * Released 2.2-pre3
1035
10362005-01-10 Miklos Szeredi <miklos@szeredi.hu>
1037
1038 * Add missing code that was accidently left out
1039
Miklos Szeredi8c7da232005-01-09 12:27:41 +000010402005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1041
Miklos Szeredi8d775f72005-01-09 20:22:53 +00001042 * Released 2.2-pre2
1043
10442005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1045
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00001046 * Change "uid" mount option to "user_id" to avoid confusion with a
1047 mount option "uid" commonly used by many filesystems
1048
10492005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1050
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001051 * Released 2.2-pre1
1052
10532005-01-09 Miklos Szeredi <miklos@szeredi.hu>
1054
1055 * If FUSE is configured in the kernel, don't build it by default
1056
Miklos Szeredi2a927272005-01-07 11:14:15 +000010572005-01-07 Miklos Szeredi <miklos@szeredi.hu>
1058
1059 * Compile fix by Christian Magnusson
1060
Miklos Szeredib6220192005-01-05 16:19:10 +000010612005-01-05 Miklos Szeredi <miklos@szeredi.hu>
1062
1063 * Fix compilation for 2.6.{0-5} kernels
1064
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010652005-01-04 Miklos Szeredi <miklos@szeredi.hu>
1066
1067 * KERNEL: if request is interrupted, still keep reference to used
1068 inode(s) and file, so that FORGET and RELEASE are not sent until
1069 userspace finishes the request.
1070
Miklos Szeredi3f0005f2005-01-04 19:24:31 +00001071 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
1072 request with the same information, which is more flexible,
1073 simpler, works on embedded systems.
1074
Miklos Szeredi0f62d722005-01-04 12:45:54 +000010752004-12-16 Miklos Szeredi <miklos@szeredi.hu>
1076
1077 * KERNEL ABI: update interface to make it independent of type
1078 sizes. This will help on 64 bit architectures which can run
1079 legacy 32 bit applications.
1080
1081 * KERNEL ABI: add "len" field to request headers. This will allow
1082 sending/receiving requests in multiple chunks.
1083
1084 * KERNEL: handle file type change more intelligently
1085
1086 * LIB: "-o debug" option should disable backgrounding (fix by
1087 Fabien Reygrobellet)
1088
Miklos Szeredi0fcfa032004-12-13 15:22:28 +000010892004-12-13 Miklos Szeredi <miklos@szeredi.hu>
1090
1091 * KERNEL: invalidate dentry/attributes if interrupted request
1092 could leave filesystem in an unknown state.
1093
Miklos Szeredie56818b2004-12-12 11:45:24 +000010942004-12-12 Miklos Szeredi <miklos@szeredi.hu>
1095
1096 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
1097 These will cause some regressions, but stability is considered
1098 more important. If any of these features turns out to be
1099 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +00001100
Miklos Szeredie56818b2004-12-12 11:45:24 +00001101 * Make all requests interruptible (only with SIGKILL currently).
1102 This can be used to break any deadlock produced by the userspace
1103 filesystem accessing it's own exported files. The RELEASE request
1104 is special, because if it's interrupted before sending it to
1105 userspace it is still sent, but the reply is not awaited.
1106
1107 * If request is interrupted before being sent to userspace, and if
1108 it hasn't yet got any side effects, it is always restarted,
1109 regardless of the SA_RESTART flag. This makes these interruptions
1110 transparent to the process.
1111
1112 * Remove shared-writable mmap support, which was prone to an
1113 out-of-memory deadlock situation
1114
1115 * Remove INVALIDATE userspace initiated request
1116
1117 * Make readpages() synchronous. Asynchronous requests are
1118 deadlock prone, since they cannot be interrupted.
1119
1120 * Add readv/writev support to fuse device operations
1121
1122 * Remove some printks, which userspace FS can use for a DoS
1123 against syslog
1124
1125 * Remove 'large_read' mount option from 2.6 in kernel, check it in
1126 fusermount instead
1127
1128 * LIB: improve compatibility with a fuse.h header installed in
1129 ${prefix}/include which in turn includes the real header.
1130
1131 * LIB: improve compatibility by defining fuse_main() (which is now
1132 not used), so old configure scripts find it.
1133
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +000011342004-12-10 Miklos Szeredi <miklos@szeredi.hu>
1135
1136 * When mounting on a subdirectory of / don't duplicate slashes at
1137 the beggining of path (spotted by David Shaw)
1138
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +000011392004-12-09 Miklos Szeredi <miklos@szeredi.hu>
1140
1141 * Fix bug causing garbage in mount options (spotted by David Shaw)
1142
Miklos Szeredid59bb9d2004-12-07 10:04:24 +000011432004-12-07 Miklos Szeredi <miklos@szeredi.hu>
1144
1145 * Add 'writepage' flag to 'fuse_file_info'.
1146
1147 * More comments in fuse.h
1148
Miklos Szeredif458b8c2004-12-07 16:46:42 +00001149 * Get rid of double underscores
1150
Miklos Szeredi799993c2004-12-04 21:20:05 +000011512004-12-04 Miklos Szeredi <miklos@szeredi.hu>
1152
1153 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
1154
1155 * helper.c: add -ho option, which only displays the options not
1156 the usage header. This can be used by filesystems which have
1157 their own options.
1158
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +000011592004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1160
1161 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
1162 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
1163 including the fuse header
1164
1165 * Add binary compatibility to 2.1 version of library with symbol
1166 versioning
1167
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000011682004-12-03 Miklos Szeredi <miklos@szeredi.hu>
1169
1170 * Released 2.1
1171
Miklos Szeredi039322d2004-12-01 18:39:12 +000011722004-12-01 Miklos Szeredi <miklos@szeredi.hu>
1173
1174 * kernel: clean up writing functions
1175
1176 * kernel: no allocation on write in direct_io mode
1177
Miklos Szeredib9b94cd2004-12-01 18:56:39 +00001178 * move linux/fuse.h to fuse_kernel.h
1179
Miklos Szeredi83a07442004-11-30 18:25:20 +000011802004-11-30 Miklos Szeredi <miklos@szeredi.hu>
1181
1182 * kernel: clean up reading functions
1183
Miklos Szeredi2defe5e2004-11-29 16:53:44 +000011842004-11-29 Miklos Szeredi <miklos@szeredi.hu>
1185
1186 * kernel: make readpage() uninterruptible
1187
Miklos Szeredi96dfad72004-11-30 00:00:02 +00001188 * kernel: check readonly filesystem flag in fuse_permission
1189
1190 * lib: don't die if version file not found and new style device
1191 exists
1192
1193 * lib: add '-r' option, which is short for '-o ro'
1194
1195 * fusermount: simplify device opening
1196
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00001197 * kernel: when direct_io is turend on, copy data directly to
1198 destination without itermediate buffer. More efficient and safer,
1199 since no allocation is done.
1200
1201 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +00001202
1203 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +00001204
Miklos Szeredifb28c5e2004-11-26 12:15:06 +000012052004-11-26 Miklos Szeredi <miklos@szeredi.hu>
1206
1207 * libfuse API change: open, read, write, flush, fsync and release
1208 are passed a 'struct fuse_file_info' pointer containing the open
1209 flags (open and release), and the file handle. Verion changed to
1210 3.0.
1211
Miklos Szeredia25d4c22004-11-23 22:32:16 +000012122004-11-23 Miklos Szeredi <miklos@szeredi.hu>
1213
1214 * More cleanups in the kernel
1215
1216 * The 10,229 charater device number has been assigned for FUSE
1217
1218 * Version file checking fix (reported by Christian Magnusson)
1219
1220 * fusermount: opening the fuse device now doesn't need /sys.
1221
1222 * Optimize reading by controlling the maximum readahead based on
1223 the 'max_read' mount option
1224
1225 * fixes for UCLIBC (Christian Magnusson)
1226
Miklos Szeredi13ed4822004-11-20 11:12:21 +000012272004-11-19 Miklos Szeredi <miklos@szeredi.hu>
1228
1229 * Cleaned up kernel in preparation for merge into mainline:
1230
1231 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
1232
1233 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
1234
1235 * __user annotations for sparse
1236
1237 * allocate individual pages instead of kmalloc in fuse_readdir,
1238 fuse_read and fuse_write.
1239
1240 * Fix NFS export in case "use_ino" mount option is given
1241
Miklos Szeredif3845c42004-11-20 11:18:34 +00001242 * Make libfuse and fusermount compatible with future versions
1243
1244 * fusermount: properly add mount options to /etc/mtab
1245
12462004-11-15 Miklos Szeredi <miklos@szeredi.hu>
1247
1248 * fusermount: do not resolve last component of mountpoint on if it
1249 is '.' or '..'. This new path resolvation is now done on mount as
1250 well as unmount. This enables relative paths to work on unmount.
1251
1252 * fusermount: parse common mount options like "ro", "rw", etc...
1253
1254 * Allow module params to be changed through sysfs
1255
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000012562004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1257
1258 * Released 2.1-pre1
1259
12602004-11-14 Miklos Szeredi <miklos@szeredi.hu>
1261
1262 * Fix bug in fuse_readpages() causing Oops in certain situations.
1263 Bug found by Vincenzo Ciancia.
1264
1265 * Fix compilation with kernels versions > 2.6.9.
1266
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000012672004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001268
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001269 * Check kernel interface version in fusermount to prevent
1270 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +00001271
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001272 * No need to allocate fuse_conn until actual mount happens
1273
1274 * Fix potential race between umount and fuse_invalidate
1275
1276 * Check superblock of proc file in addition to inode number
1277
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00001278 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +00001279
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012802004-11-10 Miklos Szeredi <miklos@szeredi.hu>
1281
1282 * Separate configure for the kernel directory
1283
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00001284 * Don't allow write to return more than 'count'
1285
1286 * Extend kernel interface for future use
1287
Miklos Szeredi51ec1032004-11-10 11:52:26 +000012882004-11-09 Miklos Szeredi <miklos@szeredi.hu>
1289
1290 * Fix 'makeconf.sh' to use autoreconf if available
1291
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +000012922004-11-08 Miklos Szeredi <miklos@szeredi.hu>
1293
Miklos Szeredid507c732004-11-08 17:32:25 +00001294 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
1295 compatibility with earlier versions. To compile earier versions
1296 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
1297 Do not use the "use_ino" mount flag with filesystems compiled with
1298 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +00001299
1300 * Add pkg-config support. To compile a FUSE based filesystem you
1301 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
1302 or similar. Note, that the PKG_CONFIG_PATH environment variable
1303 usually needs to be set to "/usr/local/lib/pkgconfig".
1304
1305 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +00001306
Miklos Szeredia13d9002004-11-02 17:32:03 +000013072004-11-02 Miklos Szeredi <miklos@szeredi.hu>
1308
1309 * Added "use_ino" mount option. This enables the filesystems to
1310 set the st_ino field on files
1311
Miklos Szeredib1ab8b52004-11-01 10:57:41 +000013122004-11-01 Miklos Szeredi <miklos@szeredi.hu>
1313
1314 * Fix compile problems with ancient (<=2.4.18) kernels (reported
1315 by Jeremy Smith)
1316
Miklos Szeredi874e3c12004-11-01 23:15:20 +00001317 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
1318
1319 * Clear the 'exited' flag when mail loop is finished
1320
Miklos Szeredie989f0d2004-10-28 20:24:58 +000013212004-10-28 Miklos Szeredi <miklos@szeredi.hu>
1322
1323 * Make xattr functions work under 2.6 (bug found by Vincenzo
1324 Ciancia)
1325
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +000013262004-10-26 Miklos Szeredi <miklos@szeredi.hu>
1327
1328 * Reset request in fuse_flush() (bugreport by David Shaw)
1329
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000013302004-10-21 Miklos Szeredi <miklos@szeredi.hu>
1331
Miklos Szeredi0e70aa72004-10-21 16:24:29 +00001332 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001333 error code
1334
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001335 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001336 make it easier to implement a custom event loop.
1337
Miklos Szeredifb97a1b2004-10-21 09:59:13 +00001338 * Use daemon() call to background the filesystem after mounting.
1339 This function closes the standard input, output and error and
1340 changes the current working directory to "/".
1341
Miklos Szeredi127d49b2004-10-14 13:33:39 +000013422004-10-14 Miklos Szeredi <miklos@szeredi.hu>
1343
1344 * Released 1.9
1345
Miklos Szeredid45baf42004-10-10 07:56:12 +000013462004-10-09 Miklos Szeredi <miklos@szeredi.hu>
1347
1348 * Don't allow fuse_flush() to be interrupted (bug found by David
1349 Shaw)
1350
Miklos Szeredi1f18db52004-09-27 06:54:49 +000013512004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1352
1353 * Add PID to fuse_context. Patch by Steven James
1354
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001355 * Change file handle type to 'unsigned long' in kernel interface
1356
Miklos Szeredid169f312004-09-22 08:48:26 +000013572004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1358
1359 * A slight API change: fuse_get_context() doesn't need the "fuse"
1360 pointer, but the returned context contains it instead. The
1361 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001362
1363 * Fix mounting and umounting FUSE filesystem under another FUSE
1364 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001365
Miklos Szeredic2309912004-09-21 13:40:38 +000013662004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1367
1368 * Fix deadlock in case of memory allocation failure. Patch by
1369 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001370
Miklos Szeredib2cf9562004-09-16 08:42:40 +000013712004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1372
1373 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001374
Miklos Szeredi65afea12004-09-14 07:13:45 +000013752004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1376
1377 * Check temporary file creation failure in do_getdir(). Bug
1378 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001379
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000013802004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1381
1382 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001383
1384 * Make requests non-interruptible so race with FORGET is avoided.
1385 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001386
1387 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001388
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000013892004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1390
1391 * Fix bug in case two FORGETs for the same node are executed in
1392 the wrong order. Bug spotted and endured for months by Franco
1393 Broi, and logfile for solution provided by Terje Oseberg
1394
Miklos Szeredi12085102004-09-02 18:13:57 +000013952004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1396
1397 * Add -D_REENTRANT to the compile flags
1398
1399 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001400
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000014012004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1402
1403 * Change release method to be non-interruptible. Fixes bug
1404 causing missing release() call when program which has opened files
1405 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001406
Miklos Szeredi891b8742004-07-29 09:27:49 +000014072004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1408
1409 * Add fuse_invalidate() to library API
1410
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000014112004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1412
1413 * Check permissions in setattr if 'default_permissions' flag is
1414 set. Bug spotted by Damjan Lango
1415
Miklos Szeredid66d3942004-07-24 13:47:44 +000014162004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1417
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001418 * 'large_read' mount option removed for 2.6 kernels, since the
1419 default (dynamic read size) is better
1420
1421 * Extend kernel API with file handles. A file handle is returned
1422 by open, and passed to read, write, flush, fsync and release.
1423 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001424
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001425 * Security changes:
1426
1427 * Change the current directory to the mountpoint before checking
1428 the permissions and mount filesystem on "."
1429
1430 * By default don't modprobe the fuse module for non-root. The old
1431 behavior can be restored with the '--enable-auto-modprobe' flag of
1432 ./configure
1433
1434 * By default don't allow shared writable mappings for non-root.
1435 The old behavior can be restored with the 'user_mmap=1' module
1436 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001437
Miklos Szeredibd7661b2004-07-23 17:16:29 +000014382004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1439
1440 * Clean up mount option passing to fusermount and to fuse_new()
1441 BEWARE: this changes the userspace API slightly, and the command
1442 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001443
Miklos Szeredi58865372004-07-20 14:22:26 +000014442004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1445
1446 * Optimize reading under 2.6 kernels by issuing multiple page
1447 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001448
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000014492004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1450
1451 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001452
Miklos Szeredi069c9502004-07-16 16:17:02 +000014532004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1454
1455 * Separate directory entry and inode attribute validity timer
1456
1457 * New write semaphore to stop page writeback during truncate
1458
1459 * Fsync now waits for all writes to complete before sending the
1460 request
1461
1462 * Optimization: if a page is completely written by
1463 fuse_commit_write(), clear the dirty flag and set the uptodate
1464 flag for that page
1465
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001466 * Some memory cleanup at exit
1467
Miklos Szeredi2529ca22004-07-13 15:36:52 +000014682004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1469
1470 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001471 disable the "hide if open" behavior of unlink/rename.
1472
1473 * If temporary buffer allocation fails in raw read, fall back to a
1474 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001475
Miklos Szeredi73798f92004-07-12 15:55:11 +000014762004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1477
1478 * Fix bug in do_open() in libfuse: open count was incremented
1479 after the reply is sent so it could race with unlink/forget and
1480 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001481
Miklos Szeredi015fe702004-07-12 11:52:24 +000014822004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1483
1484 * When performing create or remove operation, refresh the parent's
1485 attributes on next revalidate, as i_nlink (and maybe size/time)
1486 could be inacurate.
1487
1488 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1489 pages (2.6 only)
1490
1491 * Set set_page_dirty address space operation (2.6 only)
1492
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014932004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001494
1495 * Minor fix in read: print debug info even if read size is zero
1496
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014972004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001498
1499 * Fix race between truncate and writepage (fsx-linux now runs
1500 without error)
1501
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015022004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001503
1504 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1505 by Mattias Wadman)
1506
1507 * Added option for direct read/write (-r)
1508
1509 * Fix revalidate time setting for newly created inodes
1510
Miklos Szerediacb4d362004-07-02 16:20:45 +00001511 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1512 this)
1513
1514 * fuse_main() only installs handlers for signals (out of INT, HUP,
1515 TERM, PIPE), for which no handler has yet been installed
1516
1517 * Add module option 'user_allow_other' which if set to non-zero
1518 will allow non root user to specify the 'allow_other' mount option
1519 ('-x' option of fusermount)
1520
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001521 * Fix deadlock between page writeback completion and truncate
1522 (bug found by Valient Gough with the fsx-linux utility)
1523
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015242004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001525
1526 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001527 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1528 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001529
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015302004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001531
1532 * Acquire inode->i_sem before open and release methods to prevent
1533 concurrent rename or unlink operations.
1534
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001535 * Make __fuse_read_cmd() read only one command. This allows
1536 multiplexing the fuse file descriptor with other event sources
1537 using select() or poll() (patch by Jeff Harris)
1538
1539 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1540
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015412004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001542
1543 * Fix file offset wrap around at 4G when doing large reads
1544
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015452004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001546
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001547 * Fix memory leak in open (Valient Gough)
1548
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015492004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001550
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001551 * Add "close after delete" support to libfuse (patch by Valient
1552 Gough)
1553
1554 * Cancel all worker threads before exit in multithreaded mode
1555
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015562004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001557
1558 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001559
1560 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001561
1562 * Work with newer libtool (1.5a)
1563
1564 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001565
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015662004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001567
1568 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001569
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015702004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001571
1572 * Fix possible inode leak in userspace in case of unfinished
1573 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001574
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015752004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001576
1577 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001578
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015792004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001580
1581 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001582
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015832004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001584
1585 * Build shared library as well as static (using libtool)
1586
1587 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1588 there has not been a release with the previous minor number, and I
1589 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001590
1591 * Change fuse_main(), so that default behavior is to go into
1592 background if mount is successful. '-f' and '-d' options disable
1593 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1594 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001595
1596 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1597 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001598
1599 * Don't call getdir method from open() only from first readdir().
1600 Open is sometimes just used to store the current directory
1601 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001602
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016032004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001604
1605 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001606
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016072004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001608
1609 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001610
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016112004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001612
1613 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001614
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016152004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001616
1617 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001618
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016192004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001620
1621 * Replaced binary mount data with text options
1622
1623 * Show FUSE specific mount options in /proc/mounts
1624
1625 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1626
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016272004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001628
1629 * Check some limits so userspace won't get too big requests
1630
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016312004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001632
1633 * Kill compile warning
1634
1635 * Upgraded user-mount patch for 2.6.5
1636
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016372004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001638
1639 * Add detection of user-mode-linux to configure
1640
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016412004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001642
1643 * fixed zero size case for getxattr and listxattr
1644
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016452004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001646
1647 * new fusermount flag '-z': lazy unmount, default is not lazy
1648
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001649 * Extended attributes operations added (getxattr, setxattr,
1650 listxattr, removexattr)
1651
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016522004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001653
1654 * If filesystem doesn't define a statfs operation, then an
1655 all-zero default statfs is returned instead of ENOSYS
1656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016572004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001658
1659 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1660
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016612004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001662
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001663 * Fix for uClinux (Christian Magnusson)
1664
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016652004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001666
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001667 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001668
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001669 * More kernel interface changes:
1670
1671 * Lookup/getattr return cache timeout values
1672
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016732004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001674
1675 * Clean up option parsing in fuse_main()
1676
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001677 * Added fuse_get() function which returns the fuse object created
1678 by fuse_main()
1679
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016802004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001681
Miklos Szeredic40748a2004-02-20 16:38:45 +00001682 * removed old way of mounting (fusermount mountpoint program)
1683
Miklos Szeredib5958612004-02-20 14:10:49 +00001684 * more kernel interface changes:
1685
1686 * added nanosecond precision to file times
1687
Miklos Szeredic40748a2004-02-20 16:38:45 +00001688 * removed interface version from mount data
1689
1690 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1691
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016922004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001693
1694 * statfs library API changed to match other methods. Since this
1695 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1696
Miklos Szeredi76f65782004-02-19 16:55:40 +00001697 * kernel interface changes follow:
1698
1699 * statfs changed to 64 bits, added 'bavail' field
1700
1701 * add generation number to lookup result
1702
1703 * optimized mknod/mkdir/symlink/link (no separate lookup is
1704 needed)
1705
1706 * rdev size increased to 32 bits for mknod
1707
1708 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001709
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017102004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001711
1712 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001713
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017142004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001715
1716 * Added user-mount.2.6.2-rc3.patch
1717
1718 * Add FS_SAFE flag to fuse filesystem
1719
1720 * fusermount should allow (un)mounting for non-root even if not
1721 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001722
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017232004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001724
1725 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001726
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017272004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001728
1729 * Added check for i_size_read/write functions to configure.in
1730 (patch by Valient Gough)
1731
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017322004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001733
1734 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001735
1736 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001737
1738 * Readpage calls flush_dcache_page() after storing data
1739
1740 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001741
1742 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001743
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017442004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001745
1746 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001747
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017482004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001749
1750 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017522004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001753
1754 * Added -q option for fusermount
1755
1756 * fuse_unmount() now uses -q option of fusermount, so no error is
1757 printed if the cause of the program exit is that the filesystem
1758 has already been unmounted
1759
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001760 * Fix i_nlink correctness after rmdir/unlink
1761
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017622004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001763
Miklos Szeredib1158392004-01-26 14:43:12 +00001764 * Released 1.1-pre2
1765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017662004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001767
Miklos Szeredi307242f2004-01-26 11:28:44 +00001768 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001769
1770 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001771
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017722004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001773
1774 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001775
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017762004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001777
1778 * Write all pending data before a RELEASE operation
1779
1780 * Suppress 'Bad file descriptor' warning on exit
1781
1782 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001783 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001784
Miklos Szeredib1158392004-01-26 14:43:12 +00001785 * New fusermount option '-l' which enables big reads. Big reads
1786 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001787
1788 * fuse_main() can accept fusermount arguments after a '--'
1789
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017902004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001791
1792 * Support for exporting filesystem over NFS (see README.NFS)
1793
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017942004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001795
1796 * Support non-blocking writepage on 2.6. This makes FUSE behave
1797 much more nicely in low-memory situations
1798
1799 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1800 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001801
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018022004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001803
1804 * Code cleanups
1805
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018062004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001807
1808 * Released 1.1-pre1
1809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018102004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001811
1812 * Integrated 2.6 kernel support patch by Michael Grigoriev
1813
1814 * Improvements and cleanups for 2.6 kernels
1815
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018162004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001817
Miklos Szeredie5183742005-02-02 11:14:04 +00001818 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001819
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018202003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001821
1822 * Added major+minor version to library API, and minor version to
1823 kernel API
1824
David McNab7a19caf2003-12-13 02:05:46 +000018252003-12-13 David McNab <david@rebirthing.co.nz>
1826
1827 * Implemented fsync support in examples/example.py
1828
1829 * Implemented 'fsync' and 'statfs' methods in python
1830 interface
1831
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018322003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001833
Miklos Szeredie5183742005-02-02 11:14:04 +00001834 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001835
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001836 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001837
David McNab8bf62632003-12-11 22:49:22 +000018382003-12-12 David McNab <david@rebirthing.co.nz>
1839
1840 * Added distutils support to the python module, as per standard
1841 python development practice
1842
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018432003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001844
1845 * Add file locking for mount/unmount (based on patch by Valient
1846 Gough)
1847
18482003-12-11 David McNab <david@rebirthing.co.nz>
1849
1850 * Python filesystem - was broken with python2.3, now fixed:
1851 - changed PyTuple_* calls to PySequence_*, because os.lstat
1852 is no longer returning a pure tuple
1853 - changed PyInt_Check() calls to also call PyLong_Check,
1854 to cover for cases (eg os.lstat) where longs are returned
1855 - Added support for file 'release' handling, which IMO is
1856 essential since this signals to a FS that writes to a file
1857 are complete (and therefore the file can now be disposed of
1858 meaningfully at the python filesystem's discretion)
1859 - Added '__init__' handler to base Fuse class, which allows
1860 your Python class to know the mountpoint and mount args,
1861 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001862
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001863 * General:
1864 - added 'mount.fuse' script (in util/ dir), which is meant to be
1865 symlinked from /sbin, and which allows FUSE filesystems to
1866 be mounted with the 'mount' command, and listed in fstab;
1867 also, mount arguments get passed to your filesystem
1868
1869
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018702003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001871
1872 * Fix kernel version detection (again). Bugreport by Peter Levart
1873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018742003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001875
1876 * Applied read combining patch by Michael Grigoriev (tested by
1877 Valient Gough and Vincent Wagelaar)
1878
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018792003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001880
1881 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1882 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001883
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018842003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001885
1886 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001887
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018882003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001889
1890 * kernel version detection fix
1891
1892 * fusermount now uses "lazy" umount option
1893
1894 * fusermount can use modprobe with module-init-tools
1895
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000018962003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001897
1898 * Integrated caching patch by Michael Grigoriev
1899
Miklos Szeredida4e4862003-09-08 11:14:11 +00001900 * Added "Filesystems" file with descriptions of projects using
1901 FUSE
1902
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001903 * Added patch by Michael Grigoriev to allow compliation of FUSE
1904 kernel module for 2.6 kernels
1905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019062003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001907
1908 * And another spec-file fix by Achim Settelmeier
1909
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019102003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001911
1912 * Spec-file fix by Achim Settelmeier
1913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019142003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001915
Miklos Szerediac361172004-11-02 19:14:14 +00001916 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001917
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019182003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001919
1920 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1921
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019222003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001923
1924 * Updated fuse.spec file (Achim Settelmeier)
1925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019262003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001927
1928 * Version 1.0 released
1929
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019302003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001931
1932 * SuSE compilation fix by Juan-Mariano de Goyeneche
1933
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019342002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001935
1936 * The release() VFS call is now exported to the FUSE interface
1937
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019382002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001939
1940 * 64 bit file offset fixes in the fuse kernel module
1941
1942 * Added function 'fuse_exit()' which can be used to exit the main
1943 loop
1944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019452002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001946
1947 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1948 an incompatible interface change.
1949
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019502002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001951
1952 * Portablility fix (bug reported by C. Chris Erway)
1953
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019542002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001955
1956 * Use Mark Glines' fd passing method for default operation instead
1957 of old reexec
1958
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019592002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001960
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001961 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1962
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019632002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001964
Miklos Szeredi60c23522002-10-24 09:19:43 +00001965 * fix incompatiblity with Red Hat kernels, with help from Nathan
1966 Thompson-Amato.
1967
Mark Glines65ba2192002-04-18 14:41:48 +000019682002-04-18 Mark Glines <mark@glines.org>
1969
1970 * added an alternative to fuse_mount(), called
1971 fuse_mount_ioslave(), which does not need to reexec the
1972 FUSE program.
1973 * added a small helper util needed by fuse_mount_ioslave().
1974
Mark Glines220635a2002-03-17 07:01:14 +000019752002-03-16 Mark Glines <mark@glines.org>
1976
1977 * use struct fuse_statfs everywhere possible to avoid problems
1978 with the headerfiles changing struct statfs member sizes
1979
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019802002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001981
1982 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1983
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019842002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001985
1986 * RPM support by Achim Settelmeier
1987
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019882002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001989
Miklos Szerediddc862a2002-01-09 13:46:10 +00001990 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001991
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019922002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001993
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001994 * Revaidate all path components not just the last, this means a
1995 very small performance penalty for being more up-to-date.
1996
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000019972002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001998
1999 * Update and fix python interface
2000
Mark Glinesd84b39a2002-01-07 16:32:02 +000020012002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00002002
Mark Glinesd84b39a2002-01-07 16:32:02 +00002003 * Added statfs() support to kernel, lib, examples, and perl!
2004
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020052001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00002006
2007 * Better cross compilation support
2008
2009 * Ported to Compaq IPAQ
2010
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020112001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002012
Miklos Szeredife25def2001-12-20 15:38:05 +00002013 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00002014 patch from Matt Ryan)
2015
Miklos Szeredife25def2001-12-20 15:38:05 +00002016 * Added flags to fusermount and to kernel interface to control
2017 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00002018
Miklos Szeredife25def2001-12-20 15:38:05 +00002019 * Integrated fuse_set_operations() into fuse_new()
2020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020212001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002022
2023 * Applied header protection + extern "C" patch by Roland
2024 Bauerschmidt
2025
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020262001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002027
Miklos Szeredie5183742005-02-02 11:14:04 +00002028 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00002029
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020302001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002031
2032 * Cleaned up way of mounting simple filesystems.
2033
2034 * fuse_main() helper function added
2035
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020362001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00002037
Miklos Szeredife25def2001-12-20 15:38:05 +00002038 * Optimized read/write operations, so that minimal copying of data
2039 is done
2040
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020412001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00002042
2043 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002044
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020452001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002046
2047 * Fixed vfsmount reference leak in fuse_follow_link
2048
2049 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
2050 userspace is ignored
2051
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000020522001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00002053
Miklos Szeredife25def2001-12-20 15:38:05 +00002054 * Started ChangeLog