blob: e6c68f50c86894d82148e7abe094a3c55391c4a5 [file] [log] [blame]
Miklos Szeredi9372ffd2005-04-29 08:03:24 +000012005-04-29 Miklos Szeredi <miklos@szeredi.hu>
2
Miklos Szeredicb6413a2005-04-29 08:16:20 +00003 * Released 2.3-pre6
4
52005-04-29 Miklos Szeredi <miklos@szeredi.hu>
6
Miklos Szeredi9372ffd2005-04-29 08:03:24 +00007 * Make fusermount work with fuse kernel modules not yet supporting
8 the "group_id" option (added for the purpose of stricter
9 permission checking).
10
Miklos Szeredi9c1b68d2005-04-28 09:55:09 +0000112005-04-28 Miklos Szeredi <miklos@szeredi.hu>
12
13 * Check for hard-linked directories in lookup. This could cause
14 problems in the VFS, which assumes that such objects never exist.
15
16 * Make checking of permission for other users more strict. Now
17 the same privilege is required for the mount owner as for ptrace
18 on the process performing the filesystem operation.
19
Miklos Szeredi3efcb562005-04-23 13:34:29 +0000202005-04-23 Miklos Szeredi <miklos@szeredi.hu>
21
22 * Released 2.3-pre5
23
Miklos Szeredid001bf92005-04-22 07:54:11 +0000242005-04-22 Miklos Szeredi <miklos@szeredi.hu>
25
26 * Add -msoft-float to kernel module compile flags for 2.4.X. This
27 is needed on certain architectures. Report from Chris Kirby
28
29 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
30 Reported by David Shaw
31
Miklos Szeredi0111f9d2005-04-22 12:04:55 +000032 * Remove "allow_root" option from kernel module, and implement
33 it's functionality in the library
34
35 * Fix Oops caused by premature release of fuse_conn. Clean up
36 related code, to be more readable
37
Miklos Szeredif9137452005-04-23 10:59:44 +000038 * Sendfile should not use page cache if "direct_io" mount option
39 is given
40
Miklos Szeredib7640d22005-04-08 15:15:28 +0000412005-04-08 Miklos Szeredi <miklos@szeredi.hu>
42
43 * Fix Oops in case of nfs export. Spotted by David Shaw
44
Miklos Szeredi89814a12005-04-08 16:39:09 +000045 * Fix another Oops in case of write over nfs with direct_io turned
46 on. Again spotted by David Shaw
47
Miklos Szerediab974562005-04-07 15:40:21 +0000482005-04-07 Miklos Szeredi <miklos@szeredi.hu>
49
Miklos Szeredi432d6182005-04-07 15:56:13 +000050 * Released 2.3-pre4
51
522005-04-07 Miklos Szeredi <miklos@szeredi.hu>
53
Miklos Szerediab974562005-04-07 15:40:21 +000054 * lib: finalized new readdir() interface, which now supersedes the
55 getdir() method.
56
Miklos Szeredi30e093a2005-04-03 17:44:54 +0000572005-04-03 Miklos Szeredi <miklos@szeredi.hu>
58
59 * Released 2.3-pre3
60
612005-04-03 Miklos Szeredi <miklos@szeredi.hu>
62
63 * Implement backward compatibility with version 5 kernel ABI
64
Miklos Szeredi18fce982005-04-01 21:07:35 +0000652005-04-01 Miklos Szeredi <miklos@szeredi.hu>
66
67 * Released 2.3-pre2
68
692005-04-01 Miklos Szeredi <miklos@szeredi.hu>
70
71 * kernel: fix dirent offset handling
72
73 * lib: add readdir and releasedir methods
74
75 * lib: use fh field of fuse_file_info in opendir, readdir,
76 releasedir and fsyncdir methods
77
78 * lib: check kernel API version and bail out of it's old. This
79 will be properly fixed in the next release
80
812005-03-31 Miklos Szeredi <miklos@szeredi.hu>
82
83 * Released 2.3-pre1
84
Miklos Szeredieab72ef2005-03-31 19:59:12 +0000852005-03-31 Miklos Szeredi <miklos@szeredi.hu>
86
87 * kernel API: add padding to structures, so 64bit and 32bit
88 compiler will return the same size
89
90 * kernel API: add offset field to fuse_dirent. This will allow
91 more sophisticated readdir interface for userspace
92
93 * kernel API: change major number to 6
94
95 * kernel: fix warnings on 64bit archs
96
97 * kernel: in case of API version mismatch, return ECONNREFUSED
98
Miklos Szeredi407e6a72005-03-25 12:19:43 +0000992005-03-24 Miklos Szeredi <miklos@szeredi.hu>
100
101 * kernel: trivial cleanups
102
Miklos Szeredi4283ee72005-03-21 12:09:04 +00001032005-03-21 Miklos Szeredi <miklos@szeredi.hu>
104
105 * Add fsyncdir() operation
106
Miklos Szeredid17da462005-03-21 11:47:04 +00001072005-03-19 Miklos Szeredi <miklos@szeredi.hu>
108
109 * kernel: add locking to background list (fixes previous fix)
110
1112005-03-18 Miklos Szeredi <miklos@szeredi.hu>
112
113 * kernel: fix bug which could cause leave busy inodes after
114 unmount, and Oops.
115
1162005-03-08 Miklos Szeredi <miklos@szeredi.hu>
117
118 * examples: add -lpthread to link flags to work around valgrind
119 quirk
120
121 * lib: don't exit threads, so cancelation doesn't cause segfault
122
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00001232005-03-04 Miklos Szeredi <miklos@szeredi.hu>
124
125 * kernel: fix nasty bug which could cause an Oops under certain
126 situations. Found by Magnus Johansson
127
Miklos Szeredif43f0632005-02-28 11:46:56 +00001282005-02-28 Miklos Szeredi <miklos@szeredi.hu>
129
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000130 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000131 permission checking in getdir() is too late. Thanks to Usarin
132 Heininga for pointing out this deficiency
133
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000134 * libfuse: added init() and destroy() methods to fuse_operations
135
Miklos Szeredif43f0632005-02-28 11:46:56 +0000136 * kernel: llseek() method for files and directories made explicit
137
138 * kernel: fixed inode leak in NFS export in case of nodeid
139 wrapping
140
Miklos Szeredied3c97c2005-02-15 17:04:50 +00001412005-02-15 Miklos Szeredi <miklos@szeredi.hu>
142
143 * libfuse: clean up some unitialized memory found with valgrind
144
Miklos Szeredi47c52982005-02-23 09:27:38 +0000145 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
146 explicitly linked libpthread for applications
147
Miklos Szeredia7169412005-02-10 07:35:05 +00001482005-02-10 Miklos Szeredi <miklos@szeredi.hu>
149
150 * fusermount: set umask, otherwise /etc/mtab will have
151 unpredictable permission. Spotted by Jindrich Kolorenc
152
153 * fusermount: set owner and group of /etc/mtab to original values
154 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000155
156 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredia7169412005-02-10 07:35:05 +0000157
Miklos Szeredib92d9782005-02-07 16:10:49 +00001582005-02-07 Miklos Szeredi <miklos@szeredi.hu>
159
160 * Cleaned up directory reading (temporary file is not used)
161
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001622005-02-02 Miklos Szeredi <miklos@szeredi.hu>
163
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000164 * Released 2.2
165
1662005-02-02 Miklos Szeredi <miklos@szeredi.hu>
167
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000168 * Fix possible race when operation is interrupted
169
Miklos Szeredi7a983952005-01-28 09:58:19 +00001702005-01-28 Miklos Szeredi <miklos@szeredi.hu>
171
Miklos Szeredie5183742005-02-02 11:14:04 +0000172 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000173
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001742005-01-26 Miklos Szeredi <miklos@szeredi.hu>
175
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000176 * Released 2.2-pre6
177
1782005-01-26 Miklos Szeredi <miklos@szeredi.hu>
179
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000180 * Fix bug in link() operation which caused the wrong path to be
181 passed as the first argument. Found by Anton Altaparmakov
182
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00001832005-01-21 Miklos Szeredi <miklos@szeredi.hu>
184
185 * LIB: fix double reply in readdir operation
186
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000187 * fusermount: fix uid checking bug. Patch by Adam Connell
188
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000189 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000190 Patch by Keshava Gowda
191
Miklos Szeredi64074142005-01-20 08:48:11 +00001922005-01-20 Miklos Szeredi <miklos@szeredi.hu>
193
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000194 * KERNEL: provide correct llseek semantics for fuse device (fixes
195 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
196
1972005-01-20 Miklos Szeredi <miklos@szeredi.hu>
198
Miklos Szeredi64074142005-01-20 08:48:11 +0000199 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
200
Miklos Szeredi1adb2272005-01-18 21:19:58 +00002012005-01-18 Miklos Szeredi <miklos@szeredi.hu>
202
203 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
204 and RELEASEDIR. This ends the ugly hack of passing a file
205 descriptor to the kernel, and actually makes the code simpler.
206
Miklos Szeredi7db35c02005-01-17 09:46:28 +00002072005-01-17 Miklos Szeredi <miklos@szeredi.hu>
208
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000209 * Released 2.2-pre4
210
2112005-01-17 Miklos Szeredi <miklos@szeredi.hu>
212
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000213 * fusermount: remove capability setting, which was the cause of
214 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000215 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000216
Miklos Szeredidbe0f652005-01-15 14:32:56 +00002172005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000218
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000219 * fix compilation on 2.4 kernels (reported by Valient Gough)
220
221 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000222
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000223 * fusermount: improve parsing of /etc/fuse.conf
224
2252005-01-13 Miklos Szeredi <miklos@szeredi.hu>
226
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000227 * Remove 'mount_max' and 'user_allow_other' module options. These
228 are now checked by fusermount, and can be set in /etc/fuse.conf
229
230 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
231
Miklos Szeredi81394522005-01-11 14:24:18 +00002322005-01-11 Miklos Szeredi <miklos@szeredi.hu>
233
234 * KERNEL: fix possible inode allocation problem, where
235 sizeof(struct inode) is not aligned (found by Mike Waychison)
236
237 * KERNEL: use new follow_link/put_link methods
238
239 * KERNEL: cosmetic fixes
240
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00002412005-01-10 Miklos Szeredi <miklos@szeredi.hu>
242
243 * Released 2.2-pre3
244
2452005-01-10 Miklos Szeredi <miklos@szeredi.hu>
246
247 * Add missing code that was accidently left out
248
Miklos Szeredi8c7da232005-01-09 12:27:41 +00002492005-01-09 Miklos Szeredi <miklos@szeredi.hu>
250
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000251 * Released 2.2-pre2
252
2532005-01-09 Miklos Szeredi <miklos@szeredi.hu>
254
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000255 * Change "uid" mount option to "user_id" to avoid confusion with a
256 mount option "uid" commonly used by many filesystems
257
2582005-01-09 Miklos Szeredi <miklos@szeredi.hu>
259
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000260 * Released 2.2-pre1
261
2622005-01-09 Miklos Szeredi <miklos@szeredi.hu>
263
264 * If FUSE is configured in the kernel, don't build it by default
265
Miklos Szeredi2a927272005-01-07 11:14:15 +00002662005-01-07 Miklos Szeredi <miklos@szeredi.hu>
267
268 * Compile fix by Christian Magnusson
269
Miklos Szeredib6220192005-01-05 16:19:10 +00002702005-01-05 Miklos Szeredi <miklos@szeredi.hu>
271
272 * Fix compilation for 2.6.{0-5} kernels
273
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002742005-01-04 Miklos Szeredi <miklos@szeredi.hu>
275
276 * KERNEL: if request is interrupted, still keep reference to used
277 inode(s) and file, so that FORGET and RELEASE are not sent until
278 userspace finishes the request.
279
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000280 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
281 request with the same information, which is more flexible,
282 simpler, works on embedded systems.
283
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002842004-12-16 Miklos Szeredi <miklos@szeredi.hu>
285
286 * KERNEL ABI: update interface to make it independent of type
287 sizes. This will help on 64 bit architectures which can run
288 legacy 32 bit applications.
289
290 * KERNEL ABI: add "len" field to request headers. This will allow
291 sending/receiving requests in multiple chunks.
292
293 * KERNEL: handle file type change more intelligently
294
295 * LIB: "-o debug" option should disable backgrounding (fix by
296 Fabien Reygrobellet)
297
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00002982004-12-13 Miklos Szeredi <miklos@szeredi.hu>
299
300 * KERNEL: invalidate dentry/attributes if interrupted request
301 could leave filesystem in an unknown state.
302
Miklos Szeredie56818b2004-12-12 11:45:24 +00003032004-12-12 Miklos Szeredi <miklos@szeredi.hu>
304
305 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
306 These will cause some regressions, but stability is considered
307 more important. If any of these features turns out to be
308 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000309
Miklos Szeredie56818b2004-12-12 11:45:24 +0000310 * Make all requests interruptible (only with SIGKILL currently).
311 This can be used to break any deadlock produced by the userspace
312 filesystem accessing it's own exported files. The RELEASE request
313 is special, because if it's interrupted before sending it to
314 userspace it is still sent, but the reply is not awaited.
315
316 * If request is interrupted before being sent to userspace, and if
317 it hasn't yet got any side effects, it is always restarted,
318 regardless of the SA_RESTART flag. This makes these interruptions
319 transparent to the process.
320
321 * Remove shared-writable mmap support, which was prone to an
322 out-of-memory deadlock situation
323
324 * Remove INVALIDATE userspace initiated request
325
326 * Make readpages() synchronous. Asynchronous requests are
327 deadlock prone, since they cannot be interrupted.
328
329 * Add readv/writev support to fuse device operations
330
331 * Remove some printks, which userspace FS can use for a DoS
332 against syslog
333
334 * Remove 'large_read' mount option from 2.6 in kernel, check it in
335 fusermount instead
336
337 * LIB: improve compatibility with a fuse.h header installed in
338 ${prefix}/include which in turn includes the real header.
339
340 * LIB: improve compatibility by defining fuse_main() (which is now
341 not used), so old configure scripts find it.
342
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00003432004-12-10 Miklos Szeredi <miklos@szeredi.hu>
344
345 * When mounting on a subdirectory of / don't duplicate slashes at
346 the beggining of path (spotted by David Shaw)
347
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00003482004-12-09 Miklos Szeredi <miklos@szeredi.hu>
349
350 * Fix bug causing garbage in mount options (spotted by David Shaw)
351
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00003522004-12-07 Miklos Szeredi <miklos@szeredi.hu>
353
354 * Add 'writepage' flag to 'fuse_file_info'.
355
356 * More comments in fuse.h
357
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000358 * Get rid of double underscores
359
Miklos Szeredi799993c2004-12-04 21:20:05 +00003602004-12-04 Miklos Szeredi <miklos@szeredi.hu>
361
362 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
363
364 * helper.c: add -ho option, which only displays the options not
365 the usage header. This can be used by filesystems which have
366 their own options.
367
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00003682004-12-03 Miklos Szeredi <miklos@szeredi.hu>
369
370 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
371 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
372 including the fuse header
373
374 * Add binary compatibility to 2.1 version of library with symbol
375 versioning
376
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00003772004-12-03 Miklos Szeredi <miklos@szeredi.hu>
378
379 * Released 2.1
380
Miklos Szeredi039322d2004-12-01 18:39:12 +00003812004-12-01 Miklos Szeredi <miklos@szeredi.hu>
382
383 * kernel: clean up writing functions
384
385 * kernel: no allocation on write in direct_io mode
386
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000387 * move linux/fuse.h to fuse_kernel.h
388
Miklos Szeredi83a07442004-11-30 18:25:20 +00003892004-11-30 Miklos Szeredi <miklos@szeredi.hu>
390
391 * kernel: clean up reading functions
392
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00003932004-11-29 Miklos Szeredi <miklos@szeredi.hu>
394
395 * kernel: make readpage() uninterruptible
396
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000397 * kernel: check readonly filesystem flag in fuse_permission
398
399 * lib: don't die if version file not found and new style device
400 exists
401
402 * lib: add '-r' option, which is short for '-o ro'
403
404 * fusermount: simplify device opening
405
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000406 * kernel: when direct_io is turend on, copy data directly to
407 destination without itermediate buffer. More efficient and safer,
408 since no allocation is done.
409
410 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000411
412 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000413
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00004142004-11-26 Miklos Szeredi <miklos@szeredi.hu>
415
416 * libfuse API change: open, read, write, flush, fsync and release
417 are passed a 'struct fuse_file_info' pointer containing the open
418 flags (open and release), and the file handle. Verion changed to
419 3.0.
420
Miklos Szeredia25d4c22004-11-23 22:32:16 +00004212004-11-23 Miklos Szeredi <miklos@szeredi.hu>
422
423 * More cleanups in the kernel
424
425 * The 10,229 charater device number has been assigned for FUSE
426
427 * Version file checking fix (reported by Christian Magnusson)
428
429 * fusermount: opening the fuse device now doesn't need /sys.
430
431 * Optimize reading by controlling the maximum readahead based on
432 the 'max_read' mount option
433
434 * fixes for UCLIBC (Christian Magnusson)
435
Miklos Szeredi13ed4822004-11-20 11:12:21 +00004362004-11-19 Miklos Szeredi <miklos@szeredi.hu>
437
438 * Cleaned up kernel in preparation for merge into mainline:
439
440 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
441
442 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
443
444 * __user annotations for sparse
445
446 * allocate individual pages instead of kmalloc in fuse_readdir,
447 fuse_read and fuse_write.
448
449 * Fix NFS export in case "use_ino" mount option is given
450
Miklos Szeredif3845c42004-11-20 11:18:34 +0000451 * Make libfuse and fusermount compatible with future versions
452
453 * fusermount: properly add mount options to /etc/mtab
454
4552004-11-15 Miklos Szeredi <miklos@szeredi.hu>
456
457 * fusermount: do not resolve last component of mountpoint on if it
458 is '.' or '..'. This new path resolvation is now done on mount as
459 well as unmount. This enables relative paths to work on unmount.
460
461 * fusermount: parse common mount options like "ro", "rw", etc...
462
463 * Allow module params to be changed through sysfs
464
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00004652004-11-14 Miklos Szeredi <miklos@szeredi.hu>
466
467 * Released 2.1-pre1
468
4692004-11-14 Miklos Szeredi <miklos@szeredi.hu>
470
471 * Fix bug in fuse_readpages() causing Oops in certain situations.
472 Bug found by Vincenzo Ciancia.
473
474 * Fix compilation with kernels versions > 2.6.9.
475
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00004762004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000477
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000478 * Check kernel interface version in fusermount to prevent
479 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000480
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000481 * No need to allocate fuse_conn until actual mount happens
482
483 * Fix potential race between umount and fuse_invalidate
484
485 * Check superblock of proc file in addition to inode number
486
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000487 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000488
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004892004-11-10 Miklos Szeredi <miklos@szeredi.hu>
490
491 * Separate configure for the kernel directory
492
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000493 * Don't allow write to return more than 'count'
494
495 * Extend kernel interface for future use
496
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004972004-11-09 Miklos Szeredi <miklos@szeredi.hu>
498
499 * Fix 'makeconf.sh' to use autoreconf if available
500
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00005012004-11-08 Miklos Szeredi <miklos@szeredi.hu>
502
Miklos Szeredid507c732004-11-08 17:32:25 +0000503 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
504 compatibility with earlier versions. To compile earier versions
505 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
506 Do not use the "use_ino" mount flag with filesystems compiled with
507 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000508
509 * Add pkg-config support. To compile a FUSE based filesystem you
510 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
511 or similar. Note, that the PKG_CONFIG_PATH environment variable
512 usually needs to be set to "/usr/local/lib/pkgconfig".
513
514 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000515
Miklos Szeredia13d9002004-11-02 17:32:03 +00005162004-11-02 Miklos Szeredi <miklos@szeredi.hu>
517
518 * Added "use_ino" mount option. This enables the filesystems to
519 set the st_ino field on files
520
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00005212004-11-01 Miklos Szeredi <miklos@szeredi.hu>
522
523 * Fix compile problems with ancient (<=2.4.18) kernels (reported
524 by Jeremy Smith)
525
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000526 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
527
528 * Clear the 'exited' flag when mail loop is finished
529
Miklos Szeredie989f0d2004-10-28 20:24:58 +00005302004-10-28 Miklos Szeredi <miklos@szeredi.hu>
531
532 * Make xattr functions work under 2.6 (bug found by Vincenzo
533 Ciancia)
534
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00005352004-10-26 Miklos Szeredi <miklos@szeredi.hu>
536
537 * Reset request in fuse_flush() (bugreport by David Shaw)
538
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00005392004-10-21 Miklos Szeredi <miklos@szeredi.hu>
540
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000541 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000542 error code
543
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000544 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000545 make it easier to implement a custom event loop.
546
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000547 * Use daemon() call to background the filesystem after mounting.
548 This function closes the standard input, output and error and
549 changes the current working directory to "/".
550
Miklos Szeredi127d49b2004-10-14 13:33:39 +00005512004-10-14 Miklos Szeredi <miklos@szeredi.hu>
552
553 * Released 1.9
554
Miklos Szeredid45baf42004-10-10 07:56:12 +00005552004-10-09 Miklos Szeredi <miklos@szeredi.hu>
556
557 * Don't allow fuse_flush() to be interrupted (bug found by David
558 Shaw)
559
Miklos Szeredi1f18db52004-09-27 06:54:49 +00005602004-09-27 Miklos Szeredi <miklos@szeredi.hu>
561
562 * Add PID to fuse_context. Patch by Steven James
563
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000564 * Change file handle type to 'unsigned long' in kernel interface
565
Miklos Szeredid169f312004-09-22 08:48:26 +00005662004-09-22 Miklos Szeredi <miklos@szeredi.hu>
567
568 * A slight API change: fuse_get_context() doesn't need the "fuse"
569 pointer, but the returned context contains it instead. The
570 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000571
572 * Fix mounting and umounting FUSE filesystem under another FUSE
573 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000574
Miklos Szeredic2309912004-09-21 13:40:38 +00005752004-09-21 Miklos Szeredi <miklos@szeredi.hu>
576
577 * Fix deadlock in case of memory allocation failure. Patch by
578 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000579
Miklos Szeredib2cf9562004-09-16 08:42:40 +00005802004-09-16 Miklos Szeredi <miklos@szeredi.hu>
581
582 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000583
Miklos Szeredi65afea12004-09-14 07:13:45 +00005842004-09-14 Miklos Szeredi <miklos@szeredi.hu>
585
586 * Check temporary file creation failure in do_getdir(). Bug
587 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000588
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00005892004-09-13 Miklos Szeredi <miklos@szeredi.hu>
590
591 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000592
593 * Make requests non-interruptible so race with FORGET is avoided.
594 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000595
596 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000597
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00005982004-09-09 Miklos Szeredi <miklos@szeredi.hu>
599
600 * Fix bug in case two FORGETs for the same node are executed in
601 the wrong order. Bug spotted and endured for months by Franco
602 Broi, and logfile for solution provided by Terje Oseberg
603
Miklos Szeredi12085102004-09-02 18:13:57 +00006042004-09-01 Miklos Szeredi <miklos@szeredi.hu>
605
606 * Add -D_REENTRANT to the compile flags
607
608 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000609
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00006102004-08-16 Miklos Szeredi <miklos@szeredi.hu>
611
612 * Change release method to be non-interruptible. Fixes bug
613 causing missing release() call when program which has opened files
614 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000615
Miklos Szeredi891b8742004-07-29 09:27:49 +00006162004-07-29 Miklos Szeredi <miklos@szeredi.hu>
617
618 * Add fuse_invalidate() to library API
619
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00006202004-07-26 Miklos Szeredi <miklos@szeredi.hu>
621
622 * Check permissions in setattr if 'default_permissions' flag is
623 set. Bug spotted by Damjan Lango
624
Miklos Szeredid66d3942004-07-24 13:47:44 +00006252004-07-24 Miklos Szeredi <miklos@szeredi.hu>
626
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000627 * 'large_read' mount option removed for 2.6 kernels, since the
628 default (dynamic read size) is better
629
630 * Extend kernel API with file handles. A file handle is returned
631 by open, and passed to read, write, flush, fsync and release.
632 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000633
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000634 * Security changes:
635
636 * Change the current directory to the mountpoint before checking
637 the permissions and mount filesystem on "."
638
639 * By default don't modprobe the fuse module for non-root. The old
640 behavior can be restored with the '--enable-auto-modprobe' flag of
641 ./configure
642
643 * By default don't allow shared writable mappings for non-root.
644 The old behavior can be restored with the 'user_mmap=1' module
645 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000646
Miklos Szeredibd7661b2004-07-23 17:16:29 +00006472004-07-23 Miklos Szeredi <miklos@szeredi.hu>
648
649 * Clean up mount option passing to fusermount and to fuse_new()
650 BEWARE: this changes the userspace API slightly, and the command
651 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000652
Miklos Szeredi58865372004-07-20 14:22:26 +00006532004-07-20 Miklos Szeredi <miklos@szeredi.hu>
654
655 * Optimize reading under 2.6 kernels by issuing multiple page
656 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000657
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00006582004-07-18 Miklos Szeredi <miklos@szeredi.hu>
659
660 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000661
Miklos Szeredi069c9502004-07-16 16:17:02 +00006622004-07-16 Miklos Szeredi <miklos@szeredi.hu>
663
664 * Separate directory entry and inode attribute validity timer
665
666 * New write semaphore to stop page writeback during truncate
667
668 * Fsync now waits for all writes to complete before sending the
669 request
670
671 * Optimization: if a page is completely written by
672 fuse_commit_write(), clear the dirty flag and set the uptodate
673 flag for that page
674
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000675 * Some memory cleanup at exit
676
Miklos Szeredi2529ca22004-07-13 15:36:52 +00006772004-07-13 Miklos Szeredi <miklos@szeredi.hu>
678
679 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000680 disable the "hide if open" behavior of unlink/rename.
681
682 * If temporary buffer allocation fails in raw read, fall back to a
683 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000684
Miklos Szeredi73798f92004-07-12 15:55:11 +00006852004-07-12 Miklos Szeredi <miklos@szeredi.hu>
686
687 * Fix bug in do_open() in libfuse: open count was incremented
688 after the reply is sent so it could race with unlink/forget and
689 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000690
Miklos Szeredi015fe702004-07-12 11:52:24 +00006912004-07-08 Miklos Szeredi <miklos@szeredi.hu>
692
693 * When performing create or remove operation, refresh the parent's
694 attributes on next revalidate, as i_nlink (and maybe size/time)
695 could be inacurate.
696
697 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
698 pages (2.6 only)
699
700 * Set set_page_dirty address space operation (2.6 only)
701
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007022004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000703
704 * Minor fix in read: print debug info even if read size is zero
705
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007062004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000707
708 * Fix race between truncate and writepage (fsx-linux now runs
709 without error)
710
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007112004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000712
713 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
714 by Mattias Wadman)
715
716 * Added option for direct read/write (-r)
717
718 * Fix revalidate time setting for newly created inodes
719
Miklos Szerediacb4d362004-07-02 16:20:45 +0000720 * Remove uid==0 check for '-x' option in fusermount (kernel checks
721 this)
722
723 * fuse_main() only installs handlers for signals (out of INT, HUP,
724 TERM, PIPE), for which no handler has yet been installed
725
726 * Add module option 'user_allow_other' which if set to non-zero
727 will allow non root user to specify the 'allow_other' mount option
728 ('-x' option of fusermount)
729
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000730 * Fix deadlock between page writeback completion and truncate
731 (bug found by Valient Gough with the fsx-linux utility)
732
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007332004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000734
735 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000736 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
737 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000738
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007392004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000740
741 * Acquire inode->i_sem before open and release methods to prevent
742 concurrent rename or unlink operations.
743
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000744 * Make __fuse_read_cmd() read only one command. This allows
745 multiplexing the fuse file descriptor with other event sources
746 using select() or poll() (patch by Jeff Harris)
747
748 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
749
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007502004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000751
752 * Fix file offset wrap around at 4G when doing large reads
753
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007542004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000755
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000756 * Fix memory leak in open (Valient Gough)
757
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007582004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000759
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000760 * Add "close after delete" support to libfuse (patch by Valient
761 Gough)
762
763 * Cancel all worker threads before exit in multithreaded mode
764
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007652004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000766
767 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000768
769 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000770
771 * Work with newer libtool (1.5a)
772
773 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000774
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007752004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000776
777 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000778
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007792004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000780
781 * Fix possible inode leak in userspace in case of unfinished
782 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000783
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007842004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000785
786 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000787
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007882004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000789
790 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007922004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000793
794 * Build shared library as well as static (using libtool)
795
796 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
797 there has not been a release with the previous minor number, and I
798 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000799
800 * Change fuse_main(), so that default behavior is to go into
801 background if mount is successful. '-f' and '-d' options disable
802 backgrounding. This fixes the "Why does my FUSE daemon hang?"
803 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000804
805 * Cache ENOSYS (function not implemented) errors on *xattr, flush
806 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000807
808 * Don't call getdir method from open() only from first readdir().
809 Open is sometimes just used to store the current directory
810 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000811
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008122004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000813
814 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000815
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008162004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000817
818 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000819
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008202004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000821
822 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000823
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008242004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000825
826 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000827
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008282004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000829
830 * Replaced binary mount data with text options
831
832 * Show FUSE specific mount options in /proc/mounts
833
834 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
835
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008362004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000837
838 * Check some limits so userspace won't get too big requests
839
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008402004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000841
842 * Kill compile warning
843
844 * Upgraded user-mount patch for 2.6.5
845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008462004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000847
848 * Add detection of user-mode-linux to configure
849
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008502004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000851
852 * fixed zero size case for getxattr and listxattr
853
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008542004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000855
856 * new fusermount flag '-z': lazy unmount, default is not lazy
857
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000858 * Extended attributes operations added (getxattr, setxattr,
859 listxattr, removexattr)
860
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008612004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000862
863 * If filesystem doesn't define a statfs operation, then an
864 all-zero default statfs is returned instead of ENOSYS
865
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008662004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000867
868 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
869
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008702004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000871
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000872 * Fix for uClinux (Christian Magnusson)
873
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008742004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000875
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000876 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000877
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000878 * More kernel interface changes:
879
880 * Lookup/getattr return cache timeout values
881
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008822004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000883
884 * Clean up option parsing in fuse_main()
885
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000886 * Added fuse_get() function which returns the fuse object created
887 by fuse_main()
888
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008892004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000890
Miklos Szeredic40748a2004-02-20 16:38:45 +0000891 * removed old way of mounting (fusermount mountpoint program)
892
Miklos Szeredib5958612004-02-20 14:10:49 +0000893 * more kernel interface changes:
894
895 * added nanosecond precision to file times
896
Miklos Szeredic40748a2004-02-20 16:38:45 +0000897 * removed interface version from mount data
898
899 * added /proc/fs/fuse/version which contains MAJOR.MINOR
900
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009012004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000902
903 * statfs library API changed to match other methods. Since this
904 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
905
Miklos Szeredi76f65782004-02-19 16:55:40 +0000906 * kernel interface changes follow:
907
908 * statfs changed to 64 bits, added 'bavail' field
909
910 * add generation number to lookup result
911
912 * optimized mknod/mkdir/symlink/link (no separate lookup is
913 needed)
914
915 * rdev size increased to 32 bits for mknod
916
917 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000918
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009192004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000920
921 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000922
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009232004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000924
925 * Added user-mount.2.6.2-rc3.patch
926
927 * Add FS_SAFE flag to fuse filesystem
928
929 * fusermount should allow (un)mounting for non-root even if not
930 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009322004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000933
934 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000935
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009362004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000937
938 * Added check for i_size_read/write functions to configure.in
939 (patch by Valient Gough)
940
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009412004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000942
943 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000944
945 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000946
947 * Readpage calls flush_dcache_page() after storing data
948
949 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000950
951 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000952
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009532004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000954
955 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000956
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009572004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000958
959 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000960
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009612004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000962
963 * Added -q option for fusermount
964
965 * fuse_unmount() now uses -q option of fusermount, so no error is
966 printed if the cause of the program exit is that the filesystem
967 has already been unmounted
968
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000969 * Fix i_nlink correctness after rmdir/unlink
970
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009712004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000972
Miklos Szeredib1158392004-01-26 14:43:12 +0000973 * Released 1.1-pre2
974
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009752004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000976
Miklos Szeredi307242f2004-01-26 11:28:44 +0000977 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000978
979 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000980
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009812004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000982
983 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000984
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009852004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000986
987 * Write all pending data before a RELEASE operation
988
989 * Suppress 'Bad file descriptor' warning on exit
990
991 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000992 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000993
Miklos Szeredib1158392004-01-26 14:43:12 +0000994 * New fusermount option '-l' which enables big reads. Big reads
995 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000996
997 * fuse_main() can accept fusermount arguments after a '--'
998
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009992004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +00001000
1001 * Support for exporting filesystem over NFS (see README.NFS)
1002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010032004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +00001004
1005 * Support non-blocking writepage on 2.6. This makes FUSE behave
1006 much more nicely in low-memory situations
1007
1008 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
1009 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +00001010
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010112004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +00001012
1013 * Code cleanups
1014
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010152004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +00001016
1017 * Released 1.1-pre1
1018
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010192004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001020
1021 * Integrated 2.6 kernel support patch by Michael Grigoriev
1022
1023 * Improvements and cleanups for 2.6 kernels
1024
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010252004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001026
Miklos Szeredie5183742005-02-02 11:14:04 +00001027 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001028
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010292003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001030
1031 * Added major+minor version to library API, and minor version to
1032 kernel API
1033
David McNab7a19caf2003-12-13 02:05:46 +000010342003-12-13 David McNab <david@rebirthing.co.nz>
1035
1036 * Implemented fsync support in examples/example.py
1037
1038 * Implemented 'fsync' and 'statfs' methods in python
1039 interface
1040
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010412003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001042
Miklos Szeredie5183742005-02-02 11:14:04 +00001043 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001044
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001045 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001046
David McNab8bf62632003-12-11 22:49:22 +000010472003-12-12 David McNab <david@rebirthing.co.nz>
1048
1049 * Added distutils support to the python module, as per standard
1050 python development practice
1051
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010522003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001053
1054 * Add file locking for mount/unmount (based on patch by Valient
1055 Gough)
1056
10572003-12-11 David McNab <david@rebirthing.co.nz>
1058
1059 * Python filesystem - was broken with python2.3, now fixed:
1060 - changed PyTuple_* calls to PySequence_*, because os.lstat
1061 is no longer returning a pure tuple
1062 - changed PyInt_Check() calls to also call PyLong_Check,
1063 to cover for cases (eg os.lstat) where longs are returned
1064 - Added support for file 'release' handling, which IMO is
1065 essential since this signals to a FS that writes to a file
1066 are complete (and therefore the file can now be disposed of
1067 meaningfully at the python filesystem's discretion)
1068 - Added '__init__' handler to base Fuse class, which allows
1069 your Python class to know the mountpoint and mount args,
1070 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001071
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001072 * General:
1073 - added 'mount.fuse' script (in util/ dir), which is meant to be
1074 symlinked from /sbin, and which allows FUSE filesystems to
1075 be mounted with the 'mount' command, and listed in fstab;
1076 also, mount arguments get passed to your filesystem
1077
1078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010792003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001080
1081 * Fix kernel version detection (again). Bugreport by Peter Levart
1082
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010832003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001084
1085 * Applied read combining patch by Michael Grigoriev (tested by
1086 Valient Gough and Vincent Wagelaar)
1087
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010882003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001089
1090 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1091 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001092
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010932003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001094
1095 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001096
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010972003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001098
1099 * kernel version detection fix
1100
1101 * fusermount now uses "lazy" umount option
1102
1103 * fusermount can use modprobe with module-init-tools
1104
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011052003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001106
1107 * Integrated caching patch by Michael Grigoriev
1108
Miklos Szeredida4e4862003-09-08 11:14:11 +00001109 * Added "Filesystems" file with descriptions of projects using
1110 FUSE
1111
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001112 * Added patch by Michael Grigoriev to allow compliation of FUSE
1113 kernel module for 2.6 kernels
1114
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011152003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001116
1117 * And another spec-file fix by Achim Settelmeier
1118
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011192003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001120
1121 * Spec-file fix by Achim Settelmeier
1122
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011232003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001124
Miklos Szerediac361172004-11-02 19:14:14 +00001125 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001126
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011272003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001128
1129 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1130
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011312003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001132
1133 * Updated fuse.spec file (Achim Settelmeier)
1134
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011352003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001136
1137 * Version 1.0 released
1138
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011392003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001140
1141 * SuSE compilation fix by Juan-Mariano de Goyeneche
1142
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011432002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001144
1145 * The release() VFS call is now exported to the FUSE interface
1146
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011472002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001148
1149 * 64 bit file offset fixes in the fuse kernel module
1150
1151 * Added function 'fuse_exit()' which can be used to exit the main
1152 loop
1153
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011542002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001155
1156 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1157 an incompatible interface change.
1158
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011592002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001160
1161 * Portablility fix (bug reported by C. Chris Erway)
1162
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011632002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001164
1165 * Use Mark Glines' fd passing method for default operation instead
1166 of old reexec
1167
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011682002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001169
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001170 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1171
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011722002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001173
Miklos Szeredi60c23522002-10-24 09:19:43 +00001174 * fix incompatiblity with Red Hat kernels, with help from Nathan
1175 Thompson-Amato.
1176
Mark Glines65ba2192002-04-18 14:41:48 +000011772002-04-18 Mark Glines <mark@glines.org>
1178
1179 * added an alternative to fuse_mount(), called
1180 fuse_mount_ioslave(), which does not need to reexec the
1181 FUSE program.
1182 * added a small helper util needed by fuse_mount_ioslave().
1183
Mark Glines220635a2002-03-17 07:01:14 +000011842002-03-16 Mark Glines <mark@glines.org>
1185
1186 * use struct fuse_statfs everywhere possible to avoid problems
1187 with the headerfiles changing struct statfs member sizes
1188
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011892002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001190
1191 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1192
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011932002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001194
1195 * RPM support by Achim Settelmeier
1196
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011972002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001198
Miklos Szerediddc862a2002-01-09 13:46:10 +00001199 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001200
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012012002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001202
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001203 * Revaidate all path components not just the last, this means a
1204 very small performance penalty for being more up-to-date.
1205
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012062002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001207
1208 * Update and fix python interface
1209
Mark Glinesd84b39a2002-01-07 16:32:02 +000012102002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001211
Mark Glinesd84b39a2002-01-07 16:32:02 +00001212 * Added statfs() support to kernel, lib, examples, and perl!
1213
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012142001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001215
1216 * Better cross compilation support
1217
1218 * Ported to Compaq IPAQ
1219
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012202001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001221
Miklos Szeredife25def2001-12-20 15:38:05 +00001222 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001223 patch from Matt Ryan)
1224
Miklos Szeredife25def2001-12-20 15:38:05 +00001225 * Added flags to fusermount and to kernel interface to control
1226 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001227
Miklos Szeredife25def2001-12-20 15:38:05 +00001228 * Integrated fuse_set_operations() into fuse_new()
1229
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012302001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001231
1232 * Applied header protection + extern "C" patch by Roland
1233 Bauerschmidt
1234
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012352001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001236
Miklos Szeredie5183742005-02-02 11:14:04 +00001237 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001238
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012392001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001240
1241 * Cleaned up way of mounting simple filesystems.
1242
1243 * fuse_main() helper function added
1244
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012452001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001246
Miklos Szeredife25def2001-12-20 15:38:05 +00001247 * Optimized read/write operations, so that minimal copying of data
1248 is done
1249
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012502001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001251
1252 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001253
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012542001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001255
1256 * Fixed vfsmount reference leak in fuse_follow_link
1257
1258 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1259 userspace is ignored
1260
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012612001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001262
Miklos Szeredife25def2001-12-20 15:38:05 +00001263 * Started ChangeLog