blob: b0192d776cd2dfa5c252e9d635f641a12376183d [file] [log] [blame]
Miklos Szeredic4c12ae2005-10-20 14:48:50 +000012005-10-18 Miklos Szeredi <miklos@szeredi.hu>
2
3 * lib: optimize buffer reallocation in fill_dir.
4
Miklos Szeredic9daeb12005-10-17 10:19:21 +000052005-10-17 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Released 2.4.1
8
Miklos Szeredif412d072005-10-14 21:24:32 +000092005-10-14 Miklos Szeredi <miklos@szeredi.hu>
10
Miklos Szeredi062f0e52005-10-14 21:28:21 +000011 * libfuse: add debug for write result (by Shaun Jackman) and
12 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +000013
Miklos Szeredib75d4b92005-10-11 10:12:08 +0000142005-10-11 Miklos Szeredi <miklos@szeredi.hu>
15
16 * Spelling fixes, thanks to Ioannis Barkas
17
Miklos Szeredibaab5872005-10-10 08:41:14 +0000182005-10-10 Miklos Szeredi <miklos@szeredi.hu>
19
20 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
21 patch
22
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +0000232005-10-07 Miklos Szeredi <miklos@szeredi.hu>
24
25 * highlevel-lib: init() and destroy() methods didn't have an
26 initialized fuse_context. Bug reported by Tim Stoakes
27
Miklos Szeredif2491122005-10-04 10:10:41 +0000282005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +000029
30 * Released 2.4.0
31
Miklos Szeredi836ab712005-10-03 14:11:59 +0000322005-10-03 Miklos Szeredi <miklos@szeredi.hu>
33
34 * Add documentation to fuse_lowlevel.h
35
36 * API cleanups:
37
38 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
39
40 * Move fuse_mount() and fuse_unmount() to fuse_common.h
41
42 * Change the return type of fuse_reply_none() from int to void.
43
Miklos Szerediaf138742005-09-30 08:49:59 +0000442005-09-30 Miklos Szeredi <miklos@szeredi.hu>
45
46 * kernel: NFS exporting leaked dentries. Bug found and fixed by
47 Akshat Aranya.
48
Miklos Szeredidb016e02005-09-29 10:06:27 +0000492005-09-29 Miklos Szeredi <miklos@szeredi.hu>
50
51 * fusermount: fix error message, when unable to open /dev/fuse.
52 Report by Balázs Pozsár
53
Miklos Szeredi35200932005-09-28 14:50:49 +0000542005-09-28 Miklos Szeredi <miklos@szeredi.hu>
55
56 * UClibc fixes from Christian Magnusson
57
Miklos Szeredi8eddf642005-09-27 08:58:26 +0000582005-09-27 Miklos Szeredi <miklos@szeredi.hu>
59
60 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
61
Miklos Szerediedec95c2005-09-26 10:22:22 +0000622005-09-26 Miklos Szeredi <miklos@szeredi.hu>
63
Miklos Szeredi39851ac2005-09-26 11:17:50 +000064 * Released 2.4.0-rc1
65
662005-09-26 Miklos Szeredi <miklos@szeredi.hu>
67
Miklos Szerediedec95c2005-09-26 10:22:22 +000068 * fusermount: allow user umount in the case when /etc/mtab is a
69 symlink to /proc/mounts. Reported by Balázs Pozsár.
70
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000712005-09-23 Miklos Szeredi <miklos@szeredi.hu>
72
Miklos Szeredi8722dd22005-09-23 13:34:44 +000073 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +000074
Miklos Szeredif45f3c12005-09-22 15:14:27 +0000752005-09-22 Miklos Szeredi <miklos@szeredi.hu>
76
77 * Slight optimization in returning EINVAL error in case of an open
78 with O_DIRECT flag.
79
Miklos Szeredi670d07a2005-09-20 11:36:32 +0000802005-09-20 Miklos Szeredi <miklos@szeredi.hu>
81
82 * Remove '--enable-auto-modprobe' configure flag. Module
83 auto-loading is now handled by the kernel.
84
Miklos Szeredid51fca12005-09-15 12:51:00 +0000852005-09-15 Miklos Szeredi <miklos@szeredi.hu>
86
87 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
88 Help from Jens M. Noedler.
89
Miklos Szeredi7e7530d2005-09-14 15:20:26 +0000902005-09-14 Miklos Szeredi <miklos@szeredi.hu>
91
92 * Add memory cleanup on thread exit
93
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +0000942005-09-13 Miklos Szeredi <miklos@szeredi.hu>
95
96 * Set umask to zero in fusexmp and fusexmp_fh, so that
97 files/directories are created with the requested mode.
98
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +0000992005-09-12 Miklos Szeredi <miklos@szeredi.hu>
100
101 * Don't ignore read error in multithreaded loop
102
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00001032005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000104
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000105 * Released 2.4.0-pre2
106
1072005-09-08 Miklos Szeredi <miklos@szeredi.hu>
108
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000109 * Revert lock and access operations. Postpone these until 2.5.
110
1112005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000112
113 * Fix compile warning on 2.6.13 and later
114
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000115 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000116
Miklos Szeredi77ccf652005-08-19 14:40:27 +00001172005-08-19 Miklos Szeredi <miklos@szeredi.hu>
118
119 * lib: always refresh directory contents after rewinddir() to
120 conform to SUS. Bug found by John Muir.
121
Miklos Szeredia1482422005-08-14 23:00:27 +00001222005-08-15 Miklos Szeredi <miklos@szeredi.hu>
123
Miklos Szeredic43f9412005-08-15 15:10:48 +0000124 * Released 2.4.0-pre1
125
1262005-08-14 Miklos Szeredi <miklos@szeredi.hu>
127
Miklos Szeredia1482422005-08-14 23:00:27 +0000128 * lib: cleaned up (or messed up, depending on your POV) the low
129 level library API. Hopefully this is close to the final form.
130
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00001312005-08-05 Miklos Szeredi <miklos@szeredi.hu>
132
133 * fusermount: don't allow empty mountpoint argument, which defeats
134 automatic umounting in fuse_main(). Bugreport by Václav Jůza
135
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00001362005-08-03 Miklos Szeredi <miklos@szeredi.hu>
137
138 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
139 option is used (Paul Alfille).
140
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00001412005-08-02 Miklos Szeredi <miklos@szeredi.hu>
142
143 * highlevel-lib: added mount options "attr_timeout" and
144 "entry_timeout". These options control the length of time file
145 attributes and entries (names) are cached. Both default to 1.0
146 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000147
148 * kernel: correctly handle zero timeout for attributes and entries
149
Miklos Szeredi56a61f02005-08-01 10:42:25 +00001502005-08-01 Miklos Szeredi <miklos@szeredi.hu>
151
152 * Added missing symbols to versionscript (Joshua J. Berry)
153
Miklos Szeredie77cc072005-08-01 11:58:51 +0000154 * kernel: implement two flags, open can set: 'direct_io' and
155 'keep_cache'. These correspond exactly to mount options
156 'direct_io' and 'kernel_cache', but allow a per-open setting.
157
158 * Move 'direct_io' and 'kernel_cache' mount option handling to
159 userspace. For both mount options, if the option is given, then
160 the respective open flag is set, otherwise the open flag is left
161 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000162
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000163 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000164
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00001652005-07-28 Miklos Szeredi <miklos@szeredi.hu>
166
167 * kernel: invalidate attributes for read/readdir/readlink
168 operations
169
170 * kernel: detect newer UML kernels
171
Miklos Szeredibfb99462005-07-26 11:07:55 +00001722005-07-26 Miklos Szeredi <miklos@szeredi.hu>
173
174 * Make the installation path of fuse.ko and mount.fuse
175 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
176 environment variables. Requirement and help from Csaba Henk.
177
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00001782005-07-22 Miklos Szeredi <miklos@szeredi.hu>
179
180 * Fix bug, that causes filesystem requests to hang when unique
181 request counter becomes negative. This happens after
182 2,147,483,648 operations, so most people won't care. Thanks to
183 Franco Broi for the report and testing.
184
Miklos Szeredi9b813af2005-07-21 07:59:37 +00001852005-07-21 Miklos Szeredi <miklos@szeredi.hu>
186
187 * Don't change mtime/ctime/atime to local time on read/write.
188 Bug reported by Ben Grimm
189
190 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
191 Magnusson
192
193 * fusermount: use getopt_long() for option parsing. It allows the
194 use of '--' to stop argument scanning, so fusermount can now
195 operate on directories whose names begin with a '-'. Patch by
196 Adam Connell
197
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00001982005-07-15 Miklos Szeredi <miklos@szeredi.hu>
199
200 * fusermount: add '-v', '--version' and '--help' options
201
202 * add inode based API
203
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00002042005-07-12 Miklos Szeredi <miklos@szeredi.hu>
205
206 * lib: don't block signals in worker threads. Problem noticed by
207 Usarin Heininga
208
Miklos Szeredic902a852005-07-07 12:35:37 +00002092005-07-07 Miklos Szeredi <miklos@szeredi.hu>
210
211 * lib: don't allow both 'allow_other' and 'allow_root' options to
212 be given
213
Miklos Szeredi437d8112005-07-06 09:14:20 +00002142005-07-06 Miklos Szeredi <miklos@szeredi.hu>
215
216 * fusermount: check if mountpoint is empty (only '.' and '..' for
217 directories, and size = 0 for regular files). If "nonempty"
218 option is given, omit this check. This is useful, so users don't
219 accidentally hide data (e.g. from backup programs). Thanks to
220 Frank van Maarseveen for pointing this out.
221
222 * kernel: check if mandatory mount options ('fd', 'rootmode',
223 'user_id', 'group_id') are all given
224
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000225 * lib: simplify 'readdir_ino' handling
226
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000227 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
228
Miklos Szeredibb9f5172005-07-03 18:03:11 +00002292005-07-03 Miklos Szeredi <miklos@szeredi.hu>
230
231 * kernel: clean up 'direct_io' code
232
Miklos Szeredie1bcece2005-06-28 10:37:06 +00002332005-06-28 Miklos Szeredi <miklos@szeredi.hu>
234
235 * Add 'mount.fuse' written by Petr Klima
236
Miklos Szeredi866826d2005-06-28 12:22:57 +0000237 * '/dev/fuse' is created by 'make install' if does not yet exist
238
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00002392005-06-20 Miklos Szeredi <miklos@szeredi.hu>
240
241 * Fix UCLIBC compile error. Patch by Christian Magnusson
242
Miklos Szerediec12fad2005-06-08 10:26:34 +00002432005-06-08 Miklos Szeredi <miklos@szeredi.hu>
244
245 * Enable the auto-loading of the module via access to the
246 corresponding device file. Patch by Takashi Iwai.
247
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000248 * Allow mounting a regular file (over a regular file) for
249 unprivleged users.
250
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000251 * Do not create temporary device file. Require "/dev/fuse" to
252 exist, and be readable/writable by the mounting user.
253
Miklos Szeredi46960ce2005-06-02 09:05:00 +00002542005-06-02 Miklos Szeredi <miklos@szeredi.hu>
255
Miklos Szeredi56478552005-06-02 10:29:00 +0000256 * Released 2.3.0
257
2582005-06-02 Miklos Szeredi <miklos@szeredi.hu>
259
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000260 * Fix serious information leak: if the filesystem returns a short
261 byte count to a read request, and there are non-zero number of
262 pages which are not filled at all, these pages will not be zeroed.
263 Hence the user can read out previous memory contents. Found by
264 Sven Tantau.
265
Miklos Szeredi33be22d2005-05-27 09:12:43 +00002662005-05-27 Miklos Szeredi <miklos@szeredi.hu>
267
268 * Add "readdir_ino" mount option, which tries to fill in the d_ino
269 field in struct dirent. This mount option is ignored if "use_ino"
270 is used. It helps some programs (e.g. 'pwd' used over NFS from a
271 non-Linux OS). Patch by David Shaw.
272
Miklos Szeredif94e0102005-05-12 14:56:34 +00002732005-05-12 Miklos Szeredi <miklos@szeredi.hu>
274
Miklos Szeredieb009c42005-05-12 15:01:17 +0000275 * Released 2.3-rc1
276
2772005-05-12 Miklos Szeredi <miklos@szeredi.hu>
278
Miklos Szeredif94e0102005-05-12 14:56:34 +0000279 * File save in krusader and other editors doesn't work with sshfs,
280 because open() is interrupted by a periodic signal, and open()
281 restarts forever, without any progress. This could just be fixed
282 in open(), but the problem is more generic: if signals are
283 received more often than the filesystem can get the request to
284 userspace, it will never finish. This is probably only a
285 theoretical problem, nevertheless I'm removing the possibility to
286 interrupt requests with anything other than SIGKILL, even before
287 being sent to userspace. Bugreport by Eduard Czimbalmos.
288
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00002892005-05-09 Miklos Szeredi <miklos@szeredi.hu>
290
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000291 * libfuse: add "tree_lock" rwlock, that is locked for write in
292 rename, unlink and rmdir, and locked for read in all other
293 operations. This should fix the rename/release race reported by
294 Valient Gough and others. The solution is very coarse, a finer
295 grained locking scheme could be implemented, but it would be much
296 more complex. Let's see whether this is good enough.
297
2982005-05-09 Miklos Szeredi <miklos@szeredi.hu>
299
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000300 * Released 2.3-pre7
301
Miklos Szeredi38009022005-05-08 19:47:22 +00003022005-05-08 Miklos Szeredi <miklos@szeredi.hu>
303
304 * Better fix for out of order FORGET messages. Now the
305 LOOKUP/FORGET messages are balanced exactly (one FORGET can
306 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000307 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000308 compatible.
309
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00003102005-05-06 Miklos Szeredi <miklos@szeredi.hu>
311
312 * Fix abort for out of order FORGET messages. Again. Spotted by
313 Franco Broi again. Sorry :)
314
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00003152005-04-29 Miklos Szeredi <miklos@szeredi.hu>
316
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000317 * Released 2.3-pre6
318
3192005-04-29 Miklos Szeredi <miklos@szeredi.hu>
320
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000321 * Make fusermount work with fuse kernel modules not yet supporting
322 the "group_id" option (added for the purpose of stricter
323 permission checking).
324
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00003252005-04-28 Miklos Szeredi <miklos@szeredi.hu>
326
327 * Check for hard-linked directories in lookup. This could cause
328 problems in the VFS, which assumes that such objects never exist.
329
330 * Make checking of permission for other users more strict. Now
331 the same privilege is required for the mount owner as for ptrace
332 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000333
Miklos Szeredi3efcb562005-04-23 13:34:29 +00003342005-04-23 Miklos Szeredi <miklos@szeredi.hu>
335
336 * Released 2.3-pre5
337
Miklos Szeredid001bf92005-04-22 07:54:11 +00003382005-04-22 Miklos Szeredi <miklos@szeredi.hu>
339
340 * Add -msoft-float to kernel module compile flags for 2.4.X. This
341 is needed on certain architectures. Report from Chris Kirby
342
343 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
344 Reported by David Shaw
345
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000346 * Remove "allow_root" option from kernel module, and implement
347 it's functionality in the library
348
349 * Fix Oops caused by premature release of fuse_conn. Clean up
350 related code, to be more readable
351
Miklos Szeredif9137452005-04-23 10:59:44 +0000352 * Sendfile should not use page cache if "direct_io" mount option
353 is given
354
Miklos Szeredib7640d22005-04-08 15:15:28 +00003552005-04-08 Miklos Szeredi <miklos@szeredi.hu>
356
357 * Fix Oops in case of nfs export. Spotted by David Shaw
358
Miklos Szeredi89814a12005-04-08 16:39:09 +0000359 * Fix another Oops in case of write over nfs with direct_io turned
360 on. Again spotted by David Shaw
361
Miklos Szerediab974562005-04-07 15:40:21 +00003622005-04-07 Miklos Szeredi <miklos@szeredi.hu>
363
Miklos Szeredi432d6182005-04-07 15:56:13 +0000364 * Released 2.3-pre4
365
3662005-04-07 Miklos Szeredi <miklos@szeredi.hu>
367
Miklos Szerediab974562005-04-07 15:40:21 +0000368 * lib: finalized new readdir() interface, which now supersedes the
369 getdir() method.
370
Miklos Szeredi30e093a2005-04-03 17:44:54 +00003712005-04-03 Miklos Szeredi <miklos@szeredi.hu>
372
373 * Released 2.3-pre3
374
3752005-04-03 Miklos Szeredi <miklos@szeredi.hu>
376
377 * Implement backward compatibility with version 5 kernel ABI
378
Miklos Szeredi18fce982005-04-01 21:07:35 +00003792005-04-01 Miklos Szeredi <miklos@szeredi.hu>
380
381 * Released 2.3-pre2
382
3832005-04-01 Miklos Szeredi <miklos@szeredi.hu>
384
385 * kernel: fix dirent offset handling
386
387 * lib: add readdir and releasedir methods
388
389 * lib: use fh field of fuse_file_info in opendir, readdir,
390 releasedir and fsyncdir methods
391
392 * lib: check kernel API version and bail out of it's old. This
393 will be properly fixed in the next release
394
3952005-03-31 Miklos Szeredi <miklos@szeredi.hu>
396
397 * Released 2.3-pre1
398
Miklos Szeredieab72ef2005-03-31 19:59:12 +00003992005-03-31 Miklos Szeredi <miklos@szeredi.hu>
400
401 * kernel API: add padding to structures, so 64bit and 32bit
402 compiler will return the same size
403
404 * kernel API: add offset field to fuse_dirent. This will allow
405 more sophisticated readdir interface for userspace
406
407 * kernel API: change major number to 6
408
409 * kernel: fix warnings on 64bit archs
410
411 * kernel: in case of API version mismatch, return ECONNREFUSED
412
Miklos Szeredi407e6a72005-03-25 12:19:43 +00004132005-03-24 Miklos Szeredi <miklos@szeredi.hu>
414
415 * kernel: trivial cleanups
416
Miklos Szeredi4283ee72005-03-21 12:09:04 +00004172005-03-21 Miklos Szeredi <miklos@szeredi.hu>
418
419 * Add fsyncdir() operation
420
Miklos Szeredid17da462005-03-21 11:47:04 +00004212005-03-19 Miklos Szeredi <miklos@szeredi.hu>
422
423 * kernel: add locking to background list (fixes previous fix)
424
4252005-03-18 Miklos Szeredi <miklos@szeredi.hu>
426
427 * kernel: fix bug which could cause leave busy inodes after
428 unmount, and Oops.
429
4302005-03-08 Miklos Szeredi <miklos@szeredi.hu>
431
432 * examples: add -lpthread to link flags to work around valgrind
433 quirk
434
435 * lib: don't exit threads, so cancelation doesn't cause segfault
436
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00004372005-03-04 Miklos Szeredi <miklos@szeredi.hu>
438
439 * kernel: fix nasty bug which could cause an Oops under certain
440 situations. Found by Magnus Johansson
441
Miklos Szeredif43f0632005-02-28 11:46:56 +00004422005-02-28 Miklos Szeredi <miklos@szeredi.hu>
443
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000444 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000445 permission checking in getdir() is too late. Thanks to Usarin
446 Heininga for pointing out this deficiency
447
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000448 * libfuse: added init() and destroy() methods to fuse_operations
449
Miklos Szeredif43f0632005-02-28 11:46:56 +0000450 * kernel: llseek() method for files and directories made explicit
451
452 * kernel: fixed inode leak in NFS export in case of nodeid
453 wrapping
454
Miklos Szeredied3c97c2005-02-15 17:04:50 +00004552005-02-15 Miklos Szeredi <miklos@szeredi.hu>
456
457 * libfuse: clean up some unitialized memory found with valgrind
458
Miklos Szeredi47c52982005-02-23 09:27:38 +0000459 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
460 explicitly linked libpthread for applications
461
Miklos Szeredia7169412005-02-10 07:35:05 +00004622005-02-10 Miklos Szeredi <miklos@szeredi.hu>
463
464 * fusermount: set umask, otherwise /etc/mtab will have
465 unpredictable permission. Spotted by Jindrich Kolorenc
466
467 * fusermount: set owner and group of /etc/mtab to original values
468 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000469
470 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000471
Miklos Szeredib92d9782005-02-07 16:10:49 +00004722005-02-07 Miklos Szeredi <miklos@szeredi.hu>
473
474 * Cleaned up directory reading (temporary file is not used)
475
Miklos Szerediff30a6c2005-02-02 10:53:59 +00004762005-02-02 Miklos Szeredi <miklos@szeredi.hu>
477
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000478 * Released 2.2
479
4802005-02-02 Miklos Szeredi <miklos@szeredi.hu>
481
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000482 * Fix possible race when operation is interrupted
483
Miklos Szeredi7a983952005-01-28 09:58:19 +00004842005-01-28 Miklos Szeredi <miklos@szeredi.hu>
485
Miklos Szeredie5183742005-02-02 11:14:04 +0000486 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000487
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00004882005-01-26 Miklos Szeredi <miklos@szeredi.hu>
489
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000490 * Released 2.2-pre6
491
4922005-01-26 Miklos Szeredi <miklos@szeredi.hu>
493
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000494 * Fix bug in link() operation which caused the wrong path to be
495 passed as the first argument. Found by Anton Altaparmakov
496
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00004972005-01-21 Miklos Szeredi <miklos@szeredi.hu>
498
499 * LIB: fix double reply in readdir operation
500
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000501 * fusermount: fix uid checking bug. Patch by Adam Connell
502
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000503 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000504 Patch by Keshava Gowda
505
Miklos Szeredi64074142005-01-20 08:48:11 +00005062005-01-20 Miklos Szeredi <miklos@szeredi.hu>
507
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000508 * KERNEL: provide correct llseek semantics for fuse device (fixes
509 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
510
5112005-01-20 Miklos Szeredi <miklos@szeredi.hu>
512
Miklos Szeredi64074142005-01-20 08:48:11 +0000513 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
514
Miklos Szeredi1adb2272005-01-18 21:19:58 +00005152005-01-18 Miklos Szeredi <miklos@szeredi.hu>
516
517 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
518 and RELEASEDIR. This ends the ugly hack of passing a file
519 descriptor to the kernel, and actually makes the code simpler.
520
Miklos Szeredi7db35c02005-01-17 09:46:28 +00005212005-01-17 Miklos Szeredi <miklos@szeredi.hu>
522
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000523 * Released 2.2-pre4
524
5252005-01-17 Miklos Szeredi <miklos@szeredi.hu>
526
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000527 * fusermount: remove capability setting, which was the cause of
528 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000529 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000530
Miklos Szeredidbe0f652005-01-15 14:32:56 +00005312005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000532
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000533 * fix compilation on 2.4 kernels (reported by Valient Gough)
534
535 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000536
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000537 * fusermount: improve parsing of /etc/fuse.conf
538
5392005-01-13 Miklos Szeredi <miklos@szeredi.hu>
540
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000541 * Remove 'mount_max' and 'user_allow_other' module options. These
542 are now checked by fusermount, and can be set in /etc/fuse.conf
543
544 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
545
Miklos Szeredi81394522005-01-11 14:24:18 +00005462005-01-11 Miklos Szeredi <miklos@szeredi.hu>
547
548 * KERNEL: fix possible inode allocation problem, where
549 sizeof(struct inode) is not aligned (found by Mike Waychison)
550
551 * KERNEL: use new follow_link/put_link methods
552
553 * KERNEL: cosmetic fixes
554
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00005552005-01-10 Miklos Szeredi <miklos@szeredi.hu>
556
557 * Released 2.2-pre3
558
5592005-01-10 Miklos Szeredi <miklos@szeredi.hu>
560
561 * Add missing code that was accidently left out
562
Miklos Szeredi8c7da232005-01-09 12:27:41 +00005632005-01-09 Miklos Szeredi <miklos@szeredi.hu>
564
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000565 * Released 2.2-pre2
566
5672005-01-09 Miklos Szeredi <miklos@szeredi.hu>
568
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000569 * Change "uid" mount option to "user_id" to avoid confusion with a
570 mount option "uid" commonly used by many filesystems
571
5722005-01-09 Miklos Szeredi <miklos@szeredi.hu>
573
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000574 * Released 2.2-pre1
575
5762005-01-09 Miklos Szeredi <miklos@szeredi.hu>
577
578 * If FUSE is configured in the kernel, don't build it by default
579
Miklos Szeredi2a927272005-01-07 11:14:15 +00005802005-01-07 Miklos Szeredi <miklos@szeredi.hu>
581
582 * Compile fix by Christian Magnusson
583
Miklos Szeredib6220192005-01-05 16:19:10 +00005842005-01-05 Miklos Szeredi <miklos@szeredi.hu>
585
586 * Fix compilation for 2.6.{0-5} kernels
587
Miklos Szeredi0f62d722005-01-04 12:45:54 +00005882005-01-04 Miklos Szeredi <miklos@szeredi.hu>
589
590 * KERNEL: if request is interrupted, still keep reference to used
591 inode(s) and file, so that FORGET and RELEASE are not sent until
592 userspace finishes the request.
593
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000594 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
595 request with the same information, which is more flexible,
596 simpler, works on embedded systems.
597
Miklos Szeredi0f62d722005-01-04 12:45:54 +00005982004-12-16 Miklos Szeredi <miklos@szeredi.hu>
599
600 * KERNEL ABI: update interface to make it independent of type
601 sizes. This will help on 64 bit architectures which can run
602 legacy 32 bit applications.
603
604 * KERNEL ABI: add "len" field to request headers. This will allow
605 sending/receiving requests in multiple chunks.
606
607 * KERNEL: handle file type change more intelligently
608
609 * LIB: "-o debug" option should disable backgrounding (fix by
610 Fabien Reygrobellet)
611
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00006122004-12-13 Miklos Szeredi <miklos@szeredi.hu>
613
614 * KERNEL: invalidate dentry/attributes if interrupted request
615 could leave filesystem in an unknown state.
616
Miklos Szeredie56818b2004-12-12 11:45:24 +00006172004-12-12 Miklos Szeredi <miklos@szeredi.hu>
618
619 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
620 These will cause some regressions, but stability is considered
621 more important. If any of these features turns out to be
622 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000623
Miklos Szeredie56818b2004-12-12 11:45:24 +0000624 * Make all requests interruptible (only with SIGKILL currently).
625 This can be used to break any deadlock produced by the userspace
626 filesystem accessing it's own exported files. The RELEASE request
627 is special, because if it's interrupted before sending it to
628 userspace it is still sent, but the reply is not awaited.
629
630 * If request is interrupted before being sent to userspace, and if
631 it hasn't yet got any side effects, it is always restarted,
632 regardless of the SA_RESTART flag. This makes these interruptions
633 transparent to the process.
634
635 * Remove shared-writable mmap support, which was prone to an
636 out-of-memory deadlock situation
637
638 * Remove INVALIDATE userspace initiated request
639
640 * Make readpages() synchronous. Asynchronous requests are
641 deadlock prone, since they cannot be interrupted.
642
643 * Add readv/writev support to fuse device operations
644
645 * Remove some printks, which userspace FS can use for a DoS
646 against syslog
647
648 * Remove 'large_read' mount option from 2.6 in kernel, check it in
649 fusermount instead
650
651 * LIB: improve compatibility with a fuse.h header installed in
652 ${prefix}/include which in turn includes the real header.
653
654 * LIB: improve compatibility by defining fuse_main() (which is now
655 not used), so old configure scripts find it.
656
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00006572004-12-10 Miklos Szeredi <miklos@szeredi.hu>
658
659 * When mounting on a subdirectory of / don't duplicate slashes at
660 the beggining of path (spotted by David Shaw)
661
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00006622004-12-09 Miklos Szeredi <miklos@szeredi.hu>
663
664 * Fix bug causing garbage in mount options (spotted by David Shaw)
665
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00006662004-12-07 Miklos Szeredi <miklos@szeredi.hu>
667
668 * Add 'writepage' flag to 'fuse_file_info'.
669
670 * More comments in fuse.h
671
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000672 * Get rid of double underscores
673
Miklos Szeredi799993c2004-12-04 21:20:05 +00006742004-12-04 Miklos Szeredi <miklos@szeredi.hu>
675
676 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
677
678 * helper.c: add -ho option, which only displays the options not
679 the usage header. This can be used by filesystems which have
680 their own options.
681
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00006822004-12-03 Miklos Szeredi <miklos@szeredi.hu>
683
684 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
685 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
686 including the fuse header
687
688 * Add binary compatibility to 2.1 version of library with symbol
689 versioning
690
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00006912004-12-03 Miklos Szeredi <miklos@szeredi.hu>
692
693 * Released 2.1
694
Miklos Szeredi039322d2004-12-01 18:39:12 +00006952004-12-01 Miklos Szeredi <miklos@szeredi.hu>
696
697 * kernel: clean up writing functions
698
699 * kernel: no allocation on write in direct_io mode
700
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000701 * move linux/fuse.h to fuse_kernel.h
702
Miklos Szeredi83a07442004-11-30 18:25:20 +00007032004-11-30 Miklos Szeredi <miklos@szeredi.hu>
704
705 * kernel: clean up reading functions
706
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00007072004-11-29 Miklos Szeredi <miklos@szeredi.hu>
708
709 * kernel: make readpage() uninterruptible
710
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000711 * kernel: check readonly filesystem flag in fuse_permission
712
713 * lib: don't die if version file not found and new style device
714 exists
715
716 * lib: add '-r' option, which is short for '-o ro'
717
718 * fusermount: simplify device opening
719
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000720 * kernel: when direct_io is turend on, copy data directly to
721 destination without itermediate buffer. More efficient and safer,
722 since no allocation is done.
723
724 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000725
726 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000727
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00007282004-11-26 Miklos Szeredi <miklos@szeredi.hu>
729
730 * libfuse API change: open, read, write, flush, fsync and release
731 are passed a 'struct fuse_file_info' pointer containing the open
732 flags (open and release), and the file handle. Verion changed to
733 3.0.
734
Miklos Szeredia25d4c22004-11-23 22:32:16 +00007352004-11-23 Miklos Szeredi <miklos@szeredi.hu>
736
737 * More cleanups in the kernel
738
739 * The 10,229 charater device number has been assigned for FUSE
740
741 * Version file checking fix (reported by Christian Magnusson)
742
743 * fusermount: opening the fuse device now doesn't need /sys.
744
745 * Optimize reading by controlling the maximum readahead based on
746 the 'max_read' mount option
747
748 * fixes for UCLIBC (Christian Magnusson)
749
Miklos Szeredi13ed4822004-11-20 11:12:21 +00007502004-11-19 Miklos Szeredi <miklos@szeredi.hu>
751
752 * Cleaned up kernel in preparation for merge into mainline:
753
754 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
755
756 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
757
758 * __user annotations for sparse
759
760 * allocate individual pages instead of kmalloc in fuse_readdir,
761 fuse_read and fuse_write.
762
763 * Fix NFS export in case "use_ino" mount option is given
764
Miklos Szeredif3845c42004-11-20 11:18:34 +0000765 * Make libfuse and fusermount compatible with future versions
766
767 * fusermount: properly add mount options to /etc/mtab
768
7692004-11-15 Miklos Szeredi <miklos@szeredi.hu>
770
771 * fusermount: do not resolve last component of mountpoint on if it
772 is '.' or '..'. This new path resolvation is now done on mount as
773 well as unmount. This enables relative paths to work on unmount.
774
775 * fusermount: parse common mount options like "ro", "rw", etc...
776
777 * Allow module params to be changed through sysfs
778
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00007792004-11-14 Miklos Szeredi <miklos@szeredi.hu>
780
781 * Released 2.1-pre1
782
7832004-11-14 Miklos Szeredi <miklos@szeredi.hu>
784
785 * Fix bug in fuse_readpages() causing Oops in certain situations.
786 Bug found by Vincenzo Ciancia.
787
788 * Fix compilation with kernels versions > 2.6.9.
789
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00007902004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000791
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000792 * Check kernel interface version in fusermount to prevent
793 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000794
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000795 * No need to allocate fuse_conn until actual mount happens
796
797 * Fix potential race between umount and fuse_invalidate
798
799 * Check superblock of proc file in addition to inode number
800
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000801 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000802
Miklos Szeredi51ec1032004-11-10 11:52:26 +00008032004-11-10 Miklos Szeredi <miklos@szeredi.hu>
804
805 * Separate configure for the kernel directory
806
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000807 * Don't allow write to return more than 'count'
808
809 * Extend kernel interface for future use
810
Miklos Szeredi51ec1032004-11-10 11:52:26 +00008112004-11-09 Miklos Szeredi <miklos@szeredi.hu>
812
813 * Fix 'makeconf.sh' to use autoreconf if available
814
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00008152004-11-08 Miklos Szeredi <miklos@szeredi.hu>
816
Miklos Szeredid507c732004-11-08 17:32:25 +0000817 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
818 compatibility with earlier versions. To compile earier versions
819 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
820 Do not use the "use_ino" mount flag with filesystems compiled with
821 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000822
823 * Add pkg-config support. To compile a FUSE based filesystem you
824 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
825 or similar. Note, that the PKG_CONFIG_PATH environment variable
826 usually needs to be set to "/usr/local/lib/pkgconfig".
827
828 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000829
Miklos Szeredia13d9002004-11-02 17:32:03 +00008302004-11-02 Miklos Szeredi <miklos@szeredi.hu>
831
832 * Added "use_ino" mount option. This enables the filesystems to
833 set the st_ino field on files
834
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00008352004-11-01 Miklos Szeredi <miklos@szeredi.hu>
836
837 * Fix compile problems with ancient (<=2.4.18) kernels (reported
838 by Jeremy Smith)
839
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000840 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
841
842 * Clear the 'exited' flag when mail loop is finished
843
Miklos Szeredie989f0d2004-10-28 20:24:58 +00008442004-10-28 Miklos Szeredi <miklos@szeredi.hu>
845
846 * Make xattr functions work under 2.6 (bug found by Vincenzo
847 Ciancia)
848
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00008492004-10-26 Miklos Szeredi <miklos@szeredi.hu>
850
851 * Reset request in fuse_flush() (bugreport by David Shaw)
852
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00008532004-10-21 Miklos Szeredi <miklos@szeredi.hu>
854
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000855 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000856 error code
857
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000858 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000859 make it easier to implement a custom event loop.
860
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000861 * Use daemon() call to background the filesystem after mounting.
862 This function closes the standard input, output and error and
863 changes the current working directory to "/".
864
Miklos Szeredi127d49b2004-10-14 13:33:39 +00008652004-10-14 Miklos Szeredi <miklos@szeredi.hu>
866
867 * Released 1.9
868
Miklos Szeredid45baf42004-10-10 07:56:12 +00008692004-10-09 Miklos Szeredi <miklos@szeredi.hu>
870
871 * Don't allow fuse_flush() to be interrupted (bug found by David
872 Shaw)
873
Miklos Szeredi1f18db52004-09-27 06:54:49 +00008742004-09-27 Miklos Szeredi <miklos@szeredi.hu>
875
876 * Add PID to fuse_context. Patch by Steven James
877
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000878 * Change file handle type to 'unsigned long' in kernel interface
879
Miklos Szeredid169f312004-09-22 08:48:26 +00008802004-09-22 Miklos Szeredi <miklos@szeredi.hu>
881
882 * A slight API change: fuse_get_context() doesn't need the "fuse"
883 pointer, but the returned context contains it instead. The
884 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000885
886 * Fix mounting and umounting FUSE filesystem under another FUSE
887 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000888
Miklos Szeredic2309912004-09-21 13:40:38 +00008892004-09-21 Miklos Szeredi <miklos@szeredi.hu>
890
891 * Fix deadlock in case of memory allocation failure. Patch by
892 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000893
Miklos Szeredib2cf9562004-09-16 08:42:40 +00008942004-09-16 Miklos Szeredi <miklos@szeredi.hu>
895
896 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000897
Miklos Szeredi65afea12004-09-14 07:13:45 +00008982004-09-14 Miklos Szeredi <miklos@szeredi.hu>
899
900 * Check temporary file creation failure in do_getdir(). Bug
901 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000902
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00009032004-09-13 Miklos Szeredi <miklos@szeredi.hu>
904
905 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000906
907 * Make requests non-interruptible so race with FORGET is avoided.
908 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000909
910 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000911
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00009122004-09-09 Miklos Szeredi <miklos@szeredi.hu>
913
914 * Fix bug in case two FORGETs for the same node are executed in
915 the wrong order. Bug spotted and endured for months by Franco
916 Broi, and logfile for solution provided by Terje Oseberg
917
Miklos Szeredi12085102004-09-02 18:13:57 +00009182004-09-01 Miklos Szeredi <miklos@szeredi.hu>
919
920 * Add -D_REENTRANT to the compile flags
921
922 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000923
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00009242004-08-16 Miklos Szeredi <miklos@szeredi.hu>
925
926 * Change release method to be non-interruptible. Fixes bug
927 causing missing release() call when program which has opened files
928 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000929
Miklos Szeredi891b8742004-07-29 09:27:49 +00009302004-07-29 Miklos Szeredi <miklos@szeredi.hu>
931
932 * Add fuse_invalidate() to library API
933
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00009342004-07-26 Miklos Szeredi <miklos@szeredi.hu>
935
936 * Check permissions in setattr if 'default_permissions' flag is
937 set. Bug spotted by Damjan Lango
938
Miklos Szeredid66d3942004-07-24 13:47:44 +00009392004-07-24 Miklos Szeredi <miklos@szeredi.hu>
940
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000941 * 'large_read' mount option removed for 2.6 kernels, since the
942 default (dynamic read size) is better
943
944 * Extend kernel API with file handles. A file handle is returned
945 by open, and passed to read, write, flush, fsync and release.
946 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000947
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000948 * Security changes:
949
950 * Change the current directory to the mountpoint before checking
951 the permissions and mount filesystem on "."
952
953 * By default don't modprobe the fuse module for non-root. The old
954 behavior can be restored with the '--enable-auto-modprobe' flag of
955 ./configure
956
957 * By default don't allow shared writable mappings for non-root.
958 The old behavior can be restored with the 'user_mmap=1' module
959 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000960
Miklos Szeredibd7661b2004-07-23 17:16:29 +00009612004-07-23 Miklos Szeredi <miklos@szeredi.hu>
962
963 * Clean up mount option passing to fusermount and to fuse_new()
964 BEWARE: this changes the userspace API slightly, and the command
965 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000966
Miklos Szeredi58865372004-07-20 14:22:26 +00009672004-07-20 Miklos Szeredi <miklos@szeredi.hu>
968
969 * Optimize reading under 2.6 kernels by issuing multiple page
970 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000971
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00009722004-07-18 Miklos Szeredi <miklos@szeredi.hu>
973
974 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000975
Miklos Szeredi069c9502004-07-16 16:17:02 +00009762004-07-16 Miklos Szeredi <miklos@szeredi.hu>
977
978 * Separate directory entry and inode attribute validity timer
979
980 * New write semaphore to stop page writeback during truncate
981
982 * Fsync now waits for all writes to complete before sending the
983 request
984
985 * Optimization: if a page is completely written by
986 fuse_commit_write(), clear the dirty flag and set the uptodate
987 flag for that page
988
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000989 * Some memory cleanup at exit
990
Miklos Szeredi2529ca22004-07-13 15:36:52 +00009912004-07-13 Miklos Szeredi <miklos@szeredi.hu>
992
993 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000994 disable the "hide if open" behavior of unlink/rename.
995
996 * If temporary buffer allocation fails in raw read, fall back to a
997 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000998
Miklos Szeredi73798f92004-07-12 15:55:11 +00009992004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1000
1001 * Fix bug in do_open() in libfuse: open count was incremented
1002 after the reply is sent so it could race with unlink/forget and
1003 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001004
Miklos Szeredi015fe702004-07-12 11:52:24 +000010052004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1006
1007 * When performing create or remove operation, refresh the parent's
1008 attributes on next revalidate, as i_nlink (and maybe size/time)
1009 could be inacurate.
1010
1011 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1012 pages (2.6 only)
1013
1014 * Set set_page_dirty address space operation (2.6 only)
1015
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010162004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001017
1018 * Minor fix in read: print debug info even if read size is zero
1019
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010202004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001021
1022 * Fix race between truncate and writepage (fsx-linux now runs
1023 without error)
1024
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010252004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001026
1027 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1028 by Mattias Wadman)
1029
1030 * Added option for direct read/write (-r)
1031
1032 * Fix revalidate time setting for newly created inodes
1033
Miklos Szerediacb4d362004-07-02 16:20:45 +00001034 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1035 this)
1036
1037 * fuse_main() only installs handlers for signals (out of INT, HUP,
1038 TERM, PIPE), for which no handler has yet been installed
1039
1040 * Add module option 'user_allow_other' which if set to non-zero
1041 will allow non root user to specify the 'allow_other' mount option
1042 ('-x' option of fusermount)
1043
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001044 * Fix deadlock between page writeback completion and truncate
1045 (bug found by Valient Gough with the fsx-linux utility)
1046
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010472004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001048
1049 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001050 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1051 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001052
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010532004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001054
1055 * Acquire inode->i_sem before open and release methods to prevent
1056 concurrent rename or unlink operations.
1057
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001058 * Make __fuse_read_cmd() read only one command. This allows
1059 multiplexing the fuse file descriptor with other event sources
1060 using select() or poll() (patch by Jeff Harris)
1061
1062 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1063
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010642004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001065
1066 * Fix file offset wrap around at 4G when doing large reads
1067
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010682004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001069
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001070 * Fix memory leak in open (Valient Gough)
1071
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010722004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001073
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001074 * Add "close after delete" support to libfuse (patch by Valient
1075 Gough)
1076
1077 * Cancel all worker threads before exit in multithreaded mode
1078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010792004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001080
1081 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001082
1083 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001084
1085 * Work with newer libtool (1.5a)
1086
1087 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001088
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010892004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001090
1091 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001092
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010932004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001094
1095 * Fix possible inode leak in userspace in case of unfinished
1096 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001097
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010982004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001099
1100 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001101
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011022004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001103
1104 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001105
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011062004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001107
1108 * Build shared library as well as static (using libtool)
1109
1110 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1111 there has not been a release with the previous minor number, and I
1112 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001113
1114 * Change fuse_main(), so that default behavior is to go into
1115 background if mount is successful. '-f' and '-d' options disable
1116 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1117 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001118
1119 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1120 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001121
1122 * Don't call getdir method from open() only from first readdir().
1123 Open is sometimes just used to store the current directory
1124 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001125
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011262004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001127
1128 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011302004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001131
1132 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001133
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011342004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001135
1136 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001137
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011382004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001139
1140 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001141
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011422004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001143
1144 * Replaced binary mount data with text options
1145
1146 * Show FUSE specific mount options in /proc/mounts
1147
1148 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1149
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011502004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001151
1152 * Check some limits so userspace won't get too big requests
1153
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011542004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001155
1156 * Kill compile warning
1157
1158 * Upgraded user-mount patch for 2.6.5
1159
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011602004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001161
1162 * Add detection of user-mode-linux to configure
1163
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011642004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001165
1166 * fixed zero size case for getxattr and listxattr
1167
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011682004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001169
1170 * new fusermount flag '-z': lazy unmount, default is not lazy
1171
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001172 * Extended attributes operations added (getxattr, setxattr,
1173 listxattr, removexattr)
1174
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011752004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001176
1177 * If filesystem doesn't define a statfs operation, then an
1178 all-zero default statfs is returned instead of ENOSYS
1179
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011802004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001181
1182 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1183
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011842004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001185
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001186 * Fix for uClinux (Christian Magnusson)
1187
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011882004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001189
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001190 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001191
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001192 * More kernel interface changes:
1193
1194 * Lookup/getattr return cache timeout values
1195
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011962004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001197
1198 * Clean up option parsing in fuse_main()
1199
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001200 * Added fuse_get() function which returns the fuse object created
1201 by fuse_main()
1202
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012032004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001204
Miklos Szeredic40748a2004-02-20 16:38:45 +00001205 * removed old way of mounting (fusermount mountpoint program)
1206
Miklos Szeredib5958612004-02-20 14:10:49 +00001207 * more kernel interface changes:
1208
1209 * added nanosecond precision to file times
1210
Miklos Szeredic40748a2004-02-20 16:38:45 +00001211 * removed interface version from mount data
1212
1213 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1214
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012152004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001216
1217 * statfs library API changed to match other methods. Since this
1218 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1219
Miklos Szeredi76f65782004-02-19 16:55:40 +00001220 * kernel interface changes follow:
1221
1222 * statfs changed to 64 bits, added 'bavail' field
1223
1224 * add generation number to lookup result
1225
1226 * optimized mknod/mkdir/symlink/link (no separate lookup is
1227 needed)
1228
1229 * rdev size increased to 32 bits for mknod
1230
1231 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001232
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012332004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001234
1235 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001236
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012372004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001238
1239 * Added user-mount.2.6.2-rc3.patch
1240
1241 * Add FS_SAFE flag to fuse filesystem
1242
1243 * fusermount should allow (un)mounting for non-root even if not
1244 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012462004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001247
1248 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001249
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012502004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001251
1252 * Added check for i_size_read/write functions to configure.in
1253 (patch by Valient Gough)
1254
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012552004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001256
1257 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001258
1259 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001260
1261 * Readpage calls flush_dcache_page() after storing data
1262
1263 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001264
1265 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001266
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012672004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001268
1269 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001270
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012712004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001272
1273 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001274
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012752004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001276
1277 * Added -q option for fusermount
1278
1279 * fuse_unmount() now uses -q option of fusermount, so no error is
1280 printed if the cause of the program exit is that the filesystem
1281 has already been unmounted
1282
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001283 * Fix i_nlink correctness after rmdir/unlink
1284
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012852004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001286
Miklos Szeredib1158392004-01-26 14:43:12 +00001287 * Released 1.1-pre2
1288
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012892004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001290
Miklos Szeredi307242f2004-01-26 11:28:44 +00001291 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001292
1293 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001294
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012952004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001296
1297 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001298
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012992004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001300
1301 * Write all pending data before a RELEASE operation
1302
1303 * Suppress 'Bad file descriptor' warning on exit
1304
1305 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001306 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001307
Miklos Szeredib1158392004-01-26 14:43:12 +00001308 * New fusermount option '-l' which enables big reads. Big reads
1309 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001310
1311 * fuse_main() can accept fusermount arguments after a '--'
1312
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013132004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001314
1315 * Support for exporting filesystem over NFS (see README.NFS)
1316
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013172004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001318
1319 * Support non-blocking writepage on 2.6. This makes FUSE behave
1320 much more nicely in low-memory situations
1321
1322 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1323 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001324
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013252004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001326
1327 * Code cleanups
1328
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013292004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001330
1331 * Released 1.1-pre1
1332
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013332004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001334
1335 * Integrated 2.6 kernel support patch by Michael Grigoriev
1336
1337 * Improvements and cleanups for 2.6 kernels
1338
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013392004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001340
Miklos Szeredie5183742005-02-02 11:14:04 +00001341 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001342
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013432003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001344
1345 * Added major+minor version to library API, and minor version to
1346 kernel API
1347
David McNab7a19caf2003-12-13 02:05:46 +000013482003-12-13 David McNab <david@rebirthing.co.nz>
1349
1350 * Implemented fsync support in examples/example.py
1351
1352 * Implemented 'fsync' and 'statfs' methods in python
1353 interface
1354
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013552003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001356
Miklos Szeredie5183742005-02-02 11:14:04 +00001357 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001358
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001359 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001360
David McNab8bf62632003-12-11 22:49:22 +000013612003-12-12 David McNab <david@rebirthing.co.nz>
1362
1363 * Added distutils support to the python module, as per standard
1364 python development practice
1365
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013662003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001367
1368 * Add file locking for mount/unmount (based on patch by Valient
1369 Gough)
1370
13712003-12-11 David McNab <david@rebirthing.co.nz>
1372
1373 * Python filesystem - was broken with python2.3, now fixed:
1374 - changed PyTuple_* calls to PySequence_*, because os.lstat
1375 is no longer returning a pure tuple
1376 - changed PyInt_Check() calls to also call PyLong_Check,
1377 to cover for cases (eg os.lstat) where longs are returned
1378 - Added support for file 'release' handling, which IMO is
1379 essential since this signals to a FS that writes to a file
1380 are complete (and therefore the file can now be disposed of
1381 meaningfully at the python filesystem's discretion)
1382 - Added '__init__' handler to base Fuse class, which allows
1383 your Python class to know the mountpoint and mount args,
1384 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001385
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001386 * General:
1387 - added 'mount.fuse' script (in util/ dir), which is meant to be
1388 symlinked from /sbin, and which allows FUSE filesystems to
1389 be mounted with the 'mount' command, and listed in fstab;
1390 also, mount arguments get passed to your filesystem
1391
1392
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013932003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001394
1395 * Fix kernel version detection (again). Bugreport by Peter Levart
1396
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013972003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001398
1399 * Applied read combining patch by Michael Grigoriev (tested by
1400 Valient Gough and Vincent Wagelaar)
1401
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014022003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001403
1404 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1405 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001406
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014072003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001408
1409 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001410
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014112003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001412
1413 * kernel version detection fix
1414
1415 * fusermount now uses "lazy" umount option
1416
1417 * fusermount can use modprobe with module-init-tools
1418
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014192003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001420
1421 * Integrated caching patch by Michael Grigoriev
1422
Miklos Szeredida4e4862003-09-08 11:14:11 +00001423 * Added "Filesystems" file with descriptions of projects using
1424 FUSE
1425
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001426 * Added patch by Michael Grigoriev to allow compliation of FUSE
1427 kernel module for 2.6 kernels
1428
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014292003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001430
1431 * And another spec-file fix by Achim Settelmeier
1432
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014332003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001434
1435 * Spec-file fix by Achim Settelmeier
1436
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014372003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001438
Miklos Szerediac361172004-11-02 19:14:14 +00001439 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001440
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014412003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001442
1443 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1444
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014452003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001446
1447 * Updated fuse.spec file (Achim Settelmeier)
1448
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014492003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001450
1451 * Version 1.0 released
1452
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014532003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001454
1455 * SuSE compilation fix by Juan-Mariano de Goyeneche
1456
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014572002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001458
1459 * The release() VFS call is now exported to the FUSE interface
1460
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014612002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001462
1463 * 64 bit file offset fixes in the fuse kernel module
1464
1465 * Added function 'fuse_exit()' which can be used to exit the main
1466 loop
1467
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014682002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001469
1470 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1471 an incompatible interface change.
1472
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014732002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001474
1475 * Portablility fix (bug reported by C. Chris Erway)
1476
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014772002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001478
1479 * Use Mark Glines' fd passing method for default operation instead
1480 of old reexec
1481
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014822002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001483
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001484 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1485
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014862002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001487
Miklos Szeredi60c23522002-10-24 09:19:43 +00001488 * fix incompatiblity with Red Hat kernels, with help from Nathan
1489 Thompson-Amato.
1490
Mark Glines65ba2192002-04-18 14:41:48 +000014912002-04-18 Mark Glines <mark@glines.org>
1492
1493 * added an alternative to fuse_mount(), called
1494 fuse_mount_ioslave(), which does not need to reexec the
1495 FUSE program.
1496 * added a small helper util needed by fuse_mount_ioslave().
1497
Mark Glines220635a2002-03-17 07:01:14 +000014982002-03-16 Mark Glines <mark@glines.org>
1499
1500 * use struct fuse_statfs everywhere possible to avoid problems
1501 with the headerfiles changing struct statfs member sizes
1502
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015032002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001504
1505 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1506
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015072002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001508
1509 * RPM support by Achim Settelmeier
1510
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015112002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001512
Miklos Szerediddc862a2002-01-09 13:46:10 +00001513 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001514
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015152002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001516
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001517 * Revaidate all path components not just the last, this means a
1518 very small performance penalty for being more up-to-date.
1519
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015202002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001521
1522 * Update and fix python interface
1523
Mark Glinesd84b39a2002-01-07 16:32:02 +000015242002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001525
Mark Glinesd84b39a2002-01-07 16:32:02 +00001526 * Added statfs() support to kernel, lib, examples, and perl!
1527
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015282001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001529
1530 * Better cross compilation support
1531
1532 * Ported to Compaq IPAQ
1533
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015342001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001535
Miklos Szeredife25def2001-12-20 15:38:05 +00001536 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001537 patch from Matt Ryan)
1538
Miklos Szeredife25def2001-12-20 15:38:05 +00001539 * Added flags to fusermount and to kernel interface to control
1540 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001541
Miklos Szeredife25def2001-12-20 15:38:05 +00001542 * Integrated fuse_set_operations() into fuse_new()
1543
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015442001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001545
1546 * Applied header protection + extern "C" patch by Roland
1547 Bauerschmidt
1548
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015492001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001550
Miklos Szeredie5183742005-02-02 11:14:04 +00001551 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001552
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015532001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001554
1555 * Cleaned up way of mounting simple filesystems.
1556
1557 * fuse_main() helper function added
1558
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015592001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001560
Miklos Szeredife25def2001-12-20 15:38:05 +00001561 * Optimized read/write operations, so that minimal copying of data
1562 is done
1563
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015642001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001565
1566 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001567
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015682001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001569
1570 * Fixed vfsmount reference leak in fuse_follow_link
1571
1572 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1573 userspace is ignored
1574
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015752001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001576
Miklos Szeredife25def2001-12-20 15:38:05 +00001577 * Started ChangeLog