blob: c024c77dcb2b05f886b1f81027225bb7b22e0e09 [file] [log] [blame]
Miklos Szerediead7f102005-11-28 16:02:27 +000012005-11-28 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Fix bug in 32-bit file handle compatibility
4
Miklos Szeredia90b7342005-11-27 19:22:42 +000052005-11-27 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Block TERM, INT, HUP and QUIT signals in all but the main
8 thread. According to POSIX it's not specified which thread will
9 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +000010
11 * Kernel changes:
12
13 * Check for directory aliasing on mkdir, not just on lookup
14
15 * Check for special node ID values in create+open operation
16
17 * Sync with -mm: readv, writev, aio_read and aio_write methods
18 added to file operations
19
20 * Cleanups: lookup code, page offset calculation
21
22 * ABI stepped to 7.4, changes:
23
24 * frsize member added to fuse_kstatfs structure
25
26 * added support for negative entry caching: on lowlevel API if
27 fuse_entry_param::ino is set to zero in reply to a lookup request,
28 the kernel will cache the dentry for the specified amount of time.
29
30 * libfuse: added 'negative_timeout' option: specifies how much
31 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +000032 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +000033
Miklos Szeredibac4c772005-11-23 13:35:54 +0000342005-11-22 Miklos Szeredi <miklos@szeredi.hu>
35
36 * Add detection of mainline FUSE code in running kernel
37
Miklos Szeredi8393e3d2005-11-21 11:37:01 +0000382005-11-21 Miklos Szeredi <miklos@szeredi.hu>
39
40 * Don't use async cancelation in multithreaded loop. This makes
41 it more portable to systems where read() is not async cancel safe.
42 Report from Andriy Gapon
43
Miklos Szeredi05c97842005-11-20 17:05:07 +0000442005-11-20 Miklos Szeredi <miklos@szeredi.hu>
45
46 * Warn if API version 11 compatibility is requested
47
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +0000482005-11-17 Miklos Szeredi <miklos@szeredi.hu>
49
50 * More FreeBSD merge
51
Miklos Szeredi832ee442005-11-18 21:02:36 +000052 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
53 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +000054 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +000055
56 * libfuse: don't use system() to invoke 'fusermount -u ...'
57 because it breaks mountpoints with spaces in them into multiple
58 arguments
59
Miklos Szeredib3f99722005-11-16 13:00:24 +0000602005-11-16 Miklos Szeredi <miklos@szeredi.hu>
61
62 * Merge library part of FreeBSD port. Patch by Csaba Henk
63
Miklos Szeredi3a770472005-11-11 21:32:42 +0000642005-11-11 Miklos Szeredi <miklos@szeredi.hu>
65
66 * Use 64bit type for file handle, so the full range supported by
67 the kernel interface is available to applications
68
Miklos Szeredibcc53852005-11-10 09:54:41 +0000692005-11-10 Miklos Szeredi <miklos@szeredi.hu>
70
71 * Moved mountpoint argument checking from fuse_parse_cmdline() to
72 fuse_mount() in preparation to FreeBSD merge.
73
Miklos Szeredi4ec06812005-11-08 13:04:27 +0000742005-11-08 Miklos Szeredi <miklos@szeredi.hu>
75
76 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
77 Henk.
78
Miklos Szeredic706ad92005-11-07 15:30:48 +0000792005-11-07 Miklos Szeredi <miklos@szeredi.hu>
80
81 * Make the statfs change backwards compatible.
82
Miklos Szeredi52cb09d2005-11-07 11:59:00 +0000832005-11-06 Miklos Szeredi <miklos@szeredi.hu>
84
85 * Change ->statfs() method to use 'struct statvfs' instead of
86 'struct statfs'. This makes the API more portable since statvfs()
87 is defined by POSIX.
88
Miklos Szeredif7eec032005-10-28 13:09:50 +0000892005-10-28 Miklos Szeredi <miklos@szeredi.hu>
90
91 * Add fgetattr() method, which currently will only be called after
92 a successful call to a create() method.
93
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000942005-10-26 Miklos Szeredi <miklos@szeredi.hu>
95
Miklos Szeredi11509ce2005-10-26 16:04:04 +000096 * Change kernel ABI version to 7.3
97
Miklos Szeredib0b13d12005-10-26 12:53:25 +000098 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +000099 call if 'default_permissions' mount option is not given, and is
100 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000101
Miklos Szeredid9079a72005-10-26 15:29:06 +0000102 * Add atomic CREATE+OPEN operation. This will only work with
103 2.6.15 (presumably) or later Linux kernels.
104
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000105 * Add ftruncate() method. This will only work with 2.6.15
106 (presumably) or later Linux kernels.
107
108 * Fix kernel module compile if kernel source and build directories
109 differ. Report and initial patch by John Eastman
110
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00001112005-10-18 Miklos Szeredi <miklos@szeredi.hu>
112
113 * lib: optimize buffer reallocation in fill_dir.
114
Miklos Szeredic9daeb12005-10-17 10:19:21 +00001152005-10-17 Miklos Szeredi <miklos@szeredi.hu>
116
117 * Released 2.4.1
118
Miklos Szeredif412d072005-10-14 21:24:32 +00001192005-10-14 Miklos Szeredi <miklos@szeredi.hu>
120
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000121 * libfuse: add debug for write result (by Shaun Jackman) and
122 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000123
Miklos Szeredib75d4b92005-10-11 10:12:08 +00001242005-10-11 Miklos Szeredi <miklos@szeredi.hu>
125
126 * Spelling fixes, thanks to Ioannis Barkas
127
Miklos Szeredibaab5872005-10-10 08:41:14 +00001282005-10-10 Miklos Szeredi <miklos@szeredi.hu>
129
130 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
131 patch
132
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00001332005-10-07 Miklos Szeredi <miklos@szeredi.hu>
134
135 * highlevel-lib: init() and destroy() methods didn't have an
136 initialized fuse_context. Bug reported by Tim Stoakes
137
Miklos Szeredif2491122005-10-04 10:10:41 +00001382005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000139
140 * Released 2.4.0
141
Miklos Szeredi836ab712005-10-03 14:11:59 +00001422005-10-03 Miklos Szeredi <miklos@szeredi.hu>
143
144 * Add documentation to fuse_lowlevel.h
145
146 * API cleanups:
147
148 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
149
150 * Move fuse_mount() and fuse_unmount() to fuse_common.h
151
152 * Change the return type of fuse_reply_none() from int to void.
153
Miklos Szerediaf138742005-09-30 08:49:59 +00001542005-09-30 Miklos Szeredi <miklos@szeredi.hu>
155
156 * kernel: NFS exporting leaked dentries. Bug found and fixed by
157 Akshat Aranya.
158
Miklos Szeredidb016e02005-09-29 10:06:27 +00001592005-09-29 Miklos Szeredi <miklos@szeredi.hu>
160
161 * fusermount: fix error message, when unable to open /dev/fuse.
162 Report by Balázs Pozsár
163
Miklos Szeredi35200932005-09-28 14:50:49 +00001642005-09-28 Miklos Szeredi <miklos@szeredi.hu>
165
166 * UClibc fixes from Christian Magnusson
167
Miklos Szeredi8eddf642005-09-27 08:58:26 +00001682005-09-27 Miklos Szeredi <miklos@szeredi.hu>
169
170 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
171
Miklos Szerediedec95c2005-09-26 10:22:22 +00001722005-09-26 Miklos Szeredi <miklos@szeredi.hu>
173
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000174 * Released 2.4.0-rc1
175
1762005-09-26 Miklos Szeredi <miklos@szeredi.hu>
177
Miklos Szerediedec95c2005-09-26 10:22:22 +0000178 * fusermount: allow user umount in the case when /etc/mtab is a
179 symlink to /proc/mounts. Reported by Balázs Pozsár.
180
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00001812005-09-23 Miklos Szeredi <miklos@szeredi.hu>
182
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000183 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000184
Miklos Szeredif45f3c12005-09-22 15:14:27 +00001852005-09-22 Miklos Szeredi <miklos@szeredi.hu>
186
187 * Slight optimization in returning EINVAL error in case of an open
188 with O_DIRECT flag.
189
Miklos Szeredi670d07a2005-09-20 11:36:32 +00001902005-09-20 Miklos Szeredi <miklos@szeredi.hu>
191
192 * Remove '--enable-auto-modprobe' configure flag. Module
193 auto-loading is now handled by the kernel.
194
Miklos Szeredid51fca12005-09-15 12:51:00 +00001952005-09-15 Miklos Szeredi <miklos@szeredi.hu>
196
197 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
198 Help from Jens M. Noedler.
199
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00002002005-09-14 Miklos Szeredi <miklos@szeredi.hu>
201
202 * Add memory cleanup on thread exit
203
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00002042005-09-13 Miklos Szeredi <miklos@szeredi.hu>
205
206 * Set umask to zero in fusexmp and fusexmp_fh, so that
207 files/directories are created with the requested mode.
208
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00002092005-09-12 Miklos Szeredi <miklos@szeredi.hu>
210
211 * Don't ignore read error in multithreaded loop
212
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00002132005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000214
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000215 * Released 2.4.0-pre2
216
2172005-09-08 Miklos Szeredi <miklos@szeredi.hu>
218
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000219 * Revert lock and access operations. Postpone these until 2.5.
220
2212005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000222
223 * Fix compile warning on 2.6.13 and later
224
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000225 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000226
Miklos Szeredi77ccf652005-08-19 14:40:27 +00002272005-08-19 Miklos Szeredi <miklos@szeredi.hu>
228
229 * lib: always refresh directory contents after rewinddir() to
230 conform to SUS. Bug found by John Muir.
231
Miklos Szeredia1482422005-08-14 23:00:27 +00002322005-08-15 Miklos Szeredi <miklos@szeredi.hu>
233
Miklos Szeredic43f9412005-08-15 15:10:48 +0000234 * Released 2.4.0-pre1
235
2362005-08-14 Miklos Szeredi <miklos@szeredi.hu>
237
Miklos Szeredia1482422005-08-14 23:00:27 +0000238 * lib: cleaned up (or messed up, depending on your POV) the low
239 level library API. Hopefully this is close to the final form.
240
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00002412005-08-05 Miklos Szeredi <miklos@szeredi.hu>
242
243 * fusermount: don't allow empty mountpoint argument, which defeats
244 automatic umounting in fuse_main(). Bugreport by Václav Jůza
245
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00002462005-08-03 Miklos Szeredi <miklos@szeredi.hu>
247
248 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
249 option is used (Paul Alfille).
250
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00002512005-08-02 Miklos Szeredi <miklos@szeredi.hu>
252
253 * highlevel-lib: added mount options "attr_timeout" and
254 "entry_timeout". These options control the length of time file
255 attributes and entries (names) are cached. Both default to 1.0
256 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000257
258 * kernel: correctly handle zero timeout for attributes and entries
259
Miklos Szeredi56a61f02005-08-01 10:42:25 +00002602005-08-01 Miklos Szeredi <miklos@szeredi.hu>
261
262 * Added missing symbols to versionscript (Joshua J. Berry)
263
Miklos Szeredie77cc072005-08-01 11:58:51 +0000264 * kernel: implement two flags, open can set: 'direct_io' and
265 'keep_cache'. These correspond exactly to mount options
266 'direct_io' and 'kernel_cache', but allow a per-open setting.
267
268 * Move 'direct_io' and 'kernel_cache' mount option handling to
269 userspace. For both mount options, if the option is given, then
270 the respective open flag is set, otherwise the open flag is left
271 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000272
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000273 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000274
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00002752005-07-28 Miklos Szeredi <miklos@szeredi.hu>
276
277 * kernel: invalidate attributes for read/readdir/readlink
278 operations
279
280 * kernel: detect newer UML kernels
281
Miklos Szeredibfb99462005-07-26 11:07:55 +00002822005-07-26 Miklos Szeredi <miklos@szeredi.hu>
283
284 * Make the installation path of fuse.ko and mount.fuse
285 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
286 environment variables. Requirement and help from Csaba Henk.
287
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00002882005-07-22 Miklos Szeredi <miklos@szeredi.hu>
289
290 * Fix bug, that causes filesystem requests to hang when unique
291 request counter becomes negative. This happens after
292 2,147,483,648 operations, so most people won't care. Thanks to
293 Franco Broi for the report and testing.
294
Miklos Szeredi9b813af2005-07-21 07:59:37 +00002952005-07-21 Miklos Szeredi <miklos@szeredi.hu>
296
297 * Don't change mtime/ctime/atime to local time on read/write.
298 Bug reported by Ben Grimm
299
300 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
301 Magnusson
302
303 * fusermount: use getopt_long() for option parsing. It allows the
304 use of '--' to stop argument scanning, so fusermount can now
305 operate on directories whose names begin with a '-'. Patch by
306 Adam Connell
307
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00003082005-07-15 Miklos Szeredi <miklos@szeredi.hu>
309
310 * fusermount: add '-v', '--version' and '--help' options
311
312 * add inode based API
313
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00003142005-07-12 Miklos Szeredi <miklos@szeredi.hu>
315
316 * lib: don't block signals in worker threads. Problem noticed by
317 Usarin Heininga
318
Miklos Szeredic902a852005-07-07 12:35:37 +00003192005-07-07 Miklos Szeredi <miklos@szeredi.hu>
320
321 * lib: don't allow both 'allow_other' and 'allow_root' options to
322 be given
323
Miklos Szeredi437d8112005-07-06 09:14:20 +00003242005-07-06 Miklos Szeredi <miklos@szeredi.hu>
325
326 * fusermount: check if mountpoint is empty (only '.' and '..' for
327 directories, and size = 0 for regular files). If "nonempty"
328 option is given, omit this check. This is useful, so users don't
329 accidentally hide data (e.g. from backup programs). Thanks to
330 Frank van Maarseveen for pointing this out.
331
332 * kernel: check if mandatory mount options ('fd', 'rootmode',
333 'user_id', 'group_id') are all given
334
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000335 * lib: simplify 'readdir_ino' handling
336
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000337 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
338
Miklos Szeredibb9f5172005-07-03 18:03:11 +00003392005-07-03 Miklos Szeredi <miklos@szeredi.hu>
340
341 * kernel: clean up 'direct_io' code
342
Miklos Szeredie1bcece2005-06-28 10:37:06 +00003432005-06-28 Miklos Szeredi <miklos@szeredi.hu>
344
345 * Add 'mount.fuse' written by Petr Klima
346
Miklos Szeredi866826d2005-06-28 12:22:57 +0000347 * '/dev/fuse' is created by 'make install' if does not yet exist
348
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00003492005-06-20 Miklos Szeredi <miklos@szeredi.hu>
350
351 * Fix UCLIBC compile error. Patch by Christian Magnusson
352
Miklos Szerediec12fad2005-06-08 10:26:34 +00003532005-06-08 Miklos Szeredi <miklos@szeredi.hu>
354
355 * Enable the auto-loading of the module via access to the
356 corresponding device file. Patch by Takashi Iwai.
357
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000358 * Allow mounting a regular file (over a regular file) for
359 unprivleged users.
360
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000361 * Do not create temporary device file. Require "/dev/fuse" to
362 exist, and be readable/writable by the mounting user.
363
Miklos Szeredi46960ce2005-06-02 09:05:00 +00003642005-06-02 Miklos Szeredi <miklos@szeredi.hu>
365
Miklos Szeredi56478552005-06-02 10:29:00 +0000366 * Released 2.3.0
367
3682005-06-02 Miklos Szeredi <miklos@szeredi.hu>
369
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000370 * Fix serious information leak: if the filesystem returns a short
371 byte count to a read request, and there are non-zero number of
372 pages which are not filled at all, these pages will not be zeroed.
373 Hence the user can read out previous memory contents. Found by
374 Sven Tantau.
375
Miklos Szeredi33be22d2005-05-27 09:12:43 +00003762005-05-27 Miklos Szeredi <miklos@szeredi.hu>
377
378 * Add "readdir_ino" mount option, which tries to fill in the d_ino
379 field in struct dirent. This mount option is ignored if "use_ino"
380 is used. It helps some programs (e.g. 'pwd' used over NFS from a
381 non-Linux OS). Patch by David Shaw.
382
Miklos Szeredif94e0102005-05-12 14:56:34 +00003832005-05-12 Miklos Szeredi <miklos@szeredi.hu>
384
Miklos Szeredieb009c42005-05-12 15:01:17 +0000385 * Released 2.3-rc1
386
3872005-05-12 Miklos Szeredi <miklos@szeredi.hu>
388
Miklos Szeredif94e0102005-05-12 14:56:34 +0000389 * File save in krusader and other editors doesn't work with sshfs,
390 because open() is interrupted by a periodic signal, and open()
391 restarts forever, without any progress. This could just be fixed
392 in open(), but the problem is more generic: if signals are
393 received more often than the filesystem can get the request to
394 userspace, it will never finish. This is probably only a
395 theoretical problem, nevertheless I'm removing the possibility to
396 interrupt requests with anything other than SIGKILL, even before
397 being sent to userspace. Bugreport by Eduard Czimbalmos.
398
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00003992005-05-09 Miklos Szeredi <miklos@szeredi.hu>
400
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000401 * libfuse: add "tree_lock" rwlock, that is locked for write in
402 rename, unlink and rmdir, and locked for read in all other
403 operations. This should fix the rename/release race reported by
404 Valient Gough and others. The solution is very coarse, a finer
405 grained locking scheme could be implemented, but it would be much
406 more complex. Let's see whether this is good enough.
407
4082005-05-09 Miklos Szeredi <miklos@szeredi.hu>
409
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000410 * Released 2.3-pre7
411
Miklos Szeredi38009022005-05-08 19:47:22 +00004122005-05-08 Miklos Szeredi <miklos@szeredi.hu>
413
414 * Better fix for out of order FORGET messages. Now the
415 LOOKUP/FORGET messages are balanced exactly (one FORGET can
416 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000417 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000418 compatible.
419
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00004202005-05-06 Miklos Szeredi <miklos@szeredi.hu>
421
422 * Fix abort for out of order FORGET messages. Again. Spotted by
423 Franco Broi again. Sorry :)
424
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00004252005-04-29 Miklos Szeredi <miklos@szeredi.hu>
426
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000427 * Released 2.3-pre6
428
4292005-04-29 Miklos Szeredi <miklos@szeredi.hu>
430
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000431 * Make fusermount work with fuse kernel modules not yet supporting
432 the "group_id" option (added for the purpose of stricter
433 permission checking).
434
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00004352005-04-28 Miklos Szeredi <miklos@szeredi.hu>
436
437 * Check for hard-linked directories in lookup. This could cause
438 problems in the VFS, which assumes that such objects never exist.
439
440 * Make checking of permission for other users more strict. Now
441 the same privilege is required for the mount owner as for ptrace
442 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000443
Miklos Szeredi3efcb562005-04-23 13:34:29 +00004442005-04-23 Miklos Szeredi <miklos@szeredi.hu>
445
446 * Released 2.3-pre5
447
Miklos Szeredid001bf92005-04-22 07:54:11 +00004482005-04-22 Miklos Szeredi <miklos@szeredi.hu>
449
450 * Add -msoft-float to kernel module compile flags for 2.4.X. This
451 is needed on certain architectures. Report from Chris Kirby
452
453 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
454 Reported by David Shaw
455
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000456 * Remove "allow_root" option from kernel module, and implement
457 it's functionality in the library
458
459 * Fix Oops caused by premature release of fuse_conn. Clean up
460 related code, to be more readable
461
Miklos Szeredif9137452005-04-23 10:59:44 +0000462 * Sendfile should not use page cache if "direct_io" mount option
463 is given
464
Miklos Szeredib7640d22005-04-08 15:15:28 +00004652005-04-08 Miklos Szeredi <miklos@szeredi.hu>
466
467 * Fix Oops in case of nfs export. Spotted by David Shaw
468
Miklos Szeredi89814a12005-04-08 16:39:09 +0000469 * Fix another Oops in case of write over nfs with direct_io turned
470 on. Again spotted by David Shaw
471
Miklos Szerediab974562005-04-07 15:40:21 +00004722005-04-07 Miklos Szeredi <miklos@szeredi.hu>
473
Miklos Szeredi432d6182005-04-07 15:56:13 +0000474 * Released 2.3-pre4
475
4762005-04-07 Miklos Szeredi <miklos@szeredi.hu>
477
Miklos Szerediab974562005-04-07 15:40:21 +0000478 * lib: finalized new readdir() interface, which now supersedes the
479 getdir() method.
480
Miklos Szeredi30e093a2005-04-03 17:44:54 +00004812005-04-03 Miklos Szeredi <miklos@szeredi.hu>
482
483 * Released 2.3-pre3
484
4852005-04-03 Miklos Szeredi <miklos@szeredi.hu>
486
487 * Implement backward compatibility with version 5 kernel ABI
488
Miklos Szeredi18fce982005-04-01 21:07:35 +00004892005-04-01 Miklos Szeredi <miklos@szeredi.hu>
490
491 * Released 2.3-pre2
492
4932005-04-01 Miklos Szeredi <miklos@szeredi.hu>
494
495 * kernel: fix dirent offset handling
496
497 * lib: add readdir and releasedir methods
498
499 * lib: use fh field of fuse_file_info in opendir, readdir,
500 releasedir and fsyncdir methods
501
502 * lib: check kernel API version and bail out of it's old. This
503 will be properly fixed in the next release
504
5052005-03-31 Miklos Szeredi <miklos@szeredi.hu>
506
507 * Released 2.3-pre1
508
Miklos Szeredieab72ef2005-03-31 19:59:12 +00005092005-03-31 Miklos Szeredi <miklos@szeredi.hu>
510
511 * kernel API: add padding to structures, so 64bit and 32bit
512 compiler will return the same size
513
514 * kernel API: add offset field to fuse_dirent. This will allow
515 more sophisticated readdir interface for userspace
516
517 * kernel API: change major number to 6
518
519 * kernel: fix warnings on 64bit archs
520
521 * kernel: in case of API version mismatch, return ECONNREFUSED
522
Miklos Szeredi407e6a72005-03-25 12:19:43 +00005232005-03-24 Miklos Szeredi <miklos@szeredi.hu>
524
525 * kernel: trivial cleanups
526
Miklos Szeredi4283ee72005-03-21 12:09:04 +00005272005-03-21 Miklos Szeredi <miklos@szeredi.hu>
528
529 * Add fsyncdir() operation
530
Miklos Szeredid17da462005-03-21 11:47:04 +00005312005-03-19 Miklos Szeredi <miklos@szeredi.hu>
532
533 * kernel: add locking to background list (fixes previous fix)
534
5352005-03-18 Miklos Szeredi <miklos@szeredi.hu>
536
537 * kernel: fix bug which could cause leave busy inodes after
538 unmount, and Oops.
539
5402005-03-08 Miklos Szeredi <miklos@szeredi.hu>
541
542 * examples: add -lpthread to link flags to work around valgrind
543 quirk
544
545 * lib: don't exit threads, so cancelation doesn't cause segfault
546
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00005472005-03-04 Miklos Szeredi <miklos@szeredi.hu>
548
549 * kernel: fix nasty bug which could cause an Oops under certain
550 situations. Found by Magnus Johansson
551
Miklos Szeredif43f0632005-02-28 11:46:56 +00005522005-02-28 Miklos Szeredi <miklos@szeredi.hu>
553
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000554 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000555 permission checking in getdir() is too late. Thanks to Usarin
556 Heininga for pointing out this deficiency
557
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000558 * libfuse: added init() and destroy() methods to fuse_operations
559
Miklos Szeredif43f0632005-02-28 11:46:56 +0000560 * kernel: llseek() method for files and directories made explicit
561
562 * kernel: fixed inode leak in NFS export in case of nodeid
563 wrapping
564
Miklos Szeredied3c97c2005-02-15 17:04:50 +00005652005-02-15 Miklos Szeredi <miklos@szeredi.hu>
566
567 * libfuse: clean up some unitialized memory found with valgrind
568
Miklos Szeredi47c52982005-02-23 09:27:38 +0000569 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
570 explicitly linked libpthread for applications
571
Miklos Szeredia7169412005-02-10 07:35:05 +00005722005-02-10 Miklos Szeredi <miklos@szeredi.hu>
573
574 * fusermount: set umask, otherwise /etc/mtab will have
575 unpredictable permission. Spotted by Jindrich Kolorenc
576
577 * fusermount: set owner and group of /etc/mtab to original values
578 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000579
580 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000581
Miklos Szeredib92d9782005-02-07 16:10:49 +00005822005-02-07 Miklos Szeredi <miklos@szeredi.hu>
583
584 * Cleaned up directory reading (temporary file is not used)
585
Miklos Szerediff30a6c2005-02-02 10:53:59 +00005862005-02-02 Miklos Szeredi <miklos@szeredi.hu>
587
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000588 * Released 2.2
589
5902005-02-02 Miklos Szeredi <miklos@szeredi.hu>
591
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000592 * Fix possible race when operation is interrupted
593
Miklos Szeredi7a983952005-01-28 09:58:19 +00005942005-01-28 Miklos Szeredi <miklos@szeredi.hu>
595
Miklos Szeredie5183742005-02-02 11:14:04 +0000596 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000597
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00005982005-01-26 Miklos Szeredi <miklos@szeredi.hu>
599
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000600 * Released 2.2-pre6
601
6022005-01-26 Miklos Szeredi <miklos@szeredi.hu>
603
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000604 * Fix bug in link() operation which caused the wrong path to be
605 passed as the first argument. Found by Anton Altaparmakov
606
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00006072005-01-21 Miklos Szeredi <miklos@szeredi.hu>
608
609 * LIB: fix double reply in readdir operation
610
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000611 * fusermount: fix uid checking bug. Patch by Adam Connell
612
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000613 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000614 Patch by Keshava Gowda
615
Miklos Szeredi64074142005-01-20 08:48:11 +00006162005-01-20 Miklos Szeredi <miklos@szeredi.hu>
617
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000618 * KERNEL: provide correct llseek semantics for fuse device (fixes
619 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
620
6212005-01-20 Miklos Szeredi <miklos@szeredi.hu>
622
Miklos Szeredi64074142005-01-20 08:48:11 +0000623 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
624
Miklos Szeredi1adb2272005-01-18 21:19:58 +00006252005-01-18 Miklos Szeredi <miklos@szeredi.hu>
626
627 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
628 and RELEASEDIR. This ends the ugly hack of passing a file
629 descriptor to the kernel, and actually makes the code simpler.
630
Miklos Szeredi7db35c02005-01-17 09:46:28 +00006312005-01-17 Miklos Szeredi <miklos@szeredi.hu>
632
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000633 * Released 2.2-pre4
634
6352005-01-17 Miklos Szeredi <miklos@szeredi.hu>
636
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000637 * fusermount: remove capability setting, which was the cause of
638 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000639 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000640
Miklos Szeredidbe0f652005-01-15 14:32:56 +00006412005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000642
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000643 * fix compilation on 2.4 kernels (reported by Valient Gough)
644
645 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000646
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000647 * fusermount: improve parsing of /etc/fuse.conf
648
6492005-01-13 Miklos Szeredi <miklos@szeredi.hu>
650
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000651 * Remove 'mount_max' and 'user_allow_other' module options. These
652 are now checked by fusermount, and can be set in /etc/fuse.conf
653
654 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
655
Miklos Szeredi81394522005-01-11 14:24:18 +00006562005-01-11 Miklos Szeredi <miklos@szeredi.hu>
657
658 * KERNEL: fix possible inode allocation problem, where
659 sizeof(struct inode) is not aligned (found by Mike Waychison)
660
661 * KERNEL: use new follow_link/put_link methods
662
663 * KERNEL: cosmetic fixes
664
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00006652005-01-10 Miklos Szeredi <miklos@szeredi.hu>
666
667 * Released 2.2-pre3
668
6692005-01-10 Miklos Szeredi <miklos@szeredi.hu>
670
671 * Add missing code that was accidently left out
672
Miklos Szeredi8c7da232005-01-09 12:27:41 +00006732005-01-09 Miklos Szeredi <miklos@szeredi.hu>
674
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000675 * Released 2.2-pre2
676
6772005-01-09 Miklos Szeredi <miklos@szeredi.hu>
678
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000679 * Change "uid" mount option to "user_id" to avoid confusion with a
680 mount option "uid" commonly used by many filesystems
681
6822005-01-09 Miklos Szeredi <miklos@szeredi.hu>
683
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000684 * Released 2.2-pre1
685
6862005-01-09 Miklos Szeredi <miklos@szeredi.hu>
687
688 * If FUSE is configured in the kernel, don't build it by default
689
Miklos Szeredi2a927272005-01-07 11:14:15 +00006902005-01-07 Miklos Szeredi <miklos@szeredi.hu>
691
692 * Compile fix by Christian Magnusson
693
Miklos Szeredib6220192005-01-05 16:19:10 +00006942005-01-05 Miklos Szeredi <miklos@szeredi.hu>
695
696 * Fix compilation for 2.6.{0-5} kernels
697
Miklos Szeredi0f62d722005-01-04 12:45:54 +00006982005-01-04 Miklos Szeredi <miklos@szeredi.hu>
699
700 * KERNEL: if request is interrupted, still keep reference to used
701 inode(s) and file, so that FORGET and RELEASE are not sent until
702 userspace finishes the request.
703
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000704 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
705 request with the same information, which is more flexible,
706 simpler, works on embedded systems.
707
Miklos Szeredi0f62d722005-01-04 12:45:54 +00007082004-12-16 Miklos Szeredi <miklos@szeredi.hu>
709
710 * KERNEL ABI: update interface to make it independent of type
711 sizes. This will help on 64 bit architectures which can run
712 legacy 32 bit applications.
713
714 * KERNEL ABI: add "len" field to request headers. This will allow
715 sending/receiving requests in multiple chunks.
716
717 * KERNEL: handle file type change more intelligently
718
719 * LIB: "-o debug" option should disable backgrounding (fix by
720 Fabien Reygrobellet)
721
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00007222004-12-13 Miklos Szeredi <miklos@szeredi.hu>
723
724 * KERNEL: invalidate dentry/attributes if interrupted request
725 could leave filesystem in an unknown state.
726
Miklos Szeredie56818b2004-12-12 11:45:24 +00007272004-12-12 Miklos Szeredi <miklos@szeredi.hu>
728
729 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
730 These will cause some regressions, but stability is considered
731 more important. If any of these features turns out to be
732 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000733
Miklos Szeredie56818b2004-12-12 11:45:24 +0000734 * Make all requests interruptible (only with SIGKILL currently).
735 This can be used to break any deadlock produced by the userspace
736 filesystem accessing it's own exported files. The RELEASE request
737 is special, because if it's interrupted before sending it to
738 userspace it is still sent, but the reply is not awaited.
739
740 * If request is interrupted before being sent to userspace, and if
741 it hasn't yet got any side effects, it is always restarted,
742 regardless of the SA_RESTART flag. This makes these interruptions
743 transparent to the process.
744
745 * Remove shared-writable mmap support, which was prone to an
746 out-of-memory deadlock situation
747
748 * Remove INVALIDATE userspace initiated request
749
750 * Make readpages() synchronous. Asynchronous requests are
751 deadlock prone, since they cannot be interrupted.
752
753 * Add readv/writev support to fuse device operations
754
755 * Remove some printks, which userspace FS can use for a DoS
756 against syslog
757
758 * Remove 'large_read' mount option from 2.6 in kernel, check it in
759 fusermount instead
760
761 * LIB: improve compatibility with a fuse.h header installed in
762 ${prefix}/include which in turn includes the real header.
763
764 * LIB: improve compatibility by defining fuse_main() (which is now
765 not used), so old configure scripts find it.
766
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00007672004-12-10 Miklos Szeredi <miklos@szeredi.hu>
768
769 * When mounting on a subdirectory of / don't duplicate slashes at
770 the beggining of path (spotted by David Shaw)
771
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00007722004-12-09 Miklos Szeredi <miklos@szeredi.hu>
773
774 * Fix bug causing garbage in mount options (spotted by David Shaw)
775
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00007762004-12-07 Miklos Szeredi <miklos@szeredi.hu>
777
778 * Add 'writepage' flag to 'fuse_file_info'.
779
780 * More comments in fuse.h
781
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000782 * Get rid of double underscores
783
Miklos Szeredi799993c2004-12-04 21:20:05 +00007842004-12-04 Miklos Szeredi <miklos@szeredi.hu>
785
786 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
787
788 * helper.c: add -ho option, which only displays the options not
789 the usage header. This can be used by filesystems which have
790 their own options.
791
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00007922004-12-03 Miklos Szeredi <miklos@szeredi.hu>
793
794 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
795 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
796 including the fuse header
797
798 * Add binary compatibility to 2.1 version of library with symbol
799 versioning
800
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00008012004-12-03 Miklos Szeredi <miklos@szeredi.hu>
802
803 * Released 2.1
804
Miklos Szeredi039322d2004-12-01 18:39:12 +00008052004-12-01 Miklos Szeredi <miklos@szeredi.hu>
806
807 * kernel: clean up writing functions
808
809 * kernel: no allocation on write in direct_io mode
810
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000811 * move linux/fuse.h to fuse_kernel.h
812
Miklos Szeredi83a07442004-11-30 18:25:20 +00008132004-11-30 Miklos Szeredi <miklos@szeredi.hu>
814
815 * kernel: clean up reading functions
816
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00008172004-11-29 Miklos Szeredi <miklos@szeredi.hu>
818
819 * kernel: make readpage() uninterruptible
820
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000821 * kernel: check readonly filesystem flag in fuse_permission
822
823 * lib: don't die if version file not found and new style device
824 exists
825
826 * lib: add '-r' option, which is short for '-o ro'
827
828 * fusermount: simplify device opening
829
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000830 * kernel: when direct_io is turend on, copy data directly to
831 destination without itermediate buffer. More efficient and safer,
832 since no allocation is done.
833
834 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000835
836 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000837
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00008382004-11-26 Miklos Szeredi <miklos@szeredi.hu>
839
840 * libfuse API change: open, read, write, flush, fsync and release
841 are passed a 'struct fuse_file_info' pointer containing the open
842 flags (open and release), and the file handle. Verion changed to
843 3.0.
844
Miklos Szeredia25d4c22004-11-23 22:32:16 +00008452004-11-23 Miklos Szeredi <miklos@szeredi.hu>
846
847 * More cleanups in the kernel
848
849 * The 10,229 charater device number has been assigned for FUSE
850
851 * Version file checking fix (reported by Christian Magnusson)
852
853 * fusermount: opening the fuse device now doesn't need /sys.
854
855 * Optimize reading by controlling the maximum readahead based on
856 the 'max_read' mount option
857
858 * fixes for UCLIBC (Christian Magnusson)
859
Miklos Szeredi13ed4822004-11-20 11:12:21 +00008602004-11-19 Miklos Szeredi <miklos@szeredi.hu>
861
862 * Cleaned up kernel in preparation for merge into mainline:
863
864 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
865
866 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
867
868 * __user annotations for sparse
869
870 * allocate individual pages instead of kmalloc in fuse_readdir,
871 fuse_read and fuse_write.
872
873 * Fix NFS export in case "use_ino" mount option is given
874
Miklos Szeredif3845c42004-11-20 11:18:34 +0000875 * Make libfuse and fusermount compatible with future versions
876
877 * fusermount: properly add mount options to /etc/mtab
878
8792004-11-15 Miklos Szeredi <miklos@szeredi.hu>
880
881 * fusermount: do not resolve last component of mountpoint on if it
882 is '.' or '..'. This new path resolvation is now done on mount as
883 well as unmount. This enables relative paths to work on unmount.
884
885 * fusermount: parse common mount options like "ro", "rw", etc...
886
887 * Allow module params to be changed through sysfs
888
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00008892004-11-14 Miklos Szeredi <miklos@szeredi.hu>
890
891 * Released 2.1-pre1
892
8932004-11-14 Miklos Szeredi <miklos@szeredi.hu>
894
895 * Fix bug in fuse_readpages() causing Oops in certain situations.
896 Bug found by Vincenzo Ciancia.
897
898 * Fix compilation with kernels versions > 2.6.9.
899
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00009002004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000901
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000902 * Check kernel interface version in fusermount to prevent
903 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000904
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000905 * No need to allocate fuse_conn until actual mount happens
906
907 * Fix potential race between umount and fuse_invalidate
908
909 * Check superblock of proc file in addition to inode number
910
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000911 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000912
Miklos Szeredi51ec1032004-11-10 11:52:26 +00009132004-11-10 Miklos Szeredi <miklos@szeredi.hu>
914
915 * Separate configure for the kernel directory
916
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000917 * Don't allow write to return more than 'count'
918
919 * Extend kernel interface for future use
920
Miklos Szeredi51ec1032004-11-10 11:52:26 +00009212004-11-09 Miklos Szeredi <miklos@szeredi.hu>
922
923 * Fix 'makeconf.sh' to use autoreconf if available
924
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00009252004-11-08 Miklos Szeredi <miklos@szeredi.hu>
926
Miklos Szeredid507c732004-11-08 17:32:25 +0000927 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
928 compatibility with earlier versions. To compile earier versions
929 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
930 Do not use the "use_ino" mount flag with filesystems compiled with
931 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000932
933 * Add pkg-config support. To compile a FUSE based filesystem you
934 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
935 or similar. Note, that the PKG_CONFIG_PATH environment variable
936 usually needs to be set to "/usr/local/lib/pkgconfig".
937
938 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000939
Miklos Szeredia13d9002004-11-02 17:32:03 +00009402004-11-02 Miklos Szeredi <miklos@szeredi.hu>
941
942 * Added "use_ino" mount option. This enables the filesystems to
943 set the st_ino field on files
944
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00009452004-11-01 Miklos Szeredi <miklos@szeredi.hu>
946
947 * Fix compile problems with ancient (<=2.4.18) kernels (reported
948 by Jeremy Smith)
949
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000950 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
951
952 * Clear the 'exited' flag when mail loop is finished
953
Miklos Szeredie989f0d2004-10-28 20:24:58 +00009542004-10-28 Miklos Szeredi <miklos@szeredi.hu>
955
956 * Make xattr functions work under 2.6 (bug found by Vincenzo
957 Ciancia)
958
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00009592004-10-26 Miklos Szeredi <miklos@szeredi.hu>
960
961 * Reset request in fuse_flush() (bugreport by David Shaw)
962
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00009632004-10-21 Miklos Szeredi <miklos@szeredi.hu>
964
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000965 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000966 error code
967
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000968 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000969 make it easier to implement a custom event loop.
970
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000971 * Use daemon() call to background the filesystem after mounting.
972 This function closes the standard input, output and error and
973 changes the current working directory to "/".
974
Miklos Szeredi127d49b2004-10-14 13:33:39 +00009752004-10-14 Miklos Szeredi <miklos@szeredi.hu>
976
977 * Released 1.9
978
Miklos Szeredid45baf42004-10-10 07:56:12 +00009792004-10-09 Miklos Szeredi <miklos@szeredi.hu>
980
981 * Don't allow fuse_flush() to be interrupted (bug found by David
982 Shaw)
983
Miklos Szeredi1f18db52004-09-27 06:54:49 +00009842004-09-27 Miklos Szeredi <miklos@szeredi.hu>
985
986 * Add PID to fuse_context. Patch by Steven James
987
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000988 * Change file handle type to 'unsigned long' in kernel interface
989
Miklos Szeredid169f312004-09-22 08:48:26 +00009902004-09-22 Miklos Szeredi <miklos@szeredi.hu>
991
992 * A slight API change: fuse_get_context() doesn't need the "fuse"
993 pointer, but the returned context contains it instead. The
994 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000995
996 * Fix mounting and umounting FUSE filesystem under another FUSE
997 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000998
Miklos Szeredic2309912004-09-21 13:40:38 +00009992004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1000
1001 * Fix deadlock in case of memory allocation failure. Patch by
1002 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001003
Miklos Szeredib2cf9562004-09-16 08:42:40 +000010042004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1005
1006 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001007
Miklos Szeredi65afea12004-09-14 07:13:45 +000010082004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1009
1010 * Check temporary file creation failure in do_getdir(). Bug
1011 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001012
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000010132004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1014
1015 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001016
1017 * Make requests non-interruptible so race with FORGET is avoided.
1018 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001019
1020 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001021
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000010222004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1023
1024 * Fix bug in case two FORGETs for the same node are executed in
1025 the wrong order. Bug spotted and endured for months by Franco
1026 Broi, and logfile for solution provided by Terje Oseberg
1027
Miklos Szeredi12085102004-09-02 18:13:57 +000010282004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1029
1030 * Add -D_REENTRANT to the compile flags
1031
1032 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001033
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000010342004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1035
1036 * Change release method to be non-interruptible. Fixes bug
1037 causing missing release() call when program which has opened files
1038 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001039
Miklos Szeredi891b8742004-07-29 09:27:49 +000010402004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1041
1042 * Add fuse_invalidate() to library API
1043
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000010442004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1045
1046 * Check permissions in setattr if 'default_permissions' flag is
1047 set. Bug spotted by Damjan Lango
1048
Miklos Szeredid66d3942004-07-24 13:47:44 +000010492004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1050
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001051 * 'large_read' mount option removed for 2.6 kernels, since the
1052 default (dynamic read size) is better
1053
1054 * Extend kernel API with file handles. A file handle is returned
1055 by open, and passed to read, write, flush, fsync and release.
1056 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001057
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001058 * Security changes:
1059
1060 * Change the current directory to the mountpoint before checking
1061 the permissions and mount filesystem on "."
1062
1063 * By default don't modprobe the fuse module for non-root. The old
1064 behavior can be restored with the '--enable-auto-modprobe' flag of
1065 ./configure
1066
1067 * By default don't allow shared writable mappings for non-root.
1068 The old behavior can be restored with the 'user_mmap=1' module
1069 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001070
Miklos Szeredibd7661b2004-07-23 17:16:29 +000010712004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1072
1073 * Clean up mount option passing to fusermount and to fuse_new()
1074 BEWARE: this changes the userspace API slightly, and the command
1075 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001076
Miklos Szeredi58865372004-07-20 14:22:26 +000010772004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1078
1079 * Optimize reading under 2.6 kernels by issuing multiple page
1080 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001081
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000010822004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1083
1084 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001085
Miklos Szeredi069c9502004-07-16 16:17:02 +000010862004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1087
1088 * Separate directory entry and inode attribute validity timer
1089
1090 * New write semaphore to stop page writeback during truncate
1091
1092 * Fsync now waits for all writes to complete before sending the
1093 request
1094
1095 * Optimization: if a page is completely written by
1096 fuse_commit_write(), clear the dirty flag and set the uptodate
1097 flag for that page
1098
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001099 * Some memory cleanup at exit
1100
Miklos Szeredi2529ca22004-07-13 15:36:52 +000011012004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1102
1103 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001104 disable the "hide if open" behavior of unlink/rename.
1105
1106 * If temporary buffer allocation fails in raw read, fall back to a
1107 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001108
Miklos Szeredi73798f92004-07-12 15:55:11 +000011092004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1110
1111 * Fix bug in do_open() in libfuse: open count was incremented
1112 after the reply is sent so it could race with unlink/forget and
1113 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001114
Miklos Szeredi015fe702004-07-12 11:52:24 +000011152004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1116
1117 * When performing create or remove operation, refresh the parent's
1118 attributes on next revalidate, as i_nlink (and maybe size/time)
1119 could be inacurate.
1120
1121 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1122 pages (2.6 only)
1123
1124 * Set set_page_dirty address space operation (2.6 only)
1125
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011262004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001127
1128 * Minor fix in read: print debug info even if read size is zero
1129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011302004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001131
1132 * Fix race between truncate and writepage (fsx-linux now runs
1133 without error)
1134
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011352004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001136
1137 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1138 by Mattias Wadman)
1139
1140 * Added option for direct read/write (-r)
1141
1142 * Fix revalidate time setting for newly created inodes
1143
Miklos Szerediacb4d362004-07-02 16:20:45 +00001144 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1145 this)
1146
1147 * fuse_main() only installs handlers for signals (out of INT, HUP,
1148 TERM, PIPE), for which no handler has yet been installed
1149
1150 * Add module option 'user_allow_other' which if set to non-zero
1151 will allow non root user to specify the 'allow_other' mount option
1152 ('-x' option of fusermount)
1153
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001154 * Fix deadlock between page writeback completion and truncate
1155 (bug found by Valient Gough with the fsx-linux utility)
1156
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011572004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001158
1159 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001160 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1161 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001162
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011632004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001164
1165 * Acquire inode->i_sem before open and release methods to prevent
1166 concurrent rename or unlink operations.
1167
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001168 * Make __fuse_read_cmd() read only one command. This allows
1169 multiplexing the fuse file descriptor with other event sources
1170 using select() or poll() (patch by Jeff Harris)
1171
1172 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1173
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011742004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001175
1176 * Fix file offset wrap around at 4G when doing large reads
1177
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011782004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001179
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001180 * Fix memory leak in open (Valient Gough)
1181
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011822004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001183
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001184 * Add "close after delete" support to libfuse (patch by Valient
1185 Gough)
1186
1187 * Cancel all worker threads before exit in multithreaded mode
1188
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011892004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001190
1191 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001192
1193 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001194
1195 * Work with newer libtool (1.5a)
1196
1197 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001198
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011992004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001200
1201 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001202
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012032004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001204
1205 * Fix possible inode leak in userspace in case of unfinished
1206 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001207
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012082004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001209
1210 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001211
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012122004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001213
1214 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001215
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012162004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001217
1218 * Build shared library as well as static (using libtool)
1219
1220 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1221 there has not been a release with the previous minor number, and I
1222 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001223
1224 * Change fuse_main(), so that default behavior is to go into
1225 background if mount is successful. '-f' and '-d' options disable
1226 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1227 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001228
1229 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1230 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001231
1232 * Don't call getdir method from open() only from first readdir().
1233 Open is sometimes just used to store the current directory
1234 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001235
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012362004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001237
1238 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001239
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012402004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001241
1242 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001243
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012442004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001245
1246 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001247
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012482004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001249
1250 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001251
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012522004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001253
1254 * Replaced binary mount data with text options
1255
1256 * Show FUSE specific mount options in /proc/mounts
1257
1258 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1259
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012602004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001261
1262 * Check some limits so userspace won't get too big requests
1263
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012642004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001265
1266 * Kill compile warning
1267
1268 * Upgraded user-mount patch for 2.6.5
1269
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012702004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001271
1272 * Add detection of user-mode-linux to configure
1273
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012742004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001275
1276 * fixed zero size case for getxattr and listxattr
1277
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012782004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001279
1280 * new fusermount flag '-z': lazy unmount, default is not lazy
1281
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001282 * Extended attributes operations added (getxattr, setxattr,
1283 listxattr, removexattr)
1284
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012852004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001286
1287 * If filesystem doesn't define a statfs operation, then an
1288 all-zero default statfs is returned instead of ENOSYS
1289
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012902004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001291
1292 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1293
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012942004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001295
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001296 * Fix for uClinux (Christian Magnusson)
1297
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012982004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001299
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001300 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001301
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001302 * More kernel interface changes:
1303
1304 * Lookup/getattr return cache timeout values
1305
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013062004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001307
1308 * Clean up option parsing in fuse_main()
1309
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001310 * Added fuse_get() function which returns the fuse object created
1311 by fuse_main()
1312
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013132004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001314
Miklos Szeredic40748a2004-02-20 16:38:45 +00001315 * removed old way of mounting (fusermount mountpoint program)
1316
Miklos Szeredib5958612004-02-20 14:10:49 +00001317 * more kernel interface changes:
1318
1319 * added nanosecond precision to file times
1320
Miklos Szeredic40748a2004-02-20 16:38:45 +00001321 * removed interface version from mount data
1322
1323 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1324
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013252004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001326
1327 * statfs library API changed to match other methods. Since this
1328 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1329
Miklos Szeredi76f65782004-02-19 16:55:40 +00001330 * kernel interface changes follow:
1331
1332 * statfs changed to 64 bits, added 'bavail' field
1333
1334 * add generation number to lookup result
1335
1336 * optimized mknod/mkdir/symlink/link (no separate lookup is
1337 needed)
1338
1339 * rdev size increased to 32 bits for mknod
1340
1341 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001342
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013432004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001344
1345 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001346
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013472004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001348
1349 * Added user-mount.2.6.2-rc3.patch
1350
1351 * Add FS_SAFE flag to fuse filesystem
1352
1353 * fusermount should allow (un)mounting for non-root even if not
1354 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001355
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013562004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001357
1358 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001359
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013602004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001361
1362 * Added check for i_size_read/write functions to configure.in
1363 (patch by Valient Gough)
1364
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013652004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001366
1367 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001368
1369 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001370
1371 * Readpage calls flush_dcache_page() after storing data
1372
1373 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001374
1375 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001376
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013772004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001378
1379 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001380
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013812004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001382
1383 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001384
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013852004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001386
1387 * Added -q option for fusermount
1388
1389 * fuse_unmount() now uses -q option of fusermount, so no error is
1390 printed if the cause of the program exit is that the filesystem
1391 has already been unmounted
1392
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001393 * Fix i_nlink correctness after rmdir/unlink
1394
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013952004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001396
Miklos Szeredib1158392004-01-26 14:43:12 +00001397 * Released 1.1-pre2
1398
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013992004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001400
Miklos Szeredi307242f2004-01-26 11:28:44 +00001401 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001402
1403 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001404
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014052004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001406
1407 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001408
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014092004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001410
1411 * Write all pending data before a RELEASE operation
1412
1413 * Suppress 'Bad file descriptor' warning on exit
1414
1415 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001416 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001417
Miklos Szeredib1158392004-01-26 14:43:12 +00001418 * New fusermount option '-l' which enables big reads. Big reads
1419 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001420
1421 * fuse_main() can accept fusermount arguments after a '--'
1422
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014232004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001424
1425 * Support for exporting filesystem over NFS (see README.NFS)
1426
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014272004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001428
1429 * Support non-blocking writepage on 2.6. This makes FUSE behave
1430 much more nicely in low-memory situations
1431
1432 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1433 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001434
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014352004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001436
1437 * Code cleanups
1438
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014392004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001440
1441 * Released 1.1-pre1
1442
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014432004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001444
1445 * Integrated 2.6 kernel support patch by Michael Grigoriev
1446
1447 * Improvements and cleanups for 2.6 kernels
1448
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014492004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001450
Miklos Szeredie5183742005-02-02 11:14:04 +00001451 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001452
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014532003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001454
1455 * Added major+minor version to library API, and minor version to
1456 kernel API
1457
David McNab7a19caf2003-12-13 02:05:46 +000014582003-12-13 David McNab <david@rebirthing.co.nz>
1459
1460 * Implemented fsync support in examples/example.py
1461
1462 * Implemented 'fsync' and 'statfs' methods in python
1463 interface
1464
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014652003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001466
Miklos Szeredie5183742005-02-02 11:14:04 +00001467 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001468
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001469 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001470
David McNab8bf62632003-12-11 22:49:22 +000014712003-12-12 David McNab <david@rebirthing.co.nz>
1472
1473 * Added distutils support to the python module, as per standard
1474 python development practice
1475
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014762003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001477
1478 * Add file locking for mount/unmount (based on patch by Valient
1479 Gough)
1480
14812003-12-11 David McNab <david@rebirthing.co.nz>
1482
1483 * Python filesystem - was broken with python2.3, now fixed:
1484 - changed PyTuple_* calls to PySequence_*, because os.lstat
1485 is no longer returning a pure tuple
1486 - changed PyInt_Check() calls to also call PyLong_Check,
1487 to cover for cases (eg os.lstat) where longs are returned
1488 - Added support for file 'release' handling, which IMO is
1489 essential since this signals to a FS that writes to a file
1490 are complete (and therefore the file can now be disposed of
1491 meaningfully at the python filesystem's discretion)
1492 - Added '__init__' handler to base Fuse class, which allows
1493 your Python class to know the mountpoint and mount args,
1494 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001495
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001496 * General:
1497 - added 'mount.fuse' script (in util/ dir), which is meant to be
1498 symlinked from /sbin, and which allows FUSE filesystems to
1499 be mounted with the 'mount' command, and listed in fstab;
1500 also, mount arguments get passed to your filesystem
1501
1502
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015032003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001504
1505 * Fix kernel version detection (again). Bugreport by Peter Levart
1506
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015072003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001508
1509 * Applied read combining patch by Michael Grigoriev (tested by
1510 Valient Gough and Vincent Wagelaar)
1511
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015122003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001513
1514 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1515 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001516
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015172003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001518
1519 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001520
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015212003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001522
1523 * kernel version detection fix
1524
1525 * fusermount now uses "lazy" umount option
1526
1527 * fusermount can use modprobe with module-init-tools
1528
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015292003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001530
1531 * Integrated caching patch by Michael Grigoriev
1532
Miklos Szeredida4e4862003-09-08 11:14:11 +00001533 * Added "Filesystems" file with descriptions of projects using
1534 FUSE
1535
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001536 * Added patch by Michael Grigoriev to allow compliation of FUSE
1537 kernel module for 2.6 kernels
1538
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015392003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001540
1541 * And another spec-file fix by Achim Settelmeier
1542
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015432003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001544
1545 * Spec-file fix by Achim Settelmeier
1546
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015472003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001548
Miklos Szerediac361172004-11-02 19:14:14 +00001549 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001550
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015512003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001552
1553 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1554
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015552003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001556
1557 * Updated fuse.spec file (Achim Settelmeier)
1558
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015592003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001560
1561 * Version 1.0 released
1562
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015632003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001564
1565 * SuSE compilation fix by Juan-Mariano de Goyeneche
1566
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015672002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001568
1569 * The release() VFS call is now exported to the FUSE interface
1570
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015712002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001572
1573 * 64 bit file offset fixes in the fuse kernel module
1574
1575 * Added function 'fuse_exit()' which can be used to exit the main
1576 loop
1577
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015782002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001579
1580 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1581 an incompatible interface change.
1582
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015832002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001584
1585 * Portablility fix (bug reported by C. Chris Erway)
1586
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015872002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001588
1589 * Use Mark Glines' fd passing method for default operation instead
1590 of old reexec
1591
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015922002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001593
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001594 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1595
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015962002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001597
Miklos Szeredi60c23522002-10-24 09:19:43 +00001598 * fix incompatiblity with Red Hat kernels, with help from Nathan
1599 Thompson-Amato.
1600
Mark Glines65ba2192002-04-18 14:41:48 +000016012002-04-18 Mark Glines <mark@glines.org>
1602
1603 * added an alternative to fuse_mount(), called
1604 fuse_mount_ioslave(), which does not need to reexec the
1605 FUSE program.
1606 * added a small helper util needed by fuse_mount_ioslave().
1607
Mark Glines220635a2002-03-17 07:01:14 +000016082002-03-16 Mark Glines <mark@glines.org>
1609
1610 * use struct fuse_statfs everywhere possible to avoid problems
1611 with the headerfiles changing struct statfs member sizes
1612
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016132002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001614
1615 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1616
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016172002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001618
1619 * RPM support by Achim Settelmeier
1620
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016212002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001622
Miklos Szerediddc862a2002-01-09 13:46:10 +00001623 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001624
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016252002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001626
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001627 * Revaidate all path components not just the last, this means a
1628 very small performance penalty for being more up-to-date.
1629
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016302002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001631
1632 * Update and fix python interface
1633
Mark Glinesd84b39a2002-01-07 16:32:02 +000016342002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001635
Mark Glinesd84b39a2002-01-07 16:32:02 +00001636 * Added statfs() support to kernel, lib, examples, and perl!
1637
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016382001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001639
1640 * Better cross compilation support
1641
1642 * Ported to Compaq IPAQ
1643
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016442001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001645
Miklos Szeredife25def2001-12-20 15:38:05 +00001646 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001647 patch from Matt Ryan)
1648
Miklos Szeredife25def2001-12-20 15:38:05 +00001649 * Added flags to fusermount and to kernel interface to control
1650 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001651
Miklos Szeredife25def2001-12-20 15:38:05 +00001652 * Integrated fuse_set_operations() into fuse_new()
1653
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016542001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001655
1656 * Applied header protection + extern "C" patch by Roland
1657 Bauerschmidt
1658
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016592001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001660
Miklos Szeredie5183742005-02-02 11:14:04 +00001661 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016632001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001664
1665 * Cleaned up way of mounting simple filesystems.
1666
1667 * fuse_main() helper function added
1668
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016692001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001670
Miklos Szeredife25def2001-12-20 15:38:05 +00001671 * Optimized read/write operations, so that minimal copying of data
1672 is done
1673
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016742001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001675
1676 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001677
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016782001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001679
1680 * Fixed vfsmount reference leak in fuse_follow_link
1681
1682 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1683 userspace is ignored
1684
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016852001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001686
Miklos Szeredife25def2001-12-20 15:38:05 +00001687 * Started ChangeLog