blob: 3b69c127cba29403b936e7f48413f3cbab6e9e82 [file] [log] [blame]
Miklos Szeredic706ad92005-11-07 15:30:48 +000012005-11-07 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Make the statfs change backwards compatible.
4
Miklos Szeredi52cb09d2005-11-07 11:59:00 +000052005-11-06 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Change ->statfs() method to use 'struct statvfs' instead of
8 'struct statfs'. This makes the API more portable since statvfs()
9 is defined by POSIX.
10
Miklos Szeredif7eec032005-10-28 13:09:50 +0000112005-10-28 Miklos Szeredi <miklos@szeredi.hu>
12
13 * Add fgetattr() method, which currently will only be called after
14 a successful call to a create() method.
15
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000162005-10-26 Miklos Szeredi <miklos@szeredi.hu>
17
Miklos Szeredi11509ce2005-10-26 16:04:04 +000018 * Change kernel ABI version to 7.3
19
Miklos Szeredib0b13d12005-10-26 12:53:25 +000020 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +000021 call if 'default_permissions' mount option is not given, and is
22 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +000023
Miklos Szeredid9079a72005-10-26 15:29:06 +000024 * Add atomic CREATE+OPEN operation. This will only work with
25 2.6.15 (presumably) or later Linux kernels.
26
Miklos Szeredi11509ce2005-10-26 16:04:04 +000027 * Add ftruncate() method. This will only work with 2.6.15
28 (presumably) or later Linux kernels.
29
30 * Fix kernel module compile if kernel source and build directories
31 differ. Report and initial patch by John Eastman
32
Miklos Szeredic4c12ae2005-10-20 14:48:50 +0000332005-10-18 Miklos Szeredi <miklos@szeredi.hu>
34
35 * lib: optimize buffer reallocation in fill_dir.
36
Miklos Szeredic9daeb12005-10-17 10:19:21 +0000372005-10-17 Miklos Szeredi <miklos@szeredi.hu>
38
39 * Released 2.4.1
40
Miklos Szeredif412d072005-10-14 21:24:32 +0000412005-10-14 Miklos Szeredi <miklos@szeredi.hu>
42
Miklos Szeredi062f0e52005-10-14 21:28:21 +000043 * libfuse: add debug for write result (by Shaun Jackman) and
44 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +000045
Miklos Szeredib75d4b92005-10-11 10:12:08 +0000462005-10-11 Miklos Szeredi <miklos@szeredi.hu>
47
48 * Spelling fixes, thanks to Ioannis Barkas
49
Miklos Szeredibaab5872005-10-10 08:41:14 +0000502005-10-10 Miklos Szeredi <miklos@szeredi.hu>
51
52 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
53 patch
54
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +0000552005-10-07 Miklos Szeredi <miklos@szeredi.hu>
56
57 * highlevel-lib: init() and destroy() methods didn't have an
58 initialized fuse_context. Bug reported by Tim Stoakes
59
Miklos Szeredif2491122005-10-04 10:10:41 +0000602005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +000061
62 * Released 2.4.0
63
Miklos Szeredi836ab712005-10-03 14:11:59 +0000642005-10-03 Miklos Szeredi <miklos@szeredi.hu>
65
66 * Add documentation to fuse_lowlevel.h
67
68 * API cleanups:
69
70 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
71
72 * Move fuse_mount() and fuse_unmount() to fuse_common.h
73
74 * Change the return type of fuse_reply_none() from int to void.
75
Miklos Szerediaf138742005-09-30 08:49:59 +0000762005-09-30 Miklos Szeredi <miklos@szeredi.hu>
77
78 * kernel: NFS exporting leaked dentries. Bug found and fixed by
79 Akshat Aranya.
80
Miklos Szeredidb016e02005-09-29 10:06:27 +0000812005-09-29 Miklos Szeredi <miklos@szeredi.hu>
82
83 * fusermount: fix error message, when unable to open /dev/fuse.
84 Report by Balázs Pozsár
85
Miklos Szeredi35200932005-09-28 14:50:49 +0000862005-09-28 Miklos Szeredi <miklos@szeredi.hu>
87
88 * UClibc fixes from Christian Magnusson
89
Miklos Szeredi8eddf642005-09-27 08:58:26 +0000902005-09-27 Miklos Szeredi <miklos@szeredi.hu>
91
92 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
93
Miklos Szerediedec95c2005-09-26 10:22:22 +0000942005-09-26 Miklos Szeredi <miklos@szeredi.hu>
95
Miklos Szeredi39851ac2005-09-26 11:17:50 +000096 * Released 2.4.0-rc1
97
982005-09-26 Miklos Szeredi <miklos@szeredi.hu>
99
Miklos Szerediedec95c2005-09-26 10:22:22 +0000100 * fusermount: allow user umount in the case when /etc/mtab is a
101 symlink to /proc/mounts. Reported by Balázs Pozsár.
102
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00001032005-09-23 Miklos Szeredi <miklos@szeredi.hu>
104
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000105 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000106
Miklos Szeredif45f3c12005-09-22 15:14:27 +00001072005-09-22 Miklos Szeredi <miklos@szeredi.hu>
108
109 * Slight optimization in returning EINVAL error in case of an open
110 with O_DIRECT flag.
111
Miklos Szeredi670d07a2005-09-20 11:36:32 +00001122005-09-20 Miklos Szeredi <miklos@szeredi.hu>
113
114 * Remove '--enable-auto-modprobe' configure flag. Module
115 auto-loading is now handled by the kernel.
116
Miklos Szeredid51fca12005-09-15 12:51:00 +00001172005-09-15 Miklos Szeredi <miklos@szeredi.hu>
118
119 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
120 Help from Jens M. Noedler.
121
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00001222005-09-14 Miklos Szeredi <miklos@szeredi.hu>
123
124 * Add memory cleanup on thread exit
125
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00001262005-09-13 Miklos Szeredi <miklos@szeredi.hu>
127
128 * Set umask to zero in fusexmp and fusexmp_fh, so that
129 files/directories are created with the requested mode.
130
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00001312005-09-12 Miklos Szeredi <miklos@szeredi.hu>
132
133 * Don't ignore read error in multithreaded loop
134
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00001352005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000136
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000137 * Released 2.4.0-pre2
138
1392005-09-08 Miklos Szeredi <miklos@szeredi.hu>
140
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000141 * Revert lock and access operations. Postpone these until 2.5.
142
1432005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000144
145 * Fix compile warning on 2.6.13 and later
146
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000147 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000148
Miklos Szeredi77ccf652005-08-19 14:40:27 +00001492005-08-19 Miklos Szeredi <miklos@szeredi.hu>
150
151 * lib: always refresh directory contents after rewinddir() to
152 conform to SUS. Bug found by John Muir.
153
Miklos Szeredia1482422005-08-14 23:00:27 +00001542005-08-15 Miklos Szeredi <miklos@szeredi.hu>
155
Miklos Szeredic43f9412005-08-15 15:10:48 +0000156 * Released 2.4.0-pre1
157
1582005-08-14 Miklos Szeredi <miklos@szeredi.hu>
159
Miklos Szeredia1482422005-08-14 23:00:27 +0000160 * lib: cleaned up (or messed up, depending on your POV) the low
161 level library API. Hopefully this is close to the final form.
162
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00001632005-08-05 Miklos Szeredi <miklos@szeredi.hu>
164
165 * fusermount: don't allow empty mountpoint argument, which defeats
166 automatic umounting in fuse_main(). Bugreport by Václav Jůza
167
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00001682005-08-03 Miklos Szeredi <miklos@szeredi.hu>
169
170 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
171 option is used (Paul Alfille).
172
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00001732005-08-02 Miklos Szeredi <miklos@szeredi.hu>
174
175 * highlevel-lib: added mount options "attr_timeout" and
176 "entry_timeout". These options control the length of time file
177 attributes and entries (names) are cached. Both default to 1.0
178 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000179
180 * kernel: correctly handle zero timeout for attributes and entries
181
Miklos Szeredi56a61f02005-08-01 10:42:25 +00001822005-08-01 Miklos Szeredi <miklos@szeredi.hu>
183
184 * Added missing symbols to versionscript (Joshua J. Berry)
185
Miklos Szeredie77cc072005-08-01 11:58:51 +0000186 * kernel: implement two flags, open can set: 'direct_io' and
187 'keep_cache'. These correspond exactly to mount options
188 'direct_io' and 'kernel_cache', but allow a per-open setting.
189
190 * Move 'direct_io' and 'kernel_cache' mount option handling to
191 userspace. For both mount options, if the option is given, then
192 the respective open flag is set, otherwise the open flag is left
193 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000194
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000195 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000196
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00001972005-07-28 Miklos Szeredi <miklos@szeredi.hu>
198
199 * kernel: invalidate attributes for read/readdir/readlink
200 operations
201
202 * kernel: detect newer UML kernels
203
Miklos Szeredibfb99462005-07-26 11:07:55 +00002042005-07-26 Miklos Szeredi <miklos@szeredi.hu>
205
206 * Make the installation path of fuse.ko and mount.fuse
207 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
208 environment variables. Requirement and help from Csaba Henk.
209
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00002102005-07-22 Miklos Szeredi <miklos@szeredi.hu>
211
212 * Fix bug, that causes filesystem requests to hang when unique
213 request counter becomes negative. This happens after
214 2,147,483,648 operations, so most people won't care. Thanks to
215 Franco Broi for the report and testing.
216
Miklos Szeredi9b813af2005-07-21 07:59:37 +00002172005-07-21 Miklos Szeredi <miklos@szeredi.hu>
218
219 * Don't change mtime/ctime/atime to local time on read/write.
220 Bug reported by Ben Grimm
221
222 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
223 Magnusson
224
225 * fusermount: use getopt_long() for option parsing. It allows the
226 use of '--' to stop argument scanning, so fusermount can now
227 operate on directories whose names begin with a '-'. Patch by
228 Adam Connell
229
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00002302005-07-15 Miklos Szeredi <miklos@szeredi.hu>
231
232 * fusermount: add '-v', '--version' and '--help' options
233
234 * add inode based API
235
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00002362005-07-12 Miklos Szeredi <miklos@szeredi.hu>
237
238 * lib: don't block signals in worker threads. Problem noticed by
239 Usarin Heininga
240
Miklos Szeredic902a852005-07-07 12:35:37 +00002412005-07-07 Miklos Szeredi <miklos@szeredi.hu>
242
243 * lib: don't allow both 'allow_other' and 'allow_root' options to
244 be given
245
Miklos Szeredi437d8112005-07-06 09:14:20 +00002462005-07-06 Miklos Szeredi <miklos@szeredi.hu>
247
248 * fusermount: check if mountpoint is empty (only '.' and '..' for
249 directories, and size = 0 for regular files). If "nonempty"
250 option is given, omit this check. This is useful, so users don't
251 accidentally hide data (e.g. from backup programs). Thanks to
252 Frank van Maarseveen for pointing this out.
253
254 * kernel: check if mandatory mount options ('fd', 'rootmode',
255 'user_id', 'group_id') are all given
256
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000257 * lib: simplify 'readdir_ino' handling
258
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000259 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
260
Miklos Szeredibb9f5172005-07-03 18:03:11 +00002612005-07-03 Miklos Szeredi <miklos@szeredi.hu>
262
263 * kernel: clean up 'direct_io' code
264
Miklos Szeredie1bcece2005-06-28 10:37:06 +00002652005-06-28 Miklos Szeredi <miklos@szeredi.hu>
266
267 * Add 'mount.fuse' written by Petr Klima
268
Miklos Szeredi866826d2005-06-28 12:22:57 +0000269 * '/dev/fuse' is created by 'make install' if does not yet exist
270
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00002712005-06-20 Miklos Szeredi <miklos@szeredi.hu>
272
273 * Fix UCLIBC compile error. Patch by Christian Magnusson
274
Miklos Szerediec12fad2005-06-08 10:26:34 +00002752005-06-08 Miklos Szeredi <miklos@szeredi.hu>
276
277 * Enable the auto-loading of the module via access to the
278 corresponding device file. Patch by Takashi Iwai.
279
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000280 * Allow mounting a regular file (over a regular file) for
281 unprivleged users.
282
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000283 * Do not create temporary device file. Require "/dev/fuse" to
284 exist, and be readable/writable by the mounting user.
285
Miklos Szeredi46960ce2005-06-02 09:05:00 +00002862005-06-02 Miklos Szeredi <miklos@szeredi.hu>
287
Miklos Szeredi56478552005-06-02 10:29:00 +0000288 * Released 2.3.0
289
2902005-06-02 Miklos Szeredi <miklos@szeredi.hu>
291
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000292 * Fix serious information leak: if the filesystem returns a short
293 byte count to a read request, and there are non-zero number of
294 pages which are not filled at all, these pages will not be zeroed.
295 Hence the user can read out previous memory contents. Found by
296 Sven Tantau.
297
Miklos Szeredi33be22d2005-05-27 09:12:43 +00002982005-05-27 Miklos Szeredi <miklos@szeredi.hu>
299
300 * Add "readdir_ino" mount option, which tries to fill in the d_ino
301 field in struct dirent. This mount option is ignored if "use_ino"
302 is used. It helps some programs (e.g. 'pwd' used over NFS from a
303 non-Linux OS). Patch by David Shaw.
304
Miklos Szeredif94e0102005-05-12 14:56:34 +00003052005-05-12 Miklos Szeredi <miklos@szeredi.hu>
306
Miklos Szeredieb009c42005-05-12 15:01:17 +0000307 * Released 2.3-rc1
308
3092005-05-12 Miklos Szeredi <miklos@szeredi.hu>
310
Miklos Szeredif94e0102005-05-12 14:56:34 +0000311 * File save in krusader and other editors doesn't work with sshfs,
312 because open() is interrupted by a periodic signal, and open()
313 restarts forever, without any progress. This could just be fixed
314 in open(), but the problem is more generic: if signals are
315 received more often than the filesystem can get the request to
316 userspace, it will never finish. This is probably only a
317 theoretical problem, nevertheless I'm removing the possibility to
318 interrupt requests with anything other than SIGKILL, even before
319 being sent to userspace. Bugreport by Eduard Czimbalmos.
320
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00003212005-05-09 Miklos Szeredi <miklos@szeredi.hu>
322
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000323 * libfuse: add "tree_lock" rwlock, that is locked for write in
324 rename, unlink and rmdir, and locked for read in all other
325 operations. This should fix the rename/release race reported by
326 Valient Gough and others. The solution is very coarse, a finer
327 grained locking scheme could be implemented, but it would be much
328 more complex. Let's see whether this is good enough.
329
3302005-05-09 Miklos Szeredi <miklos@szeredi.hu>
331
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000332 * Released 2.3-pre7
333
Miklos Szeredi38009022005-05-08 19:47:22 +00003342005-05-08 Miklos Szeredi <miklos@szeredi.hu>
335
336 * Better fix for out of order FORGET messages. Now the
337 LOOKUP/FORGET messages are balanced exactly (one FORGET can
338 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000339 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000340 compatible.
341
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00003422005-05-06 Miklos Szeredi <miklos@szeredi.hu>
343
344 * Fix abort for out of order FORGET messages. Again. Spotted by
345 Franco Broi again. Sorry :)
346
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00003472005-04-29 Miklos Szeredi <miklos@szeredi.hu>
348
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000349 * Released 2.3-pre6
350
3512005-04-29 Miklos Szeredi <miklos@szeredi.hu>
352
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000353 * Make fusermount work with fuse kernel modules not yet supporting
354 the "group_id" option (added for the purpose of stricter
355 permission checking).
356
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00003572005-04-28 Miklos Szeredi <miklos@szeredi.hu>
358
359 * Check for hard-linked directories in lookup. This could cause
360 problems in the VFS, which assumes that such objects never exist.
361
362 * Make checking of permission for other users more strict. Now
363 the same privilege is required for the mount owner as for ptrace
364 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000365
Miklos Szeredi3efcb562005-04-23 13:34:29 +00003662005-04-23 Miklos Szeredi <miklos@szeredi.hu>
367
368 * Released 2.3-pre5
369
Miklos Szeredid001bf92005-04-22 07:54:11 +00003702005-04-22 Miklos Szeredi <miklos@szeredi.hu>
371
372 * Add -msoft-float to kernel module compile flags for 2.4.X. This
373 is needed on certain architectures. Report from Chris Kirby
374
375 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
376 Reported by David Shaw
377
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000378 * Remove "allow_root" option from kernel module, and implement
379 it's functionality in the library
380
381 * Fix Oops caused by premature release of fuse_conn. Clean up
382 related code, to be more readable
383
Miklos Szeredif9137452005-04-23 10:59:44 +0000384 * Sendfile should not use page cache if "direct_io" mount option
385 is given
386
Miklos Szeredib7640d22005-04-08 15:15:28 +00003872005-04-08 Miklos Szeredi <miklos@szeredi.hu>
388
389 * Fix Oops in case of nfs export. Spotted by David Shaw
390
Miklos Szeredi89814a12005-04-08 16:39:09 +0000391 * Fix another Oops in case of write over nfs with direct_io turned
392 on. Again spotted by David Shaw
393
Miklos Szerediab974562005-04-07 15:40:21 +00003942005-04-07 Miklos Szeredi <miklos@szeredi.hu>
395
Miklos Szeredi432d6182005-04-07 15:56:13 +0000396 * Released 2.3-pre4
397
3982005-04-07 Miklos Szeredi <miklos@szeredi.hu>
399
Miklos Szerediab974562005-04-07 15:40:21 +0000400 * lib: finalized new readdir() interface, which now supersedes the
401 getdir() method.
402
Miklos Szeredi30e093a2005-04-03 17:44:54 +00004032005-04-03 Miklos Szeredi <miklos@szeredi.hu>
404
405 * Released 2.3-pre3
406
4072005-04-03 Miklos Szeredi <miklos@szeredi.hu>
408
409 * Implement backward compatibility with version 5 kernel ABI
410
Miklos Szeredi18fce982005-04-01 21:07:35 +00004112005-04-01 Miklos Szeredi <miklos@szeredi.hu>
412
413 * Released 2.3-pre2
414
4152005-04-01 Miklos Szeredi <miklos@szeredi.hu>
416
417 * kernel: fix dirent offset handling
418
419 * lib: add readdir and releasedir methods
420
421 * lib: use fh field of fuse_file_info in opendir, readdir,
422 releasedir and fsyncdir methods
423
424 * lib: check kernel API version and bail out of it's old. This
425 will be properly fixed in the next release
426
4272005-03-31 Miklos Szeredi <miklos@szeredi.hu>
428
429 * Released 2.3-pre1
430
Miklos Szeredieab72ef2005-03-31 19:59:12 +00004312005-03-31 Miklos Szeredi <miklos@szeredi.hu>
432
433 * kernel API: add padding to structures, so 64bit and 32bit
434 compiler will return the same size
435
436 * kernel API: add offset field to fuse_dirent. This will allow
437 more sophisticated readdir interface for userspace
438
439 * kernel API: change major number to 6
440
441 * kernel: fix warnings on 64bit archs
442
443 * kernel: in case of API version mismatch, return ECONNREFUSED
444
Miklos Szeredi407e6a72005-03-25 12:19:43 +00004452005-03-24 Miklos Szeredi <miklos@szeredi.hu>
446
447 * kernel: trivial cleanups
448
Miklos Szeredi4283ee72005-03-21 12:09:04 +00004492005-03-21 Miklos Szeredi <miklos@szeredi.hu>
450
451 * Add fsyncdir() operation
452
Miklos Szeredid17da462005-03-21 11:47:04 +00004532005-03-19 Miklos Szeredi <miklos@szeredi.hu>
454
455 * kernel: add locking to background list (fixes previous fix)
456
4572005-03-18 Miklos Szeredi <miklos@szeredi.hu>
458
459 * kernel: fix bug which could cause leave busy inodes after
460 unmount, and Oops.
461
4622005-03-08 Miklos Szeredi <miklos@szeredi.hu>
463
464 * examples: add -lpthread to link flags to work around valgrind
465 quirk
466
467 * lib: don't exit threads, so cancelation doesn't cause segfault
468
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00004692005-03-04 Miklos Szeredi <miklos@szeredi.hu>
470
471 * kernel: fix nasty bug which could cause an Oops under certain
472 situations. Found by Magnus Johansson
473
Miklos Szeredif43f0632005-02-28 11:46:56 +00004742005-02-28 Miklos Szeredi <miklos@szeredi.hu>
475
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000476 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000477 permission checking in getdir() is too late. Thanks to Usarin
478 Heininga for pointing out this deficiency
479
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000480 * libfuse: added init() and destroy() methods to fuse_operations
481
Miklos Szeredif43f0632005-02-28 11:46:56 +0000482 * kernel: llseek() method for files and directories made explicit
483
484 * kernel: fixed inode leak in NFS export in case of nodeid
485 wrapping
486
Miklos Szeredied3c97c2005-02-15 17:04:50 +00004872005-02-15 Miklos Szeredi <miklos@szeredi.hu>
488
489 * libfuse: clean up some unitialized memory found with valgrind
490
Miklos Szeredi47c52982005-02-23 09:27:38 +0000491 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
492 explicitly linked libpthread for applications
493
Miklos Szeredia7169412005-02-10 07:35:05 +00004942005-02-10 Miklos Szeredi <miklos@szeredi.hu>
495
496 * fusermount: set umask, otherwise /etc/mtab will have
497 unpredictable permission. Spotted by Jindrich Kolorenc
498
499 * fusermount: set owner and group of /etc/mtab to original values
500 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000501
502 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000503
Miklos Szeredib92d9782005-02-07 16:10:49 +00005042005-02-07 Miklos Szeredi <miklos@szeredi.hu>
505
506 * Cleaned up directory reading (temporary file is not used)
507
Miklos Szerediff30a6c2005-02-02 10:53:59 +00005082005-02-02 Miklos Szeredi <miklos@szeredi.hu>
509
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000510 * Released 2.2
511
5122005-02-02 Miklos Szeredi <miklos@szeredi.hu>
513
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000514 * Fix possible race when operation is interrupted
515
Miklos Szeredi7a983952005-01-28 09:58:19 +00005162005-01-28 Miklos Szeredi <miklos@szeredi.hu>
517
Miklos Szeredie5183742005-02-02 11:14:04 +0000518 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000519
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00005202005-01-26 Miklos Szeredi <miklos@szeredi.hu>
521
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000522 * Released 2.2-pre6
523
5242005-01-26 Miklos Szeredi <miklos@szeredi.hu>
525
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000526 * Fix bug in link() operation which caused the wrong path to be
527 passed as the first argument. Found by Anton Altaparmakov
528
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00005292005-01-21 Miklos Szeredi <miklos@szeredi.hu>
530
531 * LIB: fix double reply in readdir operation
532
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000533 * fusermount: fix uid checking bug. Patch by Adam Connell
534
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000535 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000536 Patch by Keshava Gowda
537
Miklos Szeredi64074142005-01-20 08:48:11 +00005382005-01-20 Miklos Szeredi <miklos@szeredi.hu>
539
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000540 * KERNEL: provide correct llseek semantics for fuse device (fixes
541 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
542
5432005-01-20 Miklos Szeredi <miklos@szeredi.hu>
544
Miklos Szeredi64074142005-01-20 08:48:11 +0000545 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
546
Miklos Szeredi1adb2272005-01-18 21:19:58 +00005472005-01-18 Miklos Szeredi <miklos@szeredi.hu>
548
549 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
550 and RELEASEDIR. This ends the ugly hack of passing a file
551 descriptor to the kernel, and actually makes the code simpler.
552
Miklos Szeredi7db35c02005-01-17 09:46:28 +00005532005-01-17 Miklos Szeredi <miklos@szeredi.hu>
554
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000555 * Released 2.2-pre4
556
5572005-01-17 Miklos Szeredi <miklos@szeredi.hu>
558
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000559 * fusermount: remove capability setting, which was the cause of
560 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000561 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000562
Miklos Szeredidbe0f652005-01-15 14:32:56 +00005632005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000564
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000565 * fix compilation on 2.4 kernels (reported by Valient Gough)
566
567 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000568
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000569 * fusermount: improve parsing of /etc/fuse.conf
570
5712005-01-13 Miklos Szeredi <miklos@szeredi.hu>
572
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000573 * Remove 'mount_max' and 'user_allow_other' module options. These
574 are now checked by fusermount, and can be set in /etc/fuse.conf
575
576 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
577
Miklos Szeredi81394522005-01-11 14:24:18 +00005782005-01-11 Miklos Szeredi <miklos@szeredi.hu>
579
580 * KERNEL: fix possible inode allocation problem, where
581 sizeof(struct inode) is not aligned (found by Mike Waychison)
582
583 * KERNEL: use new follow_link/put_link methods
584
585 * KERNEL: cosmetic fixes
586
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00005872005-01-10 Miklos Szeredi <miklos@szeredi.hu>
588
589 * Released 2.2-pre3
590
5912005-01-10 Miklos Szeredi <miklos@szeredi.hu>
592
593 * Add missing code that was accidently left out
594
Miklos Szeredi8c7da232005-01-09 12:27:41 +00005952005-01-09 Miklos Szeredi <miklos@szeredi.hu>
596
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000597 * Released 2.2-pre2
598
5992005-01-09 Miklos Szeredi <miklos@szeredi.hu>
600
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000601 * Change "uid" mount option to "user_id" to avoid confusion with a
602 mount option "uid" commonly used by many filesystems
603
6042005-01-09 Miklos Szeredi <miklos@szeredi.hu>
605
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000606 * Released 2.2-pre1
607
6082005-01-09 Miklos Szeredi <miklos@szeredi.hu>
609
610 * If FUSE is configured in the kernel, don't build it by default
611
Miklos Szeredi2a927272005-01-07 11:14:15 +00006122005-01-07 Miklos Szeredi <miklos@szeredi.hu>
613
614 * Compile fix by Christian Magnusson
615
Miklos Szeredib6220192005-01-05 16:19:10 +00006162005-01-05 Miklos Szeredi <miklos@szeredi.hu>
617
618 * Fix compilation for 2.6.{0-5} kernels
619
Miklos Szeredi0f62d722005-01-04 12:45:54 +00006202005-01-04 Miklos Szeredi <miklos@szeredi.hu>
621
622 * KERNEL: if request is interrupted, still keep reference to used
623 inode(s) and file, so that FORGET and RELEASE are not sent until
624 userspace finishes the request.
625
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000626 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
627 request with the same information, which is more flexible,
628 simpler, works on embedded systems.
629
Miklos Szeredi0f62d722005-01-04 12:45:54 +00006302004-12-16 Miklos Szeredi <miklos@szeredi.hu>
631
632 * KERNEL ABI: update interface to make it independent of type
633 sizes. This will help on 64 bit architectures which can run
634 legacy 32 bit applications.
635
636 * KERNEL ABI: add "len" field to request headers. This will allow
637 sending/receiving requests in multiple chunks.
638
639 * KERNEL: handle file type change more intelligently
640
641 * LIB: "-o debug" option should disable backgrounding (fix by
642 Fabien Reygrobellet)
643
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00006442004-12-13 Miklos Szeredi <miklos@szeredi.hu>
645
646 * KERNEL: invalidate dentry/attributes if interrupted request
647 could leave filesystem in an unknown state.
648
Miklos Szeredie56818b2004-12-12 11:45:24 +00006492004-12-12 Miklos Szeredi <miklos@szeredi.hu>
650
651 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
652 These will cause some regressions, but stability is considered
653 more important. If any of these features turns out to be
654 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000655
Miklos Szeredie56818b2004-12-12 11:45:24 +0000656 * Make all requests interruptible (only with SIGKILL currently).
657 This can be used to break any deadlock produced by the userspace
658 filesystem accessing it's own exported files. The RELEASE request
659 is special, because if it's interrupted before sending it to
660 userspace it is still sent, but the reply is not awaited.
661
662 * If request is interrupted before being sent to userspace, and if
663 it hasn't yet got any side effects, it is always restarted,
664 regardless of the SA_RESTART flag. This makes these interruptions
665 transparent to the process.
666
667 * Remove shared-writable mmap support, which was prone to an
668 out-of-memory deadlock situation
669
670 * Remove INVALIDATE userspace initiated request
671
672 * Make readpages() synchronous. Asynchronous requests are
673 deadlock prone, since they cannot be interrupted.
674
675 * Add readv/writev support to fuse device operations
676
677 * Remove some printks, which userspace FS can use for a DoS
678 against syslog
679
680 * Remove 'large_read' mount option from 2.6 in kernel, check it in
681 fusermount instead
682
683 * LIB: improve compatibility with a fuse.h header installed in
684 ${prefix}/include which in turn includes the real header.
685
686 * LIB: improve compatibility by defining fuse_main() (which is now
687 not used), so old configure scripts find it.
688
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00006892004-12-10 Miklos Szeredi <miklos@szeredi.hu>
690
691 * When mounting on a subdirectory of / don't duplicate slashes at
692 the beggining of path (spotted by David Shaw)
693
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00006942004-12-09 Miklos Szeredi <miklos@szeredi.hu>
695
696 * Fix bug causing garbage in mount options (spotted by David Shaw)
697
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00006982004-12-07 Miklos Szeredi <miklos@szeredi.hu>
699
700 * Add 'writepage' flag to 'fuse_file_info'.
701
702 * More comments in fuse.h
703
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000704 * Get rid of double underscores
705
Miklos Szeredi799993c2004-12-04 21:20:05 +00007062004-12-04 Miklos Szeredi <miklos@szeredi.hu>
707
708 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
709
710 * helper.c: add -ho option, which only displays the options not
711 the usage header. This can be used by filesystems which have
712 their own options.
713
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00007142004-12-03 Miklos Szeredi <miklos@szeredi.hu>
715
716 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
717 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
718 including the fuse header
719
720 * Add binary compatibility to 2.1 version of library with symbol
721 versioning
722
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00007232004-12-03 Miklos Szeredi <miklos@szeredi.hu>
724
725 * Released 2.1
726
Miklos Szeredi039322d2004-12-01 18:39:12 +00007272004-12-01 Miklos Szeredi <miklos@szeredi.hu>
728
729 * kernel: clean up writing functions
730
731 * kernel: no allocation on write in direct_io mode
732
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000733 * move linux/fuse.h to fuse_kernel.h
734
Miklos Szeredi83a07442004-11-30 18:25:20 +00007352004-11-30 Miklos Szeredi <miklos@szeredi.hu>
736
737 * kernel: clean up reading functions
738
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00007392004-11-29 Miklos Szeredi <miklos@szeredi.hu>
740
741 * kernel: make readpage() uninterruptible
742
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000743 * kernel: check readonly filesystem flag in fuse_permission
744
745 * lib: don't die if version file not found and new style device
746 exists
747
748 * lib: add '-r' option, which is short for '-o ro'
749
750 * fusermount: simplify device opening
751
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000752 * kernel: when direct_io is turend on, copy data directly to
753 destination without itermediate buffer. More efficient and safer,
754 since no allocation is done.
755
756 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000757
758 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000759
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00007602004-11-26 Miklos Szeredi <miklos@szeredi.hu>
761
762 * libfuse API change: open, read, write, flush, fsync and release
763 are passed a 'struct fuse_file_info' pointer containing the open
764 flags (open and release), and the file handle. Verion changed to
765 3.0.
766
Miklos Szeredia25d4c22004-11-23 22:32:16 +00007672004-11-23 Miklos Szeredi <miklos@szeredi.hu>
768
769 * More cleanups in the kernel
770
771 * The 10,229 charater device number has been assigned for FUSE
772
773 * Version file checking fix (reported by Christian Magnusson)
774
775 * fusermount: opening the fuse device now doesn't need /sys.
776
777 * Optimize reading by controlling the maximum readahead based on
778 the 'max_read' mount option
779
780 * fixes for UCLIBC (Christian Magnusson)
781
Miklos Szeredi13ed4822004-11-20 11:12:21 +00007822004-11-19 Miklos Szeredi <miklos@szeredi.hu>
783
784 * Cleaned up kernel in preparation for merge into mainline:
785
786 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
787
788 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
789
790 * __user annotations for sparse
791
792 * allocate individual pages instead of kmalloc in fuse_readdir,
793 fuse_read and fuse_write.
794
795 * Fix NFS export in case "use_ino" mount option is given
796
Miklos Szeredif3845c42004-11-20 11:18:34 +0000797 * Make libfuse and fusermount compatible with future versions
798
799 * fusermount: properly add mount options to /etc/mtab
800
8012004-11-15 Miklos Szeredi <miklos@szeredi.hu>
802
803 * fusermount: do not resolve last component of mountpoint on if it
804 is '.' or '..'. This new path resolvation is now done on mount as
805 well as unmount. This enables relative paths to work on unmount.
806
807 * fusermount: parse common mount options like "ro", "rw", etc...
808
809 * Allow module params to be changed through sysfs
810
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00008112004-11-14 Miklos Szeredi <miklos@szeredi.hu>
812
813 * Released 2.1-pre1
814
8152004-11-14 Miklos Szeredi <miklos@szeredi.hu>
816
817 * Fix bug in fuse_readpages() causing Oops in certain situations.
818 Bug found by Vincenzo Ciancia.
819
820 * Fix compilation with kernels versions > 2.6.9.
821
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00008222004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000823
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000824 * Check kernel interface version in fusermount to prevent
825 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000826
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000827 * No need to allocate fuse_conn until actual mount happens
828
829 * Fix potential race between umount and fuse_invalidate
830
831 * Check superblock of proc file in addition to inode number
832
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000833 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000834
Miklos Szeredi51ec1032004-11-10 11:52:26 +00008352004-11-10 Miklos Szeredi <miklos@szeredi.hu>
836
837 * Separate configure for the kernel directory
838
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000839 * Don't allow write to return more than 'count'
840
841 * Extend kernel interface for future use
842
Miklos Szeredi51ec1032004-11-10 11:52:26 +00008432004-11-09 Miklos Szeredi <miklos@szeredi.hu>
844
845 * Fix 'makeconf.sh' to use autoreconf if available
846
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00008472004-11-08 Miklos Szeredi <miklos@szeredi.hu>
848
Miklos Szeredid507c732004-11-08 17:32:25 +0000849 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
850 compatibility with earlier versions. To compile earier versions
851 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
852 Do not use the "use_ino" mount flag with filesystems compiled with
853 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000854
855 * Add pkg-config support. To compile a FUSE based filesystem you
856 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
857 or similar. Note, that the PKG_CONFIG_PATH environment variable
858 usually needs to be set to "/usr/local/lib/pkgconfig".
859
860 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000861
Miklos Szeredia13d9002004-11-02 17:32:03 +00008622004-11-02 Miklos Szeredi <miklos@szeredi.hu>
863
864 * Added "use_ino" mount option. This enables the filesystems to
865 set the st_ino field on files
866
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00008672004-11-01 Miklos Szeredi <miklos@szeredi.hu>
868
869 * Fix compile problems with ancient (<=2.4.18) kernels (reported
870 by Jeremy Smith)
871
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000872 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
873
874 * Clear the 'exited' flag when mail loop is finished
875
Miklos Szeredie989f0d2004-10-28 20:24:58 +00008762004-10-28 Miklos Szeredi <miklos@szeredi.hu>
877
878 * Make xattr functions work under 2.6 (bug found by Vincenzo
879 Ciancia)
880
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00008812004-10-26 Miklos Szeredi <miklos@szeredi.hu>
882
883 * Reset request in fuse_flush() (bugreport by David Shaw)
884
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00008852004-10-21 Miklos Szeredi <miklos@szeredi.hu>
886
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000887 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000888 error code
889
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000890 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000891 make it easier to implement a custom event loop.
892
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000893 * Use daemon() call to background the filesystem after mounting.
894 This function closes the standard input, output and error and
895 changes the current working directory to "/".
896
Miklos Szeredi127d49b2004-10-14 13:33:39 +00008972004-10-14 Miklos Szeredi <miklos@szeredi.hu>
898
899 * Released 1.9
900
Miklos Szeredid45baf42004-10-10 07:56:12 +00009012004-10-09 Miklos Szeredi <miklos@szeredi.hu>
902
903 * Don't allow fuse_flush() to be interrupted (bug found by David
904 Shaw)
905
Miklos Szeredi1f18db52004-09-27 06:54:49 +00009062004-09-27 Miklos Szeredi <miklos@szeredi.hu>
907
908 * Add PID to fuse_context. Patch by Steven James
909
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000910 * Change file handle type to 'unsigned long' in kernel interface
911
Miklos Szeredid169f312004-09-22 08:48:26 +00009122004-09-22 Miklos Szeredi <miklos@szeredi.hu>
913
914 * A slight API change: fuse_get_context() doesn't need the "fuse"
915 pointer, but the returned context contains it instead. The
916 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000917
918 * Fix mounting and umounting FUSE filesystem under another FUSE
919 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000920
Miklos Szeredic2309912004-09-21 13:40:38 +00009212004-09-21 Miklos Szeredi <miklos@szeredi.hu>
922
923 * Fix deadlock in case of memory allocation failure. Patch by
924 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000925
Miklos Szeredib2cf9562004-09-16 08:42:40 +00009262004-09-16 Miklos Szeredi <miklos@szeredi.hu>
927
928 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000929
Miklos Szeredi65afea12004-09-14 07:13:45 +00009302004-09-14 Miklos Szeredi <miklos@szeredi.hu>
931
932 * Check temporary file creation failure in do_getdir(). Bug
933 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000934
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00009352004-09-13 Miklos Szeredi <miklos@szeredi.hu>
936
937 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000938
939 * Make requests non-interruptible so race with FORGET is avoided.
940 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000941
942 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000943
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00009442004-09-09 Miklos Szeredi <miklos@szeredi.hu>
945
946 * Fix bug in case two FORGETs for the same node are executed in
947 the wrong order. Bug spotted and endured for months by Franco
948 Broi, and logfile for solution provided by Terje Oseberg
949
Miklos Szeredi12085102004-09-02 18:13:57 +00009502004-09-01 Miklos Szeredi <miklos@szeredi.hu>
951
952 * Add -D_REENTRANT to the compile flags
953
954 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000955
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00009562004-08-16 Miklos Szeredi <miklos@szeredi.hu>
957
958 * Change release method to be non-interruptible. Fixes bug
959 causing missing release() call when program which has opened files
960 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000961
Miklos Szeredi891b8742004-07-29 09:27:49 +00009622004-07-29 Miklos Szeredi <miklos@szeredi.hu>
963
964 * Add fuse_invalidate() to library API
965
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00009662004-07-26 Miklos Szeredi <miklos@szeredi.hu>
967
968 * Check permissions in setattr if 'default_permissions' flag is
969 set. Bug spotted by Damjan Lango
970
Miklos Szeredid66d3942004-07-24 13:47:44 +00009712004-07-24 Miklos Szeredi <miklos@szeredi.hu>
972
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000973 * 'large_read' mount option removed for 2.6 kernels, since the
974 default (dynamic read size) is better
975
976 * Extend kernel API with file handles. A file handle is returned
977 by open, and passed to read, write, flush, fsync and release.
978 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000979
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000980 * Security changes:
981
982 * Change the current directory to the mountpoint before checking
983 the permissions and mount filesystem on "."
984
985 * By default don't modprobe the fuse module for non-root. The old
986 behavior can be restored with the '--enable-auto-modprobe' flag of
987 ./configure
988
989 * By default don't allow shared writable mappings for non-root.
990 The old behavior can be restored with the 'user_mmap=1' module
991 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000992
Miklos Szeredibd7661b2004-07-23 17:16:29 +00009932004-07-23 Miklos Szeredi <miklos@szeredi.hu>
994
995 * Clean up mount option passing to fusermount and to fuse_new()
996 BEWARE: this changes the userspace API slightly, and the command
997 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000998
Miklos Szeredi58865372004-07-20 14:22:26 +00009992004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1000
1001 * Optimize reading under 2.6 kernels by issuing multiple page
1002 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001003
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000010042004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1005
1006 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001007
Miklos Szeredi069c9502004-07-16 16:17:02 +000010082004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1009
1010 * Separate directory entry and inode attribute validity timer
1011
1012 * New write semaphore to stop page writeback during truncate
1013
1014 * Fsync now waits for all writes to complete before sending the
1015 request
1016
1017 * Optimization: if a page is completely written by
1018 fuse_commit_write(), clear the dirty flag and set the uptodate
1019 flag for that page
1020
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001021 * Some memory cleanup at exit
1022
Miklos Szeredi2529ca22004-07-13 15:36:52 +000010232004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1024
1025 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001026 disable the "hide if open" behavior of unlink/rename.
1027
1028 * If temporary buffer allocation fails in raw read, fall back to a
1029 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001030
Miklos Szeredi73798f92004-07-12 15:55:11 +000010312004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1032
1033 * Fix bug in do_open() in libfuse: open count was incremented
1034 after the reply is sent so it could race with unlink/forget and
1035 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001036
Miklos Szeredi015fe702004-07-12 11:52:24 +000010372004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1038
1039 * When performing create or remove operation, refresh the parent's
1040 attributes on next revalidate, as i_nlink (and maybe size/time)
1041 could be inacurate.
1042
1043 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1044 pages (2.6 only)
1045
1046 * Set set_page_dirty address space operation (2.6 only)
1047
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010482004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001049
1050 * Minor fix in read: print debug info even if read size is zero
1051
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010522004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001053
1054 * Fix race between truncate and writepage (fsx-linux now runs
1055 without error)
1056
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010572004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001058
1059 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1060 by Mattias Wadman)
1061
1062 * Added option for direct read/write (-r)
1063
1064 * Fix revalidate time setting for newly created inodes
1065
Miklos Szerediacb4d362004-07-02 16:20:45 +00001066 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1067 this)
1068
1069 * fuse_main() only installs handlers for signals (out of INT, HUP,
1070 TERM, PIPE), for which no handler has yet been installed
1071
1072 * Add module option 'user_allow_other' which if set to non-zero
1073 will allow non root user to specify the 'allow_other' mount option
1074 ('-x' option of fusermount)
1075
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001076 * Fix deadlock between page writeback completion and truncate
1077 (bug found by Valient Gough with the fsx-linux utility)
1078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010792004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001080
1081 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001082 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1083 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001084
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010852004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001086
1087 * Acquire inode->i_sem before open and release methods to prevent
1088 concurrent rename or unlink operations.
1089
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001090 * Make __fuse_read_cmd() read only one command. This allows
1091 multiplexing the fuse file descriptor with other event sources
1092 using select() or poll() (patch by Jeff Harris)
1093
1094 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1095
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010962004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001097
1098 * Fix file offset wrap around at 4G when doing large reads
1099
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011002004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001101
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001102 * Fix memory leak in open (Valient Gough)
1103
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011042004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001105
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001106 * Add "close after delete" support to libfuse (patch by Valient
1107 Gough)
1108
1109 * Cancel all worker threads before exit in multithreaded mode
1110
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011112004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001112
1113 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001114
1115 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001116
1117 * Work with newer libtool (1.5a)
1118
1119 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001120
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011212004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001122
1123 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001124
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011252004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001126
1127 * Fix possible inode leak in userspace in case of unfinished
1128 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011302004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001131
1132 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001133
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011342004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001135
1136 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011382004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001139
1140 * Build shared library as well as static (using libtool)
1141
1142 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1143 there has not been a release with the previous minor number, and I
1144 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001145
1146 * Change fuse_main(), so that default behavior is to go into
1147 background if mount is successful. '-f' and '-d' options disable
1148 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1149 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001150
1151 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1152 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001153
1154 * Don't call getdir method from open() only from first readdir().
1155 Open is sometimes just used to store the current directory
1156 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001157
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011582004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001159
1160 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001161
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011622004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001163
1164 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001165
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011662004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001167
1168 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001169
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011702004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001171
1172 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001173
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011742004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001175
1176 * Replaced binary mount data with text options
1177
1178 * Show FUSE specific mount options in /proc/mounts
1179
1180 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1181
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011822004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001183
1184 * Check some limits so userspace won't get too big requests
1185
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011862004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001187
1188 * Kill compile warning
1189
1190 * Upgraded user-mount patch for 2.6.5
1191
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011922004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001193
1194 * Add detection of user-mode-linux to configure
1195
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011962004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001197
1198 * fixed zero size case for getxattr and listxattr
1199
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012002004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001201
1202 * new fusermount flag '-z': lazy unmount, default is not lazy
1203
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001204 * Extended attributes operations added (getxattr, setxattr,
1205 listxattr, removexattr)
1206
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012072004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001208
1209 * If filesystem doesn't define a statfs operation, then an
1210 all-zero default statfs is returned instead of ENOSYS
1211
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012122004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001213
1214 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1215
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012162004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001217
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001218 * Fix for uClinux (Christian Magnusson)
1219
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012202004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001221
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001222 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001223
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001224 * More kernel interface changes:
1225
1226 * Lookup/getattr return cache timeout values
1227
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012282004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001229
1230 * Clean up option parsing in fuse_main()
1231
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001232 * Added fuse_get() function which returns the fuse object created
1233 by fuse_main()
1234
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012352004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001236
Miklos Szeredic40748a2004-02-20 16:38:45 +00001237 * removed old way of mounting (fusermount mountpoint program)
1238
Miklos Szeredib5958612004-02-20 14:10:49 +00001239 * more kernel interface changes:
1240
1241 * added nanosecond precision to file times
1242
Miklos Szeredic40748a2004-02-20 16:38:45 +00001243 * removed interface version from mount data
1244
1245 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1246
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012472004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001248
1249 * statfs library API changed to match other methods. Since this
1250 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1251
Miklos Szeredi76f65782004-02-19 16:55:40 +00001252 * kernel interface changes follow:
1253
1254 * statfs changed to 64 bits, added 'bavail' field
1255
1256 * add generation number to lookup result
1257
1258 * optimized mknod/mkdir/symlink/link (no separate lookup is
1259 needed)
1260
1261 * rdev size increased to 32 bits for mknod
1262
1263 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001264
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012652004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001266
1267 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001268
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012692004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001270
1271 * Added user-mount.2.6.2-rc3.patch
1272
1273 * Add FS_SAFE flag to fuse filesystem
1274
1275 * fusermount should allow (un)mounting for non-root even if not
1276 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001277
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012782004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001279
1280 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001281
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012822004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001283
1284 * Added check for i_size_read/write functions to configure.in
1285 (patch by Valient Gough)
1286
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012872004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001288
1289 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001290
1291 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001292
1293 * Readpage calls flush_dcache_page() after storing data
1294
1295 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001296
1297 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001298
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012992004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001300
1301 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001302
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013032004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001304
1305 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001306
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013072004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001308
1309 * Added -q option for fusermount
1310
1311 * fuse_unmount() now uses -q option of fusermount, so no error is
1312 printed if the cause of the program exit is that the filesystem
1313 has already been unmounted
1314
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001315 * Fix i_nlink correctness after rmdir/unlink
1316
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013172004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001318
Miklos Szeredib1158392004-01-26 14:43:12 +00001319 * Released 1.1-pre2
1320
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013212004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001322
Miklos Szeredi307242f2004-01-26 11:28:44 +00001323 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001324
1325 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001326
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013272004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001328
1329 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001330
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013312004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001332
1333 * Write all pending data before a RELEASE operation
1334
1335 * Suppress 'Bad file descriptor' warning on exit
1336
1337 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001338 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001339
Miklos Szeredib1158392004-01-26 14:43:12 +00001340 * New fusermount option '-l' which enables big reads. Big reads
1341 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001342
1343 * fuse_main() can accept fusermount arguments after a '--'
1344
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013452004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001346
1347 * Support for exporting filesystem over NFS (see README.NFS)
1348
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013492004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001350
1351 * Support non-blocking writepage on 2.6. This makes FUSE behave
1352 much more nicely in low-memory situations
1353
1354 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1355 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001356
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013572004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001358
1359 * Code cleanups
1360
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013612004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001362
1363 * Released 1.1-pre1
1364
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013652004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001366
1367 * Integrated 2.6 kernel support patch by Michael Grigoriev
1368
1369 * Improvements and cleanups for 2.6 kernels
1370
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013712004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001372
Miklos Szeredie5183742005-02-02 11:14:04 +00001373 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001374
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013752003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001376
1377 * Added major+minor version to library API, and minor version to
1378 kernel API
1379
David McNab7a19caf2003-12-13 02:05:46 +000013802003-12-13 David McNab <david@rebirthing.co.nz>
1381
1382 * Implemented fsync support in examples/example.py
1383
1384 * Implemented 'fsync' and 'statfs' methods in python
1385 interface
1386
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013872003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001388
Miklos Szeredie5183742005-02-02 11:14:04 +00001389 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001390
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001391 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001392
David McNab8bf62632003-12-11 22:49:22 +000013932003-12-12 David McNab <david@rebirthing.co.nz>
1394
1395 * Added distutils support to the python module, as per standard
1396 python development practice
1397
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013982003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001399
1400 * Add file locking for mount/unmount (based on patch by Valient
1401 Gough)
1402
14032003-12-11 David McNab <david@rebirthing.co.nz>
1404
1405 * Python filesystem - was broken with python2.3, now fixed:
1406 - changed PyTuple_* calls to PySequence_*, because os.lstat
1407 is no longer returning a pure tuple
1408 - changed PyInt_Check() calls to also call PyLong_Check,
1409 to cover for cases (eg os.lstat) where longs are returned
1410 - Added support for file 'release' handling, which IMO is
1411 essential since this signals to a FS that writes to a file
1412 are complete (and therefore the file can now be disposed of
1413 meaningfully at the python filesystem's discretion)
1414 - Added '__init__' handler to base Fuse class, which allows
1415 your Python class to know the mountpoint and mount args,
1416 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001417
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001418 * General:
1419 - added 'mount.fuse' script (in util/ dir), which is meant to be
1420 symlinked from /sbin, and which allows FUSE filesystems to
1421 be mounted with the 'mount' command, and listed in fstab;
1422 also, mount arguments get passed to your filesystem
1423
1424
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014252003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001426
1427 * Fix kernel version detection (again). Bugreport by Peter Levart
1428
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014292003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001430
1431 * Applied read combining patch by Michael Grigoriev (tested by
1432 Valient Gough and Vincent Wagelaar)
1433
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014342003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001435
1436 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1437 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001438
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014392003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001440
1441 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001442
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014432003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001444
1445 * kernel version detection fix
1446
1447 * fusermount now uses "lazy" umount option
1448
1449 * fusermount can use modprobe with module-init-tools
1450
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014512003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001452
1453 * Integrated caching patch by Michael Grigoriev
1454
Miklos Szeredida4e4862003-09-08 11:14:11 +00001455 * Added "Filesystems" file with descriptions of projects using
1456 FUSE
1457
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001458 * Added patch by Michael Grigoriev to allow compliation of FUSE
1459 kernel module for 2.6 kernels
1460
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014612003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001462
1463 * And another spec-file fix by Achim Settelmeier
1464
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014652003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001466
1467 * Spec-file fix by Achim Settelmeier
1468
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014692003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001470
Miklos Szerediac361172004-11-02 19:14:14 +00001471 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001472
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014732003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001474
1475 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1476
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014772003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001478
1479 * Updated fuse.spec file (Achim Settelmeier)
1480
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014812003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001482
1483 * Version 1.0 released
1484
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014852003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001486
1487 * SuSE compilation fix by Juan-Mariano de Goyeneche
1488
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014892002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001490
1491 * The release() VFS call is now exported to the FUSE interface
1492
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014932002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001494
1495 * 64 bit file offset fixes in the fuse kernel module
1496
1497 * Added function 'fuse_exit()' which can be used to exit the main
1498 loop
1499
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015002002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001501
1502 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1503 an incompatible interface change.
1504
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015052002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001506
1507 * Portablility fix (bug reported by C. Chris Erway)
1508
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015092002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001510
1511 * Use Mark Glines' fd passing method for default operation instead
1512 of old reexec
1513
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015142002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001515
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001516 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1517
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015182002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001519
Miklos Szeredi60c23522002-10-24 09:19:43 +00001520 * fix incompatiblity with Red Hat kernels, with help from Nathan
1521 Thompson-Amato.
1522
Mark Glines65ba2192002-04-18 14:41:48 +000015232002-04-18 Mark Glines <mark@glines.org>
1524
1525 * added an alternative to fuse_mount(), called
1526 fuse_mount_ioslave(), which does not need to reexec the
1527 FUSE program.
1528 * added a small helper util needed by fuse_mount_ioslave().
1529
Mark Glines220635a2002-03-17 07:01:14 +000015302002-03-16 Mark Glines <mark@glines.org>
1531
1532 * use struct fuse_statfs everywhere possible to avoid problems
1533 with the headerfiles changing struct statfs member sizes
1534
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015352002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001536
1537 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1538
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015392002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001540
1541 * RPM support by Achim Settelmeier
1542
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015432002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001544
Miklos Szerediddc862a2002-01-09 13:46:10 +00001545 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001546
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015472002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001548
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001549 * Revaidate all path components not just the last, this means a
1550 very small performance penalty for being more up-to-date.
1551
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015522002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001553
1554 * Update and fix python interface
1555
Mark Glinesd84b39a2002-01-07 16:32:02 +000015562002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001557
Mark Glinesd84b39a2002-01-07 16:32:02 +00001558 * Added statfs() support to kernel, lib, examples, and perl!
1559
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015602001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001561
1562 * Better cross compilation support
1563
1564 * Ported to Compaq IPAQ
1565
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015662001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001567
Miklos Szeredife25def2001-12-20 15:38:05 +00001568 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001569 patch from Matt Ryan)
1570
Miklos Szeredife25def2001-12-20 15:38:05 +00001571 * Added flags to fusermount and to kernel interface to control
1572 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001573
Miklos Szeredife25def2001-12-20 15:38:05 +00001574 * Integrated fuse_set_operations() into fuse_new()
1575
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015762001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001577
1578 * Applied header protection + extern "C" patch by Roland
1579 Bauerschmidt
1580
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015812001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001582
Miklos Szeredie5183742005-02-02 11:14:04 +00001583 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001584
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015852001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001586
1587 * Cleaned up way of mounting simple filesystems.
1588
1589 * fuse_main() helper function added
1590
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015912001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001592
Miklos Szeredife25def2001-12-20 15:38:05 +00001593 * Optimized read/write operations, so that minimal copying of data
1594 is done
1595
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015962001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001597
1598 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001599
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016002001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001601
1602 * Fixed vfsmount reference leak in fuse_follow_link
1603
1604 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1605 userspace is ignored
1606
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016072001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001608
Miklos Szeredife25def2001-12-20 15:38:05 +00001609 * Started ChangeLog