blob: cc490145e5c7281e7cc75672f23f94a01891392c [file] [log] [blame]
Miklos Szeredifa829b52005-12-02 11:05:41 +000012005-12-02 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Fix memory leak in fuse_read_cmd()/fuse_process_cmd(). Bug
4 reported by Vincenzo Ciancia
5
6 * Handle exit-by-umount in fuse_read_cmd()
7
Miklos Szeredi3cc8a262005-11-29 11:04:27 +000082005-11-29 Miklos Szeredi <miklos@szeredi.hu>
9
10 * Check if '-msoft-float' option is supported by compiler when
11 configuring for a 2.4.x kernel. Bug report by Mark Haney
12
Miklos Szeredi40d7b382005-11-29 20:07:23 +000013 * In multithreaded loop send a TERM signal to the main thread if
14 one of the other threads exit. Needed on FreeBSD for a clean exit
15 on umount. Should not cause any harm on Linux either
16
Miklos Szerediead7f102005-11-28 16:02:27 +0000172005-11-28 Miklos Szeredi <miklos@szeredi.hu>
18
19 * Fix bug in 32-bit file handle compatibility
20
Miklos Szeredia90b7342005-11-27 19:22:42 +0000212005-11-27 Miklos Szeredi <miklos@szeredi.hu>
22
23 * Block TERM, INT, HUP and QUIT signals in all but the main
24 thread. According to POSIX it's not specified which thread will
25 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +000026
27 * Kernel changes:
28
29 * Check for directory aliasing on mkdir, not just on lookup
30
31 * Check for special node ID values in create+open operation
32
33 * Sync with -mm: readv, writev, aio_read and aio_write methods
34 added to file operations
35
36 * Cleanups: lookup code, page offset calculation
37
38 * ABI stepped to 7.4, changes:
39
40 * frsize member added to fuse_kstatfs structure
41
42 * added support for negative entry caching: on lowlevel API if
43 fuse_entry_param::ino is set to zero in reply to a lookup request,
44 the kernel will cache the dentry for the specified amount of time.
45
46 * libfuse: added 'negative_timeout' option: specifies how much
47 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +000048 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +000049
Miklos Szeredibac4c772005-11-23 13:35:54 +0000502005-11-22 Miklos Szeredi <miklos@szeredi.hu>
51
52 * Add detection of mainline FUSE code in running kernel
53
Miklos Szeredi8393e3d2005-11-21 11:37:01 +0000542005-11-21 Miklos Szeredi <miklos@szeredi.hu>
55
56 * Don't use async cancelation in multithreaded loop. This makes
57 it more portable to systems where read() is not async cancel safe.
58 Report from Andriy Gapon
59
Miklos Szeredi05c97842005-11-20 17:05:07 +0000602005-11-20 Miklos Szeredi <miklos@szeredi.hu>
61
62 * Warn if API version 11 compatibility is requested
63
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +0000642005-11-17 Miklos Szeredi <miklos@szeredi.hu>
65
66 * More FreeBSD merge
67
Miklos Szeredi832ee442005-11-18 21:02:36 +000068 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
69 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +000070 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +000071
72 * libfuse: don't use system() to invoke 'fusermount -u ...'
73 because it breaks mountpoints with spaces in them into multiple
74 arguments
75
Miklos Szeredib3f99722005-11-16 13:00:24 +0000762005-11-16 Miklos Szeredi <miklos@szeredi.hu>
77
78 * Merge library part of FreeBSD port. Patch by Csaba Henk
79
Miklos Szeredi3a770472005-11-11 21:32:42 +0000802005-11-11 Miklos Szeredi <miklos@szeredi.hu>
81
82 * Use 64bit type for file handle, so the full range supported by
83 the kernel interface is available to applications
84
Miklos Szeredibcc53852005-11-10 09:54:41 +0000852005-11-10 Miklos Szeredi <miklos@szeredi.hu>
86
87 * Moved mountpoint argument checking from fuse_parse_cmdline() to
88 fuse_mount() in preparation to FreeBSD merge.
89
Miklos Szeredi4ec06812005-11-08 13:04:27 +0000902005-11-08 Miklos Szeredi <miklos@szeredi.hu>
91
92 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
93 Henk.
94
Miklos Szeredic706ad92005-11-07 15:30:48 +0000952005-11-07 Miklos Szeredi <miklos@szeredi.hu>
96
97 * Make the statfs change backwards compatible.
98
Miklos Szeredi52cb09d2005-11-07 11:59:00 +0000992005-11-06 Miklos Szeredi <miklos@szeredi.hu>
100
101 * Change ->statfs() method to use 'struct statvfs' instead of
102 'struct statfs'. This makes the API more portable since statvfs()
103 is defined by POSIX.
104
Miklos Szeredif7eec032005-10-28 13:09:50 +00001052005-10-28 Miklos Szeredi <miklos@szeredi.hu>
106
107 * Add fgetattr() method, which currently will only be called after
108 a successful call to a create() method.
109
Miklos Szeredib0b13d12005-10-26 12:53:25 +00001102005-10-26 Miklos Szeredi <miklos@szeredi.hu>
111
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000112 * Change kernel ABI version to 7.3
113
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000114 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000115 call if 'default_permissions' mount option is not given, and is
116 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000117
Miklos Szeredid9079a72005-10-26 15:29:06 +0000118 * Add atomic CREATE+OPEN operation. This will only work with
119 2.6.15 (presumably) or later Linux kernels.
120
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000121 * Add ftruncate() method. This will only work with 2.6.15
122 (presumably) or later Linux kernels.
123
124 * Fix kernel module compile if kernel source and build directories
125 differ. Report and initial patch by John Eastman
126
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00001272005-10-18 Miklos Szeredi <miklos@szeredi.hu>
128
129 * lib: optimize buffer reallocation in fill_dir.
130
Miklos Szeredic9daeb12005-10-17 10:19:21 +00001312005-10-17 Miklos Szeredi <miklos@szeredi.hu>
132
133 * Released 2.4.1
134
Miklos Szeredif412d072005-10-14 21:24:32 +00001352005-10-14 Miklos Szeredi <miklos@szeredi.hu>
136
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000137 * libfuse: add debug for write result (by Shaun Jackman) and
138 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000139
Miklos Szeredib75d4b92005-10-11 10:12:08 +00001402005-10-11 Miklos Szeredi <miklos@szeredi.hu>
141
142 * Spelling fixes, thanks to Ioannis Barkas
143
Miklos Szeredibaab5872005-10-10 08:41:14 +00001442005-10-10 Miklos Szeredi <miklos@szeredi.hu>
145
146 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
147 patch
148
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00001492005-10-07 Miklos Szeredi <miklos@szeredi.hu>
150
151 * highlevel-lib: init() and destroy() methods didn't have an
152 initialized fuse_context. Bug reported by Tim Stoakes
153
Miklos Szeredif2491122005-10-04 10:10:41 +00001542005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000155
156 * Released 2.4.0
157
Miklos Szeredi836ab712005-10-03 14:11:59 +00001582005-10-03 Miklos Szeredi <miklos@szeredi.hu>
159
160 * Add documentation to fuse_lowlevel.h
161
162 * API cleanups:
163
164 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
165
166 * Move fuse_mount() and fuse_unmount() to fuse_common.h
167
168 * Change the return type of fuse_reply_none() from int to void.
169
Miklos Szerediaf138742005-09-30 08:49:59 +00001702005-09-30 Miklos Szeredi <miklos@szeredi.hu>
171
172 * kernel: NFS exporting leaked dentries. Bug found and fixed by
173 Akshat Aranya.
174
Miklos Szeredidb016e02005-09-29 10:06:27 +00001752005-09-29 Miklos Szeredi <miklos@szeredi.hu>
176
177 * fusermount: fix error message, when unable to open /dev/fuse.
178 Report by Balázs Pozsár
179
Miklos Szeredi35200932005-09-28 14:50:49 +00001802005-09-28 Miklos Szeredi <miklos@szeredi.hu>
181
182 * UClibc fixes from Christian Magnusson
183
Miklos Szeredi8eddf642005-09-27 08:58:26 +00001842005-09-27 Miklos Szeredi <miklos@szeredi.hu>
185
186 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
187
Miklos Szerediedec95c2005-09-26 10:22:22 +00001882005-09-26 Miklos Szeredi <miklos@szeredi.hu>
189
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000190 * Released 2.4.0-rc1
191
1922005-09-26 Miklos Szeredi <miklos@szeredi.hu>
193
Miklos Szerediedec95c2005-09-26 10:22:22 +0000194 * fusermount: allow user umount in the case when /etc/mtab is a
195 symlink to /proc/mounts. Reported by Balázs Pozsár.
196
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00001972005-09-23 Miklos Szeredi <miklos@szeredi.hu>
198
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000199 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000200
Miklos Szeredif45f3c12005-09-22 15:14:27 +00002012005-09-22 Miklos Szeredi <miklos@szeredi.hu>
202
203 * Slight optimization in returning EINVAL error in case of an open
204 with O_DIRECT flag.
205
Miklos Szeredi670d07a2005-09-20 11:36:32 +00002062005-09-20 Miklos Szeredi <miklos@szeredi.hu>
207
208 * Remove '--enable-auto-modprobe' configure flag. Module
209 auto-loading is now handled by the kernel.
210
Miklos Szeredid51fca12005-09-15 12:51:00 +00002112005-09-15 Miklos Szeredi <miklos@szeredi.hu>
212
213 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
214 Help from Jens M. Noedler.
215
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00002162005-09-14 Miklos Szeredi <miklos@szeredi.hu>
217
218 * Add memory cleanup on thread exit
219
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00002202005-09-13 Miklos Szeredi <miklos@szeredi.hu>
221
222 * Set umask to zero in fusexmp and fusexmp_fh, so that
223 files/directories are created with the requested mode.
224
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00002252005-09-12 Miklos Szeredi <miklos@szeredi.hu>
226
227 * Don't ignore read error in multithreaded loop
228
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00002292005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000230
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000231 * Released 2.4.0-pre2
232
2332005-09-08 Miklos Szeredi <miklos@szeredi.hu>
234
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000235 * Revert lock and access operations. Postpone these until 2.5.
236
2372005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000238
239 * Fix compile warning on 2.6.13 and later
240
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000241 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000242
Miklos Szeredi77ccf652005-08-19 14:40:27 +00002432005-08-19 Miklos Szeredi <miklos@szeredi.hu>
244
245 * lib: always refresh directory contents after rewinddir() to
246 conform to SUS. Bug found by John Muir.
247
Miklos Szeredia1482422005-08-14 23:00:27 +00002482005-08-15 Miklos Szeredi <miklos@szeredi.hu>
249
Miklos Szeredic43f9412005-08-15 15:10:48 +0000250 * Released 2.4.0-pre1
251
2522005-08-14 Miklos Szeredi <miklos@szeredi.hu>
253
Miklos Szeredia1482422005-08-14 23:00:27 +0000254 * lib: cleaned up (or messed up, depending on your POV) the low
255 level library API. Hopefully this is close to the final form.
256
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00002572005-08-05 Miklos Szeredi <miklos@szeredi.hu>
258
259 * fusermount: don't allow empty mountpoint argument, which defeats
260 automatic umounting in fuse_main(). Bugreport by Václav Jůza
261
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00002622005-08-03 Miklos Szeredi <miklos@szeredi.hu>
263
264 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
265 option is used (Paul Alfille).
266
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00002672005-08-02 Miklos Szeredi <miklos@szeredi.hu>
268
269 * highlevel-lib: added mount options "attr_timeout" and
270 "entry_timeout". These options control the length of time file
271 attributes and entries (names) are cached. Both default to 1.0
272 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000273
274 * kernel: correctly handle zero timeout for attributes and entries
275
Miklos Szeredi56a61f02005-08-01 10:42:25 +00002762005-08-01 Miklos Szeredi <miklos@szeredi.hu>
277
278 * Added missing symbols to versionscript (Joshua J. Berry)
279
Miklos Szeredie77cc072005-08-01 11:58:51 +0000280 * kernel: implement two flags, open can set: 'direct_io' and
281 'keep_cache'. These correspond exactly to mount options
282 'direct_io' and 'kernel_cache', but allow a per-open setting.
283
284 * Move 'direct_io' and 'kernel_cache' mount option handling to
285 userspace. For both mount options, if the option is given, then
286 the respective open flag is set, otherwise the open flag is left
287 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000288
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000289 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000290
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00002912005-07-28 Miklos Szeredi <miklos@szeredi.hu>
292
293 * kernel: invalidate attributes for read/readdir/readlink
294 operations
295
296 * kernel: detect newer UML kernels
297
Miklos Szeredibfb99462005-07-26 11:07:55 +00002982005-07-26 Miklos Szeredi <miklos@szeredi.hu>
299
300 * Make the installation path of fuse.ko and mount.fuse
301 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
302 environment variables. Requirement and help from Csaba Henk.
303
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00003042005-07-22 Miklos Szeredi <miklos@szeredi.hu>
305
306 * Fix bug, that causes filesystem requests to hang when unique
307 request counter becomes negative. This happens after
308 2,147,483,648 operations, so most people won't care. Thanks to
309 Franco Broi for the report and testing.
310
Miklos Szeredi9b813af2005-07-21 07:59:37 +00003112005-07-21 Miklos Szeredi <miklos@szeredi.hu>
312
313 * Don't change mtime/ctime/atime to local time on read/write.
314 Bug reported by Ben Grimm
315
316 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
317 Magnusson
318
319 * fusermount: use getopt_long() for option parsing. It allows the
320 use of '--' to stop argument scanning, so fusermount can now
321 operate on directories whose names begin with a '-'. Patch by
322 Adam Connell
323
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00003242005-07-15 Miklos Szeredi <miklos@szeredi.hu>
325
326 * fusermount: add '-v', '--version' and '--help' options
327
328 * add inode based API
329
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00003302005-07-12 Miklos Szeredi <miklos@szeredi.hu>
331
332 * lib: don't block signals in worker threads. Problem noticed by
333 Usarin Heininga
334
Miklos Szeredic902a852005-07-07 12:35:37 +00003352005-07-07 Miklos Szeredi <miklos@szeredi.hu>
336
337 * lib: don't allow both 'allow_other' and 'allow_root' options to
338 be given
339
Miklos Szeredi437d8112005-07-06 09:14:20 +00003402005-07-06 Miklos Szeredi <miklos@szeredi.hu>
341
342 * fusermount: check if mountpoint is empty (only '.' and '..' for
343 directories, and size = 0 for regular files). If "nonempty"
344 option is given, omit this check. This is useful, so users don't
345 accidentally hide data (e.g. from backup programs). Thanks to
346 Frank van Maarseveen for pointing this out.
347
348 * kernel: check if mandatory mount options ('fd', 'rootmode',
349 'user_id', 'group_id') are all given
350
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000351 * lib: simplify 'readdir_ino' handling
352
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000353 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
354
Miklos Szeredibb9f5172005-07-03 18:03:11 +00003552005-07-03 Miklos Szeredi <miklos@szeredi.hu>
356
357 * kernel: clean up 'direct_io' code
358
Miklos Szeredie1bcece2005-06-28 10:37:06 +00003592005-06-28 Miklos Szeredi <miklos@szeredi.hu>
360
361 * Add 'mount.fuse' written by Petr Klima
362
Miklos Szeredi866826d2005-06-28 12:22:57 +0000363 * '/dev/fuse' is created by 'make install' if does not yet exist
364
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00003652005-06-20 Miklos Szeredi <miklos@szeredi.hu>
366
367 * Fix UCLIBC compile error. Patch by Christian Magnusson
368
Miklos Szerediec12fad2005-06-08 10:26:34 +00003692005-06-08 Miklos Szeredi <miklos@szeredi.hu>
370
371 * Enable the auto-loading of the module via access to the
372 corresponding device file. Patch by Takashi Iwai.
373
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000374 * Allow mounting a regular file (over a regular file) for
375 unprivleged users.
376
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000377 * Do not create temporary device file. Require "/dev/fuse" to
378 exist, and be readable/writable by the mounting user.
379
Miklos Szeredi46960ce2005-06-02 09:05:00 +00003802005-06-02 Miklos Szeredi <miklos@szeredi.hu>
381
Miklos Szeredi56478552005-06-02 10:29:00 +0000382 * Released 2.3.0
383
3842005-06-02 Miklos Szeredi <miklos@szeredi.hu>
385
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000386 * Fix serious information leak: if the filesystem returns a short
387 byte count to a read request, and there are non-zero number of
388 pages which are not filled at all, these pages will not be zeroed.
389 Hence the user can read out previous memory contents. Found by
390 Sven Tantau.
391
Miklos Szeredi33be22d2005-05-27 09:12:43 +00003922005-05-27 Miklos Szeredi <miklos@szeredi.hu>
393
394 * Add "readdir_ino" mount option, which tries to fill in the d_ino
395 field in struct dirent. This mount option is ignored if "use_ino"
396 is used. It helps some programs (e.g. 'pwd' used over NFS from a
397 non-Linux OS). Patch by David Shaw.
398
Miklos Szeredif94e0102005-05-12 14:56:34 +00003992005-05-12 Miklos Szeredi <miklos@szeredi.hu>
400
Miklos Szeredieb009c42005-05-12 15:01:17 +0000401 * Released 2.3-rc1
402
4032005-05-12 Miklos Szeredi <miklos@szeredi.hu>
404
Miklos Szeredif94e0102005-05-12 14:56:34 +0000405 * File save in krusader and other editors doesn't work with sshfs,
406 because open() is interrupted by a periodic signal, and open()
407 restarts forever, without any progress. This could just be fixed
408 in open(), but the problem is more generic: if signals are
409 received more often than the filesystem can get the request to
410 userspace, it will never finish. This is probably only a
411 theoretical problem, nevertheless I'm removing the possibility to
412 interrupt requests with anything other than SIGKILL, even before
413 being sent to userspace. Bugreport by Eduard Czimbalmos.
414
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00004152005-05-09 Miklos Szeredi <miklos@szeredi.hu>
416
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000417 * libfuse: add "tree_lock" rwlock, that is locked for write in
418 rename, unlink and rmdir, and locked for read in all other
419 operations. This should fix the rename/release race reported by
420 Valient Gough and others. The solution is very coarse, a finer
421 grained locking scheme could be implemented, but it would be much
422 more complex. Let's see whether this is good enough.
423
4242005-05-09 Miklos Szeredi <miklos@szeredi.hu>
425
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000426 * Released 2.3-pre7
427
Miklos Szeredi38009022005-05-08 19:47:22 +00004282005-05-08 Miklos Szeredi <miklos@szeredi.hu>
429
430 * Better fix for out of order FORGET messages. Now the
431 LOOKUP/FORGET messages are balanced exactly (one FORGET can
432 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000433 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000434 compatible.
435
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00004362005-05-06 Miklos Szeredi <miklos@szeredi.hu>
437
438 * Fix abort for out of order FORGET messages. Again. Spotted by
439 Franco Broi again. Sorry :)
440
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00004412005-04-29 Miklos Szeredi <miklos@szeredi.hu>
442
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000443 * Released 2.3-pre6
444
4452005-04-29 Miklos Szeredi <miklos@szeredi.hu>
446
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000447 * Make fusermount work with fuse kernel modules not yet supporting
448 the "group_id" option (added for the purpose of stricter
449 permission checking).
450
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00004512005-04-28 Miklos Szeredi <miklos@szeredi.hu>
452
453 * Check for hard-linked directories in lookup. This could cause
454 problems in the VFS, which assumes that such objects never exist.
455
456 * Make checking of permission for other users more strict. Now
457 the same privilege is required for the mount owner as for ptrace
458 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000459
Miklos Szeredi3efcb562005-04-23 13:34:29 +00004602005-04-23 Miklos Szeredi <miklos@szeredi.hu>
461
462 * Released 2.3-pre5
463
Miklos Szeredid001bf92005-04-22 07:54:11 +00004642005-04-22 Miklos Szeredi <miklos@szeredi.hu>
465
466 * Add -msoft-float to kernel module compile flags for 2.4.X. This
467 is needed on certain architectures. Report from Chris Kirby
468
469 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
470 Reported by David Shaw
471
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000472 * Remove "allow_root" option from kernel module, and implement
473 it's functionality in the library
474
475 * Fix Oops caused by premature release of fuse_conn. Clean up
476 related code, to be more readable
477
Miklos Szeredif9137452005-04-23 10:59:44 +0000478 * Sendfile should not use page cache if "direct_io" mount option
479 is given
480
Miklos Szeredib7640d22005-04-08 15:15:28 +00004812005-04-08 Miklos Szeredi <miklos@szeredi.hu>
482
483 * Fix Oops in case of nfs export. Spotted by David Shaw
484
Miklos Szeredi89814a12005-04-08 16:39:09 +0000485 * Fix another Oops in case of write over nfs with direct_io turned
486 on. Again spotted by David Shaw
487
Miklos Szerediab974562005-04-07 15:40:21 +00004882005-04-07 Miklos Szeredi <miklos@szeredi.hu>
489
Miklos Szeredi432d6182005-04-07 15:56:13 +0000490 * Released 2.3-pre4
491
4922005-04-07 Miklos Szeredi <miklos@szeredi.hu>
493
Miklos Szerediab974562005-04-07 15:40:21 +0000494 * lib: finalized new readdir() interface, which now supersedes the
495 getdir() method.
496
Miklos Szeredi30e093a2005-04-03 17:44:54 +00004972005-04-03 Miklos Szeredi <miklos@szeredi.hu>
498
499 * Released 2.3-pre3
500
5012005-04-03 Miklos Szeredi <miklos@szeredi.hu>
502
503 * Implement backward compatibility with version 5 kernel ABI
504
Miklos Szeredi18fce982005-04-01 21:07:35 +00005052005-04-01 Miklos Szeredi <miklos@szeredi.hu>
506
507 * Released 2.3-pre2
508
5092005-04-01 Miklos Szeredi <miklos@szeredi.hu>
510
511 * kernel: fix dirent offset handling
512
513 * lib: add readdir and releasedir methods
514
515 * lib: use fh field of fuse_file_info in opendir, readdir,
516 releasedir and fsyncdir methods
517
518 * lib: check kernel API version and bail out of it's old. This
519 will be properly fixed in the next release
520
5212005-03-31 Miklos Szeredi <miklos@szeredi.hu>
522
523 * Released 2.3-pre1
524
Miklos Szeredieab72ef2005-03-31 19:59:12 +00005252005-03-31 Miklos Szeredi <miklos@szeredi.hu>
526
527 * kernel API: add padding to structures, so 64bit and 32bit
528 compiler will return the same size
529
530 * kernel API: add offset field to fuse_dirent. This will allow
531 more sophisticated readdir interface for userspace
532
533 * kernel API: change major number to 6
534
535 * kernel: fix warnings on 64bit archs
536
537 * kernel: in case of API version mismatch, return ECONNREFUSED
538
Miklos Szeredi407e6a72005-03-25 12:19:43 +00005392005-03-24 Miklos Szeredi <miklos@szeredi.hu>
540
541 * kernel: trivial cleanups
542
Miklos Szeredi4283ee72005-03-21 12:09:04 +00005432005-03-21 Miklos Szeredi <miklos@szeredi.hu>
544
545 * Add fsyncdir() operation
546
Miklos Szeredid17da462005-03-21 11:47:04 +00005472005-03-19 Miklos Szeredi <miklos@szeredi.hu>
548
549 * kernel: add locking to background list (fixes previous fix)
550
5512005-03-18 Miklos Szeredi <miklos@szeredi.hu>
552
553 * kernel: fix bug which could cause leave busy inodes after
554 unmount, and Oops.
555
5562005-03-08 Miklos Szeredi <miklos@szeredi.hu>
557
558 * examples: add -lpthread to link flags to work around valgrind
559 quirk
560
561 * lib: don't exit threads, so cancelation doesn't cause segfault
562
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00005632005-03-04 Miklos Szeredi <miklos@szeredi.hu>
564
565 * kernel: fix nasty bug which could cause an Oops under certain
566 situations. Found by Magnus Johansson
567
Miklos Szeredif43f0632005-02-28 11:46:56 +00005682005-02-28 Miklos Szeredi <miklos@szeredi.hu>
569
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000570 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000571 permission checking in getdir() is too late. Thanks to Usarin
572 Heininga for pointing out this deficiency
573
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000574 * libfuse: added init() and destroy() methods to fuse_operations
575
Miklos Szeredif43f0632005-02-28 11:46:56 +0000576 * kernel: llseek() method for files and directories made explicit
577
578 * kernel: fixed inode leak in NFS export in case of nodeid
579 wrapping
580
Miklos Szeredied3c97c2005-02-15 17:04:50 +00005812005-02-15 Miklos Szeredi <miklos@szeredi.hu>
582
583 * libfuse: clean up some unitialized memory found with valgrind
584
Miklos Szeredi47c52982005-02-23 09:27:38 +0000585 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
586 explicitly linked libpthread for applications
587
Miklos Szeredia7169412005-02-10 07:35:05 +00005882005-02-10 Miklos Szeredi <miklos@szeredi.hu>
589
590 * fusermount: set umask, otherwise /etc/mtab will have
591 unpredictable permission. Spotted by Jindrich Kolorenc
592
593 * fusermount: set owner and group of /etc/mtab to original values
594 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000595
596 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000597
Miklos Szeredib92d9782005-02-07 16:10:49 +00005982005-02-07 Miklos Szeredi <miklos@szeredi.hu>
599
600 * Cleaned up directory reading (temporary file is not used)
601
Miklos Szerediff30a6c2005-02-02 10:53:59 +00006022005-02-02 Miklos Szeredi <miklos@szeredi.hu>
603
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000604 * Released 2.2
605
6062005-02-02 Miklos Szeredi <miklos@szeredi.hu>
607
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000608 * Fix possible race when operation is interrupted
609
Miklos Szeredi7a983952005-01-28 09:58:19 +00006102005-01-28 Miklos Szeredi <miklos@szeredi.hu>
611
Miklos Szeredie5183742005-02-02 11:14:04 +0000612 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000613
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00006142005-01-26 Miklos Szeredi <miklos@szeredi.hu>
615
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000616 * Released 2.2-pre6
617
6182005-01-26 Miklos Szeredi <miklos@szeredi.hu>
619
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000620 * Fix bug in link() operation which caused the wrong path to be
621 passed as the first argument. Found by Anton Altaparmakov
622
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00006232005-01-21 Miklos Szeredi <miklos@szeredi.hu>
624
625 * LIB: fix double reply in readdir operation
626
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000627 * fusermount: fix uid checking bug. Patch by Adam Connell
628
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000629 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000630 Patch by Keshava Gowda
631
Miklos Szeredi64074142005-01-20 08:48:11 +00006322005-01-20 Miklos Szeredi <miklos@szeredi.hu>
633
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000634 * KERNEL: provide correct llseek semantics for fuse device (fixes
635 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
636
6372005-01-20 Miklos Szeredi <miklos@szeredi.hu>
638
Miklos Szeredi64074142005-01-20 08:48:11 +0000639 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
640
Miklos Szeredi1adb2272005-01-18 21:19:58 +00006412005-01-18 Miklos Szeredi <miklos@szeredi.hu>
642
643 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
644 and RELEASEDIR. This ends the ugly hack of passing a file
645 descriptor to the kernel, and actually makes the code simpler.
646
Miklos Szeredi7db35c02005-01-17 09:46:28 +00006472005-01-17 Miklos Szeredi <miklos@szeredi.hu>
648
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000649 * Released 2.2-pre4
650
6512005-01-17 Miklos Szeredi <miklos@szeredi.hu>
652
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000653 * fusermount: remove capability setting, which was the cause of
654 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000655 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000656
Miklos Szeredidbe0f652005-01-15 14:32:56 +00006572005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000658
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000659 * fix compilation on 2.4 kernels (reported by Valient Gough)
660
661 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000662
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000663 * fusermount: improve parsing of /etc/fuse.conf
664
6652005-01-13 Miklos Szeredi <miklos@szeredi.hu>
666
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000667 * Remove 'mount_max' and 'user_allow_other' module options. These
668 are now checked by fusermount, and can be set in /etc/fuse.conf
669
670 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
671
Miklos Szeredi81394522005-01-11 14:24:18 +00006722005-01-11 Miklos Szeredi <miklos@szeredi.hu>
673
674 * KERNEL: fix possible inode allocation problem, where
675 sizeof(struct inode) is not aligned (found by Mike Waychison)
676
677 * KERNEL: use new follow_link/put_link methods
678
679 * KERNEL: cosmetic fixes
680
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00006812005-01-10 Miklos Szeredi <miklos@szeredi.hu>
682
683 * Released 2.2-pre3
684
6852005-01-10 Miklos Szeredi <miklos@szeredi.hu>
686
687 * Add missing code that was accidently left out
688
Miklos Szeredi8c7da232005-01-09 12:27:41 +00006892005-01-09 Miklos Szeredi <miklos@szeredi.hu>
690
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000691 * Released 2.2-pre2
692
6932005-01-09 Miklos Szeredi <miklos@szeredi.hu>
694
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000695 * Change "uid" mount option to "user_id" to avoid confusion with a
696 mount option "uid" commonly used by many filesystems
697
6982005-01-09 Miklos Szeredi <miklos@szeredi.hu>
699
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000700 * Released 2.2-pre1
701
7022005-01-09 Miklos Szeredi <miklos@szeredi.hu>
703
704 * If FUSE is configured in the kernel, don't build it by default
705
Miklos Szeredi2a927272005-01-07 11:14:15 +00007062005-01-07 Miklos Szeredi <miklos@szeredi.hu>
707
708 * Compile fix by Christian Magnusson
709
Miklos Szeredib6220192005-01-05 16:19:10 +00007102005-01-05 Miklos Szeredi <miklos@szeredi.hu>
711
712 * Fix compilation for 2.6.{0-5} kernels
713
Miklos Szeredi0f62d722005-01-04 12:45:54 +00007142005-01-04 Miklos Szeredi <miklos@szeredi.hu>
715
716 * KERNEL: if request is interrupted, still keep reference to used
717 inode(s) and file, so that FORGET and RELEASE are not sent until
718 userspace finishes the request.
719
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000720 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
721 request with the same information, which is more flexible,
722 simpler, works on embedded systems.
723
Miklos Szeredi0f62d722005-01-04 12:45:54 +00007242004-12-16 Miklos Szeredi <miklos@szeredi.hu>
725
726 * KERNEL ABI: update interface to make it independent of type
727 sizes. This will help on 64 bit architectures which can run
728 legacy 32 bit applications.
729
730 * KERNEL ABI: add "len" field to request headers. This will allow
731 sending/receiving requests in multiple chunks.
732
733 * KERNEL: handle file type change more intelligently
734
735 * LIB: "-o debug" option should disable backgrounding (fix by
736 Fabien Reygrobellet)
737
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00007382004-12-13 Miklos Szeredi <miklos@szeredi.hu>
739
740 * KERNEL: invalidate dentry/attributes if interrupted request
741 could leave filesystem in an unknown state.
742
Miklos Szeredie56818b2004-12-12 11:45:24 +00007432004-12-12 Miklos Szeredi <miklos@szeredi.hu>
744
745 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
746 These will cause some regressions, but stability is considered
747 more important. If any of these features turns out to be
748 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000749
Miklos Szeredie56818b2004-12-12 11:45:24 +0000750 * Make all requests interruptible (only with SIGKILL currently).
751 This can be used to break any deadlock produced by the userspace
752 filesystem accessing it's own exported files. The RELEASE request
753 is special, because if it's interrupted before sending it to
754 userspace it is still sent, but the reply is not awaited.
755
756 * If request is interrupted before being sent to userspace, and if
757 it hasn't yet got any side effects, it is always restarted,
758 regardless of the SA_RESTART flag. This makes these interruptions
759 transparent to the process.
760
761 * Remove shared-writable mmap support, which was prone to an
762 out-of-memory deadlock situation
763
764 * Remove INVALIDATE userspace initiated request
765
766 * Make readpages() synchronous. Asynchronous requests are
767 deadlock prone, since they cannot be interrupted.
768
769 * Add readv/writev support to fuse device operations
770
771 * Remove some printks, which userspace FS can use for a DoS
772 against syslog
773
774 * Remove 'large_read' mount option from 2.6 in kernel, check it in
775 fusermount instead
776
777 * LIB: improve compatibility with a fuse.h header installed in
778 ${prefix}/include which in turn includes the real header.
779
780 * LIB: improve compatibility by defining fuse_main() (which is now
781 not used), so old configure scripts find it.
782
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00007832004-12-10 Miklos Szeredi <miklos@szeredi.hu>
784
785 * When mounting on a subdirectory of / don't duplicate slashes at
786 the beggining of path (spotted by David Shaw)
787
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00007882004-12-09 Miklos Szeredi <miklos@szeredi.hu>
789
790 * Fix bug causing garbage in mount options (spotted by David Shaw)
791
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00007922004-12-07 Miklos Szeredi <miklos@szeredi.hu>
793
794 * Add 'writepage' flag to 'fuse_file_info'.
795
796 * More comments in fuse.h
797
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000798 * Get rid of double underscores
799
Miklos Szeredi799993c2004-12-04 21:20:05 +00008002004-12-04 Miklos Szeredi <miklos@szeredi.hu>
801
802 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
803
804 * helper.c: add -ho option, which only displays the options not
805 the usage header. This can be used by filesystems which have
806 their own options.
807
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00008082004-12-03 Miklos Szeredi <miklos@szeredi.hu>
809
810 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
811 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
812 including the fuse header
813
814 * Add binary compatibility to 2.1 version of library with symbol
815 versioning
816
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00008172004-12-03 Miklos Szeredi <miklos@szeredi.hu>
818
819 * Released 2.1
820
Miklos Szeredi039322d2004-12-01 18:39:12 +00008212004-12-01 Miklos Szeredi <miklos@szeredi.hu>
822
823 * kernel: clean up writing functions
824
825 * kernel: no allocation on write in direct_io mode
826
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000827 * move linux/fuse.h to fuse_kernel.h
828
Miklos Szeredi83a07442004-11-30 18:25:20 +00008292004-11-30 Miklos Szeredi <miklos@szeredi.hu>
830
831 * kernel: clean up reading functions
832
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00008332004-11-29 Miklos Szeredi <miklos@szeredi.hu>
834
835 * kernel: make readpage() uninterruptible
836
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000837 * kernel: check readonly filesystem flag in fuse_permission
838
839 * lib: don't die if version file not found and new style device
840 exists
841
842 * lib: add '-r' option, which is short for '-o ro'
843
844 * fusermount: simplify device opening
845
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000846 * kernel: when direct_io is turend on, copy data directly to
847 destination without itermediate buffer. More efficient and safer,
848 since no allocation is done.
849
850 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000851
852 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000853
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00008542004-11-26 Miklos Szeredi <miklos@szeredi.hu>
855
856 * libfuse API change: open, read, write, flush, fsync and release
857 are passed a 'struct fuse_file_info' pointer containing the open
858 flags (open and release), and the file handle. Verion changed to
859 3.0.
860
Miklos Szeredia25d4c22004-11-23 22:32:16 +00008612004-11-23 Miklos Szeredi <miklos@szeredi.hu>
862
863 * More cleanups in the kernel
864
865 * The 10,229 charater device number has been assigned for FUSE
866
867 * Version file checking fix (reported by Christian Magnusson)
868
869 * fusermount: opening the fuse device now doesn't need /sys.
870
871 * Optimize reading by controlling the maximum readahead based on
872 the 'max_read' mount option
873
874 * fixes for UCLIBC (Christian Magnusson)
875
Miklos Szeredi13ed4822004-11-20 11:12:21 +00008762004-11-19 Miklos Szeredi <miklos@szeredi.hu>
877
878 * Cleaned up kernel in preparation for merge into mainline:
879
880 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
881
882 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
883
884 * __user annotations for sparse
885
886 * allocate individual pages instead of kmalloc in fuse_readdir,
887 fuse_read and fuse_write.
888
889 * Fix NFS export in case "use_ino" mount option is given
890
Miklos Szeredif3845c42004-11-20 11:18:34 +0000891 * Make libfuse and fusermount compatible with future versions
892
893 * fusermount: properly add mount options to /etc/mtab
894
8952004-11-15 Miklos Szeredi <miklos@szeredi.hu>
896
897 * fusermount: do not resolve last component of mountpoint on if it
898 is '.' or '..'. This new path resolvation is now done on mount as
899 well as unmount. This enables relative paths to work on unmount.
900
901 * fusermount: parse common mount options like "ro", "rw", etc...
902
903 * Allow module params to be changed through sysfs
904
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00009052004-11-14 Miklos Szeredi <miklos@szeredi.hu>
906
907 * Released 2.1-pre1
908
9092004-11-14 Miklos Szeredi <miklos@szeredi.hu>
910
911 * Fix bug in fuse_readpages() causing Oops in certain situations.
912 Bug found by Vincenzo Ciancia.
913
914 * Fix compilation with kernels versions > 2.6.9.
915
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00009162004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000917
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000918 * Check kernel interface version in fusermount to prevent
919 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000920
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000921 * No need to allocate fuse_conn until actual mount happens
922
923 * Fix potential race between umount and fuse_invalidate
924
925 * Check superblock of proc file in addition to inode number
926
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000927 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000928
Miklos Szeredi51ec1032004-11-10 11:52:26 +00009292004-11-10 Miklos Szeredi <miklos@szeredi.hu>
930
931 * Separate configure for the kernel directory
932
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000933 * Don't allow write to return more than 'count'
934
935 * Extend kernel interface for future use
936
Miklos Szeredi51ec1032004-11-10 11:52:26 +00009372004-11-09 Miklos Szeredi <miklos@szeredi.hu>
938
939 * Fix 'makeconf.sh' to use autoreconf if available
940
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00009412004-11-08 Miklos Szeredi <miklos@szeredi.hu>
942
Miklos Szeredid507c732004-11-08 17:32:25 +0000943 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
944 compatibility with earlier versions. To compile earier versions
945 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
946 Do not use the "use_ino" mount flag with filesystems compiled with
947 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000948
949 * Add pkg-config support. To compile a FUSE based filesystem you
950 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
951 or similar. Note, that the PKG_CONFIG_PATH environment variable
952 usually needs to be set to "/usr/local/lib/pkgconfig".
953
954 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000955
Miklos Szeredia13d9002004-11-02 17:32:03 +00009562004-11-02 Miklos Szeredi <miklos@szeredi.hu>
957
958 * Added "use_ino" mount option. This enables the filesystems to
959 set the st_ino field on files
960
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00009612004-11-01 Miklos Szeredi <miklos@szeredi.hu>
962
963 * Fix compile problems with ancient (<=2.4.18) kernels (reported
964 by Jeremy Smith)
965
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000966 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
967
968 * Clear the 'exited' flag when mail loop is finished
969
Miklos Szeredie989f0d2004-10-28 20:24:58 +00009702004-10-28 Miklos Szeredi <miklos@szeredi.hu>
971
972 * Make xattr functions work under 2.6 (bug found by Vincenzo
973 Ciancia)
974
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00009752004-10-26 Miklos Szeredi <miklos@szeredi.hu>
976
977 * Reset request in fuse_flush() (bugreport by David Shaw)
978
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00009792004-10-21 Miklos Szeredi <miklos@szeredi.hu>
980
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000981 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000982 error code
983
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000984 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000985 make it easier to implement a custom event loop.
986
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000987 * Use daemon() call to background the filesystem after mounting.
988 This function closes the standard input, output and error and
989 changes the current working directory to "/".
990
Miklos Szeredi127d49b2004-10-14 13:33:39 +00009912004-10-14 Miklos Szeredi <miklos@szeredi.hu>
992
993 * Released 1.9
994
Miklos Szeredid45baf42004-10-10 07:56:12 +00009952004-10-09 Miklos Szeredi <miklos@szeredi.hu>
996
997 * Don't allow fuse_flush() to be interrupted (bug found by David
998 Shaw)
999
Miklos Szeredi1f18db52004-09-27 06:54:49 +000010002004-09-27 Miklos Szeredi <miklos@szeredi.hu>
1001
1002 * Add PID to fuse_context. Patch by Steven James
1003
Miklos Szeredi1eea0322004-09-27 18:50:11 +00001004 * Change file handle type to 'unsigned long' in kernel interface
1005
Miklos Szeredid169f312004-09-22 08:48:26 +000010062004-09-22 Miklos Szeredi <miklos@szeredi.hu>
1007
1008 * A slight API change: fuse_get_context() doesn't need the "fuse"
1009 pointer, but the returned context contains it instead. The
1010 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001011
1012 * Fix mounting and umounting FUSE filesystem under another FUSE
1013 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001014
Miklos Szeredic2309912004-09-21 13:40:38 +000010152004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1016
1017 * Fix deadlock in case of memory allocation failure. Patch by
1018 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001019
Miklos Szeredib2cf9562004-09-16 08:42:40 +000010202004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1021
1022 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001023
Miklos Szeredi65afea12004-09-14 07:13:45 +000010242004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1025
1026 * Check temporary file creation failure in do_getdir(). Bug
1027 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001028
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000010292004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1030
1031 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001032
1033 * Make requests non-interruptible so race with FORGET is avoided.
1034 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001035
1036 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001037
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000010382004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1039
1040 * Fix bug in case two FORGETs for the same node are executed in
1041 the wrong order. Bug spotted and endured for months by Franco
1042 Broi, and logfile for solution provided by Terje Oseberg
1043
Miklos Szeredi12085102004-09-02 18:13:57 +000010442004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1045
1046 * Add -D_REENTRANT to the compile flags
1047
1048 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001049
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000010502004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1051
1052 * Change release method to be non-interruptible. Fixes bug
1053 causing missing release() call when program which has opened files
1054 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001055
Miklos Szeredi891b8742004-07-29 09:27:49 +000010562004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1057
1058 * Add fuse_invalidate() to library API
1059
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000010602004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1061
1062 * Check permissions in setattr if 'default_permissions' flag is
1063 set. Bug spotted by Damjan Lango
1064
Miklos Szeredid66d3942004-07-24 13:47:44 +000010652004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1066
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001067 * 'large_read' mount option removed for 2.6 kernels, since the
1068 default (dynamic read size) is better
1069
1070 * Extend kernel API with file handles. A file handle is returned
1071 by open, and passed to read, write, flush, fsync and release.
1072 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001073
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001074 * Security changes:
1075
1076 * Change the current directory to the mountpoint before checking
1077 the permissions and mount filesystem on "."
1078
1079 * By default don't modprobe the fuse module for non-root. The old
1080 behavior can be restored with the '--enable-auto-modprobe' flag of
1081 ./configure
1082
1083 * By default don't allow shared writable mappings for non-root.
1084 The old behavior can be restored with the 'user_mmap=1' module
1085 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001086
Miklos Szeredibd7661b2004-07-23 17:16:29 +000010872004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1088
1089 * Clean up mount option passing to fusermount and to fuse_new()
1090 BEWARE: this changes the userspace API slightly, and the command
1091 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001092
Miklos Szeredi58865372004-07-20 14:22:26 +000010932004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1094
1095 * Optimize reading under 2.6 kernels by issuing multiple page
1096 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001097
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000010982004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1099
1100 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001101
Miklos Szeredi069c9502004-07-16 16:17:02 +000011022004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1103
1104 * Separate directory entry and inode attribute validity timer
1105
1106 * New write semaphore to stop page writeback during truncate
1107
1108 * Fsync now waits for all writes to complete before sending the
1109 request
1110
1111 * Optimization: if a page is completely written by
1112 fuse_commit_write(), clear the dirty flag and set the uptodate
1113 flag for that page
1114
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001115 * Some memory cleanup at exit
1116
Miklos Szeredi2529ca22004-07-13 15:36:52 +000011172004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1118
1119 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001120 disable the "hide if open" behavior of unlink/rename.
1121
1122 * If temporary buffer allocation fails in raw read, fall back to a
1123 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001124
Miklos Szeredi73798f92004-07-12 15:55:11 +000011252004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1126
1127 * Fix bug in do_open() in libfuse: open count was incremented
1128 after the reply is sent so it could race with unlink/forget and
1129 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001130
Miklos Szeredi015fe702004-07-12 11:52:24 +000011312004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1132
1133 * When performing create or remove operation, refresh the parent's
1134 attributes on next revalidate, as i_nlink (and maybe size/time)
1135 could be inacurate.
1136
1137 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1138 pages (2.6 only)
1139
1140 * Set set_page_dirty address space operation (2.6 only)
1141
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011422004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001143
1144 * Minor fix in read: print debug info even if read size is zero
1145
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011462004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001147
1148 * Fix race between truncate and writepage (fsx-linux now runs
1149 without error)
1150
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011512004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001152
1153 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1154 by Mattias Wadman)
1155
1156 * Added option for direct read/write (-r)
1157
1158 * Fix revalidate time setting for newly created inodes
1159
Miklos Szerediacb4d362004-07-02 16:20:45 +00001160 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1161 this)
1162
1163 * fuse_main() only installs handlers for signals (out of INT, HUP,
1164 TERM, PIPE), for which no handler has yet been installed
1165
1166 * Add module option 'user_allow_other' which if set to non-zero
1167 will allow non root user to specify the 'allow_other' mount option
1168 ('-x' option of fusermount)
1169
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001170 * Fix deadlock between page writeback completion and truncate
1171 (bug found by Valient Gough with the fsx-linux utility)
1172
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011732004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001174
1175 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001176 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1177 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001178
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011792004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001180
1181 * Acquire inode->i_sem before open and release methods to prevent
1182 concurrent rename or unlink operations.
1183
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001184 * Make __fuse_read_cmd() read only one command. This allows
1185 multiplexing the fuse file descriptor with other event sources
1186 using select() or poll() (patch by Jeff Harris)
1187
1188 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1189
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011902004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001191
1192 * Fix file offset wrap around at 4G when doing large reads
1193
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011942004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001195
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001196 * Fix memory leak in open (Valient Gough)
1197
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011982004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001199
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001200 * Add "close after delete" support to libfuse (patch by Valient
1201 Gough)
1202
1203 * Cancel all worker threads before exit in multithreaded mode
1204
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012052004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001206
1207 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001208
1209 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001210
1211 * Work with newer libtool (1.5a)
1212
1213 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001214
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012152004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001216
1217 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001218
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012192004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001220
1221 * Fix possible inode leak in userspace in case of unfinished
1222 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001223
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012242004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001225
1226 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001227
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012282004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001229
1230 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001231
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012322004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001233
1234 * Build shared library as well as static (using libtool)
1235
1236 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1237 there has not been a release with the previous minor number, and I
1238 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001239
1240 * Change fuse_main(), so that default behavior is to go into
1241 background if mount is successful. '-f' and '-d' options disable
1242 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1243 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001244
1245 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1246 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001247
1248 * Don't call getdir method from open() only from first readdir().
1249 Open is sometimes just used to store the current directory
1250 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001251
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012522004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001253
1254 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001255
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012562004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001257
1258 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001259
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012602004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001261
1262 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001263
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012642004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001265
1266 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001267
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012682004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001269
1270 * Replaced binary mount data with text options
1271
1272 * Show FUSE specific mount options in /proc/mounts
1273
1274 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1275
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012762004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001277
1278 * Check some limits so userspace won't get too big requests
1279
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012802004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001281
1282 * Kill compile warning
1283
1284 * Upgraded user-mount patch for 2.6.5
1285
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012862004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001287
1288 * Add detection of user-mode-linux to configure
1289
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012902004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001291
1292 * fixed zero size case for getxattr and listxattr
1293
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012942004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001295
1296 * new fusermount flag '-z': lazy unmount, default is not lazy
1297
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001298 * Extended attributes operations added (getxattr, setxattr,
1299 listxattr, removexattr)
1300
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013012004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001302
1303 * If filesystem doesn't define a statfs operation, then an
1304 all-zero default statfs is returned instead of ENOSYS
1305
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013062004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001307
1308 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1309
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013102004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001311
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001312 * Fix for uClinux (Christian Magnusson)
1313
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013142004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001315
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001316 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001317
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001318 * More kernel interface changes:
1319
1320 * Lookup/getattr return cache timeout values
1321
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013222004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001323
1324 * Clean up option parsing in fuse_main()
1325
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001326 * Added fuse_get() function which returns the fuse object created
1327 by fuse_main()
1328
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013292004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001330
Miklos Szeredic40748a2004-02-20 16:38:45 +00001331 * removed old way of mounting (fusermount mountpoint program)
1332
Miklos Szeredib5958612004-02-20 14:10:49 +00001333 * more kernel interface changes:
1334
1335 * added nanosecond precision to file times
1336
Miklos Szeredic40748a2004-02-20 16:38:45 +00001337 * removed interface version from mount data
1338
1339 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1340
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013412004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001342
1343 * statfs library API changed to match other methods. Since this
1344 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1345
Miklos Szeredi76f65782004-02-19 16:55:40 +00001346 * kernel interface changes follow:
1347
1348 * statfs changed to 64 bits, added 'bavail' field
1349
1350 * add generation number to lookup result
1351
1352 * optimized mknod/mkdir/symlink/link (no separate lookup is
1353 needed)
1354
1355 * rdev size increased to 32 bits for mknod
1356
1357 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001358
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013592004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001360
1361 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001362
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013632004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001364
1365 * Added user-mount.2.6.2-rc3.patch
1366
1367 * Add FS_SAFE flag to fuse filesystem
1368
1369 * fusermount should allow (un)mounting for non-root even if not
1370 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001371
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013722004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001373
1374 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001375
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013762004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001377
1378 * Added check for i_size_read/write functions to configure.in
1379 (patch by Valient Gough)
1380
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013812004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001382
1383 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001384
1385 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001386
1387 * Readpage calls flush_dcache_page() after storing data
1388
1389 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001390
1391 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001392
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013932004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001394
1395 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001396
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013972004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001398
1399 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001400
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014012004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001402
1403 * Added -q option for fusermount
1404
1405 * fuse_unmount() now uses -q option of fusermount, so no error is
1406 printed if the cause of the program exit is that the filesystem
1407 has already been unmounted
1408
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001409 * Fix i_nlink correctness after rmdir/unlink
1410
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014112004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001412
Miklos Szeredib1158392004-01-26 14:43:12 +00001413 * Released 1.1-pre2
1414
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014152004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001416
Miklos Szeredi307242f2004-01-26 11:28:44 +00001417 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001418
1419 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001420
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014212004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001422
1423 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001424
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014252004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001426
1427 * Write all pending data before a RELEASE operation
1428
1429 * Suppress 'Bad file descriptor' warning on exit
1430
1431 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001432 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001433
Miklos Szeredib1158392004-01-26 14:43:12 +00001434 * New fusermount option '-l' which enables big reads. Big reads
1435 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001436
1437 * fuse_main() can accept fusermount arguments after a '--'
1438
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014392004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001440
1441 * Support for exporting filesystem over NFS (see README.NFS)
1442
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014432004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001444
1445 * Support non-blocking writepage on 2.6. This makes FUSE behave
1446 much more nicely in low-memory situations
1447
1448 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1449 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001450
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014512004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001452
1453 * Code cleanups
1454
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014552004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001456
1457 * Released 1.1-pre1
1458
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014592004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001460
1461 * Integrated 2.6 kernel support patch by Michael Grigoriev
1462
1463 * Improvements and cleanups for 2.6 kernels
1464
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014652004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001466
Miklos Szeredie5183742005-02-02 11:14:04 +00001467 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001468
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014692003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001470
1471 * Added major+minor version to library API, and minor version to
1472 kernel API
1473
David McNab7a19caf2003-12-13 02:05:46 +000014742003-12-13 David McNab <david@rebirthing.co.nz>
1475
1476 * Implemented fsync support in examples/example.py
1477
1478 * Implemented 'fsync' and 'statfs' methods in python
1479 interface
1480
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014812003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001482
Miklos Szeredie5183742005-02-02 11:14:04 +00001483 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001484
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001485 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001486
David McNab8bf62632003-12-11 22:49:22 +000014872003-12-12 David McNab <david@rebirthing.co.nz>
1488
1489 * Added distutils support to the python module, as per standard
1490 python development practice
1491
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014922003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001493
1494 * Add file locking for mount/unmount (based on patch by Valient
1495 Gough)
1496
14972003-12-11 David McNab <david@rebirthing.co.nz>
1498
1499 * Python filesystem - was broken with python2.3, now fixed:
1500 - changed PyTuple_* calls to PySequence_*, because os.lstat
1501 is no longer returning a pure tuple
1502 - changed PyInt_Check() calls to also call PyLong_Check,
1503 to cover for cases (eg os.lstat) where longs are returned
1504 - Added support for file 'release' handling, which IMO is
1505 essential since this signals to a FS that writes to a file
1506 are complete (and therefore the file can now be disposed of
1507 meaningfully at the python filesystem's discretion)
1508 - Added '__init__' handler to base Fuse class, which allows
1509 your Python class to know the mountpoint and mount args,
1510 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001511
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001512 * General:
1513 - added 'mount.fuse' script (in util/ dir), which is meant to be
1514 symlinked from /sbin, and which allows FUSE filesystems to
1515 be mounted with the 'mount' command, and listed in fstab;
1516 also, mount arguments get passed to your filesystem
1517
1518
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015192003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001520
1521 * Fix kernel version detection (again). Bugreport by Peter Levart
1522
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015232003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001524
1525 * Applied read combining patch by Michael Grigoriev (tested by
1526 Valient Gough and Vincent Wagelaar)
1527
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015282003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001529
1530 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1531 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001532
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015332003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001534
1535 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001536
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015372003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001538
1539 * kernel version detection fix
1540
1541 * fusermount now uses "lazy" umount option
1542
1543 * fusermount can use modprobe with module-init-tools
1544
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015452003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001546
1547 * Integrated caching patch by Michael Grigoriev
1548
Miklos Szeredida4e4862003-09-08 11:14:11 +00001549 * Added "Filesystems" file with descriptions of projects using
1550 FUSE
1551
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001552 * Added patch by Michael Grigoriev to allow compliation of FUSE
1553 kernel module for 2.6 kernels
1554
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015552003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001556
1557 * And another spec-file fix by Achim Settelmeier
1558
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015592003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001560
1561 * Spec-file fix by Achim Settelmeier
1562
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015632003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001564
Miklos Szerediac361172004-11-02 19:14:14 +00001565 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001566
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015672003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001568
1569 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1570
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015712003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001572
1573 * Updated fuse.spec file (Achim Settelmeier)
1574
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015752003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001576
1577 * Version 1.0 released
1578
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015792003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001580
1581 * SuSE compilation fix by Juan-Mariano de Goyeneche
1582
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015832002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001584
1585 * The release() VFS call is now exported to the FUSE interface
1586
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015872002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001588
1589 * 64 bit file offset fixes in the fuse kernel module
1590
1591 * Added function 'fuse_exit()' which can be used to exit the main
1592 loop
1593
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015942002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001595
1596 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1597 an incompatible interface change.
1598
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015992002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001600
1601 * Portablility fix (bug reported by C. Chris Erway)
1602
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016032002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001604
1605 * Use Mark Glines' fd passing method for default operation instead
1606 of old reexec
1607
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016082002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001609
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001610 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1611
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016122002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001613
Miklos Szeredi60c23522002-10-24 09:19:43 +00001614 * fix incompatiblity with Red Hat kernels, with help from Nathan
1615 Thompson-Amato.
1616
Mark Glines65ba2192002-04-18 14:41:48 +000016172002-04-18 Mark Glines <mark@glines.org>
1618
1619 * added an alternative to fuse_mount(), called
1620 fuse_mount_ioslave(), which does not need to reexec the
1621 FUSE program.
1622 * added a small helper util needed by fuse_mount_ioslave().
1623
Mark Glines220635a2002-03-17 07:01:14 +000016242002-03-16 Mark Glines <mark@glines.org>
1625
1626 * use struct fuse_statfs everywhere possible to avoid problems
1627 with the headerfiles changing struct statfs member sizes
1628
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016292002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001630
1631 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1632
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016332002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001634
1635 * RPM support by Achim Settelmeier
1636
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016372002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001638
Miklos Szerediddc862a2002-01-09 13:46:10 +00001639 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001640
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016412002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001642
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001643 * Revaidate all path components not just the last, this means a
1644 very small performance penalty for being more up-to-date.
1645
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016462002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001647
1648 * Update and fix python interface
1649
Mark Glinesd84b39a2002-01-07 16:32:02 +000016502002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001651
Mark Glinesd84b39a2002-01-07 16:32:02 +00001652 * Added statfs() support to kernel, lib, examples, and perl!
1653
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016542001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001655
1656 * Better cross compilation support
1657
1658 * Ported to Compaq IPAQ
1659
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016602001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001661
Miklos Szeredife25def2001-12-20 15:38:05 +00001662 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001663 patch from Matt Ryan)
1664
Miklos Szeredife25def2001-12-20 15:38:05 +00001665 * Added flags to fusermount and to kernel interface to control
1666 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001667
Miklos Szeredife25def2001-12-20 15:38:05 +00001668 * Integrated fuse_set_operations() into fuse_new()
1669
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016702001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001671
1672 * Applied header protection + extern "C" patch by Roland
1673 Bauerschmidt
1674
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016752001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001676
Miklos Szeredie5183742005-02-02 11:14:04 +00001677 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001678
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016792001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001680
1681 * Cleaned up way of mounting simple filesystems.
1682
1683 * fuse_main() helper function added
1684
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016852001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001686
Miklos Szeredife25def2001-12-20 15:38:05 +00001687 * Optimized read/write operations, so that minimal copying of data
1688 is done
1689
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016902001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001691
1692 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001693
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016942001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001695
1696 * Fixed vfsmount reference leak in fuse_follow_link
1697
1698 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1699 userspace is ignored
1700
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000017012001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001702
Miklos Szeredife25def2001-12-20 15:38:05 +00001703 * Started ChangeLog