blob: c2a8a983ffeb7745c5d7e56a5bd93fa40ddeb2aa [file] [log] [blame]
Miklos Szeredi35200932005-09-28 14:50:49 +000012005-09-28 Miklos Szeredi <miklos@szeredi.hu>
2
3 * UClibc fixes from Christian Magnusson
4
Miklos Szeredi8eddf642005-09-27 08:58:26 +000052005-09-27 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
8
Miklos Szerediedec95c2005-09-26 10:22:22 +000092005-09-26 Miklos Szeredi <miklos@szeredi.hu>
10
Miklos Szeredi39851ac2005-09-26 11:17:50 +000011 * Released 2.4.0-rc1
12
132005-09-26 Miklos Szeredi <miklos@szeredi.hu>
14
Miklos Szerediedec95c2005-09-26 10:22:22 +000015 * fusermount: allow user umount in the case when /etc/mtab is a
16 symlink to /proc/mounts. Reported by Balázs Pozsár.
17
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000182005-09-23 Miklos Szeredi <miklos@szeredi.hu>
19
Miklos Szeredi8722dd22005-09-23 13:34:44 +000020 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +000021
Miklos Szeredif45f3c12005-09-22 15:14:27 +0000222005-09-22 Miklos Szeredi <miklos@szeredi.hu>
23
24 * Slight optimization in returning EINVAL error in case of an open
25 with O_DIRECT flag.
26
Miklos Szeredi670d07a2005-09-20 11:36:32 +0000272005-09-20 Miklos Szeredi <miklos@szeredi.hu>
28
29 * Remove '--enable-auto-modprobe' configure flag. Module
30 auto-loading is now handled by the kernel.
31
Miklos Szeredid51fca12005-09-15 12:51:00 +0000322005-09-15 Miklos Szeredi <miklos@szeredi.hu>
33
34 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
35 Help from Jens M. Noedler.
36
Miklos Szeredi7e7530d2005-09-14 15:20:26 +0000372005-09-14 Miklos Szeredi <miklos@szeredi.hu>
38
39 * Add memory cleanup on thread exit
40
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +0000412005-09-13 Miklos Szeredi <miklos@szeredi.hu>
42
43 * Set umask to zero in fusexmp and fusexmp_fh, so that
44 files/directories are created with the requested mode.
45
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +0000462005-09-12 Miklos Szeredi <miklos@szeredi.hu>
47
48 * Don't ignore read error in multithreaded loop
49
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000502005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +000051
Miklos Szeredi2277ecc2005-09-08 15:34:44 +000052 * Released 2.4.0-pre2
53
542005-09-08 Miklos Szeredi <miklos@szeredi.hu>
55
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +000056 * Revert lock and access operations. Postpone these until 2.5.
57
582005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +000059
60 * Fix compile warning on 2.6.13 and later
61
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +000062 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +000063
Miklos Szeredi77ccf652005-08-19 14:40:27 +0000642005-08-19 Miklos Szeredi <miklos@szeredi.hu>
65
66 * lib: always refresh directory contents after rewinddir() to
67 conform to SUS. Bug found by John Muir.
68
Miklos Szeredia1482422005-08-14 23:00:27 +0000692005-08-15 Miklos Szeredi <miklos@szeredi.hu>
70
Miklos Szeredic43f9412005-08-15 15:10:48 +000071 * Released 2.4.0-pre1
72
732005-08-14 Miklos Szeredi <miklos@szeredi.hu>
74
Miklos Szeredia1482422005-08-14 23:00:27 +000075 * lib: cleaned up (or messed up, depending on your POV) the low
76 level library API. Hopefully this is close to the final form.
77
Miklos Szeredicc1b97c2005-08-05 10:35:26 +0000782005-08-05 Miklos Szeredi <miklos@szeredi.hu>
79
80 * fusermount: don't allow empty mountpoint argument, which defeats
81 automatic umounting in fuse_main(). Bugreport by Václav Jůza
82
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000832005-08-03 Miklos Szeredi <miklos@szeredi.hu>
84
85 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
86 option is used (Paul Alfille).
87
Miklos Szeredi6c0209a2005-08-02 13:31:28 +0000882005-08-02 Miklos Szeredi <miklos@szeredi.hu>
89
90 * highlevel-lib: added mount options "attr_timeout" and
91 "entry_timeout". These options control the length of time file
92 attributes and entries (names) are cached. Both default to 1.0
93 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +000094
95 * kernel: correctly handle zero timeout for attributes and entries
96
Miklos Szeredi56a61f02005-08-01 10:42:25 +0000972005-08-01 Miklos Szeredi <miklos@szeredi.hu>
98
99 * Added missing symbols to versionscript (Joshua J. Berry)
100
Miklos Szeredie77cc072005-08-01 11:58:51 +0000101 * kernel: implement two flags, open can set: 'direct_io' and
102 'keep_cache'. These correspond exactly to mount options
103 'direct_io' and 'kernel_cache', but allow a per-open setting.
104
105 * Move 'direct_io' and 'kernel_cache' mount option handling to
106 userspace. For both mount options, if the option is given, then
107 the respective open flag is set, otherwise the open flag is left
108 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000109
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000110 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000111
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00001122005-07-28 Miklos Szeredi <miklos@szeredi.hu>
113
114 * kernel: invalidate attributes for read/readdir/readlink
115 operations
116
117 * kernel: detect newer UML kernels
118
Miklos Szeredibfb99462005-07-26 11:07:55 +00001192005-07-26 Miklos Szeredi <miklos@szeredi.hu>
120
121 * Make the installation path of fuse.ko and mount.fuse
122 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
123 environment variables. Requirement and help from Csaba Henk.
124
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00001252005-07-22 Miklos Szeredi <miklos@szeredi.hu>
126
127 * Fix bug, that causes filesystem requests to hang when unique
128 request counter becomes negative. This happens after
129 2,147,483,648 operations, so most people won't care. Thanks to
130 Franco Broi for the report and testing.
131
Miklos Szeredi9b813af2005-07-21 07:59:37 +00001322005-07-21 Miklos Szeredi <miklos@szeredi.hu>
133
134 * Don't change mtime/ctime/atime to local time on read/write.
135 Bug reported by Ben Grimm
136
137 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
138 Magnusson
139
140 * fusermount: use getopt_long() for option parsing. It allows the
141 use of '--' to stop argument scanning, so fusermount can now
142 operate on directories whose names begin with a '-'. Patch by
143 Adam Connell
144
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00001452005-07-15 Miklos Szeredi <miklos@szeredi.hu>
146
147 * fusermount: add '-v', '--version' and '--help' options
148
149 * add inode based API
150
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00001512005-07-12 Miklos Szeredi <miklos@szeredi.hu>
152
153 * lib: don't block signals in worker threads. Problem noticed by
154 Usarin Heininga
155
Miklos Szeredic902a852005-07-07 12:35:37 +00001562005-07-07 Miklos Szeredi <miklos@szeredi.hu>
157
158 * lib: don't allow both 'allow_other' and 'allow_root' options to
159 be given
160
Miklos Szeredi437d8112005-07-06 09:14:20 +00001612005-07-06 Miklos Szeredi <miklos@szeredi.hu>
162
163 * fusermount: check if mountpoint is empty (only '.' and '..' for
164 directories, and size = 0 for regular files). If "nonempty"
165 option is given, omit this check. This is useful, so users don't
166 accidentally hide data (e.g. from backup programs). Thanks to
167 Frank van Maarseveen for pointing this out.
168
169 * kernel: check if mandatory mount options ('fd', 'rootmode',
170 'user_id', 'group_id') are all given
171
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000172 * lib: simplify 'readdir_ino' handling
173
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000174 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
175
Miklos Szeredibb9f5172005-07-03 18:03:11 +00001762005-07-03 Miklos Szeredi <miklos@szeredi.hu>
177
178 * kernel: clean up 'direct_io' code
179
Miklos Szeredie1bcece2005-06-28 10:37:06 +00001802005-06-28 Miklos Szeredi <miklos@szeredi.hu>
181
182 * Add 'mount.fuse' written by Petr Klima
183
Miklos Szeredi866826d2005-06-28 12:22:57 +0000184 * '/dev/fuse' is created by 'make install' if does not yet exist
185
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00001862005-06-20 Miklos Szeredi <miklos@szeredi.hu>
187
188 * Fix UCLIBC compile error. Patch by Christian Magnusson
189
Miklos Szerediec12fad2005-06-08 10:26:34 +00001902005-06-08 Miklos Szeredi <miklos@szeredi.hu>
191
192 * Enable the auto-loading of the module via access to the
193 corresponding device file. Patch by Takashi Iwai.
194
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000195 * Allow mounting a regular file (over a regular file) for
196 unprivleged users.
197
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000198 * Do not create temporary device file. Require "/dev/fuse" to
199 exist, and be readable/writable by the mounting user.
200
Miklos Szeredi46960ce2005-06-02 09:05:00 +00002012005-06-02 Miklos Szeredi <miklos@szeredi.hu>
202
Miklos Szeredi56478552005-06-02 10:29:00 +0000203 * Released 2.3.0
204
2052005-06-02 Miklos Szeredi <miklos@szeredi.hu>
206
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000207 * Fix serious information leak: if the filesystem returns a short
208 byte count to a read request, and there are non-zero number of
209 pages which are not filled at all, these pages will not be zeroed.
210 Hence the user can read out previous memory contents. Found by
211 Sven Tantau.
212
Miklos Szeredi33be22d2005-05-27 09:12:43 +00002132005-05-27 Miklos Szeredi <miklos@szeredi.hu>
214
215 * Add "readdir_ino" mount option, which tries to fill in the d_ino
216 field in struct dirent. This mount option is ignored if "use_ino"
217 is used. It helps some programs (e.g. 'pwd' used over NFS from a
218 non-Linux OS). Patch by David Shaw.
219
Miklos Szeredif94e0102005-05-12 14:56:34 +00002202005-05-12 Miklos Szeredi <miklos@szeredi.hu>
221
Miklos Szeredieb009c42005-05-12 15:01:17 +0000222 * Released 2.3-rc1
223
2242005-05-12 Miklos Szeredi <miklos@szeredi.hu>
225
Miklos Szeredif94e0102005-05-12 14:56:34 +0000226 * File save in krusader and other editors doesn't work with sshfs,
227 because open() is interrupted by a periodic signal, and open()
228 restarts forever, without any progress. This could just be fixed
229 in open(), but the problem is more generic: if signals are
230 received more often than the filesystem can get the request to
231 userspace, it will never finish. This is probably only a
232 theoretical problem, nevertheless I'm removing the possibility to
233 interrupt requests with anything other than SIGKILL, even before
234 being sent to userspace. Bugreport by Eduard Czimbalmos.
235
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00002362005-05-09 Miklos Szeredi <miklos@szeredi.hu>
237
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000238 * libfuse: add "tree_lock" rwlock, that is locked for write in
239 rename, unlink and rmdir, and locked for read in all other
240 operations. This should fix the rename/release race reported by
241 Valient Gough and others. The solution is very coarse, a finer
242 grained locking scheme could be implemented, but it would be much
243 more complex. Let's see whether this is good enough.
244
2452005-05-09 Miklos Szeredi <miklos@szeredi.hu>
246
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000247 * Released 2.3-pre7
248
Miklos Szeredi38009022005-05-08 19:47:22 +00002492005-05-08 Miklos Szeredi <miklos@szeredi.hu>
250
251 * Better fix for out of order FORGET messages. Now the
252 LOOKUP/FORGET messages are balanced exactly (one FORGET can
253 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000254 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000255 compatible.
256
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00002572005-05-06 Miklos Szeredi <miklos@szeredi.hu>
258
259 * Fix abort for out of order FORGET messages. Again. Spotted by
260 Franco Broi again. Sorry :)
261
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00002622005-04-29 Miklos Szeredi <miklos@szeredi.hu>
263
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000264 * Released 2.3-pre6
265
2662005-04-29 Miklos Szeredi <miklos@szeredi.hu>
267
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000268 * Make fusermount work with fuse kernel modules not yet supporting
269 the "group_id" option (added for the purpose of stricter
270 permission checking).
271
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00002722005-04-28 Miklos Szeredi <miklos@szeredi.hu>
273
274 * Check for hard-linked directories in lookup. This could cause
275 problems in the VFS, which assumes that such objects never exist.
276
277 * Make checking of permission for other users more strict. Now
278 the same privilege is required for the mount owner as for ptrace
279 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000280
Miklos Szeredi3efcb562005-04-23 13:34:29 +00002812005-04-23 Miklos Szeredi <miklos@szeredi.hu>
282
283 * Released 2.3-pre5
284
Miklos Szeredid001bf92005-04-22 07:54:11 +00002852005-04-22 Miklos Szeredi <miklos@szeredi.hu>
286
287 * Add -msoft-float to kernel module compile flags for 2.4.X. This
288 is needed on certain architectures. Report from Chris Kirby
289
290 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
291 Reported by David Shaw
292
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000293 * Remove "allow_root" option from kernel module, and implement
294 it's functionality in the library
295
296 * Fix Oops caused by premature release of fuse_conn. Clean up
297 related code, to be more readable
298
Miklos Szeredif9137452005-04-23 10:59:44 +0000299 * Sendfile should not use page cache if "direct_io" mount option
300 is given
301
Miklos Szeredib7640d22005-04-08 15:15:28 +00003022005-04-08 Miklos Szeredi <miklos@szeredi.hu>
303
304 * Fix Oops in case of nfs export. Spotted by David Shaw
305
Miklos Szeredi89814a12005-04-08 16:39:09 +0000306 * Fix another Oops in case of write over nfs with direct_io turned
307 on. Again spotted by David Shaw
308
Miklos Szerediab974562005-04-07 15:40:21 +00003092005-04-07 Miklos Szeredi <miklos@szeredi.hu>
310
Miklos Szeredi432d6182005-04-07 15:56:13 +0000311 * Released 2.3-pre4
312
3132005-04-07 Miklos Szeredi <miklos@szeredi.hu>
314
Miklos Szerediab974562005-04-07 15:40:21 +0000315 * lib: finalized new readdir() interface, which now supersedes the
316 getdir() method.
317
Miklos Szeredi30e093a2005-04-03 17:44:54 +00003182005-04-03 Miklos Szeredi <miklos@szeredi.hu>
319
320 * Released 2.3-pre3
321
3222005-04-03 Miklos Szeredi <miklos@szeredi.hu>
323
324 * Implement backward compatibility with version 5 kernel ABI
325
Miklos Szeredi18fce982005-04-01 21:07:35 +00003262005-04-01 Miklos Szeredi <miklos@szeredi.hu>
327
328 * Released 2.3-pre2
329
3302005-04-01 Miklos Szeredi <miklos@szeredi.hu>
331
332 * kernel: fix dirent offset handling
333
334 * lib: add readdir and releasedir methods
335
336 * lib: use fh field of fuse_file_info in opendir, readdir,
337 releasedir and fsyncdir methods
338
339 * lib: check kernel API version and bail out of it's old. This
340 will be properly fixed in the next release
341
3422005-03-31 Miklos Szeredi <miklos@szeredi.hu>
343
344 * Released 2.3-pre1
345
Miklos Szeredieab72ef2005-03-31 19:59:12 +00003462005-03-31 Miklos Szeredi <miklos@szeredi.hu>
347
348 * kernel API: add padding to structures, so 64bit and 32bit
349 compiler will return the same size
350
351 * kernel API: add offset field to fuse_dirent. This will allow
352 more sophisticated readdir interface for userspace
353
354 * kernel API: change major number to 6
355
356 * kernel: fix warnings on 64bit archs
357
358 * kernel: in case of API version mismatch, return ECONNREFUSED
359
Miklos Szeredi407e6a72005-03-25 12:19:43 +00003602005-03-24 Miklos Szeredi <miklos@szeredi.hu>
361
362 * kernel: trivial cleanups
363
Miklos Szeredi4283ee72005-03-21 12:09:04 +00003642005-03-21 Miklos Szeredi <miklos@szeredi.hu>
365
366 * Add fsyncdir() operation
367
Miklos Szeredid17da462005-03-21 11:47:04 +00003682005-03-19 Miklos Szeredi <miklos@szeredi.hu>
369
370 * kernel: add locking to background list (fixes previous fix)
371
3722005-03-18 Miklos Szeredi <miklos@szeredi.hu>
373
374 * kernel: fix bug which could cause leave busy inodes after
375 unmount, and Oops.
376
3772005-03-08 Miklos Szeredi <miklos@szeredi.hu>
378
379 * examples: add -lpthread to link flags to work around valgrind
380 quirk
381
382 * lib: don't exit threads, so cancelation doesn't cause segfault
383
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00003842005-03-04 Miklos Szeredi <miklos@szeredi.hu>
385
386 * kernel: fix nasty bug which could cause an Oops under certain
387 situations. Found by Magnus Johansson
388
Miklos Szeredif43f0632005-02-28 11:46:56 +00003892005-02-28 Miklos Szeredi <miklos@szeredi.hu>
390
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000391 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000392 permission checking in getdir() is too late. Thanks to Usarin
393 Heininga for pointing out this deficiency
394
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000395 * libfuse: added init() and destroy() methods to fuse_operations
396
Miklos Szeredif43f0632005-02-28 11:46:56 +0000397 * kernel: llseek() method for files and directories made explicit
398
399 * kernel: fixed inode leak in NFS export in case of nodeid
400 wrapping
401
Miklos Szeredied3c97c2005-02-15 17:04:50 +00004022005-02-15 Miklos Szeredi <miklos@szeredi.hu>
403
404 * libfuse: clean up some unitialized memory found with valgrind
405
Miklos Szeredi47c52982005-02-23 09:27:38 +0000406 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
407 explicitly linked libpthread for applications
408
Miklos Szeredia7169412005-02-10 07:35:05 +00004092005-02-10 Miklos Szeredi <miklos@szeredi.hu>
410
411 * fusermount: set umask, otherwise /etc/mtab will have
412 unpredictable permission. Spotted by Jindrich Kolorenc
413
414 * fusermount: set owner and group of /etc/mtab to original values
415 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000416
417 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000418
Miklos Szeredib92d9782005-02-07 16:10:49 +00004192005-02-07 Miklos Szeredi <miklos@szeredi.hu>
420
421 * Cleaned up directory reading (temporary file is not used)
422
Miklos Szerediff30a6c2005-02-02 10:53:59 +00004232005-02-02 Miklos Szeredi <miklos@szeredi.hu>
424
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000425 * Released 2.2
426
4272005-02-02 Miklos Szeredi <miklos@szeredi.hu>
428
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000429 * Fix possible race when operation is interrupted
430
Miklos Szeredi7a983952005-01-28 09:58:19 +00004312005-01-28 Miklos Szeredi <miklos@szeredi.hu>
432
Miklos Szeredie5183742005-02-02 11:14:04 +0000433 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000434
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00004352005-01-26 Miklos Szeredi <miklos@szeredi.hu>
436
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000437 * Released 2.2-pre6
438
4392005-01-26 Miklos Szeredi <miklos@szeredi.hu>
440
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000441 * Fix bug in link() operation which caused the wrong path to be
442 passed as the first argument. Found by Anton Altaparmakov
443
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00004442005-01-21 Miklos Szeredi <miklos@szeredi.hu>
445
446 * LIB: fix double reply in readdir operation
447
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000448 * fusermount: fix uid checking bug. Patch by Adam Connell
449
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000450 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000451 Patch by Keshava Gowda
452
Miklos Szeredi64074142005-01-20 08:48:11 +00004532005-01-20 Miklos Szeredi <miklos@szeredi.hu>
454
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000455 * KERNEL: provide correct llseek semantics for fuse device (fixes
456 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
457
4582005-01-20 Miklos Szeredi <miklos@szeredi.hu>
459
Miklos Szeredi64074142005-01-20 08:48:11 +0000460 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
461
Miklos Szeredi1adb2272005-01-18 21:19:58 +00004622005-01-18 Miklos Szeredi <miklos@szeredi.hu>
463
464 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
465 and RELEASEDIR. This ends the ugly hack of passing a file
466 descriptor to the kernel, and actually makes the code simpler.
467
Miklos Szeredi7db35c02005-01-17 09:46:28 +00004682005-01-17 Miklos Szeredi <miklos@szeredi.hu>
469
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000470 * Released 2.2-pre4
471
4722005-01-17 Miklos Szeredi <miklos@szeredi.hu>
473
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000474 * fusermount: remove capability setting, which was the cause of
475 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000476 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000477
Miklos Szeredidbe0f652005-01-15 14:32:56 +00004782005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000479
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000480 * fix compilation on 2.4 kernels (reported by Valient Gough)
481
482 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000483
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000484 * fusermount: improve parsing of /etc/fuse.conf
485
4862005-01-13 Miklos Szeredi <miklos@szeredi.hu>
487
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000488 * Remove 'mount_max' and 'user_allow_other' module options. These
489 are now checked by fusermount, and can be set in /etc/fuse.conf
490
491 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
492
Miklos Szeredi81394522005-01-11 14:24:18 +00004932005-01-11 Miklos Szeredi <miklos@szeredi.hu>
494
495 * KERNEL: fix possible inode allocation problem, where
496 sizeof(struct inode) is not aligned (found by Mike Waychison)
497
498 * KERNEL: use new follow_link/put_link methods
499
500 * KERNEL: cosmetic fixes
501
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00005022005-01-10 Miklos Szeredi <miklos@szeredi.hu>
503
504 * Released 2.2-pre3
505
5062005-01-10 Miklos Szeredi <miklos@szeredi.hu>
507
508 * Add missing code that was accidently left out
509
Miklos Szeredi8c7da232005-01-09 12:27:41 +00005102005-01-09 Miklos Szeredi <miklos@szeredi.hu>
511
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000512 * Released 2.2-pre2
513
5142005-01-09 Miklos Szeredi <miklos@szeredi.hu>
515
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000516 * Change "uid" mount option to "user_id" to avoid confusion with a
517 mount option "uid" commonly used by many filesystems
518
5192005-01-09 Miklos Szeredi <miklos@szeredi.hu>
520
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000521 * Released 2.2-pre1
522
5232005-01-09 Miklos Szeredi <miklos@szeredi.hu>
524
525 * If FUSE is configured in the kernel, don't build it by default
526
Miklos Szeredi2a927272005-01-07 11:14:15 +00005272005-01-07 Miklos Szeredi <miklos@szeredi.hu>
528
529 * Compile fix by Christian Magnusson
530
Miklos Szeredib6220192005-01-05 16:19:10 +00005312005-01-05 Miklos Szeredi <miklos@szeredi.hu>
532
533 * Fix compilation for 2.6.{0-5} kernels
534
Miklos Szeredi0f62d722005-01-04 12:45:54 +00005352005-01-04 Miklos Szeredi <miklos@szeredi.hu>
536
537 * KERNEL: if request is interrupted, still keep reference to used
538 inode(s) and file, so that FORGET and RELEASE are not sent until
539 userspace finishes the request.
540
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000541 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
542 request with the same information, which is more flexible,
543 simpler, works on embedded systems.
544
Miklos Szeredi0f62d722005-01-04 12:45:54 +00005452004-12-16 Miklos Szeredi <miklos@szeredi.hu>
546
547 * KERNEL ABI: update interface to make it independent of type
548 sizes. This will help on 64 bit architectures which can run
549 legacy 32 bit applications.
550
551 * KERNEL ABI: add "len" field to request headers. This will allow
552 sending/receiving requests in multiple chunks.
553
554 * KERNEL: handle file type change more intelligently
555
556 * LIB: "-o debug" option should disable backgrounding (fix by
557 Fabien Reygrobellet)
558
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00005592004-12-13 Miklos Szeredi <miklos@szeredi.hu>
560
561 * KERNEL: invalidate dentry/attributes if interrupted request
562 could leave filesystem in an unknown state.
563
Miklos Szeredie56818b2004-12-12 11:45:24 +00005642004-12-12 Miklos Szeredi <miklos@szeredi.hu>
565
566 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
567 These will cause some regressions, but stability is considered
568 more important. If any of these features turns out to be
569 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000570
Miklos Szeredie56818b2004-12-12 11:45:24 +0000571 * Make all requests interruptible (only with SIGKILL currently).
572 This can be used to break any deadlock produced by the userspace
573 filesystem accessing it's own exported files. The RELEASE request
574 is special, because if it's interrupted before sending it to
575 userspace it is still sent, but the reply is not awaited.
576
577 * If request is interrupted before being sent to userspace, and if
578 it hasn't yet got any side effects, it is always restarted,
579 regardless of the SA_RESTART flag. This makes these interruptions
580 transparent to the process.
581
582 * Remove shared-writable mmap support, which was prone to an
583 out-of-memory deadlock situation
584
585 * Remove INVALIDATE userspace initiated request
586
587 * Make readpages() synchronous. Asynchronous requests are
588 deadlock prone, since they cannot be interrupted.
589
590 * Add readv/writev support to fuse device operations
591
592 * Remove some printks, which userspace FS can use for a DoS
593 against syslog
594
595 * Remove 'large_read' mount option from 2.6 in kernel, check it in
596 fusermount instead
597
598 * LIB: improve compatibility with a fuse.h header installed in
599 ${prefix}/include which in turn includes the real header.
600
601 * LIB: improve compatibility by defining fuse_main() (which is now
602 not used), so old configure scripts find it.
603
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00006042004-12-10 Miklos Szeredi <miklos@szeredi.hu>
605
606 * When mounting on a subdirectory of / don't duplicate slashes at
607 the beggining of path (spotted by David Shaw)
608
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00006092004-12-09 Miklos Szeredi <miklos@szeredi.hu>
610
611 * Fix bug causing garbage in mount options (spotted by David Shaw)
612
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00006132004-12-07 Miklos Szeredi <miklos@szeredi.hu>
614
615 * Add 'writepage' flag to 'fuse_file_info'.
616
617 * More comments in fuse.h
618
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000619 * Get rid of double underscores
620
Miklos Szeredi799993c2004-12-04 21:20:05 +00006212004-12-04 Miklos Szeredi <miklos@szeredi.hu>
622
623 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
624
625 * helper.c: add -ho option, which only displays the options not
626 the usage header. This can be used by filesystems which have
627 their own options.
628
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00006292004-12-03 Miklos Szeredi <miklos@szeredi.hu>
630
631 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
632 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
633 including the fuse header
634
635 * Add binary compatibility to 2.1 version of library with symbol
636 versioning
637
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00006382004-12-03 Miklos Szeredi <miklos@szeredi.hu>
639
640 * Released 2.1
641
Miklos Szeredi039322d2004-12-01 18:39:12 +00006422004-12-01 Miklos Szeredi <miklos@szeredi.hu>
643
644 * kernel: clean up writing functions
645
646 * kernel: no allocation on write in direct_io mode
647
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000648 * move linux/fuse.h to fuse_kernel.h
649
Miklos Szeredi83a07442004-11-30 18:25:20 +00006502004-11-30 Miklos Szeredi <miklos@szeredi.hu>
651
652 * kernel: clean up reading functions
653
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00006542004-11-29 Miklos Szeredi <miklos@szeredi.hu>
655
656 * kernel: make readpage() uninterruptible
657
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000658 * kernel: check readonly filesystem flag in fuse_permission
659
660 * lib: don't die if version file not found and new style device
661 exists
662
663 * lib: add '-r' option, which is short for '-o ro'
664
665 * fusermount: simplify device opening
666
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000667 * kernel: when direct_io is turend on, copy data directly to
668 destination without itermediate buffer. More efficient and safer,
669 since no allocation is done.
670
671 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000672
673 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000674
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00006752004-11-26 Miklos Szeredi <miklos@szeredi.hu>
676
677 * libfuse API change: open, read, write, flush, fsync and release
678 are passed a 'struct fuse_file_info' pointer containing the open
679 flags (open and release), and the file handle. Verion changed to
680 3.0.
681
Miklos Szeredia25d4c22004-11-23 22:32:16 +00006822004-11-23 Miklos Szeredi <miklos@szeredi.hu>
683
684 * More cleanups in the kernel
685
686 * The 10,229 charater device number has been assigned for FUSE
687
688 * Version file checking fix (reported by Christian Magnusson)
689
690 * fusermount: opening the fuse device now doesn't need /sys.
691
692 * Optimize reading by controlling the maximum readahead based on
693 the 'max_read' mount option
694
695 * fixes for UCLIBC (Christian Magnusson)
696
Miklos Szeredi13ed4822004-11-20 11:12:21 +00006972004-11-19 Miklos Szeredi <miklos@szeredi.hu>
698
699 * Cleaned up kernel in preparation for merge into mainline:
700
701 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
702
703 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
704
705 * __user annotations for sparse
706
707 * allocate individual pages instead of kmalloc in fuse_readdir,
708 fuse_read and fuse_write.
709
710 * Fix NFS export in case "use_ino" mount option is given
711
Miklos Szeredif3845c42004-11-20 11:18:34 +0000712 * Make libfuse and fusermount compatible with future versions
713
714 * fusermount: properly add mount options to /etc/mtab
715
7162004-11-15 Miklos Szeredi <miklos@szeredi.hu>
717
718 * fusermount: do not resolve last component of mountpoint on if it
719 is '.' or '..'. This new path resolvation is now done on mount as
720 well as unmount. This enables relative paths to work on unmount.
721
722 * fusermount: parse common mount options like "ro", "rw", etc...
723
724 * Allow module params to be changed through sysfs
725
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00007262004-11-14 Miklos Szeredi <miklos@szeredi.hu>
727
728 * Released 2.1-pre1
729
7302004-11-14 Miklos Szeredi <miklos@szeredi.hu>
731
732 * Fix bug in fuse_readpages() causing Oops in certain situations.
733 Bug found by Vincenzo Ciancia.
734
735 * Fix compilation with kernels versions > 2.6.9.
736
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00007372004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000738
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000739 * Check kernel interface version in fusermount to prevent
740 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000741
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000742 * No need to allocate fuse_conn until actual mount happens
743
744 * Fix potential race between umount and fuse_invalidate
745
746 * Check superblock of proc file in addition to inode number
747
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000748 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000749
Miklos Szeredi51ec1032004-11-10 11:52:26 +00007502004-11-10 Miklos Szeredi <miklos@szeredi.hu>
751
752 * Separate configure for the kernel directory
753
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000754 * Don't allow write to return more than 'count'
755
756 * Extend kernel interface for future use
757
Miklos Szeredi51ec1032004-11-10 11:52:26 +00007582004-11-09 Miklos Szeredi <miklos@szeredi.hu>
759
760 * Fix 'makeconf.sh' to use autoreconf if available
761
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00007622004-11-08 Miklos Szeredi <miklos@szeredi.hu>
763
Miklos Szeredid507c732004-11-08 17:32:25 +0000764 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
765 compatibility with earlier versions. To compile earier versions
766 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
767 Do not use the "use_ino" mount flag with filesystems compiled with
768 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000769
770 * Add pkg-config support. To compile a FUSE based filesystem you
771 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
772 or similar. Note, that the PKG_CONFIG_PATH environment variable
773 usually needs to be set to "/usr/local/lib/pkgconfig".
774
775 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000776
Miklos Szeredia13d9002004-11-02 17:32:03 +00007772004-11-02 Miklos Szeredi <miklos@szeredi.hu>
778
779 * Added "use_ino" mount option. This enables the filesystems to
780 set the st_ino field on files
781
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00007822004-11-01 Miklos Szeredi <miklos@szeredi.hu>
783
784 * Fix compile problems with ancient (<=2.4.18) kernels (reported
785 by Jeremy Smith)
786
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000787 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
788
789 * Clear the 'exited' flag when mail loop is finished
790
Miklos Szeredie989f0d2004-10-28 20:24:58 +00007912004-10-28 Miklos Szeredi <miklos@szeredi.hu>
792
793 * Make xattr functions work under 2.6 (bug found by Vincenzo
794 Ciancia)
795
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00007962004-10-26 Miklos Szeredi <miklos@szeredi.hu>
797
798 * Reset request in fuse_flush() (bugreport by David Shaw)
799
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00008002004-10-21 Miklos Szeredi <miklos@szeredi.hu>
801
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000802 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000803 error code
804
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000805 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000806 make it easier to implement a custom event loop.
807
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000808 * Use daemon() call to background the filesystem after mounting.
809 This function closes the standard input, output and error and
810 changes the current working directory to "/".
811
Miklos Szeredi127d49b2004-10-14 13:33:39 +00008122004-10-14 Miklos Szeredi <miklos@szeredi.hu>
813
814 * Released 1.9
815
Miklos Szeredid45baf42004-10-10 07:56:12 +00008162004-10-09 Miklos Szeredi <miklos@szeredi.hu>
817
818 * Don't allow fuse_flush() to be interrupted (bug found by David
819 Shaw)
820
Miklos Szeredi1f18db52004-09-27 06:54:49 +00008212004-09-27 Miklos Szeredi <miklos@szeredi.hu>
822
823 * Add PID to fuse_context. Patch by Steven James
824
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000825 * Change file handle type to 'unsigned long' in kernel interface
826
Miklos Szeredid169f312004-09-22 08:48:26 +00008272004-09-22 Miklos Szeredi <miklos@szeredi.hu>
828
829 * A slight API change: fuse_get_context() doesn't need the "fuse"
830 pointer, but the returned context contains it instead. The
831 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000832
833 * Fix mounting and umounting FUSE filesystem under another FUSE
834 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000835
Miklos Szeredic2309912004-09-21 13:40:38 +00008362004-09-21 Miklos Szeredi <miklos@szeredi.hu>
837
838 * Fix deadlock in case of memory allocation failure. Patch by
839 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000840
Miklos Szeredib2cf9562004-09-16 08:42:40 +00008412004-09-16 Miklos Szeredi <miklos@szeredi.hu>
842
843 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000844
Miklos Szeredi65afea12004-09-14 07:13:45 +00008452004-09-14 Miklos Szeredi <miklos@szeredi.hu>
846
847 * Check temporary file creation failure in do_getdir(). Bug
848 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000849
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00008502004-09-13 Miklos Szeredi <miklos@szeredi.hu>
851
852 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000853
854 * Make requests non-interruptible so race with FORGET is avoided.
855 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000856
857 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000858
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00008592004-09-09 Miklos Szeredi <miklos@szeredi.hu>
860
861 * Fix bug in case two FORGETs for the same node are executed in
862 the wrong order. Bug spotted and endured for months by Franco
863 Broi, and logfile for solution provided by Terje Oseberg
864
Miklos Szeredi12085102004-09-02 18:13:57 +00008652004-09-01 Miklos Szeredi <miklos@szeredi.hu>
866
867 * Add -D_REENTRANT to the compile flags
868
869 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000870
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00008712004-08-16 Miklos Szeredi <miklos@szeredi.hu>
872
873 * Change release method to be non-interruptible. Fixes bug
874 causing missing release() call when program which has opened files
875 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000876
Miklos Szeredi891b8742004-07-29 09:27:49 +00008772004-07-29 Miklos Szeredi <miklos@szeredi.hu>
878
879 * Add fuse_invalidate() to library API
880
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00008812004-07-26 Miklos Szeredi <miklos@szeredi.hu>
882
883 * Check permissions in setattr if 'default_permissions' flag is
884 set. Bug spotted by Damjan Lango
885
Miklos Szeredid66d3942004-07-24 13:47:44 +00008862004-07-24 Miklos Szeredi <miklos@szeredi.hu>
887
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000888 * 'large_read' mount option removed for 2.6 kernels, since the
889 default (dynamic read size) is better
890
891 * Extend kernel API with file handles. A file handle is returned
892 by open, and passed to read, write, flush, fsync and release.
893 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000894
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000895 * Security changes:
896
897 * Change the current directory to the mountpoint before checking
898 the permissions and mount filesystem on "."
899
900 * By default don't modprobe the fuse module for non-root. The old
901 behavior can be restored with the '--enable-auto-modprobe' flag of
902 ./configure
903
904 * By default don't allow shared writable mappings for non-root.
905 The old behavior can be restored with the 'user_mmap=1' module
906 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000907
Miklos Szeredibd7661b2004-07-23 17:16:29 +00009082004-07-23 Miklos Szeredi <miklos@szeredi.hu>
909
910 * Clean up mount option passing to fusermount and to fuse_new()
911 BEWARE: this changes the userspace API slightly, and the command
912 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000913
Miklos Szeredi58865372004-07-20 14:22:26 +00009142004-07-20 Miklos Szeredi <miklos@szeredi.hu>
915
916 * Optimize reading under 2.6 kernels by issuing multiple page
917 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000918
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00009192004-07-18 Miklos Szeredi <miklos@szeredi.hu>
920
921 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000922
Miklos Szeredi069c9502004-07-16 16:17:02 +00009232004-07-16 Miklos Szeredi <miklos@szeredi.hu>
924
925 * Separate directory entry and inode attribute validity timer
926
927 * New write semaphore to stop page writeback during truncate
928
929 * Fsync now waits for all writes to complete before sending the
930 request
931
932 * Optimization: if a page is completely written by
933 fuse_commit_write(), clear the dirty flag and set the uptodate
934 flag for that page
935
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000936 * Some memory cleanup at exit
937
Miklos Szeredi2529ca22004-07-13 15:36:52 +00009382004-07-13 Miklos Szeredi <miklos@szeredi.hu>
939
940 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000941 disable the "hide if open" behavior of unlink/rename.
942
943 * If temporary buffer allocation fails in raw read, fall back to a
944 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000945
Miklos Szeredi73798f92004-07-12 15:55:11 +00009462004-07-12 Miklos Szeredi <miklos@szeredi.hu>
947
948 * Fix bug in do_open() in libfuse: open count was incremented
949 after the reply is sent so it could race with unlink/forget and
950 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000951
Miklos Szeredi015fe702004-07-12 11:52:24 +00009522004-07-08 Miklos Szeredi <miklos@szeredi.hu>
953
954 * When performing create or remove operation, refresh the parent's
955 attributes on next revalidate, as i_nlink (and maybe size/time)
956 could be inacurate.
957
958 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
959 pages (2.6 only)
960
961 * Set set_page_dirty address space operation (2.6 only)
962
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009632004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000964
965 * Minor fix in read: print debug info even if read size is zero
966
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009672004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000968
969 * Fix race between truncate and writepage (fsx-linux now runs
970 without error)
971
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009722004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000973
974 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
975 by Mattias Wadman)
976
977 * Added option for direct read/write (-r)
978
979 * Fix revalidate time setting for newly created inodes
980
Miklos Szerediacb4d362004-07-02 16:20:45 +0000981 * Remove uid==0 check for '-x' option in fusermount (kernel checks
982 this)
983
984 * fuse_main() only installs handlers for signals (out of INT, HUP,
985 TERM, PIPE), for which no handler has yet been installed
986
987 * Add module option 'user_allow_other' which if set to non-zero
988 will allow non root user to specify the 'allow_other' mount option
989 ('-x' option of fusermount)
990
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000991 * Fix deadlock between page writeback completion and truncate
992 (bug found by Valient Gough with the fsx-linux utility)
993
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009942004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000995
996 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000997 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
998 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000999
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010002004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001001
1002 * Acquire inode->i_sem before open and release methods to prevent
1003 concurrent rename or unlink operations.
1004
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001005 * Make __fuse_read_cmd() read only one command. This allows
1006 multiplexing the fuse file descriptor with other event sources
1007 using select() or poll() (patch by Jeff Harris)
1008
1009 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1010
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010112004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001012
1013 * Fix file offset wrap around at 4G when doing large reads
1014
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010152004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001016
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001017 * Fix memory leak in open (Valient Gough)
1018
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010192004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001020
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001021 * Add "close after delete" support to libfuse (patch by Valient
1022 Gough)
1023
1024 * Cancel all worker threads before exit in multithreaded mode
1025
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010262004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001027
1028 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001029
1030 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001031
1032 * Work with newer libtool (1.5a)
1033
1034 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001035
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010362004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001037
1038 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001039
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010402004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001041
1042 * Fix possible inode leak in userspace in case of unfinished
1043 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001044
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010452004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001046
1047 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001048
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010492004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001050
1051 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001052
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010532004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001054
1055 * Build shared library as well as static (using libtool)
1056
1057 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1058 there has not been a release with the previous minor number, and I
1059 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001060
1061 * Change fuse_main(), so that default behavior is to go into
1062 background if mount is successful. '-f' and '-d' options disable
1063 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1064 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001065
1066 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1067 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001068
1069 * Don't call getdir method from open() only from first readdir().
1070 Open is sometimes just used to store the current directory
1071 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001072
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010732004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001074
1075 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001076
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010772004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001078
1079 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001080
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010812004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001082
1083 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001084
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010852004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001086
1087 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001088
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010892004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001090
1091 * Replaced binary mount data with text options
1092
1093 * Show FUSE specific mount options in /proc/mounts
1094
1095 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1096
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010972004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001098
1099 * Check some limits so userspace won't get too big requests
1100
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011012004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001102
1103 * Kill compile warning
1104
1105 * Upgraded user-mount patch for 2.6.5
1106
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011072004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001108
1109 * Add detection of user-mode-linux to configure
1110
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011112004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001112
1113 * fixed zero size case for getxattr and listxattr
1114
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011152004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001116
1117 * new fusermount flag '-z': lazy unmount, default is not lazy
1118
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001119 * Extended attributes operations added (getxattr, setxattr,
1120 listxattr, removexattr)
1121
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011222004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001123
1124 * If filesystem doesn't define a statfs operation, then an
1125 all-zero default statfs is returned instead of ENOSYS
1126
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011272004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001128
1129 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1130
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011312004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001132
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001133 * Fix for uClinux (Christian Magnusson)
1134
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011352004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001136
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001137 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001138
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001139 * More kernel interface changes:
1140
1141 * Lookup/getattr return cache timeout values
1142
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011432004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001144
1145 * Clean up option parsing in fuse_main()
1146
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001147 * Added fuse_get() function which returns the fuse object created
1148 by fuse_main()
1149
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011502004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001151
Miklos Szeredic40748a2004-02-20 16:38:45 +00001152 * removed old way of mounting (fusermount mountpoint program)
1153
Miklos Szeredib5958612004-02-20 14:10:49 +00001154 * more kernel interface changes:
1155
1156 * added nanosecond precision to file times
1157
Miklos Szeredic40748a2004-02-20 16:38:45 +00001158 * removed interface version from mount data
1159
1160 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1161
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011622004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001163
1164 * statfs library API changed to match other methods. Since this
1165 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1166
Miklos Szeredi76f65782004-02-19 16:55:40 +00001167 * kernel interface changes follow:
1168
1169 * statfs changed to 64 bits, added 'bavail' field
1170
1171 * add generation number to lookup result
1172
1173 * optimized mknod/mkdir/symlink/link (no separate lookup is
1174 needed)
1175
1176 * rdev size increased to 32 bits for mknod
1177
1178 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001179
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011802004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001181
1182 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001183
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011842004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001185
1186 * Added user-mount.2.6.2-rc3.patch
1187
1188 * Add FS_SAFE flag to fuse filesystem
1189
1190 * fusermount should allow (un)mounting for non-root even if not
1191 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001192
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011932004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001194
1195 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001196
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011972004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001198
1199 * Added check for i_size_read/write functions to configure.in
1200 (patch by Valient Gough)
1201
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012022004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001203
1204 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001205
1206 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001207
1208 * Readpage calls flush_dcache_page() after storing data
1209
1210 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001211
1212 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001213
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012142004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001215
1216 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001217
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012182004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001219
1220 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001221
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012222004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001223
1224 * Added -q option for fusermount
1225
1226 * fuse_unmount() now uses -q option of fusermount, so no error is
1227 printed if the cause of the program exit is that the filesystem
1228 has already been unmounted
1229
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001230 * Fix i_nlink correctness after rmdir/unlink
1231
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012322004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001233
Miklos Szeredib1158392004-01-26 14:43:12 +00001234 * Released 1.1-pre2
1235
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012362004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001237
Miklos Szeredi307242f2004-01-26 11:28:44 +00001238 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001239
1240 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001241
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012422004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001243
1244 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001245
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012462004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001247
1248 * Write all pending data before a RELEASE operation
1249
1250 * Suppress 'Bad file descriptor' warning on exit
1251
1252 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001253 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001254
Miklos Szeredib1158392004-01-26 14:43:12 +00001255 * New fusermount option '-l' which enables big reads. Big reads
1256 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001257
1258 * fuse_main() can accept fusermount arguments after a '--'
1259
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012602004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001261
1262 * Support for exporting filesystem over NFS (see README.NFS)
1263
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012642004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001265
1266 * Support non-blocking writepage on 2.6. This makes FUSE behave
1267 much more nicely in low-memory situations
1268
1269 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1270 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001271
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012722004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001273
1274 * Code cleanups
1275
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012762004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001277
1278 * Released 1.1-pre1
1279
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012802004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001281
1282 * Integrated 2.6 kernel support patch by Michael Grigoriev
1283
1284 * Improvements and cleanups for 2.6 kernels
1285
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012862004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001287
Miklos Szeredie5183742005-02-02 11:14:04 +00001288 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001289
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012902003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001291
1292 * Added major+minor version to library API, and minor version to
1293 kernel API
1294
David McNab7a19caf2003-12-13 02:05:46 +000012952003-12-13 David McNab <david@rebirthing.co.nz>
1296
1297 * Implemented fsync support in examples/example.py
1298
1299 * Implemented 'fsync' and 'statfs' methods in python
1300 interface
1301
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013022003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001303
Miklos Szeredie5183742005-02-02 11:14:04 +00001304 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001305
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001306 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001307
David McNab8bf62632003-12-11 22:49:22 +000013082003-12-12 David McNab <david@rebirthing.co.nz>
1309
1310 * Added distutils support to the python module, as per standard
1311 python development practice
1312
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013132003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001314
1315 * Add file locking for mount/unmount (based on patch by Valient
1316 Gough)
1317
13182003-12-11 David McNab <david@rebirthing.co.nz>
1319
1320 * Python filesystem - was broken with python2.3, now fixed:
1321 - changed PyTuple_* calls to PySequence_*, because os.lstat
1322 is no longer returning a pure tuple
1323 - changed PyInt_Check() calls to also call PyLong_Check,
1324 to cover for cases (eg os.lstat) where longs are returned
1325 - Added support for file 'release' handling, which IMO is
1326 essential since this signals to a FS that writes to a file
1327 are complete (and therefore the file can now be disposed of
1328 meaningfully at the python filesystem's discretion)
1329 - Added '__init__' handler to base Fuse class, which allows
1330 your Python class to know the mountpoint and mount args,
1331 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001332
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001333 * General:
1334 - added 'mount.fuse' script (in util/ dir), which is meant to be
1335 symlinked from /sbin, and which allows FUSE filesystems to
1336 be mounted with the 'mount' command, and listed in fstab;
1337 also, mount arguments get passed to your filesystem
1338
1339
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013402003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001341
1342 * Fix kernel version detection (again). Bugreport by Peter Levart
1343
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013442003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001345
1346 * Applied read combining patch by Michael Grigoriev (tested by
1347 Valient Gough and Vincent Wagelaar)
1348
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013492003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001350
1351 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1352 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001353
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013542003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001355
1356 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001357
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013582003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001359
1360 * kernel version detection fix
1361
1362 * fusermount now uses "lazy" umount option
1363
1364 * fusermount can use modprobe with module-init-tools
1365
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013662003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001367
1368 * Integrated caching patch by Michael Grigoriev
1369
Miklos Szeredida4e4862003-09-08 11:14:11 +00001370 * Added "Filesystems" file with descriptions of projects using
1371 FUSE
1372
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001373 * Added patch by Michael Grigoriev to allow compliation of FUSE
1374 kernel module for 2.6 kernels
1375
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013762003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001377
1378 * And another spec-file fix by Achim Settelmeier
1379
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013802003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001381
1382 * Spec-file fix by Achim Settelmeier
1383
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013842003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001385
Miklos Szerediac361172004-11-02 19:14:14 +00001386 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001387
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013882003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001389
1390 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1391
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013922003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001393
1394 * Updated fuse.spec file (Achim Settelmeier)
1395
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013962003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001397
1398 * Version 1.0 released
1399
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014002003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001401
1402 * SuSE compilation fix by Juan-Mariano de Goyeneche
1403
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014042002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001405
1406 * The release() VFS call is now exported to the FUSE interface
1407
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014082002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001409
1410 * 64 bit file offset fixes in the fuse kernel module
1411
1412 * Added function 'fuse_exit()' which can be used to exit the main
1413 loop
1414
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014152002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001416
1417 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1418 an incompatible interface change.
1419
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014202002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001421
1422 * Portablility fix (bug reported by C. Chris Erway)
1423
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014242002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001425
1426 * Use Mark Glines' fd passing method for default operation instead
1427 of old reexec
1428
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014292002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001430
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001431 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1432
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014332002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001434
Miklos Szeredi60c23522002-10-24 09:19:43 +00001435 * fix incompatiblity with Red Hat kernels, with help from Nathan
1436 Thompson-Amato.
1437
Mark Glines65ba2192002-04-18 14:41:48 +000014382002-04-18 Mark Glines <mark@glines.org>
1439
1440 * added an alternative to fuse_mount(), called
1441 fuse_mount_ioslave(), which does not need to reexec the
1442 FUSE program.
1443 * added a small helper util needed by fuse_mount_ioslave().
1444
Mark Glines220635a2002-03-17 07:01:14 +000014452002-03-16 Mark Glines <mark@glines.org>
1446
1447 * use struct fuse_statfs everywhere possible to avoid problems
1448 with the headerfiles changing struct statfs member sizes
1449
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014502002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001451
1452 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1453
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014542002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001455
1456 * RPM support by Achim Settelmeier
1457
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014582002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001459
Miklos Szerediddc862a2002-01-09 13:46:10 +00001460 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001461
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014622002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001463
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001464 * Revaidate all path components not just the last, this means a
1465 very small performance penalty for being more up-to-date.
1466
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014672002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001468
1469 * Update and fix python interface
1470
Mark Glinesd84b39a2002-01-07 16:32:02 +000014712002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001472
Mark Glinesd84b39a2002-01-07 16:32:02 +00001473 * Added statfs() support to kernel, lib, examples, and perl!
1474
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014752001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001476
1477 * Better cross compilation support
1478
1479 * Ported to Compaq IPAQ
1480
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014812001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001482
Miklos Szeredife25def2001-12-20 15:38:05 +00001483 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001484 patch from Matt Ryan)
1485
Miklos Szeredife25def2001-12-20 15:38:05 +00001486 * Added flags to fusermount and to kernel interface to control
1487 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001488
Miklos Szeredife25def2001-12-20 15:38:05 +00001489 * Integrated fuse_set_operations() into fuse_new()
1490
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014912001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001492
1493 * Applied header protection + extern "C" patch by Roland
1494 Bauerschmidt
1495
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014962001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001497
Miklos Szeredie5183742005-02-02 11:14:04 +00001498 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001499
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015002001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001501
1502 * Cleaned up way of mounting simple filesystems.
1503
1504 * fuse_main() helper function added
1505
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015062001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001507
Miklos Szeredife25def2001-12-20 15:38:05 +00001508 * Optimized read/write operations, so that minimal copying of data
1509 is done
1510
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015112001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001512
1513 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001514
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015152001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001516
1517 * Fixed vfsmount reference leak in fuse_follow_link
1518
1519 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1520 userspace is ignored
1521
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015222001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001523
Miklos Szeredife25def2001-12-20 15:38:05 +00001524 * Started ChangeLog