blob: e1051c11eb6fc6f1974d11380ffe79b4673d6933 [file] [log] [blame]
Miklos Szeredi38009022005-05-08 19:47:22 +000012005-05-08 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Better fix for out of order FORGET messages. Now the
4 LOOKUP/FORGET messages are balanced exactly (one FORGET can
5 balance many lookups), so the order no longer matters. This
6 changes the ABI slightly, but the library remains backward
7 compatible.
8
Miklos Szeredid0cf1fb2005-05-06 10:10:38 +000092005-05-06 Miklos Szeredi <miklos@szeredi.hu>
10
11 * Fix abort for out of order FORGET messages. Again. Spotted by
12 Franco Broi again. Sorry :)
13
Miklos Szeredi9372ffd2005-04-29 08:03:24 +0000142005-04-29 Miklos Szeredi <miklos@szeredi.hu>
15
Miklos Szeredicb6413a2005-04-29 08:16:20 +000016 * Released 2.3-pre6
17
182005-04-29 Miklos Szeredi <miklos@szeredi.hu>
19
Miklos Szeredi9372ffd2005-04-29 08:03:24 +000020 * Make fusermount work with fuse kernel modules not yet supporting
21 the "group_id" option (added for the purpose of stricter
22 permission checking).
23
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +0000242005-04-28 Miklos Szeredi <miklos@szeredi.hu>
25
26 * Check for hard-linked directories in lookup. This could cause
27 problems in the VFS, which assumes that such objects never exist.
28
29 * Make checking of permission for other users more strict. Now
30 the same privilege is required for the mount owner as for ptrace
31 on the process performing the filesystem operation.
32
Miklos Szeredi3efcb562005-04-23 13:34:29 +0000332005-04-23 Miklos Szeredi <miklos@szeredi.hu>
34
35 * Released 2.3-pre5
36
Miklos Szeredid001bf92005-04-22 07:54:11 +0000372005-04-22 Miklos Szeredi <miklos@szeredi.hu>
38
39 * Add -msoft-float to kernel module compile flags for 2.4.X. This
40 is needed on certain architectures. Report from Chris Kirby
41
42 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
43 Reported by David Shaw
44
Miklos Szeredi0111f9d2005-04-22 12:04:55 +000045 * Remove "allow_root" option from kernel module, and implement
46 it's functionality in the library
47
48 * Fix Oops caused by premature release of fuse_conn. Clean up
49 related code, to be more readable
50
Miklos Szeredif9137452005-04-23 10:59:44 +000051 * Sendfile should not use page cache if "direct_io" mount option
52 is given
53
Miklos Szeredib7640d22005-04-08 15:15:28 +0000542005-04-08 Miklos Szeredi <miklos@szeredi.hu>
55
56 * Fix Oops in case of nfs export. Spotted by David Shaw
57
Miklos Szeredi89814a12005-04-08 16:39:09 +000058 * Fix another Oops in case of write over nfs with direct_io turned
59 on. Again spotted by David Shaw
60
Miklos Szerediab974562005-04-07 15:40:21 +0000612005-04-07 Miklos Szeredi <miklos@szeredi.hu>
62
Miklos Szeredi432d6182005-04-07 15:56:13 +000063 * Released 2.3-pre4
64
652005-04-07 Miklos Szeredi <miklos@szeredi.hu>
66
Miklos Szerediab974562005-04-07 15:40:21 +000067 * lib: finalized new readdir() interface, which now supersedes the
68 getdir() method.
69
Miklos Szeredi30e093a2005-04-03 17:44:54 +0000702005-04-03 Miklos Szeredi <miklos@szeredi.hu>
71
72 * Released 2.3-pre3
73
742005-04-03 Miklos Szeredi <miklos@szeredi.hu>
75
76 * Implement backward compatibility with version 5 kernel ABI
77
Miklos Szeredi18fce982005-04-01 21:07:35 +0000782005-04-01 Miklos Szeredi <miklos@szeredi.hu>
79
80 * Released 2.3-pre2
81
822005-04-01 Miklos Szeredi <miklos@szeredi.hu>
83
84 * kernel: fix dirent offset handling
85
86 * lib: add readdir and releasedir methods
87
88 * lib: use fh field of fuse_file_info in opendir, readdir,
89 releasedir and fsyncdir methods
90
91 * lib: check kernel API version and bail out of it's old. This
92 will be properly fixed in the next release
93
942005-03-31 Miklos Szeredi <miklos@szeredi.hu>
95
96 * Released 2.3-pre1
97
Miklos Szeredieab72ef2005-03-31 19:59:12 +0000982005-03-31 Miklos Szeredi <miklos@szeredi.hu>
99
100 * kernel API: add padding to structures, so 64bit and 32bit
101 compiler will return the same size
102
103 * kernel API: add offset field to fuse_dirent. This will allow
104 more sophisticated readdir interface for userspace
105
106 * kernel API: change major number to 6
107
108 * kernel: fix warnings on 64bit archs
109
110 * kernel: in case of API version mismatch, return ECONNREFUSED
111
Miklos Szeredi407e6a72005-03-25 12:19:43 +00001122005-03-24 Miklos Szeredi <miklos@szeredi.hu>
113
114 * kernel: trivial cleanups
115
Miklos Szeredi4283ee72005-03-21 12:09:04 +00001162005-03-21 Miklos Szeredi <miklos@szeredi.hu>
117
118 * Add fsyncdir() operation
119
Miklos Szeredid17da462005-03-21 11:47:04 +00001202005-03-19 Miklos Szeredi <miklos@szeredi.hu>
121
122 * kernel: add locking to background list (fixes previous fix)
123
1242005-03-18 Miklos Szeredi <miklos@szeredi.hu>
125
126 * kernel: fix bug which could cause leave busy inodes after
127 unmount, and Oops.
128
1292005-03-08 Miklos Szeredi <miklos@szeredi.hu>
130
131 * examples: add -lpthread to link flags to work around valgrind
132 quirk
133
134 * lib: don't exit threads, so cancelation doesn't cause segfault
135
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00001362005-03-04 Miklos Szeredi <miklos@szeredi.hu>
137
138 * kernel: fix nasty bug which could cause an Oops under certain
139 situations. Found by Magnus Johansson
140
Miklos Szeredif43f0632005-02-28 11:46:56 +00001412005-02-28 Miklos Szeredi <miklos@szeredi.hu>
142
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000143 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000144 permission checking in getdir() is too late. Thanks to Usarin
145 Heininga for pointing out this deficiency
146
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000147 * libfuse: added init() and destroy() methods to fuse_operations
148
Miklos Szeredif43f0632005-02-28 11:46:56 +0000149 * kernel: llseek() method for files and directories made explicit
150
151 * kernel: fixed inode leak in NFS export in case of nodeid
152 wrapping
153
Miklos Szeredied3c97c2005-02-15 17:04:50 +00001542005-02-15 Miklos Szeredi <miklos@szeredi.hu>
155
156 * libfuse: clean up some unitialized memory found with valgrind
157
Miklos Szeredi47c52982005-02-23 09:27:38 +0000158 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
159 explicitly linked libpthread for applications
160
Miklos Szeredia7169412005-02-10 07:35:05 +00001612005-02-10 Miklos Szeredi <miklos@szeredi.hu>
162
163 * fusermount: set umask, otherwise /etc/mtab will have
164 unpredictable permission. Spotted by Jindrich Kolorenc
165
166 * fusermount: set owner and group of /etc/mtab to original values
167 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000168
169 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredia7169412005-02-10 07:35:05 +0000170
Miklos Szeredib92d9782005-02-07 16:10:49 +00001712005-02-07 Miklos Szeredi <miklos@szeredi.hu>
172
173 * Cleaned up directory reading (temporary file is not used)
174
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001752005-02-02 Miklos Szeredi <miklos@szeredi.hu>
176
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000177 * Released 2.2
178
1792005-02-02 Miklos Szeredi <miklos@szeredi.hu>
180
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000181 * Fix possible race when operation is interrupted
182
Miklos Szeredi7a983952005-01-28 09:58:19 +00001832005-01-28 Miklos Szeredi <miklos@szeredi.hu>
184
Miklos Szeredie5183742005-02-02 11:14:04 +0000185 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000186
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001872005-01-26 Miklos Szeredi <miklos@szeredi.hu>
188
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000189 * Released 2.2-pre6
190
1912005-01-26 Miklos Szeredi <miklos@szeredi.hu>
192
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000193 * Fix bug in link() operation which caused the wrong path to be
194 passed as the first argument. Found by Anton Altaparmakov
195
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00001962005-01-21 Miklos Szeredi <miklos@szeredi.hu>
197
198 * LIB: fix double reply in readdir operation
199
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000200 * fusermount: fix uid checking bug. Patch by Adam Connell
201
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000202 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000203 Patch by Keshava Gowda
204
Miklos Szeredi64074142005-01-20 08:48:11 +00002052005-01-20 Miklos Szeredi <miklos@szeredi.hu>
206
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000207 * KERNEL: provide correct llseek semantics for fuse device (fixes
208 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
209
2102005-01-20 Miklos Szeredi <miklos@szeredi.hu>
211
Miklos Szeredi64074142005-01-20 08:48:11 +0000212 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
213
Miklos Szeredi1adb2272005-01-18 21:19:58 +00002142005-01-18 Miklos Szeredi <miklos@szeredi.hu>
215
216 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
217 and RELEASEDIR. This ends the ugly hack of passing a file
218 descriptor to the kernel, and actually makes the code simpler.
219
Miklos Szeredi7db35c02005-01-17 09:46:28 +00002202005-01-17 Miklos Szeredi <miklos@szeredi.hu>
221
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000222 * Released 2.2-pre4
223
2242005-01-17 Miklos Szeredi <miklos@szeredi.hu>
225
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000226 * fusermount: remove capability setting, which was the cause of
227 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000228 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000229
Miklos Szeredidbe0f652005-01-15 14:32:56 +00002302005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000231
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000232 * fix compilation on 2.4 kernels (reported by Valient Gough)
233
234 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000235
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000236 * fusermount: improve parsing of /etc/fuse.conf
237
2382005-01-13 Miklos Szeredi <miklos@szeredi.hu>
239
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000240 * Remove 'mount_max' and 'user_allow_other' module options. These
241 are now checked by fusermount, and can be set in /etc/fuse.conf
242
243 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
244
Miklos Szeredi81394522005-01-11 14:24:18 +00002452005-01-11 Miklos Szeredi <miklos@szeredi.hu>
246
247 * KERNEL: fix possible inode allocation problem, where
248 sizeof(struct inode) is not aligned (found by Mike Waychison)
249
250 * KERNEL: use new follow_link/put_link methods
251
252 * KERNEL: cosmetic fixes
253
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00002542005-01-10 Miklos Szeredi <miklos@szeredi.hu>
255
256 * Released 2.2-pre3
257
2582005-01-10 Miklos Szeredi <miklos@szeredi.hu>
259
260 * Add missing code that was accidently left out
261
Miklos Szeredi8c7da232005-01-09 12:27:41 +00002622005-01-09 Miklos Szeredi <miklos@szeredi.hu>
263
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000264 * Released 2.2-pre2
265
2662005-01-09 Miklos Szeredi <miklos@szeredi.hu>
267
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000268 * Change "uid" mount option to "user_id" to avoid confusion with a
269 mount option "uid" commonly used by many filesystems
270
2712005-01-09 Miklos Szeredi <miklos@szeredi.hu>
272
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000273 * Released 2.2-pre1
274
2752005-01-09 Miklos Szeredi <miklos@szeredi.hu>
276
277 * If FUSE is configured in the kernel, don't build it by default
278
Miklos Szeredi2a927272005-01-07 11:14:15 +00002792005-01-07 Miklos Szeredi <miklos@szeredi.hu>
280
281 * Compile fix by Christian Magnusson
282
Miklos Szeredib6220192005-01-05 16:19:10 +00002832005-01-05 Miklos Szeredi <miklos@szeredi.hu>
284
285 * Fix compilation for 2.6.{0-5} kernels
286
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002872005-01-04 Miklos Szeredi <miklos@szeredi.hu>
288
289 * KERNEL: if request is interrupted, still keep reference to used
290 inode(s) and file, so that FORGET and RELEASE are not sent until
291 userspace finishes the request.
292
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000293 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
294 request with the same information, which is more flexible,
295 simpler, works on embedded systems.
296
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002972004-12-16 Miklos Szeredi <miklos@szeredi.hu>
298
299 * KERNEL ABI: update interface to make it independent of type
300 sizes. This will help on 64 bit architectures which can run
301 legacy 32 bit applications.
302
303 * KERNEL ABI: add "len" field to request headers. This will allow
304 sending/receiving requests in multiple chunks.
305
306 * KERNEL: handle file type change more intelligently
307
308 * LIB: "-o debug" option should disable backgrounding (fix by
309 Fabien Reygrobellet)
310
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00003112004-12-13 Miklos Szeredi <miklos@szeredi.hu>
312
313 * KERNEL: invalidate dentry/attributes if interrupted request
314 could leave filesystem in an unknown state.
315
Miklos Szeredie56818b2004-12-12 11:45:24 +00003162004-12-12 Miklos Szeredi <miklos@szeredi.hu>
317
318 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
319 These will cause some regressions, but stability is considered
320 more important. If any of these features turns out to be
321 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000322
Miklos Szeredie56818b2004-12-12 11:45:24 +0000323 * Make all requests interruptible (only with SIGKILL currently).
324 This can be used to break any deadlock produced by the userspace
325 filesystem accessing it's own exported files. The RELEASE request
326 is special, because if it's interrupted before sending it to
327 userspace it is still sent, but the reply is not awaited.
328
329 * If request is interrupted before being sent to userspace, and if
330 it hasn't yet got any side effects, it is always restarted,
331 regardless of the SA_RESTART flag. This makes these interruptions
332 transparent to the process.
333
334 * Remove shared-writable mmap support, which was prone to an
335 out-of-memory deadlock situation
336
337 * Remove INVALIDATE userspace initiated request
338
339 * Make readpages() synchronous. Asynchronous requests are
340 deadlock prone, since they cannot be interrupted.
341
342 * Add readv/writev support to fuse device operations
343
344 * Remove some printks, which userspace FS can use for a DoS
345 against syslog
346
347 * Remove 'large_read' mount option from 2.6 in kernel, check it in
348 fusermount instead
349
350 * LIB: improve compatibility with a fuse.h header installed in
351 ${prefix}/include which in turn includes the real header.
352
353 * LIB: improve compatibility by defining fuse_main() (which is now
354 not used), so old configure scripts find it.
355
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00003562004-12-10 Miklos Szeredi <miklos@szeredi.hu>
357
358 * When mounting on a subdirectory of / don't duplicate slashes at
359 the beggining of path (spotted by David Shaw)
360
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00003612004-12-09 Miklos Szeredi <miklos@szeredi.hu>
362
363 * Fix bug causing garbage in mount options (spotted by David Shaw)
364
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00003652004-12-07 Miklos Szeredi <miklos@szeredi.hu>
366
367 * Add 'writepage' flag to 'fuse_file_info'.
368
369 * More comments in fuse.h
370
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000371 * Get rid of double underscores
372
Miklos Szeredi799993c2004-12-04 21:20:05 +00003732004-12-04 Miklos Szeredi <miklos@szeredi.hu>
374
375 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
376
377 * helper.c: add -ho option, which only displays the options not
378 the usage header. This can be used by filesystems which have
379 their own options.
380
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00003812004-12-03 Miklos Szeredi <miklos@szeredi.hu>
382
383 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
384 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
385 including the fuse header
386
387 * Add binary compatibility to 2.1 version of library with symbol
388 versioning
389
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00003902004-12-03 Miklos Szeredi <miklos@szeredi.hu>
391
392 * Released 2.1
393
Miklos Szeredi039322d2004-12-01 18:39:12 +00003942004-12-01 Miklos Szeredi <miklos@szeredi.hu>
395
396 * kernel: clean up writing functions
397
398 * kernel: no allocation on write in direct_io mode
399
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000400 * move linux/fuse.h to fuse_kernel.h
401
Miklos Szeredi83a07442004-11-30 18:25:20 +00004022004-11-30 Miklos Szeredi <miklos@szeredi.hu>
403
404 * kernel: clean up reading functions
405
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00004062004-11-29 Miklos Szeredi <miklos@szeredi.hu>
407
408 * kernel: make readpage() uninterruptible
409
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000410 * kernel: check readonly filesystem flag in fuse_permission
411
412 * lib: don't die if version file not found and new style device
413 exists
414
415 * lib: add '-r' option, which is short for '-o ro'
416
417 * fusermount: simplify device opening
418
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000419 * kernel: when direct_io is turend on, copy data directly to
420 destination without itermediate buffer. More efficient and safer,
421 since no allocation is done.
422
423 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000424
425 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000426
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00004272004-11-26 Miklos Szeredi <miklos@szeredi.hu>
428
429 * libfuse API change: open, read, write, flush, fsync and release
430 are passed a 'struct fuse_file_info' pointer containing the open
431 flags (open and release), and the file handle. Verion changed to
432 3.0.
433
Miklos Szeredia25d4c22004-11-23 22:32:16 +00004342004-11-23 Miklos Szeredi <miklos@szeredi.hu>
435
436 * More cleanups in the kernel
437
438 * The 10,229 charater device number has been assigned for FUSE
439
440 * Version file checking fix (reported by Christian Magnusson)
441
442 * fusermount: opening the fuse device now doesn't need /sys.
443
444 * Optimize reading by controlling the maximum readahead based on
445 the 'max_read' mount option
446
447 * fixes for UCLIBC (Christian Magnusson)
448
Miklos Szeredi13ed4822004-11-20 11:12:21 +00004492004-11-19 Miklos Szeredi <miklos@szeredi.hu>
450
451 * Cleaned up kernel in preparation for merge into mainline:
452
453 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
454
455 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
456
457 * __user annotations for sparse
458
459 * allocate individual pages instead of kmalloc in fuse_readdir,
460 fuse_read and fuse_write.
461
462 * Fix NFS export in case "use_ino" mount option is given
463
Miklos Szeredif3845c42004-11-20 11:18:34 +0000464 * Make libfuse and fusermount compatible with future versions
465
466 * fusermount: properly add mount options to /etc/mtab
467
4682004-11-15 Miklos Szeredi <miklos@szeredi.hu>
469
470 * fusermount: do not resolve last component of mountpoint on if it
471 is '.' or '..'. This new path resolvation is now done on mount as
472 well as unmount. This enables relative paths to work on unmount.
473
474 * fusermount: parse common mount options like "ro", "rw", etc...
475
476 * Allow module params to be changed through sysfs
477
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00004782004-11-14 Miklos Szeredi <miklos@szeredi.hu>
479
480 * Released 2.1-pre1
481
4822004-11-14 Miklos Szeredi <miklos@szeredi.hu>
483
484 * Fix bug in fuse_readpages() causing Oops in certain situations.
485 Bug found by Vincenzo Ciancia.
486
487 * Fix compilation with kernels versions > 2.6.9.
488
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00004892004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000490
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000491 * Check kernel interface version in fusermount to prevent
492 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000493
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000494 * No need to allocate fuse_conn until actual mount happens
495
496 * Fix potential race between umount and fuse_invalidate
497
498 * Check superblock of proc file in addition to inode number
499
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000500 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000501
Miklos Szeredi51ec1032004-11-10 11:52:26 +00005022004-11-10 Miklos Szeredi <miklos@szeredi.hu>
503
504 * Separate configure for the kernel directory
505
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000506 * Don't allow write to return more than 'count'
507
508 * Extend kernel interface for future use
509
Miklos Szeredi51ec1032004-11-10 11:52:26 +00005102004-11-09 Miklos Szeredi <miklos@szeredi.hu>
511
512 * Fix 'makeconf.sh' to use autoreconf if available
513
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00005142004-11-08 Miklos Szeredi <miklos@szeredi.hu>
515
Miklos Szeredid507c732004-11-08 17:32:25 +0000516 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
517 compatibility with earlier versions. To compile earier versions
518 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
519 Do not use the "use_ino" mount flag with filesystems compiled with
520 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000521
522 * Add pkg-config support. To compile a FUSE based filesystem you
523 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
524 or similar. Note, that the PKG_CONFIG_PATH environment variable
525 usually needs to be set to "/usr/local/lib/pkgconfig".
526
527 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000528
Miklos Szeredia13d9002004-11-02 17:32:03 +00005292004-11-02 Miklos Szeredi <miklos@szeredi.hu>
530
531 * Added "use_ino" mount option. This enables the filesystems to
532 set the st_ino field on files
533
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00005342004-11-01 Miklos Szeredi <miklos@szeredi.hu>
535
536 * Fix compile problems with ancient (<=2.4.18) kernels (reported
537 by Jeremy Smith)
538
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000539 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
540
541 * Clear the 'exited' flag when mail loop is finished
542
Miklos Szeredie989f0d2004-10-28 20:24:58 +00005432004-10-28 Miklos Szeredi <miklos@szeredi.hu>
544
545 * Make xattr functions work under 2.6 (bug found by Vincenzo
546 Ciancia)
547
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00005482004-10-26 Miklos Szeredi <miklos@szeredi.hu>
549
550 * Reset request in fuse_flush() (bugreport by David Shaw)
551
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00005522004-10-21 Miklos Szeredi <miklos@szeredi.hu>
553
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000554 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000555 error code
556
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000557 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000558 make it easier to implement a custom event loop.
559
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000560 * Use daemon() call to background the filesystem after mounting.
561 This function closes the standard input, output and error and
562 changes the current working directory to "/".
563
Miklos Szeredi127d49b2004-10-14 13:33:39 +00005642004-10-14 Miklos Szeredi <miklos@szeredi.hu>
565
566 * Released 1.9
567
Miklos Szeredid45baf42004-10-10 07:56:12 +00005682004-10-09 Miklos Szeredi <miklos@szeredi.hu>
569
570 * Don't allow fuse_flush() to be interrupted (bug found by David
571 Shaw)
572
Miklos Szeredi1f18db52004-09-27 06:54:49 +00005732004-09-27 Miklos Szeredi <miklos@szeredi.hu>
574
575 * Add PID to fuse_context. Patch by Steven James
576
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000577 * Change file handle type to 'unsigned long' in kernel interface
578
Miklos Szeredid169f312004-09-22 08:48:26 +00005792004-09-22 Miklos Szeredi <miklos@szeredi.hu>
580
581 * A slight API change: fuse_get_context() doesn't need the "fuse"
582 pointer, but the returned context contains it instead. The
583 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000584
585 * Fix mounting and umounting FUSE filesystem under another FUSE
586 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000587
Miklos Szeredic2309912004-09-21 13:40:38 +00005882004-09-21 Miklos Szeredi <miklos@szeredi.hu>
589
590 * Fix deadlock in case of memory allocation failure. Patch by
591 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000592
Miklos Szeredib2cf9562004-09-16 08:42:40 +00005932004-09-16 Miklos Szeredi <miklos@szeredi.hu>
594
595 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000596
Miklos Szeredi65afea12004-09-14 07:13:45 +00005972004-09-14 Miklos Szeredi <miklos@szeredi.hu>
598
599 * Check temporary file creation failure in do_getdir(). Bug
600 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000601
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00006022004-09-13 Miklos Szeredi <miklos@szeredi.hu>
603
604 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000605
606 * Make requests non-interruptible so race with FORGET is avoided.
607 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000608
609 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000610
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00006112004-09-09 Miklos Szeredi <miklos@szeredi.hu>
612
613 * Fix bug in case two FORGETs for the same node are executed in
614 the wrong order. Bug spotted and endured for months by Franco
615 Broi, and logfile for solution provided by Terje Oseberg
616
Miklos Szeredi12085102004-09-02 18:13:57 +00006172004-09-01 Miklos Szeredi <miklos@szeredi.hu>
618
619 * Add -D_REENTRANT to the compile flags
620
621 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000622
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00006232004-08-16 Miklos Szeredi <miklos@szeredi.hu>
624
625 * Change release method to be non-interruptible. Fixes bug
626 causing missing release() call when program which has opened files
627 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000628
Miklos Szeredi891b8742004-07-29 09:27:49 +00006292004-07-29 Miklos Szeredi <miklos@szeredi.hu>
630
631 * Add fuse_invalidate() to library API
632
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00006332004-07-26 Miklos Szeredi <miklos@szeredi.hu>
634
635 * Check permissions in setattr if 'default_permissions' flag is
636 set. Bug spotted by Damjan Lango
637
Miklos Szeredid66d3942004-07-24 13:47:44 +00006382004-07-24 Miklos Szeredi <miklos@szeredi.hu>
639
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000640 * 'large_read' mount option removed for 2.6 kernels, since the
641 default (dynamic read size) is better
642
643 * Extend kernel API with file handles. A file handle is returned
644 by open, and passed to read, write, flush, fsync and release.
645 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000646
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000647 * Security changes:
648
649 * Change the current directory to the mountpoint before checking
650 the permissions and mount filesystem on "."
651
652 * By default don't modprobe the fuse module for non-root. The old
653 behavior can be restored with the '--enable-auto-modprobe' flag of
654 ./configure
655
656 * By default don't allow shared writable mappings for non-root.
657 The old behavior can be restored with the 'user_mmap=1' module
658 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000659
Miklos Szeredibd7661b2004-07-23 17:16:29 +00006602004-07-23 Miklos Szeredi <miklos@szeredi.hu>
661
662 * Clean up mount option passing to fusermount and to fuse_new()
663 BEWARE: this changes the userspace API slightly, and the command
664 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000665
Miklos Szeredi58865372004-07-20 14:22:26 +00006662004-07-20 Miklos Szeredi <miklos@szeredi.hu>
667
668 * Optimize reading under 2.6 kernels by issuing multiple page
669 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000670
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00006712004-07-18 Miklos Szeredi <miklos@szeredi.hu>
672
673 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000674
Miklos Szeredi069c9502004-07-16 16:17:02 +00006752004-07-16 Miklos Szeredi <miklos@szeredi.hu>
676
677 * Separate directory entry and inode attribute validity timer
678
679 * New write semaphore to stop page writeback during truncate
680
681 * Fsync now waits for all writes to complete before sending the
682 request
683
684 * Optimization: if a page is completely written by
685 fuse_commit_write(), clear the dirty flag and set the uptodate
686 flag for that page
687
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000688 * Some memory cleanup at exit
689
Miklos Szeredi2529ca22004-07-13 15:36:52 +00006902004-07-13 Miklos Szeredi <miklos@szeredi.hu>
691
692 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000693 disable the "hide if open" behavior of unlink/rename.
694
695 * If temporary buffer allocation fails in raw read, fall back to a
696 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000697
Miklos Szeredi73798f92004-07-12 15:55:11 +00006982004-07-12 Miklos Szeredi <miklos@szeredi.hu>
699
700 * Fix bug in do_open() in libfuse: open count was incremented
701 after the reply is sent so it could race with unlink/forget and
702 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000703
Miklos Szeredi015fe702004-07-12 11:52:24 +00007042004-07-08 Miklos Szeredi <miklos@szeredi.hu>
705
706 * When performing create or remove operation, refresh the parent's
707 attributes on next revalidate, as i_nlink (and maybe size/time)
708 could be inacurate.
709
710 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
711 pages (2.6 only)
712
713 * Set set_page_dirty address space operation (2.6 only)
714
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007152004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000716
717 * Minor fix in read: print debug info even if read size is zero
718
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007192004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000720
721 * Fix race between truncate and writepage (fsx-linux now runs
722 without error)
723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007242004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000725
726 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
727 by Mattias Wadman)
728
729 * Added option for direct read/write (-r)
730
731 * Fix revalidate time setting for newly created inodes
732
Miklos Szerediacb4d362004-07-02 16:20:45 +0000733 * Remove uid==0 check for '-x' option in fusermount (kernel checks
734 this)
735
736 * fuse_main() only installs handlers for signals (out of INT, HUP,
737 TERM, PIPE), for which no handler has yet been installed
738
739 * Add module option 'user_allow_other' which if set to non-zero
740 will allow non root user to specify the 'allow_other' mount option
741 ('-x' option of fusermount)
742
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000743 * Fix deadlock between page writeback completion and truncate
744 (bug found by Valient Gough with the fsx-linux utility)
745
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007462004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000747
748 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000749 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
750 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007522004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000753
754 * Acquire inode->i_sem before open and release methods to prevent
755 concurrent rename or unlink operations.
756
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000757 * Make __fuse_read_cmd() read only one command. This allows
758 multiplexing the fuse file descriptor with other event sources
759 using select() or poll() (patch by Jeff Harris)
760
761 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
762
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007632004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000764
765 * Fix file offset wrap around at 4G when doing large reads
766
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007672004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000768
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000769 * Fix memory leak in open (Valient Gough)
770
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007712004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000772
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000773 * Add "close after delete" support to libfuse (patch by Valient
774 Gough)
775
776 * Cancel all worker threads before exit in multithreaded mode
777
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007782004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000779
780 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000781
782 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000783
784 * Work with newer libtool (1.5a)
785
786 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000787
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007882004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000789
790 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007922004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000793
794 * Fix possible inode leak in userspace in case of unfinished
795 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000796
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007972004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000798
799 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000800
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008012004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000802
803 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000804
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008052004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000806
807 * Build shared library as well as static (using libtool)
808
809 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
810 there has not been a release with the previous minor number, and I
811 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000812
813 * Change fuse_main(), so that default behavior is to go into
814 background if mount is successful. '-f' and '-d' options disable
815 backgrounding. This fixes the "Why does my FUSE daemon hang?"
816 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000817
818 * Cache ENOSYS (function not implemented) errors on *xattr, flush
819 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000820
821 * Don't call getdir method from open() only from first readdir().
822 Open is sometimes just used to store the current directory
823 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000824
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008252004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000826
827 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000828
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008292004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000830
831 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000832
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008332004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000834
835 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000836
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008372004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000838
839 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000840
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008412004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000842
843 * Replaced binary mount data with text options
844
845 * Show FUSE specific mount options in /proc/mounts
846
847 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
848
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008492004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000850
851 * Check some limits so userspace won't get too big requests
852
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008532004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000854
855 * Kill compile warning
856
857 * Upgraded user-mount patch for 2.6.5
858
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008592004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000860
861 * Add detection of user-mode-linux to configure
862
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008632004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000864
865 * fixed zero size case for getxattr and listxattr
866
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008672004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000868
869 * new fusermount flag '-z': lazy unmount, default is not lazy
870
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000871 * Extended attributes operations added (getxattr, setxattr,
872 listxattr, removexattr)
873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008742004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000875
876 * If filesystem doesn't define a statfs operation, then an
877 all-zero default statfs is returned instead of ENOSYS
878
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008792004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000880
881 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
882
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008832004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000884
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000885 * Fix for uClinux (Christian Magnusson)
886
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008872004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000888
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000889 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000890
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000891 * More kernel interface changes:
892
893 * Lookup/getattr return cache timeout values
894
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008952004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000896
897 * Clean up option parsing in fuse_main()
898
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000899 * Added fuse_get() function which returns the fuse object created
900 by fuse_main()
901
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009022004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000903
Miklos Szeredic40748a2004-02-20 16:38:45 +0000904 * removed old way of mounting (fusermount mountpoint program)
905
Miklos Szeredib5958612004-02-20 14:10:49 +0000906 * more kernel interface changes:
907
908 * added nanosecond precision to file times
909
Miklos Szeredic40748a2004-02-20 16:38:45 +0000910 * removed interface version from mount data
911
912 * added /proc/fs/fuse/version which contains MAJOR.MINOR
913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009142004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000915
916 * statfs library API changed to match other methods. Since this
917 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
918
Miklos Szeredi76f65782004-02-19 16:55:40 +0000919 * kernel interface changes follow:
920
921 * statfs changed to 64 bits, added 'bavail' field
922
923 * add generation number to lookup result
924
925 * optimized mknod/mkdir/symlink/link (no separate lookup is
926 needed)
927
928 * rdev size increased to 32 bits for mknod
929
930 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009322004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000933
934 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000935
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009362004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000937
938 * Added user-mount.2.6.2-rc3.patch
939
940 * Add FS_SAFE flag to fuse filesystem
941
942 * fusermount should allow (un)mounting for non-root even if not
943 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009452004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000946
947 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000948
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009492004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000950
951 * Added check for i_size_read/write functions to configure.in
952 (patch by Valient Gough)
953
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009542004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000955
956 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000957
958 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000959
960 * Readpage calls flush_dcache_page() after storing data
961
962 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000963
964 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009662004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000967
968 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009702004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000971
972 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000973
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009742004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000975
976 * Added -q option for fusermount
977
978 * fuse_unmount() now uses -q option of fusermount, so no error is
979 printed if the cause of the program exit is that the filesystem
980 has already been unmounted
981
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000982 * Fix i_nlink correctness after rmdir/unlink
983
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009842004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000985
Miklos Szeredib1158392004-01-26 14:43:12 +0000986 * Released 1.1-pre2
987
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009882004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000989
Miklos Szeredi307242f2004-01-26 11:28:44 +0000990 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000991
992 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000993
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009942004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000995
996 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000997
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009982004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000999
1000 * Write all pending data before a RELEASE operation
1001
1002 * Suppress 'Bad file descriptor' warning on exit
1003
1004 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +00001005 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +00001006
Miklos Szeredib1158392004-01-26 14:43:12 +00001007 * New fusermount option '-l' which enables big reads. Big reads
1008 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +00001009
1010 * fuse_main() can accept fusermount arguments after a '--'
1011
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010122004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001013
1014 * Support for exporting filesystem over NFS (see README.NFS)
1015
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010162004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001017
1018 * Support non-blocking writepage on 2.6. This makes FUSE behave
1019 much more nicely in low-memory situations
1020
1021 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1022 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001023
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010242004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001025
1026 * Code cleanups
1027
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010282004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001029
1030 * Released 1.1-pre1
1031
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010322004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001033
1034 * Integrated 2.6 kernel support patch by Michael Grigoriev
1035
1036 * Improvements and cleanups for 2.6 kernels
1037
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010382004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001039
Miklos Szeredie5183742005-02-02 11:14:04 +00001040 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001041
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010422003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001043
1044 * Added major+minor version to library API, and minor version to
1045 kernel API
1046
David McNab7a19caf2003-12-13 02:05:46 +000010472003-12-13 David McNab <david@rebirthing.co.nz>
1048
1049 * Implemented fsync support in examples/example.py
1050
1051 * Implemented 'fsync' and 'statfs' methods in python
1052 interface
1053
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010542003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001055
Miklos Szeredie5183742005-02-02 11:14:04 +00001056 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001057
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001058 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001059
David McNab8bf62632003-12-11 22:49:22 +000010602003-12-12 David McNab <david@rebirthing.co.nz>
1061
1062 * Added distutils support to the python module, as per standard
1063 python development practice
1064
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010652003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001066
1067 * Add file locking for mount/unmount (based on patch by Valient
1068 Gough)
1069
10702003-12-11 David McNab <david@rebirthing.co.nz>
1071
1072 * Python filesystem - was broken with python2.3, now fixed:
1073 - changed PyTuple_* calls to PySequence_*, because os.lstat
1074 is no longer returning a pure tuple
1075 - changed PyInt_Check() calls to also call PyLong_Check,
1076 to cover for cases (eg os.lstat) where longs are returned
1077 - Added support for file 'release' handling, which IMO is
1078 essential since this signals to a FS that writes to a file
1079 are complete (and therefore the file can now be disposed of
1080 meaningfully at the python filesystem's discretion)
1081 - Added '__init__' handler to base Fuse class, which allows
1082 your Python class to know the mountpoint and mount args,
1083 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001084
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001085 * General:
1086 - added 'mount.fuse' script (in util/ dir), which is meant to be
1087 symlinked from /sbin, and which allows FUSE filesystems to
1088 be mounted with the 'mount' command, and listed in fstab;
1089 also, mount arguments get passed to your filesystem
1090
1091
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010922003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001093
1094 * Fix kernel version detection (again). Bugreport by Peter Levart
1095
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010962003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001097
1098 * Applied read combining patch by Michael Grigoriev (tested by
1099 Valient Gough and Vincent Wagelaar)
1100
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011012003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001102
1103 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1104 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001105
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011062003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001107
1108 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001109
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011102003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001111
1112 * kernel version detection fix
1113
1114 * fusermount now uses "lazy" umount option
1115
1116 * fusermount can use modprobe with module-init-tools
1117
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011182003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001119
1120 * Integrated caching patch by Michael Grigoriev
1121
Miklos Szeredida4e4862003-09-08 11:14:11 +00001122 * Added "Filesystems" file with descriptions of projects using
1123 FUSE
1124
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001125 * Added patch by Michael Grigoriev to allow compliation of FUSE
1126 kernel module for 2.6 kernels
1127
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011282003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001129
1130 * And another spec-file fix by Achim Settelmeier
1131
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011322003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001133
1134 * Spec-file fix by Achim Settelmeier
1135
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011362003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001137
Miklos Szerediac361172004-11-02 19:14:14 +00001138 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001139
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011402003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001141
1142 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1143
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011442003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001145
1146 * Updated fuse.spec file (Achim Settelmeier)
1147
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011482003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001149
1150 * Version 1.0 released
1151
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011522003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001153
1154 * SuSE compilation fix by Juan-Mariano de Goyeneche
1155
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011562002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001157
1158 * The release() VFS call is now exported to the FUSE interface
1159
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011602002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001161
1162 * 64 bit file offset fixes in the fuse kernel module
1163
1164 * Added function 'fuse_exit()' which can be used to exit the main
1165 loop
1166
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011672002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001168
1169 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1170 an incompatible interface change.
1171
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011722002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001173
1174 * Portablility fix (bug reported by C. Chris Erway)
1175
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011762002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001177
1178 * Use Mark Glines' fd passing method for default operation instead
1179 of old reexec
1180
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011812002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001182
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001183 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1184
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011852002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001186
Miklos Szeredi60c23522002-10-24 09:19:43 +00001187 * fix incompatiblity with Red Hat kernels, with help from Nathan
1188 Thompson-Amato.
1189
Mark Glines65ba2192002-04-18 14:41:48 +000011902002-04-18 Mark Glines <mark@glines.org>
1191
1192 * added an alternative to fuse_mount(), called
1193 fuse_mount_ioslave(), which does not need to reexec the
1194 FUSE program.
1195 * added a small helper util needed by fuse_mount_ioslave().
1196
Mark Glines220635a2002-03-17 07:01:14 +000011972002-03-16 Mark Glines <mark@glines.org>
1198
1199 * use struct fuse_statfs everywhere possible to avoid problems
1200 with the headerfiles changing struct statfs member sizes
1201
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012022002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001203
1204 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1205
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012062002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001207
1208 * RPM support by Achim Settelmeier
1209
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012102002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001211
Miklos Szerediddc862a2002-01-09 13:46:10 +00001212 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001213
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012142002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001215
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001216 * Revaidate all path components not just the last, this means a
1217 very small performance penalty for being more up-to-date.
1218
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012192002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001220
1221 * Update and fix python interface
1222
Mark Glinesd84b39a2002-01-07 16:32:02 +000012232002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001224
Mark Glinesd84b39a2002-01-07 16:32:02 +00001225 * Added statfs() support to kernel, lib, examples, and perl!
1226
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012272001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001228
1229 * Better cross compilation support
1230
1231 * Ported to Compaq IPAQ
1232
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012332001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001234
Miklos Szeredife25def2001-12-20 15:38:05 +00001235 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001236 patch from Matt Ryan)
1237
Miklos Szeredife25def2001-12-20 15:38:05 +00001238 * Added flags to fusermount and to kernel interface to control
1239 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001240
Miklos Szeredife25def2001-12-20 15:38:05 +00001241 * Integrated fuse_set_operations() into fuse_new()
1242
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012432001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001244
1245 * Applied header protection + extern "C" patch by Roland
1246 Bauerschmidt
1247
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012482001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001249
Miklos Szeredie5183742005-02-02 11:14:04 +00001250 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001251
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012522001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001253
1254 * Cleaned up way of mounting simple filesystems.
1255
1256 * fuse_main() helper function added
1257
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012582001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001259
Miklos Szeredife25def2001-12-20 15:38:05 +00001260 * Optimized read/write operations, so that minimal copying of data
1261 is done
1262
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012632001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001264
1265 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001266
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012672001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001268
1269 * Fixed vfsmount reference leak in fuse_follow_link
1270
1271 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1272 userspace is ignored
1273
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012742001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001275
Miklos Szeredife25def2001-12-20 15:38:05 +00001276 * Started ChangeLog