blob: 50bd2db6a9d870f9b6762bc3ad4d939529715f7d [file] [log] [blame]
Miklos Szeredi3cc8a262005-11-29 11:04:27 +000012005-11-29 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Check if '-msoft-float' option is supported by compiler when
4 configuring for a 2.4.x kernel. Bug report by Mark Haney
5
Miklos Szerediead7f102005-11-28 16:02:27 +000062005-11-28 Miklos Szeredi <miklos@szeredi.hu>
7
8 * Fix bug in 32-bit file handle compatibility
9
Miklos Szeredia90b7342005-11-27 19:22:42 +0000102005-11-27 Miklos Szeredi <miklos@szeredi.hu>
11
12 * Block TERM, INT, HUP and QUIT signals in all but the main
13 thread. According to POSIX it's not specified which thread will
14 receive these signals.
Miklos Szeredi2b478112005-11-28 13:27:10 +000015
16 * Kernel changes:
17
18 * Check for directory aliasing on mkdir, not just on lookup
19
20 * Check for special node ID values in create+open operation
21
22 * Sync with -mm: readv, writev, aio_read and aio_write methods
23 added to file operations
24
25 * Cleanups: lookup code, page offset calculation
26
27 * ABI stepped to 7.4, changes:
28
29 * frsize member added to fuse_kstatfs structure
30
31 * added support for negative entry caching: on lowlevel API if
32 fuse_entry_param::ino is set to zero in reply to a lookup request,
33 the kernel will cache the dentry for the specified amount of time.
34
35 * libfuse: added 'negative_timeout' option: specifies how much
36 negative entries should be cached. Default is zero, to be
Miklos Szerediead7f102005-11-28 16:02:27 +000037 compatible with prior versions
Miklos Szeredi2b478112005-11-28 13:27:10 +000038
Miklos Szeredibac4c772005-11-23 13:35:54 +0000392005-11-22 Miklos Szeredi <miklos@szeredi.hu>
40
41 * Add detection of mainline FUSE code in running kernel
42
Miklos Szeredi8393e3d2005-11-21 11:37:01 +0000432005-11-21 Miklos Szeredi <miklos@szeredi.hu>
44
45 * Don't use async cancelation in multithreaded loop. This makes
46 it more portable to systems where read() is not async cancel safe.
47 Report from Andriy Gapon
48
Miklos Szeredi05c97842005-11-20 17:05:07 +0000492005-11-20 Miklos Szeredi <miklos@szeredi.hu>
50
51 * Warn if API version 11 compatibility is requested
52
Miklos Szeredi9c2ccb42005-11-17 17:11:48 +0000532005-11-17 Miklos Szeredi <miklos@szeredi.hu>
54
55 * More FreeBSD merge
56
Miklos Szeredi832ee442005-11-18 21:02:36 +000057 * fusermount: don't allow mountpoints with '\n', '\t', or '\\' in
58 them, because it corrupts /etc/mtab. Found by Thomas Biege
Miklos Szeredibac4c772005-11-23 13:35:54 +000059 CVE-2005-3531
Miklos Szeredi832ee442005-11-18 21:02:36 +000060
61 * libfuse: don't use system() to invoke 'fusermount -u ...'
62 because it breaks mountpoints with spaces in them into multiple
63 arguments
64
Miklos Szeredib3f99722005-11-16 13:00:24 +0000652005-11-16 Miklos Szeredi <miklos@szeredi.hu>
66
67 * Merge library part of FreeBSD port. Patch by Csaba Henk
68
Miklos Szeredi3a770472005-11-11 21:32:42 +0000692005-11-11 Miklos Szeredi <miklos@szeredi.hu>
70
71 * Use 64bit type for file handle, so the full range supported by
72 the kernel interface is available to applications
73
Miklos Szeredibcc53852005-11-10 09:54:41 +0000742005-11-10 Miklos Szeredi <miklos@szeredi.hu>
75
76 * Moved mountpoint argument checking from fuse_parse_cmdline() to
77 fuse_mount() in preparation to FreeBSD merge.
78
Miklos Szeredi4ec06812005-11-08 13:04:27 +0000792005-11-08 Miklos Szeredi <miklos@szeredi.hu>
80
81 * Remove unneeded close() from fuse_teardown(). Spotted by Csaba
82 Henk.
83
Miklos Szeredic706ad92005-11-07 15:30:48 +0000842005-11-07 Miklos Szeredi <miklos@szeredi.hu>
85
86 * Make the statfs change backwards compatible.
87
Miklos Szeredi52cb09d2005-11-07 11:59:00 +0000882005-11-06 Miklos Szeredi <miklos@szeredi.hu>
89
90 * Change ->statfs() method to use 'struct statvfs' instead of
91 'struct statfs'. This makes the API more portable since statvfs()
92 is defined by POSIX.
93
Miklos Szeredif7eec032005-10-28 13:09:50 +0000942005-10-28 Miklos Szeredi <miklos@szeredi.hu>
95
96 * Add fgetattr() method, which currently will only be called after
97 a successful call to a create() method.
98
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000992005-10-26 Miklos Szeredi <miklos@szeredi.hu>
100
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000101 * Change kernel ABI version to 7.3
102
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000103 * Add ACCESS operation. This is called from the access() system
Miklos Szeredid9079a72005-10-26 15:29:06 +0000104 call if 'default_permissions' mount option is not given, and is
105 not called on kernels 2.4.*
Miklos Szeredib0b13d12005-10-26 12:53:25 +0000106
Miklos Szeredid9079a72005-10-26 15:29:06 +0000107 * Add atomic CREATE+OPEN operation. This will only work with
108 2.6.15 (presumably) or later Linux kernels.
109
Miklos Szeredi11509ce2005-10-26 16:04:04 +0000110 * Add ftruncate() method. This will only work with 2.6.15
111 (presumably) or later Linux kernels.
112
113 * Fix kernel module compile if kernel source and build directories
114 differ. Report and initial patch by John Eastman
115
Miklos Szeredic4c12ae2005-10-20 14:48:50 +00001162005-10-18 Miklos Szeredi <miklos@szeredi.hu>
117
118 * lib: optimize buffer reallocation in fill_dir.
119
Miklos Szeredic9daeb12005-10-17 10:19:21 +00001202005-10-17 Miklos Szeredi <miklos@szeredi.hu>
121
122 * Released 2.4.1
123
Miklos Szeredif412d072005-10-14 21:24:32 +00001242005-10-14 Miklos Szeredi <miklos@szeredi.hu>
125
Miklos Szeredi062f0e52005-10-14 21:28:21 +0000126 * libfuse: add debug for write result (by Shaun Jackman) and
127 warnings for too large read/write result
Miklos Szeredif412d072005-10-14 21:24:32 +0000128
Miklos Szeredib75d4b92005-10-11 10:12:08 +00001292005-10-11 Miklos Szeredi <miklos@szeredi.hu>
130
131 * Spelling fixes, thanks to Ioannis Barkas
132
Miklos Szeredibaab5872005-10-10 08:41:14 +00001332005-10-10 Miklos Szeredi <miklos@szeredi.hu>
134
135 * fuse_common.h: use extern "C". Thanks to Valient Gough for the
136 patch
137
Miklos Szeredi4f5df5e2005-10-07 12:39:58 +00001382005-10-07 Miklos Szeredi <miklos@szeredi.hu>
139
140 * highlevel-lib: init() and destroy() methods didn't have an
141 initialized fuse_context. Bug reported by Tim Stoakes
142
Miklos Szeredif2491122005-10-04 10:10:41 +00001432005-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi83f253e2005-10-04 05:56:01 +0000144
145 * Released 2.4.0
146
Miklos Szeredi836ab712005-10-03 14:11:59 +00001472005-10-03 Miklos Szeredi <miklos@szeredi.hu>
148
149 * Add documentation to fuse_lowlevel.h
150
151 * API cleanups:
152
153 * Remove definitions of unused FATTR_CTIME / FUSE_SET_ATTR_CTIME
154
155 * Move fuse_mount() and fuse_unmount() to fuse_common.h
156
157 * Change the return type of fuse_reply_none() from int to void.
158
Miklos Szerediaf138742005-09-30 08:49:59 +00001592005-09-30 Miklos Szeredi <miklos@szeredi.hu>
160
161 * kernel: NFS exporting leaked dentries. Bug found and fixed by
162 Akshat Aranya.
163
Miklos Szeredidb016e02005-09-29 10:06:27 +00001642005-09-29 Miklos Szeredi <miklos@szeredi.hu>
165
166 * fusermount: fix error message, when unable to open /dev/fuse.
167 Report by Balázs Pozsár
168
Miklos Szeredi35200932005-09-28 14:50:49 +00001692005-09-28 Miklos Szeredi <miklos@szeredi.hu>
170
171 * UClibc fixes from Christian Magnusson
172
Miklos Szeredi8eddf642005-09-27 08:58:26 +00001732005-09-27 Miklos Szeredi <miklos@szeredi.hu>
174
175 * Added NAME="%k" to util/udev.rules. Fix by Mattias Wadman.
176
Miklos Szerediedec95c2005-09-26 10:22:22 +00001772005-09-26 Miklos Szeredi <miklos@szeredi.hu>
178
Miklos Szeredi39851ac2005-09-26 11:17:50 +0000179 * Released 2.4.0-rc1
180
1812005-09-26 Miklos Szeredi <miklos@szeredi.hu>
182
Miklos Szerediedec95c2005-09-26 10:22:22 +0000183 * fusermount: allow user umount in the case when /etc/mtab is a
184 symlink to /proc/mounts. Reported by Balázs Pozsár.
185
Miklos Szeredi6becf0b2005-09-23 11:25:28 +00001862005-09-23 Miklos Szeredi <miklos@szeredi.hu>
187
Miklos Szeredi8722dd22005-09-23 13:34:44 +0000188 * Check for special node ID values in lookup and creation
Miklos Szeredi6becf0b2005-09-23 11:25:28 +0000189
Miklos Szeredif45f3c12005-09-22 15:14:27 +00001902005-09-22 Miklos Szeredi <miklos@szeredi.hu>
191
192 * Slight optimization in returning EINVAL error in case of an open
193 with O_DIRECT flag.
194
Miklos Szeredi670d07a2005-09-20 11:36:32 +00001952005-09-20 Miklos Szeredi <miklos@szeredi.hu>
196
197 * Remove '--enable-auto-modprobe' configure flag. Module
198 auto-loading is now handled by the kernel.
199
Miklos Szeredid51fca12005-09-15 12:51:00 +00002002005-09-15 Miklos Szeredi <miklos@szeredi.hu>
201
202 * Install UDEV rule file, so /dev/fuse is created with mode 0666.
203 Help from Jens M. Noedler.
204
Miklos Szeredi7e7530d2005-09-14 15:20:26 +00002052005-09-14 Miklos Szeredi <miklos@szeredi.hu>
206
207 * Add memory cleanup on thread exit
208
Miklos Szeredid7ea8cf2005-09-13 12:53:58 +00002092005-09-13 Miklos Szeredi <miklos@szeredi.hu>
210
211 * Set umask to zero in fusexmp and fusexmp_fh, so that
212 files/directories are created with the requested mode.
213
Miklos Szeredi0d41f2f2005-09-12 16:40:26 +00002142005-09-12 Miklos Szeredi <miklos@szeredi.hu>
215
216 * Don't ignore read error in multithreaded loop
217
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +00002182005-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000219
Miklos Szeredi2277ecc2005-09-08 15:34:44 +0000220 * Released 2.4.0-pre2
221
2222005-09-08 Miklos Szeredi <miklos@szeredi.hu>
223
Miklos Szeredifcf9f8d2005-09-08 14:28:54 +0000224 * Revert lock and access operations. Postpone these until 2.5.
225
2262005-09-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi56487812005-09-02 13:05:06 +0000227
228 * Fix compile warning on 2.6.13 and later
229
Miklos Szeredi3b9e53f2005-09-02 16:04:48 +0000230 * Fix compilation on old kernels
Miklos Szeredi0716de02005-09-02 14:56:09 +0000231
Miklos Szeredi77ccf652005-08-19 14:40:27 +00002322005-08-19 Miklos Szeredi <miklos@szeredi.hu>
233
234 * lib: always refresh directory contents after rewinddir() to
235 conform to SUS. Bug found by John Muir.
236
Miklos Szeredia1482422005-08-14 23:00:27 +00002372005-08-15 Miklos Szeredi <miklos@szeredi.hu>
238
Miklos Szeredic43f9412005-08-15 15:10:48 +0000239 * Released 2.4.0-pre1
240
2412005-08-14 Miklos Szeredi <miklos@szeredi.hu>
242
Miklos Szeredia1482422005-08-14 23:00:27 +0000243 * lib: cleaned up (or messed up, depending on your POV) the low
244 level library API. Hopefully this is close to the final form.
245
Miklos Szeredicc1b97c2005-08-05 10:35:26 +00002462005-08-05 Miklos Szeredi <miklos@szeredi.hu>
247
248 * fusermount: don't allow empty mountpoint argument, which defeats
249 automatic umounting in fuse_main(). Bugreport by Václav Jůza
250
Miklos Szeredif6e0ec62005-08-03 09:11:06 +00002512005-08-03 Miklos Szeredi <miklos@szeredi.hu>
252
253 * fix warnings in fuse.h and fuse_lowlevel.h if -Wshadow compiler
254 option is used (Paul Alfille).
255
Miklos Szeredi6c0209a2005-08-02 13:31:28 +00002562005-08-02 Miklos Szeredi <miklos@szeredi.hu>
257
258 * highlevel-lib: added mount options "attr_timeout" and
259 "entry_timeout". These options control the length of time file
260 attributes and entries (names) are cached. Both default to 1.0
261 second.
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000262
263 * kernel: correctly handle zero timeout for attributes and entries
264
Miklos Szeredi56a61f02005-08-01 10:42:25 +00002652005-08-01 Miklos Szeredi <miklos@szeredi.hu>
266
267 * Added missing symbols to versionscript (Joshua J. Berry)
268
Miklos Szeredie77cc072005-08-01 11:58:51 +0000269 * kernel: implement two flags, open can set: 'direct_io' and
270 'keep_cache'. These correspond exactly to mount options
271 'direct_io' and 'kernel_cache', but allow a per-open setting.
272
273 * Move 'direct_io' and 'kernel_cache' mount option handling to
274 userspace. For both mount options, if the option is given, then
275 the respective open flag is set, otherwise the open flag is left
276 unmodified (so the filesystem can set it).
Miklos Szeredi7b28eae2005-08-01 12:48:30 +0000277
Miklos Szeredi31066bb2005-08-01 14:49:31 +0000278 * lib (highlevel): make open method optional
Miklos Szeredif6e0ec62005-08-03 09:11:06 +0000279
Miklos Szeredi2aaf24a2005-07-28 11:59:41 +00002802005-07-28 Miklos Szeredi <miklos@szeredi.hu>
281
282 * kernel: invalidate attributes for read/readdir/readlink
283 operations
284
285 * kernel: detect newer UML kernels
286
Miklos Szeredibfb99462005-07-26 11:07:55 +00002872005-07-26 Miklos Szeredi <miklos@szeredi.hu>
288
289 * Make the installation path of fuse.ko and mount.fuse
290 configurable through INSTALL_MOD_PATH and MOUNT_FUSE_PATH
291 environment variables. Requirement and help from Csaba Henk.
292
Miklos Szeredi8d4d1b82005-07-22 11:58:47 +00002932005-07-22 Miklos Szeredi <miklos@szeredi.hu>
294
295 * Fix bug, that causes filesystem requests to hang when unique
296 request counter becomes negative. This happens after
297 2,147,483,648 operations, so most people won't care. Thanks to
298 Franco Broi for the report and testing.
299
Miklos Szeredi9b813af2005-07-21 07:59:37 +00003002005-07-21 Miklos Szeredi <miklos@szeredi.hu>
301
302 * Don't change mtime/ctime/atime to local time on read/write.
303 Bug reported by Ben Grimm
304
305 * Install fuse_common.h and fuse_lowlevel.h. Report by Christian
306 Magnusson
307
308 * fusermount: use getopt_long() for option parsing. It allows the
309 use of '--' to stop argument scanning, so fusermount can now
310 operate on directories whose names begin with a '-'. Patch by
311 Adam Connell
312
Miklos Szeredibd10a7b2005-07-15 09:59:59 +00003132005-07-15 Miklos Szeredi <miklos@szeredi.hu>
314
315 * fusermount: add '-v', '--version' and '--help' options
316
317 * add inode based API
318
Miklos Szeredi2482fdb2005-07-12 13:23:53 +00003192005-07-12 Miklos Szeredi <miklos@szeredi.hu>
320
321 * lib: don't block signals in worker threads. Problem noticed by
322 Usarin Heininga
323
Miklos Szeredic902a852005-07-07 12:35:37 +00003242005-07-07 Miklos Szeredi <miklos@szeredi.hu>
325
326 * lib: don't allow both 'allow_other' and 'allow_root' options to
327 be given
328
Miklos Szeredi437d8112005-07-06 09:14:20 +00003292005-07-06 Miklos Szeredi <miklos@szeredi.hu>
330
331 * fusermount: check if mountpoint is empty (only '.' and '..' for
332 directories, and size = 0 for regular files). If "nonempty"
333 option is given, omit this check. This is useful, so users don't
334 accidentally hide data (e.g. from backup programs). Thanks to
335 Frank van Maarseveen for pointing this out.
336
337 * kernel: check if mandatory mount options ('fd', 'rootmode',
338 'user_id', 'group_id') are all given
339
Miklos Szeredi340d21f2005-07-06 10:07:52 +0000340 * lib: simplify 'readdir_ino' handling
341
Miklos Szeredie331c4b2005-07-06 13:34:02 +0000342 * lib: add mount options 'umask=M', 'uid=N', 'gid=N'
343
Miklos Szeredibb9f5172005-07-03 18:03:11 +00003442005-07-03 Miklos Szeredi <miklos@szeredi.hu>
345
346 * kernel: clean up 'direct_io' code
347
Miklos Szeredie1bcece2005-06-28 10:37:06 +00003482005-06-28 Miklos Szeredi <miklos@szeredi.hu>
349
350 * Add 'mount.fuse' written by Petr Klima
351
Miklos Szeredi866826d2005-06-28 12:22:57 +0000352 * '/dev/fuse' is created by 'make install' if does not yet exist
353
Miklos Szeredi129ef8f2005-06-20 13:48:42 +00003542005-06-20 Miklos Szeredi <miklos@szeredi.hu>
355
356 * Fix UCLIBC compile error. Patch by Christian Magnusson
357
Miklos Szerediec12fad2005-06-08 10:26:34 +00003582005-06-08 Miklos Szeredi <miklos@szeredi.hu>
359
360 * Enable the auto-loading of the module via access to the
361 corresponding device file. Patch by Takashi Iwai.
362
Miklos Szeredidaa690e2005-06-08 10:41:36 +0000363 * Allow mounting a regular file (over a regular file) for
364 unprivleged users.
365
Miklos Szeredi7495abf2005-06-08 11:01:17 +0000366 * Do not create temporary device file. Require "/dev/fuse" to
367 exist, and be readable/writable by the mounting user.
368
Miklos Szeredi46960ce2005-06-02 09:05:00 +00003692005-06-02 Miklos Szeredi <miklos@szeredi.hu>
370
Miklos Szeredi56478552005-06-02 10:29:00 +0000371 * Released 2.3.0
372
3732005-06-02 Miklos Szeredi <miklos@szeredi.hu>
374
Miklos Szeredi46960ce2005-06-02 09:05:00 +0000375 * Fix serious information leak: if the filesystem returns a short
376 byte count to a read request, and there are non-zero number of
377 pages which are not filled at all, these pages will not be zeroed.
378 Hence the user can read out previous memory contents. Found by
379 Sven Tantau.
380
Miklos Szeredi33be22d2005-05-27 09:12:43 +00003812005-05-27 Miklos Szeredi <miklos@szeredi.hu>
382
383 * Add "readdir_ino" mount option, which tries to fill in the d_ino
384 field in struct dirent. This mount option is ignored if "use_ino"
385 is used. It helps some programs (e.g. 'pwd' used over NFS from a
386 non-Linux OS). Patch by David Shaw.
387
Miklos Szeredif94e0102005-05-12 14:56:34 +00003882005-05-12 Miklos Szeredi <miklos@szeredi.hu>
389
Miklos Szeredieb009c42005-05-12 15:01:17 +0000390 * Released 2.3-rc1
391
3922005-05-12 Miklos Szeredi <miklos@szeredi.hu>
393
Miklos Szeredif94e0102005-05-12 14:56:34 +0000394 * File save in krusader and other editors doesn't work with sshfs,
395 because open() is interrupted by a periodic signal, and open()
396 restarts forever, without any progress. This could just be fixed
397 in open(), but the problem is more generic: if signals are
398 received more often than the filesystem can get the request to
399 userspace, it will never finish. This is probably only a
400 theoretical problem, nevertheless I'm removing the possibility to
401 interrupt requests with anything other than SIGKILL, even before
402 being sent to userspace. Bugreport by Eduard Czimbalmos.
403
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +00004042005-05-09 Miklos Szeredi <miklos@szeredi.hu>
405
Miklos Szeredic2a33ee2005-05-09 13:29:17 +0000406 * libfuse: add "tree_lock" rwlock, that is locked for write in
407 rename, unlink and rmdir, and locked for read in all other
408 operations. This should fix the rename/release race reported by
409 Valient Gough and others. The solution is very coarse, a finer
410 grained locking scheme could be implemented, but it would be much
411 more complex. Let's see whether this is good enough.
412
4132005-05-09 Miklos Szeredi <miklos@szeredi.hu>
414
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000415 * Released 2.3-pre7
416
Miklos Szeredi38009022005-05-08 19:47:22 +00004172005-05-08 Miklos Szeredi <miklos@szeredi.hu>
418
419 * Better fix for out of order FORGET messages. Now the
420 LOOKUP/FORGET messages are balanced exactly (one FORGET can
421 balance many lookups), so the order no longer matters. This
Miklos Szeredi0b9a06e2005-05-09 09:05:49 +0000422 changes the kernel ABI slightly, but the library remains backward
Miklos Szeredi38009022005-05-08 19:47:22 +0000423 compatible.
424
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +00004252005-05-06 Miklos Szeredi <miklos@szeredi.hu>
426
427 * Fix abort for out of order FORGET messages. Again. Spotted by
428 Franco Broi again. Sorry :)
429
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00004302005-04-29 Miklos Szeredi <miklos@szeredi.hu>
431
Miklos Szeredicb6413a2005-04-29 08:16:20 +0000432 * Released 2.3-pre6
433
4342005-04-29 Miklos Szeredi <miklos@szeredi.hu>
435
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000436 * Make fusermount work with fuse kernel modules not yet supporting
437 the "group_id" option (added for the purpose of stricter
438 permission checking).
439
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +00004402005-04-28 Miklos Szeredi <miklos@szeredi.hu>
441
442 * Check for hard-linked directories in lookup. This could cause
443 problems in the VFS, which assumes that such objects never exist.
444
445 * Make checking of permission for other users more strict. Now
446 the same privilege is required for the mount owner as for ptrace
447 on the process performing the filesystem operation.
Miklos Szeredi21019c92005-05-09 11:22:41 +0000448
Miklos Szeredi3efcb562005-04-23 13:34:29 +00004492005-04-23 Miklos Szeredi <miklos@szeredi.hu>
450
451 * Released 2.3-pre5
452
Miklos Szeredid001bf92005-04-22 07:54:11 +00004532005-04-22 Miklos Szeredi <miklos@szeredi.hu>
454
455 * Add -msoft-float to kernel module compile flags for 2.4.X. This
456 is needed on certain architectures. Report from Chris Kirby
457
458 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
459 Reported by David Shaw
460
Miklos Szeredi0111f9d2005-04-22 12:04:55 +0000461 * Remove "allow_root" option from kernel module, and implement
462 it's functionality in the library
463
464 * Fix Oops caused by premature release of fuse_conn. Clean up
465 related code, to be more readable
466
Miklos Szeredif9137452005-04-23 10:59:44 +0000467 * Sendfile should not use page cache if "direct_io" mount option
468 is given
469
Miklos Szeredib7640d22005-04-08 15:15:28 +00004702005-04-08 Miklos Szeredi <miklos@szeredi.hu>
471
472 * Fix Oops in case of nfs export. Spotted by David Shaw
473
Miklos Szeredi89814a12005-04-08 16:39:09 +0000474 * Fix another Oops in case of write over nfs with direct_io turned
475 on. Again spotted by David Shaw
476
Miklos Szerediab974562005-04-07 15:40:21 +00004772005-04-07 Miklos Szeredi <miklos@szeredi.hu>
478
Miklos Szeredi432d6182005-04-07 15:56:13 +0000479 * Released 2.3-pre4
480
4812005-04-07 Miklos Szeredi <miklos@szeredi.hu>
482
Miklos Szerediab974562005-04-07 15:40:21 +0000483 * lib: finalized new readdir() interface, which now supersedes the
484 getdir() method.
485
Miklos Szeredi30e093a2005-04-03 17:44:54 +00004862005-04-03 Miklos Szeredi <miklos@szeredi.hu>
487
488 * Released 2.3-pre3
489
4902005-04-03 Miklos Szeredi <miklos@szeredi.hu>
491
492 * Implement backward compatibility with version 5 kernel ABI
493
Miklos Szeredi18fce982005-04-01 21:07:35 +00004942005-04-01 Miklos Szeredi <miklos@szeredi.hu>
495
496 * Released 2.3-pre2
497
4982005-04-01 Miklos Szeredi <miklos@szeredi.hu>
499
500 * kernel: fix dirent offset handling
501
502 * lib: add readdir and releasedir methods
503
504 * lib: use fh field of fuse_file_info in opendir, readdir,
505 releasedir and fsyncdir methods
506
507 * lib: check kernel API version and bail out of it's old. This
508 will be properly fixed in the next release
509
5102005-03-31 Miklos Szeredi <miklos@szeredi.hu>
511
512 * Released 2.3-pre1
513
Miklos Szeredieab72ef2005-03-31 19:59:12 +00005142005-03-31 Miklos Szeredi <miklos@szeredi.hu>
515
516 * kernel API: add padding to structures, so 64bit and 32bit
517 compiler will return the same size
518
519 * kernel API: add offset field to fuse_dirent. This will allow
520 more sophisticated readdir interface for userspace
521
522 * kernel API: change major number to 6
523
524 * kernel: fix warnings on 64bit archs
525
526 * kernel: in case of API version mismatch, return ECONNREFUSED
527
Miklos Szeredi407e6a72005-03-25 12:19:43 +00005282005-03-24 Miklos Szeredi <miklos@szeredi.hu>
529
530 * kernel: trivial cleanups
531
Miklos Szeredi4283ee72005-03-21 12:09:04 +00005322005-03-21 Miklos Szeredi <miklos@szeredi.hu>
533
534 * Add fsyncdir() operation
535
Miklos Szeredid17da462005-03-21 11:47:04 +00005362005-03-19 Miklos Szeredi <miklos@szeredi.hu>
537
538 * kernel: add locking to background list (fixes previous fix)
539
5402005-03-18 Miklos Szeredi <miklos@szeredi.hu>
541
542 * kernel: fix bug which could cause leave busy inodes after
543 unmount, and Oops.
544
5452005-03-08 Miklos Szeredi <miklos@szeredi.hu>
546
547 * examples: add -lpthread to link flags to work around valgrind
548 quirk
549
550 * lib: don't exit threads, so cancelation doesn't cause segfault
551
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00005522005-03-04 Miklos Szeredi <miklos@szeredi.hu>
553
554 * kernel: fix nasty bug which could cause an Oops under certain
555 situations. Found by Magnus Johansson
556
Miklos Szeredif43f0632005-02-28 11:46:56 +00005572005-02-28 Miklos Szeredi <miklos@szeredi.hu>
558
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000559 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000560 permission checking in getdir() is too late. Thanks to Usarin
561 Heininga for pointing out this deficiency
562
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000563 * libfuse: added init() and destroy() methods to fuse_operations
564
Miklos Szeredif43f0632005-02-28 11:46:56 +0000565 * kernel: llseek() method for files and directories made explicit
566
567 * kernel: fixed inode leak in NFS export in case of nodeid
568 wrapping
569
Miklos Szeredied3c97c2005-02-15 17:04:50 +00005702005-02-15 Miklos Szeredi <miklos@szeredi.hu>
571
572 * libfuse: clean up some unitialized memory found with valgrind
573
Miklos Szeredi47c52982005-02-23 09:27:38 +0000574 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
575 explicitly linked libpthread for applications
576
Miklos Szeredia7169412005-02-10 07:35:05 +00005772005-02-10 Miklos Szeredi <miklos@szeredi.hu>
578
579 * fusermount: set umask, otherwise /etc/mtab will have
580 unpredictable permission. Spotted by Jindrich Kolorenc
581
582 * fusermount: set owner and group of /etc/mtab to original values
583 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000584
585 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredi21019c92005-05-09 11:22:41 +0000586
Miklos Szeredib92d9782005-02-07 16:10:49 +00005872005-02-07 Miklos Szeredi <miklos@szeredi.hu>
588
589 * Cleaned up directory reading (temporary file is not used)
590
Miklos Szerediff30a6c2005-02-02 10:53:59 +00005912005-02-02 Miklos Szeredi <miklos@szeredi.hu>
592
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000593 * Released 2.2
594
5952005-02-02 Miklos Szeredi <miklos@szeredi.hu>
596
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000597 * Fix possible race when operation is interrupted
598
Miklos Szeredi7a983952005-01-28 09:58:19 +00005992005-01-28 Miklos Szeredi <miklos@szeredi.hu>
600
Miklos Szeredie5183742005-02-02 11:14:04 +0000601 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000602
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00006032005-01-26 Miklos Szeredi <miklos@szeredi.hu>
604
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000605 * Released 2.2-pre6
606
6072005-01-26 Miklos Szeredi <miklos@szeredi.hu>
608
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000609 * Fix bug in link() operation which caused the wrong path to be
610 passed as the first argument. Found by Anton Altaparmakov
611
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00006122005-01-21 Miklos Szeredi <miklos@szeredi.hu>
613
614 * LIB: fix double reply in readdir operation
615
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000616 * fusermount: fix uid checking bug. Patch by Adam Connell
617
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000618 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000619 Patch by Keshava Gowda
620
Miklos Szeredi64074142005-01-20 08:48:11 +00006212005-01-20 Miklos Szeredi <miklos@szeredi.hu>
622
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000623 * KERNEL: provide correct llseek semantics for fuse device (fixes
624 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
625
6262005-01-20 Miklos Szeredi <miklos@szeredi.hu>
627
Miklos Szeredi64074142005-01-20 08:48:11 +0000628 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
629
Miklos Szeredi1adb2272005-01-18 21:19:58 +00006302005-01-18 Miklos Szeredi <miklos@szeredi.hu>
631
632 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
633 and RELEASEDIR. This ends the ugly hack of passing a file
634 descriptor to the kernel, and actually makes the code simpler.
635
Miklos Szeredi7db35c02005-01-17 09:46:28 +00006362005-01-17 Miklos Szeredi <miklos@szeredi.hu>
637
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000638 * Released 2.2-pre4
639
6402005-01-17 Miklos Szeredi <miklos@szeredi.hu>
641
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000642 * fusermount: remove capability setting, which was the cause of
643 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000644 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000645
Miklos Szeredidbe0f652005-01-15 14:32:56 +00006462005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000647
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000648 * fix compilation on 2.4 kernels (reported by Valient Gough)
649
650 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000651
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000652 * fusermount: improve parsing of /etc/fuse.conf
653
6542005-01-13 Miklos Szeredi <miklos@szeredi.hu>
655
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000656 * Remove 'mount_max' and 'user_allow_other' module options. These
657 are now checked by fusermount, and can be set in /etc/fuse.conf
658
659 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
660
Miklos Szeredi81394522005-01-11 14:24:18 +00006612005-01-11 Miklos Szeredi <miklos@szeredi.hu>
662
663 * KERNEL: fix possible inode allocation problem, where
664 sizeof(struct inode) is not aligned (found by Mike Waychison)
665
666 * KERNEL: use new follow_link/put_link methods
667
668 * KERNEL: cosmetic fixes
669
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00006702005-01-10 Miklos Szeredi <miklos@szeredi.hu>
671
672 * Released 2.2-pre3
673
6742005-01-10 Miklos Szeredi <miklos@szeredi.hu>
675
676 * Add missing code that was accidently left out
677
Miklos Szeredi8c7da232005-01-09 12:27:41 +00006782005-01-09 Miklos Szeredi <miklos@szeredi.hu>
679
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000680 * Released 2.2-pre2
681
6822005-01-09 Miklos Szeredi <miklos@szeredi.hu>
683
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000684 * Change "uid" mount option to "user_id" to avoid confusion with a
685 mount option "uid" commonly used by many filesystems
686
6872005-01-09 Miklos Szeredi <miklos@szeredi.hu>
688
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000689 * Released 2.2-pre1
690
6912005-01-09 Miklos Szeredi <miklos@szeredi.hu>
692
693 * If FUSE is configured in the kernel, don't build it by default
694
Miklos Szeredi2a927272005-01-07 11:14:15 +00006952005-01-07 Miklos Szeredi <miklos@szeredi.hu>
696
697 * Compile fix by Christian Magnusson
698
Miklos Szeredib6220192005-01-05 16:19:10 +00006992005-01-05 Miklos Szeredi <miklos@szeredi.hu>
700
701 * Fix compilation for 2.6.{0-5} kernels
702
Miklos Szeredi0f62d722005-01-04 12:45:54 +00007032005-01-04 Miklos Szeredi <miklos@szeredi.hu>
704
705 * KERNEL: if request is interrupted, still keep reference to used
706 inode(s) and file, so that FORGET and RELEASE are not sent until
707 userspace finishes the request.
708
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000709 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
710 request with the same information, which is more flexible,
711 simpler, works on embedded systems.
712
Miklos Szeredi0f62d722005-01-04 12:45:54 +00007132004-12-16 Miklos Szeredi <miklos@szeredi.hu>
714
715 * KERNEL ABI: update interface to make it independent of type
716 sizes. This will help on 64 bit architectures which can run
717 legacy 32 bit applications.
718
719 * KERNEL ABI: add "len" field to request headers. This will allow
720 sending/receiving requests in multiple chunks.
721
722 * KERNEL: handle file type change more intelligently
723
724 * LIB: "-o debug" option should disable backgrounding (fix by
725 Fabien Reygrobellet)
726
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00007272004-12-13 Miklos Szeredi <miklos@szeredi.hu>
728
729 * KERNEL: invalidate dentry/attributes if interrupted request
730 could leave filesystem in an unknown state.
731
Miklos Szeredie56818b2004-12-12 11:45:24 +00007322004-12-12 Miklos Szeredi <miklos@szeredi.hu>
733
734 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
735 These will cause some regressions, but stability is considered
736 more important. If any of these features turns out to be
737 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000738
Miklos Szeredie56818b2004-12-12 11:45:24 +0000739 * Make all requests interruptible (only with SIGKILL currently).
740 This can be used to break any deadlock produced by the userspace
741 filesystem accessing it's own exported files. The RELEASE request
742 is special, because if it's interrupted before sending it to
743 userspace it is still sent, but the reply is not awaited.
744
745 * If request is interrupted before being sent to userspace, and if
746 it hasn't yet got any side effects, it is always restarted,
747 regardless of the SA_RESTART flag. This makes these interruptions
748 transparent to the process.
749
750 * Remove shared-writable mmap support, which was prone to an
751 out-of-memory deadlock situation
752
753 * Remove INVALIDATE userspace initiated request
754
755 * Make readpages() synchronous. Asynchronous requests are
756 deadlock prone, since they cannot be interrupted.
757
758 * Add readv/writev support to fuse device operations
759
760 * Remove some printks, which userspace FS can use for a DoS
761 against syslog
762
763 * Remove 'large_read' mount option from 2.6 in kernel, check it in
764 fusermount instead
765
766 * LIB: improve compatibility with a fuse.h header installed in
767 ${prefix}/include which in turn includes the real header.
768
769 * LIB: improve compatibility by defining fuse_main() (which is now
770 not used), so old configure scripts find it.
771
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00007722004-12-10 Miklos Szeredi <miklos@szeredi.hu>
773
774 * When mounting on a subdirectory of / don't duplicate slashes at
775 the beggining of path (spotted by David Shaw)
776
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00007772004-12-09 Miklos Szeredi <miklos@szeredi.hu>
778
779 * Fix bug causing garbage in mount options (spotted by David Shaw)
780
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00007812004-12-07 Miklos Szeredi <miklos@szeredi.hu>
782
783 * Add 'writepage' flag to 'fuse_file_info'.
784
785 * More comments in fuse.h
786
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000787 * Get rid of double underscores
788
Miklos Szeredi799993c2004-12-04 21:20:05 +00007892004-12-04 Miklos Szeredi <miklos@szeredi.hu>
790
791 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
792
793 * helper.c: add -ho option, which only displays the options not
794 the usage header. This can be used by filesystems which have
795 their own options.
796
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00007972004-12-03 Miklos Szeredi <miklos@szeredi.hu>
798
799 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
800 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
801 including the fuse header
802
803 * Add binary compatibility to 2.1 version of library with symbol
804 versioning
805
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00008062004-12-03 Miklos Szeredi <miklos@szeredi.hu>
807
808 * Released 2.1
809
Miklos Szeredi039322d2004-12-01 18:39:12 +00008102004-12-01 Miklos Szeredi <miklos@szeredi.hu>
811
812 * kernel: clean up writing functions
813
814 * kernel: no allocation on write in direct_io mode
815
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000816 * move linux/fuse.h to fuse_kernel.h
817
Miklos Szeredi83a07442004-11-30 18:25:20 +00008182004-11-30 Miklos Szeredi <miklos@szeredi.hu>
819
820 * kernel: clean up reading functions
821
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00008222004-11-29 Miklos Szeredi <miklos@szeredi.hu>
823
824 * kernel: make readpage() uninterruptible
825
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000826 * kernel: check readonly filesystem flag in fuse_permission
827
828 * lib: don't die if version file not found and new style device
829 exists
830
831 * lib: add '-r' option, which is short for '-o ro'
832
833 * fusermount: simplify device opening
834
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000835 * kernel: when direct_io is turend on, copy data directly to
836 destination without itermediate buffer. More efficient and safer,
837 since no allocation is done.
838
839 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000840
841 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000842
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00008432004-11-26 Miklos Szeredi <miklos@szeredi.hu>
844
845 * libfuse API change: open, read, write, flush, fsync and release
846 are passed a 'struct fuse_file_info' pointer containing the open
847 flags (open and release), and the file handle. Verion changed to
848 3.0.
849
Miklos Szeredia25d4c22004-11-23 22:32:16 +00008502004-11-23 Miklos Szeredi <miklos@szeredi.hu>
851
852 * More cleanups in the kernel
853
854 * The 10,229 charater device number has been assigned for FUSE
855
856 * Version file checking fix (reported by Christian Magnusson)
857
858 * fusermount: opening the fuse device now doesn't need /sys.
859
860 * Optimize reading by controlling the maximum readahead based on
861 the 'max_read' mount option
862
863 * fixes for UCLIBC (Christian Magnusson)
864
Miklos Szeredi13ed4822004-11-20 11:12:21 +00008652004-11-19 Miklos Szeredi <miklos@szeredi.hu>
866
867 * Cleaned up kernel in preparation for merge into mainline:
868
869 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
870
871 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
872
873 * __user annotations for sparse
874
875 * allocate individual pages instead of kmalloc in fuse_readdir,
876 fuse_read and fuse_write.
877
878 * Fix NFS export in case "use_ino" mount option is given
879
Miklos Szeredif3845c42004-11-20 11:18:34 +0000880 * Make libfuse and fusermount compatible with future versions
881
882 * fusermount: properly add mount options to /etc/mtab
883
8842004-11-15 Miklos Szeredi <miklos@szeredi.hu>
885
886 * fusermount: do not resolve last component of mountpoint on if it
887 is '.' or '..'. This new path resolvation is now done on mount as
888 well as unmount. This enables relative paths to work on unmount.
889
890 * fusermount: parse common mount options like "ro", "rw", etc...
891
892 * Allow module params to be changed through sysfs
893
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00008942004-11-14 Miklos Szeredi <miklos@szeredi.hu>
895
896 * Released 2.1-pre1
897
8982004-11-14 Miklos Szeredi <miklos@szeredi.hu>
899
900 * Fix bug in fuse_readpages() causing Oops in certain situations.
901 Bug found by Vincenzo Ciancia.
902
903 * Fix compilation with kernels versions > 2.6.9.
904
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00009052004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000906
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000907 * Check kernel interface version in fusermount to prevent
908 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000909
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000910 * No need to allocate fuse_conn until actual mount happens
911
912 * Fix potential race between umount and fuse_invalidate
913
914 * Check superblock of proc file in addition to inode number
915
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000916 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000917
Miklos Szeredi51ec1032004-11-10 11:52:26 +00009182004-11-10 Miklos Szeredi <miklos@szeredi.hu>
919
920 * Separate configure for the kernel directory
921
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000922 * Don't allow write to return more than 'count'
923
924 * Extend kernel interface for future use
925
Miklos Szeredi51ec1032004-11-10 11:52:26 +00009262004-11-09 Miklos Szeredi <miklos@szeredi.hu>
927
928 * Fix 'makeconf.sh' to use autoreconf if available
929
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00009302004-11-08 Miklos Szeredi <miklos@szeredi.hu>
931
Miklos Szeredid507c732004-11-08 17:32:25 +0000932 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
933 compatibility with earlier versions. To compile earier versions
934 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
935 Do not use the "use_ino" mount flag with filesystems compiled with
936 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000937
938 * Add pkg-config support. To compile a FUSE based filesystem you
939 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
940 or similar. Note, that the PKG_CONFIG_PATH environment variable
941 usually needs to be set to "/usr/local/lib/pkgconfig".
942
943 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000944
Miklos Szeredia13d9002004-11-02 17:32:03 +00009452004-11-02 Miklos Szeredi <miklos@szeredi.hu>
946
947 * Added "use_ino" mount option. This enables the filesystems to
948 set the st_ino field on files
949
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00009502004-11-01 Miklos Szeredi <miklos@szeredi.hu>
951
952 * Fix compile problems with ancient (<=2.4.18) kernels (reported
953 by Jeremy Smith)
954
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000955 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
956
957 * Clear the 'exited' flag when mail loop is finished
958
Miklos Szeredie989f0d2004-10-28 20:24:58 +00009592004-10-28 Miklos Szeredi <miklos@szeredi.hu>
960
961 * Make xattr functions work under 2.6 (bug found by Vincenzo
962 Ciancia)
963
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00009642004-10-26 Miklos Szeredi <miklos@szeredi.hu>
965
966 * Reset request in fuse_flush() (bugreport by David Shaw)
967
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00009682004-10-21 Miklos Szeredi <miklos@szeredi.hu>
969
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000970 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000971 error code
972
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000973 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000974 make it easier to implement a custom event loop.
975
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000976 * Use daemon() call to background the filesystem after mounting.
977 This function closes the standard input, output and error and
978 changes the current working directory to "/".
979
Miklos Szeredi127d49b2004-10-14 13:33:39 +00009802004-10-14 Miklos Szeredi <miklos@szeredi.hu>
981
982 * Released 1.9
983
Miklos Szeredid45baf42004-10-10 07:56:12 +00009842004-10-09 Miklos Szeredi <miklos@szeredi.hu>
985
986 * Don't allow fuse_flush() to be interrupted (bug found by David
987 Shaw)
988
Miklos Szeredi1f18db52004-09-27 06:54:49 +00009892004-09-27 Miklos Szeredi <miklos@szeredi.hu>
990
991 * Add PID to fuse_context. Patch by Steven James
992
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000993 * Change file handle type to 'unsigned long' in kernel interface
994
Miklos Szeredid169f312004-09-22 08:48:26 +00009952004-09-22 Miklos Szeredi <miklos@szeredi.hu>
996
997 * A slight API change: fuse_get_context() doesn't need the "fuse"
998 pointer, but the returned context contains it instead. The
999 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +00001000
1001 * Fix mounting and umounting FUSE filesystem under another FUSE
1002 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +00001003
Miklos Szeredic2309912004-09-21 13:40:38 +000010042004-09-21 Miklos Szeredi <miklos@szeredi.hu>
1005
1006 * Fix deadlock in case of memory allocation failure. Patch by
1007 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +00001008
Miklos Szeredib2cf9562004-09-16 08:42:40 +000010092004-09-16 Miklos Szeredi <miklos@szeredi.hu>
1010
1011 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +00001012
Miklos Szeredi65afea12004-09-14 07:13:45 +000010132004-09-14 Miklos Szeredi <miklos@szeredi.hu>
1014
1015 * Check temporary file creation failure in do_getdir(). Bug
1016 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001017
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +000010182004-09-13 Miklos Szeredi <miklos@szeredi.hu>
1019
1020 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +00001021
1022 * Make requests non-interruptible so race with FORGET is avoided.
1023 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +00001024
1025 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001026
Miklos Szeredi8b2d3332004-09-09 08:44:01 +000010272004-09-09 Miklos Szeredi <miklos@szeredi.hu>
1028
1029 * Fix bug in case two FORGETs for the same node are executed in
1030 the wrong order. Bug spotted and endured for months by Franco
1031 Broi, and logfile for solution provided by Terje Oseberg
1032
Miklos Szeredi12085102004-09-02 18:13:57 +000010332004-09-01 Miklos Szeredi <miklos@szeredi.hu>
1034
1035 * Add -D_REENTRANT to the compile flags
1036
1037 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +00001038
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +000010392004-08-16 Miklos Szeredi <miklos@szeredi.hu>
1040
1041 * Change release method to be non-interruptible. Fixes bug
1042 causing missing release() call when program which has opened files
1043 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +00001044
Miklos Szeredi891b8742004-07-29 09:27:49 +000010452004-07-29 Miklos Szeredi <miklos@szeredi.hu>
1046
1047 * Add fuse_invalidate() to library API
1048
Miklos Szeredi94ed76a2004-07-26 19:38:45 +000010492004-07-26 Miklos Szeredi <miklos@szeredi.hu>
1050
1051 * Check permissions in setattr if 'default_permissions' flag is
1052 set. Bug spotted by Damjan Lango
1053
Miklos Szeredid66d3942004-07-24 13:47:44 +000010542004-07-24 Miklos Szeredi <miklos@szeredi.hu>
1055
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001056 * 'large_read' mount option removed for 2.6 kernels, since the
1057 default (dynamic read size) is better
1058
1059 * Extend kernel API with file handles. A file handle is returned
1060 by open, and passed to read, write, flush, fsync and release.
1061 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +00001062
Miklos Szeredi209f5d02004-07-24 19:56:16 +00001063 * Security changes:
1064
1065 * Change the current directory to the mountpoint before checking
1066 the permissions and mount filesystem on "."
1067
1068 * By default don't modprobe the fuse module for non-root. The old
1069 behavior can be restored with the '--enable-auto-modprobe' flag of
1070 ./configure
1071
1072 * By default don't allow shared writable mappings for non-root.
1073 The old behavior can be restored with the 'user_mmap=1' module
1074 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +00001075
Miklos Szeredibd7661b2004-07-23 17:16:29 +000010762004-07-23 Miklos Szeredi <miklos@szeredi.hu>
1077
1078 * Clean up mount option passing to fusermount and to fuse_new()
1079 BEWARE: this changes the userspace API slightly, and the command
1080 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +00001081
Miklos Szeredi58865372004-07-20 14:22:26 +000010822004-07-20 Miklos Szeredi <miklos@szeredi.hu>
1083
1084 * Optimize reading under 2.6 kernels by issuing multiple page
1085 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +00001086
Miklos Szeredi84ba0f42004-07-18 11:32:59 +000010872004-07-18 Miklos Szeredi <miklos@szeredi.hu>
1088
1089 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001090
Miklos Szeredi069c9502004-07-16 16:17:02 +000010912004-07-16 Miklos Szeredi <miklos@szeredi.hu>
1092
1093 * Separate directory entry and inode attribute validity timer
1094
1095 * New write semaphore to stop page writeback during truncate
1096
1097 * Fsync now waits for all writes to complete before sending the
1098 request
1099
1100 * Optimization: if a page is completely written by
1101 fuse_commit_write(), clear the dirty flag and set the uptodate
1102 flag for that page
1103
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +00001104 * Some memory cleanup at exit
1105
Miklos Szeredi2529ca22004-07-13 15:36:52 +000011062004-07-13 Miklos Szeredi <miklos@szeredi.hu>
1107
1108 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +00001109 disable the "hide if open" behavior of unlink/rename.
1110
1111 * If temporary buffer allocation fails in raw read, fall back to a
1112 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +00001113
Miklos Szeredi73798f92004-07-12 15:55:11 +000011142004-07-12 Miklos Szeredi <miklos@szeredi.hu>
1115
1116 * Fix bug in do_open() in libfuse: open count was incremented
1117 after the reply is sent so it could race with unlink/forget and
1118 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +00001119
Miklos Szeredi015fe702004-07-12 11:52:24 +000011202004-07-08 Miklos Szeredi <miklos@szeredi.hu>
1121
1122 * When performing create or remove operation, refresh the parent's
1123 attributes on next revalidate, as i_nlink (and maybe size/time)
1124 could be inacurate.
1125
1126 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
1127 pages (2.6 only)
1128
1129 * Set set_page_dirty address space operation (2.6 only)
1130
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011312004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +00001132
1133 * Minor fix in read: print debug info even if read size is zero
1134
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011352004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +00001136
1137 * Fix race between truncate and writepage (fsx-linux now runs
1138 without error)
1139
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011402004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001141
1142 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
1143 by Mattias Wadman)
1144
1145 * Added option for direct read/write (-r)
1146
1147 * Fix revalidate time setting for newly created inodes
1148
Miklos Szerediacb4d362004-07-02 16:20:45 +00001149 * Remove uid==0 check for '-x' option in fusermount (kernel checks
1150 this)
1151
1152 * fuse_main() only installs handlers for signals (out of INT, HUP,
1153 TERM, PIPE), for which no handler has yet been installed
1154
1155 * Add module option 'user_allow_other' which if set to non-zero
1156 will allow non root user to specify the 'allow_other' mount option
1157 ('-x' option of fusermount)
1158
Miklos Szeredi014d7d22004-07-02 21:22:37 +00001159 * Fix deadlock between page writeback completion and truncate
1160 (bug found by Valient Gough with the fsx-linux utility)
1161
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011622004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +00001163
1164 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +00001165 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
1166 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +00001167
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011682004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +00001169
1170 * Acquire inode->i_sem before open and release methods to prevent
1171 concurrent rename or unlink operations.
1172
Miklos Szeredi65cf7c72004-06-30 11:34:56 +00001173 * Make __fuse_read_cmd() read only one command. This allows
1174 multiplexing the fuse file descriptor with other event sources
1175 using select() or poll() (patch by Jeff Harris)
1176
1177 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
1178
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011792004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +00001180
1181 * Fix file offset wrap around at 4G when doing large reads
1182
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011832004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001184
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001185 * Fix memory leak in open (Valient Gough)
1186
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011872004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +00001188
Miklos Szeredi1ea9c962004-06-24 21:00:00 +00001189 * Add "close after delete" support to libfuse (patch by Valient
1190 Gough)
1191
1192 * Cancel all worker threads before exit in multithreaded mode
1193
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011942004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +00001195
1196 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +00001197
1198 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +00001199
1200 * Work with newer libtool (1.5a)
1201
1202 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +00001203
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012042004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +00001205
1206 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +00001207
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012082004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +00001209
1210 * Fix possible inode leak in userspace in case of unfinished
1211 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +00001212
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012132004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +00001214
1215 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +00001216
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012172004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +00001218
1219 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +00001220
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012212004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +00001222
1223 * Build shared library as well as static (using libtool)
1224
1225 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
1226 there has not been a release with the previous minor number, and I
1227 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +00001228
1229 * Change fuse_main(), so that default behavior is to go into
1230 background if mount is successful. '-f' and '-d' options disable
1231 backgrounding. This fixes the "Why does my FUSE daemon hang?"
1232 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +00001233
1234 * Cache ENOSYS (function not implemented) errors on *xattr, flush
1235 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +00001236
1237 * Don't call getdir method from open() only from first readdir().
1238 Open is sometimes just used to store the current directory
1239 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +00001240
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012412004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +00001242
1243 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +00001244
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012452004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +00001246
1247 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +00001248
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012492004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +00001250
1251 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +00001252
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012532004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +00001254
1255 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +00001256
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012572004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +00001258
1259 * Replaced binary mount data with text options
1260
1261 * Show FUSE specific mount options in /proc/mounts
1262
1263 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
1264
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012652004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +00001266
1267 * Check some limits so userspace won't get too big requests
1268
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012692004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +00001270
1271 * Kill compile warning
1272
1273 * Upgraded user-mount patch for 2.6.5
1274
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012752004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +00001276
1277 * Add detection of user-mode-linux to configure
1278
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012792004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +00001280
1281 * fixed zero size case for getxattr and listxattr
1282
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012832004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +00001284
1285 * new fusermount flag '-z': lazy unmount, default is not lazy
1286
Miklos Szeredi3ed84232004-03-30 15:17:26 +00001287 * Extended attributes operations added (getxattr, setxattr,
1288 listxattr, removexattr)
1289
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012902004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +00001291
1292 * If filesystem doesn't define a statfs operation, then an
1293 all-zero default statfs is returned instead of ENOSYS
1294
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012952004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +00001296
1297 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
1298
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012992004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001300
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001301 * Fix for uClinux (Christian Magnusson)
1302
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013032004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +00001304
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +00001305 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +00001306
Miklos Szeredi254d5ed2004-03-02 11:11:24 +00001307 * More kernel interface changes:
1308
1309 * Lookup/getattr return cache timeout values
1310
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013112004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +00001312
1313 * Clean up option parsing in fuse_main()
1314
Miklos Szeredi33c319c2004-02-25 09:19:29 +00001315 * Added fuse_get() function which returns the fuse object created
1316 by fuse_main()
1317
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013182004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +00001319
Miklos Szeredic40748a2004-02-20 16:38:45 +00001320 * removed old way of mounting (fusermount mountpoint program)
1321
Miklos Szeredib5958612004-02-20 14:10:49 +00001322 * more kernel interface changes:
1323
1324 * added nanosecond precision to file times
1325
Miklos Szeredic40748a2004-02-20 16:38:45 +00001326 * removed interface version from mount data
1327
1328 * added /proc/fs/fuse/version which contains MAJOR.MINOR
1329
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013302004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +00001331
1332 * statfs library API changed to match other methods. Since this
1333 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
1334
Miklos Szeredi76f65782004-02-19 16:55:40 +00001335 * kernel interface changes follow:
1336
1337 * statfs changed to 64 bits, added 'bavail' field
1338
1339 * add generation number to lookup result
1340
1341 * optimized mknod/mkdir/symlink/link (no separate lookup is
1342 needed)
1343
1344 * rdev size increased to 32 bits for mknod
1345
1346 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001347
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013482004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +00001349
1350 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +00001351
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013522004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +00001353
1354 * Added user-mount.2.6.2-rc3.patch
1355
1356 * Add FS_SAFE flag to fuse filesystem
1357
1358 * fusermount should allow (un)mounting for non-root even if not
1359 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +00001360
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013612004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +00001362
1363 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +00001364
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013652004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +00001366
1367 * Added check for i_size_read/write functions to configure.in
1368 (patch by Valient Gough)
1369
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013702004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +00001371
1372 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +00001373
1374 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +00001375
1376 * Readpage calls flush_dcache_page() after storing data
1377
1378 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +00001379
1380 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +00001381
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013822004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +00001383
1384 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +00001385
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013862004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +00001387
1388 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +00001389
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000013902004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +00001391
1392 * Added -q option for fusermount
1393
1394 * fuse_unmount() now uses -q option of fusermount, so no error is
1395 printed if the cause of the program exit is that the filesystem
1396 has already been unmounted
1397
Miklos Szeredif4f8b892004-01-27 17:04:59 +00001398 * Fix i_nlink correctness after rmdir/unlink
1399
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014002004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001401
Miklos Szeredib1158392004-01-26 14:43:12 +00001402 * Released 1.1-pre2
1403
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014042004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +00001405
Miklos Szeredi307242f2004-01-26 11:28:44 +00001406 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +00001407
1408 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +00001409
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014102004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001411
1412 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +00001413
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014142004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +00001415
1416 * Write all pending data before a RELEASE operation
1417
1418 * Suppress 'Bad file descriptor' warning on exit
1419
1420 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001421 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001422
Miklos Szeredib1158392004-01-26 14:43:12 +00001423 * New fusermount option '-l' which enables big reads. Big reads
1424 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001425
1426 * fuse_main() can accept fusermount arguments after a '--'
1427
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014282004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001429
1430 * Support for exporting filesystem over NFS (see README.NFS)
1431
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014322004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001433
1434 * Support non-blocking writepage on 2.6. This makes FUSE behave
1435 much more nicely in low-memory situations
1436
1437 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1438 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001439
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014402004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001441
1442 * Code cleanups
1443
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014442004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001445
1446 * Released 1.1-pre1
1447
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014482004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001449
1450 * Integrated 2.6 kernel support patch by Michael Grigoriev
1451
1452 * Improvements and cleanups for 2.6 kernels
1453
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014542004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001455
Miklos Szeredie5183742005-02-02 11:14:04 +00001456 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001457
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014582003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001459
1460 * Added major+minor version to library API, and minor version to
1461 kernel API
1462
David McNab7a19caf2003-12-13 02:05:46 +000014632003-12-13 David McNab <david@rebirthing.co.nz>
1464
1465 * Implemented fsync support in examples/example.py
1466
1467 * Implemented 'fsync' and 'statfs' methods in python
1468 interface
1469
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014702003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001471
Miklos Szeredie5183742005-02-02 11:14:04 +00001472 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001473
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001474 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001475
David McNab8bf62632003-12-11 22:49:22 +000014762003-12-12 David McNab <david@rebirthing.co.nz>
1477
1478 * Added distutils support to the python module, as per standard
1479 python development practice
1480
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000014812003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001482
1483 * Add file locking for mount/unmount (based on patch by Valient
1484 Gough)
1485
14862003-12-11 David McNab <david@rebirthing.co.nz>
1487
1488 * Python filesystem - was broken with python2.3, now fixed:
1489 - changed PyTuple_* calls to PySequence_*, because os.lstat
1490 is no longer returning a pure tuple
1491 - changed PyInt_Check() calls to also call PyLong_Check,
1492 to cover for cases (eg os.lstat) where longs are returned
1493 - Added support for file 'release' handling, which IMO is
1494 essential since this signals to a FS that writes to a file
1495 are complete (and therefore the file can now be disposed of
1496 meaningfully at the python filesystem's discretion)
1497 - Added '__init__' handler to base Fuse class, which allows
1498 your Python class to know the mountpoint and mount args,
1499 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001500
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001501 * General:
1502 - added 'mount.fuse' script (in util/ dir), which is meant to be
1503 symlinked from /sbin, and which allows FUSE filesystems to
1504 be mounted with the 'mount' command, and listed in fstab;
1505 also, mount arguments get passed to your filesystem
1506
1507
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015082003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001509
1510 * Fix kernel version detection (again). Bugreport by Peter Levart
1511
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015122003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001513
1514 * Applied read combining patch by Michael Grigoriev (tested by
1515 Valient Gough and Vincent Wagelaar)
1516
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015172003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001518
1519 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1520 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001521
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015222003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001523
1524 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001525
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015262003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001527
1528 * kernel version detection fix
1529
1530 * fusermount now uses "lazy" umount option
1531
1532 * fusermount can use modprobe with module-init-tools
1533
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015342003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001535
1536 * Integrated caching patch by Michael Grigoriev
1537
Miklos Szeredida4e4862003-09-08 11:14:11 +00001538 * Added "Filesystems" file with descriptions of projects using
1539 FUSE
1540
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001541 * Added patch by Michael Grigoriev to allow compliation of FUSE
1542 kernel module for 2.6 kernels
1543
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015442003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001545
1546 * And another spec-file fix by Achim Settelmeier
1547
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015482003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001549
1550 * Spec-file fix by Achim Settelmeier
1551
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015522003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001553
Miklos Szerediac361172004-11-02 19:14:14 +00001554 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001555
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015562003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001557
1558 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1559
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015602003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001561
1562 * Updated fuse.spec file (Achim Settelmeier)
1563
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015642003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001565
1566 * Version 1.0 released
1567
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015682003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001569
1570 * SuSE compilation fix by Juan-Mariano de Goyeneche
1571
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015722002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001573
1574 * The release() VFS call is now exported to the FUSE interface
1575
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015762002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001577
1578 * 64 bit file offset fixes in the fuse kernel module
1579
1580 * Added function 'fuse_exit()' which can be used to exit the main
1581 loop
1582
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015832002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001584
1585 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1586 an incompatible interface change.
1587
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015882002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001589
1590 * Portablility fix (bug reported by C. Chris Erway)
1591
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015922002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001593
1594 * Use Mark Glines' fd passing method for default operation instead
1595 of old reexec
1596
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000015972002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001598
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001599 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1600
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016012002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001602
Miklos Szeredi60c23522002-10-24 09:19:43 +00001603 * fix incompatiblity with Red Hat kernels, with help from Nathan
1604 Thompson-Amato.
1605
Mark Glines65ba2192002-04-18 14:41:48 +000016062002-04-18 Mark Glines <mark@glines.org>
1607
1608 * added an alternative to fuse_mount(), called
1609 fuse_mount_ioslave(), which does not need to reexec the
1610 FUSE program.
1611 * added a small helper util needed by fuse_mount_ioslave().
1612
Mark Glines220635a2002-03-17 07:01:14 +000016132002-03-16 Mark Glines <mark@glines.org>
1614
1615 * use struct fuse_statfs everywhere possible to avoid problems
1616 with the headerfiles changing struct statfs member sizes
1617
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016182002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001619
1620 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1621
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016222002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001623
1624 * RPM support by Achim Settelmeier
1625
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016262002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001627
Miklos Szerediddc862a2002-01-09 13:46:10 +00001628 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001629
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016302002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001631
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001632 * Revaidate all path components not just the last, this means a
1633 very small performance penalty for being more up-to-date.
1634
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016352002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001636
1637 * Update and fix python interface
1638
Mark Glinesd84b39a2002-01-07 16:32:02 +000016392002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001640
Mark Glinesd84b39a2002-01-07 16:32:02 +00001641 * Added statfs() support to kernel, lib, examples, and perl!
1642
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016432001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001644
1645 * Better cross compilation support
1646
1647 * Ported to Compaq IPAQ
1648
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016492001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001650
Miklos Szeredife25def2001-12-20 15:38:05 +00001651 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001652 patch from Matt Ryan)
1653
Miklos Szeredife25def2001-12-20 15:38:05 +00001654 * Added flags to fusermount and to kernel interface to control
1655 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001656
Miklos Szeredife25def2001-12-20 15:38:05 +00001657 * Integrated fuse_set_operations() into fuse_new()
1658
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016592001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001660
1661 * Applied header protection + extern "C" patch by Roland
1662 Bauerschmidt
1663
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016642001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001665
Miklos Szeredie5183742005-02-02 11:14:04 +00001666 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001667
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016682001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001669
1670 * Cleaned up way of mounting simple filesystems.
1671
1672 * fuse_main() helper function added
1673
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016742001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001675
Miklos Szeredife25def2001-12-20 15:38:05 +00001676 * Optimized read/write operations, so that minimal copying of data
1677 is done
1678
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016792001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001680
1681 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001682
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016832001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001684
1685 * Fixed vfsmount reference leak in fuse_follow_link
1686
1687 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1688 userspace is ignored
1689
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000016902001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001691
Miklos Szeredife25def2001-12-20 15:38:05 +00001692 * Started ChangeLog