blob: dd2dd480a997074ed281eceea7f15958c51ac2ae [file] [log] [blame]
Miklos Szeredi83f253e2005-10-04 05:56:01 +000012005-09-04 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Released 2.4.0
4
Miklos Szeredi836ab712005-10-03 14:11:59 +000052005-10-03 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Add documentation to fuse_lowlevel.h
8
9 * API cleanups:
10
11 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
12
13 * Move fuse_mount() and fuse_unmount() to fuse_common.h
14
15 * Change the return type of fuse_reply_none() from int to void.
16
Miklos Szerediaf138742005-09-30 08:49:59 +0000172005-09-30 Miklos Szeredi <miklos@szeredi.hu>
18
19 * kernel: NFS exporting leaked dentries. Bug found and fixed by
20 Akshat Aranya.
21
Miklos Szeredidb016e02005-09-29 10:06:27 +0000222005-09-29 Miklos Szeredi <miklos@szeredi.hu>
23
24 * fusermount: fix error message, when unable to open /dev/fuse.
25 Report by Balázs Pozsár
26
Miklos Szeredi35200932005-09-28 14:50:49 +0000272005-09-28 Miklos Szeredi <miklos@szeredi.hu>
28
29 * UClibc fixes from Christian Magnusson
30
Miklos Szeredi8eddf642005-09-27 08:58:26 +0000312005-09-27 Miklos Szeredi <miklos@szeredi.hu>
32
33 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
34
Miklos Szerediedec95c2005-09-26 10:22:22 +0000352005-09-26 Miklos Szeredi <miklos@szeredi.hu>
36
Miklos Szeredi39851ac2005-09-26 11:17:50 +000037 * Released 2.4.0-rc1
38
392005-09-26 Miklos Szeredi <miklos@szeredi.hu>
40
Miklos Szerediedec95c2005-09-26 10:22:22 +000041 * fusermount: allow user umount in the case when /etc/mtab is a
42 symlink to /proc/mounts. Reported by Balázs Pozsár.
43
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000442005-09-23 Miklos Szeredi <miklos@szeredi.hu>
45
Miklos Szeredi8722dd22005-09-23 13:34:44 +000046 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +000047
Miklos Szeredif45f3c12005-09-22 15:14:27 +0000482005-09-22 Miklos Szeredi <miklos@szeredi.hu>
49
50 * Slight optimization in returning EINVAL error in case of an open
51 with O_DIRECT flag.
52
Miklos Szeredi670d07a2005-09-20 11:36:32 +0000532005-09-20 Miklos Szeredi <miklos@szeredi.hu>
54
55 * Remove '--enable-auto-modprobe' configure flag. Module
56 auto-loading is now handled by the kernel.
57
Miklos Szeredid51fca12005-09-15 12:51:00 +0000582005-09-15 Miklos Szeredi <miklos@szeredi.hu>
59
60 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
61 Help from Jens M. Noedler.
62
Miklos Szeredi7e7530d2005-09-14 15:20:26 +0000632005-09-14 Miklos Szeredi <miklos@szeredi.hu>
64
65 * Add memory cleanup on thread exit
66
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +0000672005-09-13 Miklos Szeredi <miklos@szeredi.hu>
68
69 * Set umask to zero in fusexmp and fusexmp_fh, so that
70 files/directories are created with the requested mode.
71
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +0000722005-09-12 Miklos Szeredi <miklos@szeredi.hu>
73
74 * Don't ignore read error in multithreaded loop
75
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000762005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +000077
Miklos Szeredi2277ecc2005-09-08 15:34:44 +000078 * Released 2.4.0-pre2
79
802005-09-08 Miklos Szeredi <miklos@szeredi.hu>
81
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +000082 * Revert lock and access operations. Postpone these until 2.5.
83
842005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +000085
86 * Fix compile warning on 2.6.13 and later
87
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +000088 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +000089
Miklos Szeredi77ccf652005-08-19 14:40:27 +0000902005-08-19 Miklos Szeredi <miklos@szeredi.hu>
91
92 * lib: always refresh directory contents after rewinddir() to
93 conform to SUS. Bug found by John Muir.
94
Miklos Szeredia1482422005-08-14 23:00:27 +0000952005-08-15 Miklos Szeredi <miklos@szeredi.hu>
96
Miklos Szeredic43f9412005-08-15 15:10:48 +000097 * Released 2.4.0-pre1
98
992005-08-14 Miklos Szeredi <miklos@szeredi.hu>
100
Miklos Szeredia1482422005-08-14 23:00:27 +0000101 * lib: cleaned up (or messed up, depending on your POV) the low
102 level library API. Hopefully this is close to the final form.
103
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00001042005-08-05 Miklos Szeredi <miklos@szeredi.hu>
105
106 * fusermount: don't allow empty mountpoint argument, which defeats
107 automatic umounting in fuse_main(). Bugreport by Václav Jůza
108
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00001092005-08-03 Miklos Szeredi <miklos@szeredi.hu>
110
111 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
112 option is used (Paul Alfille).
113
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00001142005-08-02 Miklos Szeredi <miklos@szeredi.hu>
115
116 * highlevel-lib: added mount options "attr_timeout" and
117 "entry_timeout". These options control the length of time file
118 attributes and entries (names) are cached. Both default to 1.0
119 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000120
121 * kernel: correctly handle zero timeout for attributes and entries
122
Miklos Szeredi56a61f02005-08-01 10:42:25 +00001232005-08-01 Miklos Szeredi <miklos@szeredi.hu>
124
125 * Added missing symbols to versionscript (Joshua J. Berry)
126
Miklos Szeredie77cc072005-08-01 11:58:51 +0000127 * kernel: implement two flags, open can set: 'direct_io' and
128 'keep_cache'. These correspond exactly to mount options
129 'direct_io' and 'kernel_cache', but allow a per-open setting.
130
131 * Move 'direct_io' and 'kernel_cache' mount option handling to
132 userspace. For both mount options, if the option is given, then
133 the respective open flag is set, otherwise the open flag is left
134 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000135
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000136 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000137
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00001382005-07-28 Miklos Szeredi <miklos@szeredi.hu>
139
140 * kernel: invalidate attributes for read/readdir/readlink
141 operations
142
143 * kernel: detect newer UML kernels
144
Miklos Szeredibfb99462005-07-26 11:07:55 +00001452005-07-26 Miklos Szeredi <miklos@szeredi.hu>
146
147 * Make the installation path of fuse.ko and mount.fuse
148 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
149 environment variables. Requirement and help from Csaba Henk.
150
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00001512005-07-22 Miklos Szeredi <miklos@szeredi.hu>
152
153 * Fix bug, that causes filesystem requests to hang when unique
154 request counter becomes negative. This happens after
155 2,147,483,648 operations, so most people won't care. Thanks to
156 Franco Broi for the report and testing.
157
Miklos Szeredi9b813af2005-07-21 07:59:37 +00001582005-07-21 Miklos Szeredi <miklos@szeredi.hu>
159
160 * Don't change mtime/ctime/atime to local time on read/write.
161 Bug reported by Ben Grimm
162
163 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
164 Magnusson
165
166 * fusermount: use getopt_long() for option parsing. It allows the
167 use of '--' to stop argument scanning, so fusermount can now
168 operate on directories whose names begin with a '-'. Patch by
169 Adam Connell
170
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00001712005-07-15 Miklos Szeredi <miklos@szeredi.hu>
172
173 * fusermount: add '-v', '--version' and '--help' options
174
175 * add inode based API
176
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00001772005-07-12 Miklos Szeredi <miklos@szeredi.hu>
178
179 * lib: don't block signals in worker threads. Problem noticed by
180 Usarin Heininga
181
Miklos Szeredic902a852005-07-07 12:35:37 +00001822005-07-07 Miklos Szeredi <miklos@szeredi.hu>
183
184 * lib: don't allow both 'allow_other' and 'allow_root' options to
185 be given
186
Miklos Szeredi437d8112005-07-06 09:14:20 +00001872005-07-06 Miklos Szeredi <miklos@szeredi.hu>
188
189 * fusermount: check if mountpoint is empty (only '.' and '..' for
190 directories, and size = 0 for regular files). If "nonempty"
191 option is given, omit this check. This is useful, so users don't
192 accidentally hide data (e.g. from backup programs). Thanks to
193 Frank van Maarseveen for pointing this out.
194
195 * kernel: check if mandatory mount options ('fd', 'rootmode',
196 'user_id', 'group_id') are all given
197
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000198 * lib: simplify 'readdir_ino' handling
199
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000200 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
201
Miklos Szeredibb9f5172005-07-03 18:03:11 +00002022005-07-03 Miklos Szeredi <miklos@szeredi.hu>
203
204 * kernel: clean up 'direct_io' code
205
Miklos Szeredie1bcece2005-06-28 10:37:06 +00002062005-06-28 Miklos Szeredi <miklos@szeredi.hu>
207
208 * Add 'mount.fuse' written by Petr Klima
209
Miklos Szeredi866826d2005-06-28 12:22:57 +0000210 * '/dev/fuse' is created by 'make install' if does not yet exist
211
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00002122005-06-20 Miklos Szeredi <miklos@szeredi.hu>
213
214 * Fix UCLIBC compile error. Patch by Christian Magnusson
215
Miklos Szerediec12fad2005-06-08 10:26:34 +00002162005-06-08 Miklos Szeredi <miklos@szeredi.hu>
217
218 * Enable the auto-loading of the module via access to the
219 corresponding device file. Patch by Takashi Iwai.
220
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000221 * Allow mounting a regular file (over a regular file) for
222 unprivleged users.
223
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000224 * Do not create temporary device file. Require "/dev/fuse" to
225 exist, and be readable/writable by the mounting user.
226
Miklos Szeredi46960ce2005-06-02 09:05:00 +00002272005-06-02 Miklos Szeredi <miklos@szeredi.hu>
228
Miklos Szeredi56478552005-06-02 10:29:00 +0000229 * Released 2.3.0
230
2312005-06-02 Miklos Szeredi <miklos@szeredi.hu>
232
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000233 * Fix serious information leak: if the filesystem returns a short
234 byte count to a read request, and there are non-zero number of
235 pages which are not filled at all, these pages will not be zeroed.
236 Hence the user can read out previous memory contents. Found by
237 Sven Tantau.
238
Miklos Szeredi33be22d2005-05-27 09:12:43 +00002392005-05-27 Miklos Szeredi <miklos@szeredi.hu>
240
241 * Add "readdir_ino" mount option, which tries to fill in the d_ino
242 field in struct dirent. This mount option is ignored if "use_ino"
243 is used. It helps some programs (e.g. 'pwd' used over NFS from a
244 non-Linux OS). Patch by David Shaw.
245
Miklos Szeredif94e0102005-05-12 14:56:34 +00002462005-05-12 Miklos Szeredi <miklos@szeredi.hu>
247
Miklos Szeredieb009c42005-05-12 15:01:17 +0000248 * Released 2.3-rc1
249
2502005-05-12 Miklos Szeredi <miklos@szeredi.hu>
251
Miklos Szeredif94e0102005-05-12 14:56:34 +0000252 * File save in krusader and other editors doesn't work with sshfs,
253 because open() is interrupted by a periodic signal, and open()
254 restarts forever, without any progress. This could just be fixed
255 in open(), but the problem is more generic: if signals are
256 received more often than the filesystem can get the request to
257 userspace, it will never finish. This is probably only a
258 theoretical problem, nevertheless I'm removing the possibility to
259 interrupt requests with anything other than SIGKILL, even before
260 being sent to userspace. Bugreport by Eduard Czimbalmos.
261
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00002622005-05-09 Miklos Szeredi <miklos@szeredi.hu>
263
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000264 * libfuse: add "tree_lock" rwlock, that is locked for write in
265 rename, unlink and rmdir, and locked for read in all other
266 operations. This should fix the rename/release race reported by
267 Valient Gough and others. The solution is very coarse, a finer
268 grained locking scheme could be implemented, but it would be much
269 more complex. Let's see whether this is good enough.
270
2712005-05-09 Miklos Szeredi <miklos@szeredi.hu>
272
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000273 * Released 2.3-pre7
274
Miklos Szeredi38009022005-05-08 19:47:22 +00002752005-05-08 Miklos Szeredi <miklos@szeredi.hu>
276
277 * Better fix for out of order FORGET messages. Now the
278 LOOKUP/FORGET messages are balanced exactly (one FORGET can
279 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000280 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000281 compatible.
282
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00002832005-05-06 Miklos Szeredi <miklos@szeredi.hu>
284
285 * Fix abort for out of order FORGET messages. Again. Spotted by
286 Franco Broi again. Sorry :)
287
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00002882005-04-29 Miklos Szeredi <miklos@szeredi.hu>
289
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000290 * Released 2.3-pre6
291
2922005-04-29 Miklos Szeredi <miklos@szeredi.hu>
293
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000294 * Make fusermount work with fuse kernel modules not yet supporting
295 the "group_id" option (added for the purpose of stricter
296 permission checking).
297
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00002982005-04-28 Miklos Szeredi <miklos@szeredi.hu>
299
300 * Check for hard-linked directories in lookup. This could cause
301 problems in the VFS, which assumes that such objects never exist.
302
303 * Make checking of permission for other users more strict. Now
304 the same privilege is required for the mount owner as for ptrace
305 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000306
Miklos Szeredi3efcb562005-04-23 13:34:29 +00003072005-04-23 Miklos Szeredi <miklos@szeredi.hu>
308
309 * Released 2.3-pre5
310
Miklos Szeredid001bf92005-04-22 07:54:11 +00003112005-04-22 Miklos Szeredi <miklos@szeredi.hu>
312
313 * Add -msoft-float to kernel module compile flags for 2.4.X. This
314 is needed on certain architectures. Report from Chris Kirby
315
316 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
317 Reported by David Shaw
318
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000319 * Remove "allow_root" option from kernel module, and implement
320 it's functionality in the library
321
322 * Fix Oops caused by premature release of fuse_conn. Clean up
323 related code, to be more readable
324
Miklos Szeredif9137452005-04-23 10:59:44 +0000325 * Sendfile should not use page cache if "direct_io" mount option
326 is given
327
Miklos Szeredib7640d22005-04-08 15:15:28 +00003282005-04-08 Miklos Szeredi <miklos@szeredi.hu>
329
330 * Fix Oops in case of nfs export. Spotted by David Shaw
331
Miklos Szeredi89814a12005-04-08 16:39:09 +0000332 * Fix another Oops in case of write over nfs with direct_io turned
333 on. Again spotted by David Shaw
334
Miklos Szerediab974562005-04-07 15:40:21 +00003352005-04-07 Miklos Szeredi <miklos@szeredi.hu>
336
Miklos Szeredi432d6182005-04-07 15:56:13 +0000337 * Released 2.3-pre4
338
3392005-04-07 Miklos Szeredi <miklos@szeredi.hu>
340
Miklos Szerediab974562005-04-07 15:40:21 +0000341 * lib: finalized new readdir() interface, which now supersedes the
342 getdir() method.
343
Miklos Szeredi30e093a2005-04-03 17:44:54 +00003442005-04-03 Miklos Szeredi <miklos@szeredi.hu>
345
346 * Released 2.3-pre3
347
3482005-04-03 Miklos Szeredi <miklos@szeredi.hu>
349
350 * Implement backward compatibility with version 5 kernel ABI
351
Miklos Szeredi18fce982005-04-01 21:07:35 +00003522005-04-01 Miklos Szeredi <miklos@szeredi.hu>
353
354 * Released 2.3-pre2
355
3562005-04-01 Miklos Szeredi <miklos@szeredi.hu>
357
358 * kernel: fix dirent offset handling
359
360 * lib: add readdir and releasedir methods
361
362 * lib: use fh field of fuse_file_info in opendir, readdir,
363 releasedir and fsyncdir methods
364
365 * lib: check kernel API version and bail out of it's old. This
366 will be properly fixed in the next release
367
3682005-03-31 Miklos Szeredi <miklos@szeredi.hu>
369
370 * Released 2.3-pre1
371
Miklos Szeredieab72ef2005-03-31 19:59:12 +00003722005-03-31 Miklos Szeredi <miklos@szeredi.hu>
373
374 * kernel API: add padding to structures, so 64bit and 32bit
375 compiler will return the same size
376
377 * kernel API: add offset field to fuse_dirent. This will allow
378 more sophisticated readdir interface for userspace
379
380 * kernel API: change major number to 6
381
382 * kernel: fix warnings on 64bit archs
383
384 * kernel: in case of API version mismatch, return ECONNREFUSED
385
Miklos Szeredi407e6a72005-03-25 12:19:43 +00003862005-03-24 Miklos Szeredi <miklos@szeredi.hu>
387
388 * kernel: trivial cleanups
389
Miklos Szeredi4283ee72005-03-21 12:09:04 +00003902005-03-21 Miklos Szeredi <miklos@szeredi.hu>
391
392 * Add fsyncdir() operation
393
Miklos Szeredid17da462005-03-21 11:47:04 +00003942005-03-19 Miklos Szeredi <miklos@szeredi.hu>
395
396 * kernel: add locking to background list (fixes previous fix)
397
3982005-03-18 Miklos Szeredi <miklos@szeredi.hu>
399
400 * kernel: fix bug which could cause leave busy inodes after
401 unmount, and Oops.
402
4032005-03-08 Miklos Szeredi <miklos@szeredi.hu>
404
405 * examples: add -lpthread to link flags to work around valgrind
406 quirk
407
408 * lib: don't exit threads, so cancelation doesn't cause segfault
409
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00004102005-03-04 Miklos Szeredi <miklos@szeredi.hu>
411
412 * kernel: fix nasty bug which could cause an Oops under certain
413 situations. Found by Magnus Johansson
414
Miklos Szeredif43f0632005-02-28 11:46:56 +00004152005-02-28 Miklos Szeredi <miklos@szeredi.hu>
416
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000417 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000418 permission checking in getdir() is too late. Thanks to Usarin
419 Heininga for pointing out this deficiency
420
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000421 * libfuse: added init() and destroy() methods to fuse_operations
422
Miklos Szeredif43f0632005-02-28 11:46:56 +0000423 * kernel: llseek() method for files and directories made explicit
424
425 * kernel: fixed inode leak in NFS export in case of nodeid
426 wrapping
427
Miklos Szeredied3c97c2005-02-15 17:04:50 +00004282005-02-15 Miklos Szeredi <miklos@szeredi.hu>
429
430 * libfuse: clean up some unitialized memory found with valgrind
431
Miklos Szeredi47c52982005-02-23 09:27:38 +0000432 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
433 explicitly linked libpthread for applications
434
Miklos Szeredia7169412005-02-10 07:35:05 +00004352005-02-10 Miklos Szeredi <miklos@szeredi.hu>
436
437 * fusermount: set umask, otherwise /etc/mtab will have
438 unpredictable permission. Spotted by Jindrich Kolorenc
439
440 * fusermount: set owner and group of /etc/mtab to original values
441 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000442
443 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000444
Miklos Szeredib92d9782005-02-07 16:10:49 +00004452005-02-07 Miklos Szeredi <miklos@szeredi.hu>
446
447 * Cleaned up directory reading (temporary file is not used)
448
Miklos Szerediff30a6c2005-02-02 10:53:59 +00004492005-02-02 Miklos Szeredi <miklos@szeredi.hu>
450
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000451 * Released 2.2
452
4532005-02-02 Miklos Szeredi <miklos@szeredi.hu>
454
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000455 * Fix possible race when operation is interrupted
456
Miklos Szeredi7a983952005-01-28 09:58:19 +00004572005-01-28 Miklos Szeredi <miklos@szeredi.hu>
458
Miklos Szeredie5183742005-02-02 11:14:04 +0000459 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000460
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00004612005-01-26 Miklos Szeredi <miklos@szeredi.hu>
462
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000463 * Released 2.2-pre6
464
4652005-01-26 Miklos Szeredi <miklos@szeredi.hu>
466
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000467 * Fix bug in link() operation which caused the wrong path to be
468 passed as the first argument. Found by Anton Altaparmakov
469
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00004702005-01-21 Miklos Szeredi <miklos@szeredi.hu>
471
472 * LIB: fix double reply in readdir operation
473
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000474 * fusermount: fix uid checking bug. Patch by Adam Connell
475
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000476 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000477 Patch by Keshava Gowda
478
Miklos Szeredi64074142005-01-20 08:48:11 +00004792005-01-20 Miklos Szeredi <miklos@szeredi.hu>
480
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000481 * KERNEL: provide correct llseek semantics for fuse device (fixes
482 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
483
4842005-01-20 Miklos Szeredi <miklos@szeredi.hu>
485
Miklos Szeredi64074142005-01-20 08:48:11 +0000486 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
487
Miklos Szeredi1adb2272005-01-18 21:19:58 +00004882005-01-18 Miklos Szeredi <miklos@szeredi.hu>
489
490 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
491 and RELEASEDIR. This ends the ugly hack of passing a file
492 descriptor to the kernel, and actually makes the code simpler.
493
Miklos Szeredi7db35c02005-01-17 09:46:28 +00004942005-01-17 Miklos Szeredi <miklos@szeredi.hu>
495
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000496 * Released 2.2-pre4
497
4982005-01-17 Miklos Szeredi <miklos@szeredi.hu>
499
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000500 * fusermount: remove capability setting, which was the cause of
501 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000502 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000503
Miklos Szeredidbe0f652005-01-15 14:32:56 +00005042005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000505
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000506 * fix compilation on 2.4 kernels (reported by Valient Gough)
507
508 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000509
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000510 * fusermount: improve parsing of /etc/fuse.conf
511
5122005-01-13 Miklos Szeredi <miklos@szeredi.hu>
513
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000514 * Remove 'mount_max' and 'user_allow_other' module options. These
515 are now checked by fusermount, and can be set in /etc/fuse.conf
516
517 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
518
Miklos Szeredi81394522005-01-11 14:24:18 +00005192005-01-11 Miklos Szeredi <miklos@szeredi.hu>
520
521 * KERNEL: fix possible inode allocation problem, where
522 sizeof(struct inode) is not aligned (found by Mike Waychison)
523
524 * KERNEL: use new follow_link/put_link methods
525
526 * KERNEL: cosmetic fixes
527
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00005282005-01-10 Miklos Szeredi <miklos@szeredi.hu>
529
530 * Released 2.2-pre3
531
5322005-01-10 Miklos Szeredi <miklos@szeredi.hu>
533
534 * Add missing code that was accidently left out
535
Miklos Szeredi8c7da232005-01-09 12:27:41 +00005362005-01-09 Miklos Szeredi <miklos@szeredi.hu>
537
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000538 * Released 2.2-pre2
539
5402005-01-09 Miklos Szeredi <miklos@szeredi.hu>
541
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000542 * Change "uid" mount option to "user_id" to avoid confusion with a
543 mount option "uid" commonly used by many filesystems
544
5452005-01-09 Miklos Szeredi <miklos@szeredi.hu>
546
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000547 * Released 2.2-pre1
548
5492005-01-09 Miklos Szeredi <miklos@szeredi.hu>
550
551 * If FUSE is configured in the kernel, don't build it by default
552
Miklos Szeredi2a927272005-01-07 11:14:15 +00005532005-01-07 Miklos Szeredi <miklos@szeredi.hu>
554
555 * Compile fix by Christian Magnusson
556
Miklos Szeredib6220192005-01-05 16:19:10 +00005572005-01-05 Miklos Szeredi <miklos@szeredi.hu>
558
559 * Fix compilation for 2.6.{0-5} kernels
560
Miklos Szeredi0f62d722005-01-04 12:45:54 +00005612005-01-04 Miklos Szeredi <miklos@szeredi.hu>
562
563 * KERNEL: if request is interrupted, still keep reference to used
564 inode(s) and file, so that FORGET and RELEASE are not sent until
565 userspace finishes the request.
566
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000567 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
568 request with the same information, which is more flexible,
569 simpler, works on embedded systems.
570
Miklos Szeredi0f62d722005-01-04 12:45:54 +00005712004-12-16 Miklos Szeredi <miklos@szeredi.hu>
572
573 * KERNEL ABI: update interface to make it independent of type
574 sizes. This will help on 64 bit architectures which can run
575 legacy 32 bit applications.
576
577 * KERNEL ABI: add "len" field to request headers. This will allow
578 sending/receiving requests in multiple chunks.
579
580 * KERNEL: handle file type change more intelligently
581
582 * LIB: "-o debug" option should disable backgrounding (fix by
583 Fabien Reygrobellet)
584
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00005852004-12-13 Miklos Szeredi <miklos@szeredi.hu>
586
587 * KERNEL: invalidate dentry/attributes if interrupted request
588 could leave filesystem in an unknown state.
589
Miklos Szeredie56818b2004-12-12 11:45:24 +00005902004-12-12 Miklos Szeredi <miklos@szeredi.hu>
591
592 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
593 These will cause some regressions, but stability is considered
594 more important. If any of these features turns out to be
595 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000596
Miklos Szeredie56818b2004-12-12 11:45:24 +0000597 * Make all requests interruptible (only with SIGKILL currently).
598 This can be used to break any deadlock produced by the userspace
599 filesystem accessing it's own exported files. The RELEASE request
600 is special, because if it's interrupted before sending it to
601 userspace it is still sent, but the reply is not awaited.
602
603 * If request is interrupted before being sent to userspace, and if
604 it hasn't yet got any side effects, it is always restarted,
605 regardless of the SA_RESTART flag. This makes these interruptions
606 transparent to the process.
607
608 * Remove shared-writable mmap support, which was prone to an
609 out-of-memory deadlock situation
610
611 * Remove INVALIDATE userspace initiated request
612
613 * Make readpages() synchronous. Asynchronous requests are
614 deadlock prone, since they cannot be interrupted.
615
616 * Add readv/writev support to fuse device operations
617
618 * Remove some printks, which userspace FS can use for a DoS
619 against syslog
620
621 * Remove 'large_read' mount option from 2.6 in kernel, check it in
622 fusermount instead
623
624 * LIB: improve compatibility with a fuse.h header installed in
625 ${prefix}/include which in turn includes the real header.
626
627 * LIB: improve compatibility by defining fuse_main() (which is now
628 not used), so old configure scripts find it.
629
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00006302004-12-10 Miklos Szeredi <miklos@szeredi.hu>
631
632 * When mounting on a subdirectory of / don't duplicate slashes at
633 the beggining of path (spotted by David Shaw)
634
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00006352004-12-09 Miklos Szeredi <miklos@szeredi.hu>
636
637 * Fix bug causing garbage in mount options (spotted by David Shaw)
638
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00006392004-12-07 Miklos Szeredi <miklos@szeredi.hu>
640
641 * Add 'writepage' flag to 'fuse_file_info'.
642
643 * More comments in fuse.h
644
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000645 * Get rid of double underscores
646
Miklos Szeredi799993c2004-12-04 21:20:05 +00006472004-12-04 Miklos Szeredi <miklos@szeredi.hu>
648
649 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
650
651 * helper.c: add -ho option, which only displays the options not
652 the usage header. This can be used by filesystems which have
653 their own options.
654
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00006552004-12-03 Miklos Szeredi <miklos@szeredi.hu>
656
657 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
658 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
659 including the fuse header
660
661 * Add binary compatibility to 2.1 version of library with symbol
662 versioning
663
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00006642004-12-03 Miklos Szeredi <miklos@szeredi.hu>
665
666 * Released 2.1
667
Miklos Szeredi039322d2004-12-01 18:39:12 +00006682004-12-01 Miklos Szeredi <miklos@szeredi.hu>
669
670 * kernel: clean up writing functions
671
672 * kernel: no allocation on write in direct_io mode
673
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000674 * move linux/fuse.h to fuse_kernel.h
675
Miklos Szeredi83a07442004-11-30 18:25:20 +00006762004-11-30 Miklos Szeredi <miklos@szeredi.hu>
677
678 * kernel: clean up reading functions
679
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00006802004-11-29 Miklos Szeredi <miklos@szeredi.hu>
681
682 * kernel: make readpage() uninterruptible
683
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000684 * kernel: check readonly filesystem flag in fuse_permission
685
686 * lib: don't die if version file not found and new style device
687 exists
688
689 * lib: add '-r' option, which is short for '-o ro'
690
691 * fusermount: simplify device opening
692
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000693 * kernel: when direct_io is turend on, copy data directly to
694 destination without itermediate buffer. More efficient and safer,
695 since no allocation is done.
696
697 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000698
699 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000700
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00007012004-11-26 Miklos Szeredi <miklos@szeredi.hu>
702
703 * libfuse API change: open, read, write, flush, fsync and release
704 are passed a 'struct fuse_file_info' pointer containing the open
705 flags (open and release), and the file handle. Verion changed to
706 3.0.
707
Miklos Szeredia25d4c22004-11-23 22:32:16 +00007082004-11-23 Miklos Szeredi <miklos@szeredi.hu>
709
710 * More cleanups in the kernel
711
712 * The 10,229 charater device number has been assigned for FUSE
713
714 * Version file checking fix (reported by Christian Magnusson)
715
716 * fusermount: opening the fuse device now doesn't need /sys.
717
718 * Optimize reading by controlling the maximum readahead based on
719 the 'max_read' mount option
720
721 * fixes for UCLIBC (Christian Magnusson)
722
Miklos Szeredi13ed4822004-11-20 11:12:21 +00007232004-11-19 Miklos Szeredi <miklos@szeredi.hu>
724
725 * Cleaned up kernel in preparation for merge into mainline:
726
727 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
728
729 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
730
731 * __user annotations for sparse
732
733 * allocate individual pages instead of kmalloc in fuse_readdir,
734 fuse_read and fuse_write.
735
736 * Fix NFS export in case "use_ino" mount option is given
737
Miklos Szeredif3845c42004-11-20 11:18:34 +0000738 * Make libfuse and fusermount compatible with future versions
739
740 * fusermount: properly add mount options to /etc/mtab
741
7422004-11-15 Miklos Szeredi <miklos@szeredi.hu>
743
744 * fusermount: do not resolve last component of mountpoint on if it
745 is '.' or '..'. This new path resolvation is now done on mount as
746 well as unmount. This enables relative paths to work on unmount.
747
748 * fusermount: parse common mount options like "ro", "rw", etc...
749
750 * Allow module params to be changed through sysfs
751
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00007522004-11-14 Miklos Szeredi <miklos@szeredi.hu>
753
754 * Released 2.1-pre1
755
7562004-11-14 Miklos Szeredi <miklos@szeredi.hu>
757
758 * Fix bug in fuse_readpages() causing Oops in certain situations.
759 Bug found by Vincenzo Ciancia.
760
761 * Fix compilation with kernels versions > 2.6.9.
762
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00007632004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000764
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000765 * Check kernel interface version in fusermount to prevent
766 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000767
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000768 * No need to allocate fuse_conn until actual mount happens
769
770 * Fix potential race between umount and fuse_invalidate
771
772 * Check superblock of proc file in addition to inode number
773
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000774 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000775
Miklos Szeredi51ec1032004-11-10 11:52:26 +00007762004-11-10 Miklos Szeredi <miklos@szeredi.hu>
777
778 * Separate configure for the kernel directory
779
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000780 * Don't allow write to return more than 'count'
781
782 * Extend kernel interface for future use
783
Miklos Szeredi51ec1032004-11-10 11:52:26 +00007842004-11-09 Miklos Szeredi <miklos@szeredi.hu>
785
786 * Fix 'makeconf.sh' to use autoreconf if available
787
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00007882004-11-08 Miklos Szeredi <miklos@szeredi.hu>
789
Miklos Szeredid507c732004-11-08 17:32:25 +0000790 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
791 compatibility with earlier versions. To compile earier versions
792 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
793 Do not use the "use_ino" mount flag with filesystems compiled with
794 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000795
796 * Add pkg-config support. To compile a FUSE based filesystem you
797 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
798 or similar. Note, that the PKG_CONFIG_PATH environment variable
799 usually needs to be set to "/usr/local/lib/pkgconfig".
800
801 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000802
Miklos Szeredia13d9002004-11-02 17:32:03 +00008032004-11-02 Miklos Szeredi <miklos@szeredi.hu>
804
805 * Added "use_ino" mount option. This enables the filesystems to
806 set the st_ino field on files
807
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00008082004-11-01 Miklos Szeredi <miklos@szeredi.hu>
809
810 * Fix compile problems with ancient (<=2.4.18) kernels (reported
811 by Jeremy Smith)
812
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000813 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
814
815 * Clear the 'exited' flag when mail loop is finished
816
Miklos Szeredie989f0d2004-10-28 20:24:58 +00008172004-10-28 Miklos Szeredi <miklos@szeredi.hu>
818
819 * Make xattr functions work under 2.6 (bug found by Vincenzo
820 Ciancia)
821
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00008222004-10-26 Miklos Szeredi <miklos@szeredi.hu>
823
824 * Reset request in fuse_flush() (bugreport by David Shaw)
825
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00008262004-10-21 Miklos Szeredi <miklos@szeredi.hu>
827
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000828 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000829 error code
830
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000831 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000832 make it easier to implement a custom event loop.
833
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000834 * Use daemon() call to background the filesystem after mounting.
835 This function closes the standard input, output and error and
836 changes the current working directory to "/".
837
Miklos Szeredi127d49b2004-10-14 13:33:39 +00008382004-10-14 Miklos Szeredi <miklos@szeredi.hu>
839
840 * Released 1.9
841
Miklos Szeredid45baf42004-10-10 07:56:12 +00008422004-10-09 Miklos Szeredi <miklos@szeredi.hu>
843
844 * Don't allow fuse_flush() to be interrupted (bug found by David
845 Shaw)
846
Miklos Szeredi1f18db52004-09-27 06:54:49 +00008472004-09-27 Miklos Szeredi <miklos@szeredi.hu>
848
849 * Add PID to fuse_context. Patch by Steven James
850
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000851 * Change file handle type to 'unsigned long' in kernel interface
852
Miklos Szeredid169f312004-09-22 08:48:26 +00008532004-09-22 Miklos Szeredi <miklos@szeredi.hu>
854
855 * A slight API change: fuse_get_context() doesn't need the "fuse"
856 pointer, but the returned context contains it instead. The
857 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000858
859 * Fix mounting and umounting FUSE filesystem under another FUSE
860 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000861
Miklos Szeredic2309912004-09-21 13:40:38 +00008622004-09-21 Miklos Szeredi <miklos@szeredi.hu>
863
864 * Fix deadlock in case of memory allocation failure. Patch by
865 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000866
Miklos Szeredib2cf9562004-09-16 08:42:40 +00008672004-09-16 Miklos Szeredi <miklos@szeredi.hu>
868
869 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000870
Miklos Szeredi65afea12004-09-14 07:13:45 +00008712004-09-14 Miklos Szeredi <miklos@szeredi.hu>
872
873 * Check temporary file creation failure in do_getdir(). Bug
874 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000875
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00008762004-09-13 Miklos Szeredi <miklos@szeredi.hu>
877
878 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000879
880 * Make requests non-interruptible so race with FORGET is avoided.
881 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000882
883 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000884
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00008852004-09-09 Miklos Szeredi <miklos@szeredi.hu>
886
887 * Fix bug in case two FORGETs for the same node are executed in
888 the wrong order. Bug spotted and endured for months by Franco
889 Broi, and logfile for solution provided by Terje Oseberg
890
Miklos Szeredi12085102004-09-02 18:13:57 +00008912004-09-01 Miklos Szeredi <miklos@szeredi.hu>
892
893 * Add -D_REENTRANT to the compile flags
894
895 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000896
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00008972004-08-16 Miklos Szeredi <miklos@szeredi.hu>
898
899 * Change release method to be non-interruptible. Fixes bug
900 causing missing release() call when program which has opened files
901 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000902
Miklos Szeredi891b8742004-07-29 09:27:49 +00009032004-07-29 Miklos Szeredi <miklos@szeredi.hu>
904
905 * Add fuse_invalidate() to library API
906
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00009072004-07-26 Miklos Szeredi <miklos@szeredi.hu>
908
909 * Check permissions in setattr if 'default_permissions' flag is
910 set. Bug spotted by Damjan Lango
911
Miklos Szeredid66d3942004-07-24 13:47:44 +00009122004-07-24 Miklos Szeredi <miklos@szeredi.hu>
913
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000914 * 'large_read' mount option removed for 2.6 kernels, since the
915 default (dynamic read size) is better
916
917 * Extend kernel API with file handles. A file handle is returned
918 by open, and passed to read, write, flush, fsync and release.
919 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000920
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000921 * Security changes:
922
923 * Change the current directory to the mountpoint before checking
924 the permissions and mount filesystem on "."
925
926 * By default don't modprobe the fuse module for non-root. The old
927 behavior can be restored with the '--enable-auto-modprobe' flag of
928 ./configure
929
930 * By default don't allow shared writable mappings for non-root.
931 The old behavior can be restored with the 'user_mmap=1' module
932 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000933
Miklos Szeredibd7661b2004-07-23 17:16:29 +00009342004-07-23 Miklos Szeredi <miklos@szeredi.hu>
935
936 * Clean up mount option passing to fusermount and to fuse_new()
937 BEWARE: this changes the userspace API slightly, and the command
938 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000939
Miklos Szeredi58865372004-07-20 14:22:26 +00009402004-07-20 Miklos Szeredi <miklos@szeredi.hu>
941
942 * Optimize reading under 2.6 kernels by issuing multiple page
943 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000944
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00009452004-07-18 Miklos Szeredi <miklos@szeredi.hu>
946
947 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000948
Miklos Szeredi069c9502004-07-16 16:17:02 +00009492004-07-16 Miklos Szeredi <miklos@szeredi.hu>
950
951 * Separate directory entry and inode attribute validity timer
952
953 * New write semaphore to stop page writeback during truncate
954
955 * Fsync now waits for all writes to complete before sending the
956 request
957
958 * Optimization: if a page is completely written by
959 fuse_commit_write(), clear the dirty flag and set the uptodate
960 flag for that page
961
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000962 * Some memory cleanup at exit
963
Miklos Szeredi2529ca22004-07-13 15:36:52 +00009642004-07-13 Miklos Szeredi <miklos@szeredi.hu>
965
966 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000967 disable the "hide if open" behavior of unlink/rename.
968
969 * If temporary buffer allocation fails in raw read, fall back to a
970 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000971
Miklos Szeredi73798f92004-07-12 15:55:11 +00009722004-07-12 Miklos Szeredi <miklos@szeredi.hu>
973
974 * Fix bug in do_open() in libfuse: open count was incremented
975 after the reply is sent so it could race with unlink/forget and
976 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000977
Miklos Szeredi015fe702004-07-12 11:52:24 +00009782004-07-08 Miklos Szeredi <miklos@szeredi.hu>
979
980 * When performing create or remove operation, refresh the parent's
981 attributes on next revalidate, as i_nlink (and maybe size/time)
982 could be inacurate.
983
984 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
985 pages (2.6 only)
986
987 * Set set_page_dirty address space operation (2.6 only)
988
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009892004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000990
991 * Minor fix in read: print debug info even if read size is zero
992
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009932004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000994
995 * Fix race between truncate and writepage (fsx-linux now runs
996 without error)
997
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009982004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000999
1000 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1001 by Mattias Wadman)
1002
1003 * Added option for direct read/write (-r)
1004
1005 * Fix revalidate time setting for newly created inodes
1006
Miklos Szerediacb4d362004-07-02 16:20:45 +00001007 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1008 this)
1009
1010 * fuse_main() only installs handlers for signals (out of INT, HUP,
1011 TERM, PIPE), for which no handler has yet been installed
1012
1013 * Add module option 'user_allow_other' which if set to non-zero
1014 will allow non root user to specify the 'allow_other' mount option
1015 ('-x' option of fusermount)
1016
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001017 * Fix deadlock between page writeback completion and truncate
1018 (bug found by Valient Gough with the fsx-linux utility)
1019
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010202004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001021
1022 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001023 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1024 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001025
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010262004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001027
1028 * Acquire inode->i_sem before open and release methods to prevent
1029 concurrent rename or unlink operations.
1030
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001031 * Make __fuse_read_cmd() read only one command. This allows
1032 multiplexing the fuse file descriptor with other event sources
1033 using select() or poll() (patch by Jeff Harris)
1034
1035 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1036
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010372004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001038
1039 * Fix file offset wrap around at 4G when doing large reads
1040
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010412004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001042
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001043 * Fix memory leak in open (Valient Gough)
1044
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010452004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001046
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001047 * Add "close after delete" support to libfuse (patch by Valient
1048 Gough)
1049
1050 * Cancel all worker threads before exit in multithreaded mode
1051
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010522004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001053
1054 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001055
1056 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001057
1058 * Work with newer libtool (1.5a)
1059
1060 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001061
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010622004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001063
1064 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001065
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010662004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001067
1068 * Fix possible inode leak in userspace in case of unfinished
1069 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001070
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010712004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001072
1073 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001074
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010752004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001076
1077 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010792004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001080
1081 * Build shared library as well as static (using libtool)
1082
1083 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1084 there has not been a release with the previous minor number, and I
1085 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001086
1087 * Change fuse_main(), so that default behavior is to go into
1088 background if mount is successful. '-f' and '-d' options disable
1089 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1090 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001091
1092 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1093 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001094
1095 * Don't call getdir method from open() only from first readdir().
1096 Open is sometimes just used to store the current directory
1097 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001098
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010992004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001100
1101 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001102
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011032004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001104
1105 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001106
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011072004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001108
1109 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001110
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011112004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001112
1113 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001114
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011152004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001116
1117 * Replaced binary mount data with text options
1118
1119 * Show FUSE specific mount options in /proc/mounts
1120
1121 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1122
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011232004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001124
1125 * Check some limits so userspace won't get too big requests
1126
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011272004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001128
1129 * Kill compile warning
1130
1131 * Upgraded user-mount patch for 2.6.5
1132
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011332004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001134
1135 * Add detection of user-mode-linux to configure
1136
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011372004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001138
1139 * fixed zero size case for getxattr and listxattr
1140
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011412004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001142
1143 * new fusermount flag '-z': lazy unmount, default is not lazy
1144
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001145 * Extended attributes operations added (getxattr, setxattr,
1146 listxattr, removexattr)
1147
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011482004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001149
1150 * If filesystem doesn't define a statfs operation, then an
1151 all-zero default statfs is returned instead of ENOSYS
1152
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011532004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001154
1155 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1156
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011572004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001158
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001159 * Fix for uClinux (Christian Magnusson)
1160
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011612004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001162
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001163 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001164
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001165 * More kernel interface changes:
1166
1167 * Lookup/getattr return cache timeout values
1168
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011692004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001170
1171 * Clean up option parsing in fuse_main()
1172
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001173 * Added fuse_get() function which returns the fuse object created
1174 by fuse_main()
1175
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011762004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001177
Miklos Szeredic40748a2004-02-20 16:38:45 +00001178 * removed old way of mounting (fusermount mountpoint program)
1179
Miklos Szeredib5958612004-02-20 14:10:49 +00001180 * more kernel interface changes:
1181
1182 * added nanosecond precision to file times
1183
Miklos Szeredic40748a2004-02-20 16:38:45 +00001184 * removed interface version from mount data
1185
1186 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1187
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011882004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001189
1190 * statfs library API changed to match other methods. Since this
1191 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1192
Miklos Szeredi76f65782004-02-19 16:55:40 +00001193 * kernel interface changes follow:
1194
1195 * statfs changed to 64 bits, added 'bavail' field
1196
1197 * add generation number to lookup result
1198
1199 * optimized mknod/mkdir/symlink/link (no separate lookup is
1200 needed)
1201
1202 * rdev size increased to 32 bits for mknod
1203
1204 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001205
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012062004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001207
1208 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001209
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012102004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001211
1212 * Added user-mount.2.6.2-rc3.patch
1213
1214 * Add FS_SAFE flag to fuse filesystem
1215
1216 * fusermount should allow (un)mounting for non-root even if not
1217 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001218
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012192004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001220
1221 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001222
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012232004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001224
1225 * Added check for i_size_read/write functions to configure.in
1226 (patch by Valient Gough)
1227
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012282004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001229
1230 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001231
1232 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001233
1234 * Readpage calls flush_dcache_page() after storing data
1235
1236 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001237
1238 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001239
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012402004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001241
1242 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001243
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012442004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001245
1246 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001247
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012482004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001249
1250 * Added -q option for fusermount
1251
1252 * fuse_unmount() now uses -q option of fusermount, so no error is
1253 printed if the cause of the program exit is that the filesystem
1254 has already been unmounted
1255
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001256 * Fix i_nlink correctness after rmdir/unlink
1257
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012582004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001259
Miklos Szeredib1158392004-01-26 14:43:12 +00001260 * Released 1.1-pre2
1261
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012622004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001263
Miklos Szeredi307242f2004-01-26 11:28:44 +00001264 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001265
1266 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001267
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012682004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001269
1270 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001271
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012722004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001273
1274 * Write all pending data before a RELEASE operation
1275
1276 * Suppress 'Bad file descriptor' warning on exit
1277
1278 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001279 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001280
Miklos Szeredib1158392004-01-26 14:43:12 +00001281 * New fusermount option '-l' which enables big reads. Big reads
1282 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001283
1284 * fuse_main() can accept fusermount arguments after a '--'
1285
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012862004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001287
1288 * Support for exporting filesystem over NFS (see README.NFS)
1289
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012902004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001291
1292 * Support non-blocking writepage on 2.6. This makes FUSE behave
1293 much more nicely in low-memory situations
1294
1295 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1296 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001297
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012982004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001299
1300 * Code cleanups
1301
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013022004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001303
1304 * Released 1.1-pre1
1305
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013062004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001307
1308 * Integrated 2.6 kernel support patch by Michael Grigoriev
1309
1310 * Improvements and cleanups for 2.6 kernels
1311
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013122004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001313
Miklos Szeredie5183742005-02-02 11:14:04 +00001314 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001315
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013162003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001317
1318 * Added major+minor version to library API, and minor version to
1319 kernel API
1320
David McNab7a19caf2003-12-13 02:05:46 +000013212003-12-13 David McNab <david@rebirthing.co.nz>
1322
1323 * Implemented fsync support in examples/example.py
1324
1325 * Implemented 'fsync' and 'statfs' methods in python
1326 interface
1327
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013282003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001329
Miklos Szeredie5183742005-02-02 11:14:04 +00001330 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001331
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001332 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001333
David McNab8bf62632003-12-11 22:49:22 +000013342003-12-12 David McNab <david@rebirthing.co.nz>
1335
1336 * Added distutils support to the python module, as per standard
1337 python development practice
1338
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013392003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001340
1341 * Add file locking for mount/unmount (based on patch by Valient
1342 Gough)
1343
13442003-12-11 David McNab <david@rebirthing.co.nz>
1345
1346 * Python filesystem - was broken with python2.3, now fixed:
1347 - changed PyTuple_* calls to PySequence_*, because os.lstat
1348 is no longer returning a pure tuple
1349 - changed PyInt_Check() calls to also call PyLong_Check,
1350 to cover for cases (eg os.lstat) where longs are returned
1351 - Added support for file 'release' handling, which IMO is
1352 essential since this signals to a FS that writes to a file
1353 are complete (and therefore the file can now be disposed of
1354 meaningfully at the python filesystem's discretion)
1355 - Added '__init__' handler to base Fuse class, which allows
1356 your Python class to know the mountpoint and mount args,
1357 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001358
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001359 * General:
1360 - added 'mount.fuse' script (in util/ dir), which is meant to be
1361 symlinked from /sbin, and which allows FUSE filesystems to
1362 be mounted with the 'mount' command, and listed in fstab;
1363 also, mount arguments get passed to your filesystem
1364
1365
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013662003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001367
1368 * Fix kernel version detection (again). Bugreport by Peter Levart
1369
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013702003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001371
1372 * Applied read combining patch by Michael Grigoriev (tested by
1373 Valient Gough and Vincent Wagelaar)
1374
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013752003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001376
1377 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1378 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001379
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013802003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001381
1382 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001383
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013842003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001385
1386 * kernel version detection fix
1387
1388 * fusermount now uses "lazy" umount option
1389
1390 * fusermount can use modprobe with module-init-tools
1391
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013922003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001393
1394 * Integrated caching patch by Michael Grigoriev
1395
Miklos Szeredida4e4862003-09-08 11:14:11 +00001396 * Added "Filesystems" file with descriptions of projects using
1397 FUSE
1398
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001399 * Added patch by Michael Grigoriev to allow compliation of FUSE
1400 kernel module for 2.6 kernels
1401
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014022003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001403
1404 * And another spec-file fix by Achim Settelmeier
1405
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014062003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001407
1408 * Spec-file fix by Achim Settelmeier
1409
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014102003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001411
Miklos Szerediac361172004-11-02 19:14:14 +00001412 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001413
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014142003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001415
1416 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1417
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014182003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001419
1420 * Updated fuse.spec file (Achim Settelmeier)
1421
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014222003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001423
1424 * Version 1.0 released
1425
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014262003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001427
1428 * SuSE compilation fix by Juan-Mariano de Goyeneche
1429
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014302002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001431
1432 * The release() VFS call is now exported to the FUSE interface
1433
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014342002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001435
1436 * 64 bit file offset fixes in the fuse kernel module
1437
1438 * Added function 'fuse_exit()' which can be used to exit the main
1439 loop
1440
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014412002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001442
1443 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1444 an incompatible interface change.
1445
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014462002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001447
1448 * Portablility fix (bug reported by C. Chris Erway)
1449
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014502002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001451
1452 * Use Mark Glines' fd passing method for default operation instead
1453 of old reexec
1454
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014552002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001456
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001457 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1458
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014592002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001460
Miklos Szeredi60c23522002-10-24 09:19:43 +00001461 * fix incompatiblity with Red Hat kernels, with help from Nathan
1462 Thompson-Amato.
1463
Mark Glines65ba2192002-04-18 14:41:48 +000014642002-04-18 Mark Glines <mark@glines.org>
1465
1466 * added an alternative to fuse_mount(), called
1467 fuse_mount_ioslave(), which does not need to reexec the
1468 FUSE program.
1469 * added a small helper util needed by fuse_mount_ioslave().
1470
Mark Glines220635a2002-03-17 07:01:14 +000014712002-03-16 Mark Glines <mark@glines.org>
1472
1473 * use struct fuse_statfs everywhere possible to avoid problems
1474 with the headerfiles changing struct statfs member sizes
1475
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014762002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001477
1478 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1479
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014802002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001481
1482 * RPM support by Achim Settelmeier
1483
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014842002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001485
Miklos Szerediddc862a2002-01-09 13:46:10 +00001486 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001487
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014882002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001489
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001490 * Revaidate all path components not just the last, this means a
1491 very small performance penalty for being more up-to-date.
1492
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014932002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001494
1495 * Update and fix python interface
1496
Mark Glinesd84b39a2002-01-07 16:32:02 +000014972002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001498
Mark Glinesd84b39a2002-01-07 16:32:02 +00001499 * Added statfs() support to kernel, lib, examples, and perl!
1500
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015012001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001502
1503 * Better cross compilation support
1504
1505 * Ported to Compaq IPAQ
1506
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015072001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001508
Miklos Szeredife25def2001-12-20 15:38:05 +00001509 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001510 patch from Matt Ryan)
1511
Miklos Szeredife25def2001-12-20 15:38:05 +00001512 * Added flags to fusermount and to kernel interface to control
1513 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001514
Miklos Szeredife25def2001-12-20 15:38:05 +00001515 * Integrated fuse_set_operations() into fuse_new()
1516
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015172001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001518
1519 * Applied header protection + extern "C" patch by Roland
1520 Bauerschmidt
1521
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015222001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001523
Miklos Szeredie5183742005-02-02 11:14:04 +00001524 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001525
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015262001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001527
1528 * Cleaned up way of mounting simple filesystems.
1529
1530 * fuse_main() helper function added
1531
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015322001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001533
Miklos Szeredife25def2001-12-20 15:38:05 +00001534 * Optimized read/write operations, so that minimal copying of data
1535 is done
1536
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015372001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001538
1539 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001540
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015412001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001542
1543 * Fixed vfsmount reference leak in fuse_follow_link
1544
1545 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1546 userspace is ignored
1547
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015482001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001549
Miklos Szeredife25def2001-12-20 15:38:05 +00001550 * Started ChangeLog