blob: 1800d7d05b515bcf9294371f0000808b4c33b67f [file] [log] [blame]
Miklos Szeredi3efcb562005-04-23 13:34:29 +000012005-04-23 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Released 2.3-pre5
4
Miklos Szeredid001bf92005-04-22 07:54:11 +000052005-04-22 Miklos Szeredi <miklos@szeredi.hu>
6
7 * Add -msoft-float to kernel module compile flags for 2.4.X. This
8 is needed on certain architectures. Report from Chris Kirby
9
10 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
11 Reported by David Shaw
12
Miklos Szeredi0111f9d2005-04-22 12:04:55 +000013 * Remove "allow_root" option from kernel module, and implement
14 it's functionality in the library
15
16 * Fix Oops caused by premature release of fuse_conn. Clean up
17 related code, to be more readable
18
Miklos Szeredif9137452005-04-23 10:59:44 +000019 * Sendfile should not use page cache if "direct_io" mount option
20 is given
21
Miklos Szeredib7640d22005-04-08 15:15:28 +0000222005-04-08 Miklos Szeredi <miklos@szeredi.hu>
23
24 * Fix Oops in case of nfs export. Spotted by David Shaw
25
Miklos Szeredi89814a12005-04-08 16:39:09 +000026 * Fix another Oops in case of write over nfs with direct_io turned
27 on. Again spotted by David Shaw
28
Miklos Szerediab974562005-04-07 15:40:21 +0000292005-04-07 Miklos Szeredi <miklos@szeredi.hu>
30
Miklos Szeredi432d6182005-04-07 15:56:13 +000031 * Released 2.3-pre4
32
332005-04-07 Miklos Szeredi <miklos@szeredi.hu>
34
Miklos Szerediab974562005-04-07 15:40:21 +000035 * lib: finalized new readdir() interface, which now supersedes the
36 getdir() method.
37
Miklos Szeredi30e093a2005-04-03 17:44:54 +0000382005-04-03 Miklos Szeredi <miklos@szeredi.hu>
39
40 * Released 2.3-pre3
41
422005-04-03 Miklos Szeredi <miklos@szeredi.hu>
43
44 * Implement backward compatibility with version 5 kernel ABI
45
Miklos Szeredi18fce982005-04-01 21:07:35 +0000462005-04-01 Miklos Szeredi <miklos@szeredi.hu>
47
48 * Released 2.3-pre2
49
502005-04-01 Miklos Szeredi <miklos@szeredi.hu>
51
52 * kernel: fix dirent offset handling
53
54 * lib: add readdir and releasedir methods
55
56 * lib: use fh field of fuse_file_info in opendir, readdir,
57 releasedir and fsyncdir methods
58
59 * lib: check kernel API version and bail out of it's old. This
60 will be properly fixed in the next release
61
622005-03-31 Miklos Szeredi <miklos@szeredi.hu>
63
64 * Released 2.3-pre1
65
Miklos Szeredieab72ef2005-03-31 19:59:12 +0000662005-03-31 Miklos Szeredi <miklos@szeredi.hu>
67
68 * kernel API: add padding to structures, so 64bit and 32bit
69 compiler will return the same size
70
71 * kernel API: add offset field to fuse_dirent. This will allow
72 more sophisticated readdir interface for userspace
73
74 * kernel API: change major number to 6
75
76 * kernel: fix warnings on 64bit archs
77
78 * kernel: in case of API version mismatch, return ECONNREFUSED
79
Miklos Szeredi407e6a72005-03-25 12:19:43 +0000802005-03-24 Miklos Szeredi <miklos@szeredi.hu>
81
82 * kernel: trivial cleanups
83
Miklos Szeredi4283ee72005-03-21 12:09:04 +0000842005-03-21 Miklos Szeredi <miklos@szeredi.hu>
85
86 * Add fsyncdir() operation
87
Miklos Szeredid17da462005-03-21 11:47:04 +0000882005-03-19 Miklos Szeredi <miklos@szeredi.hu>
89
90 * kernel: add locking to background list (fixes previous fix)
91
922005-03-18 Miklos Szeredi <miklos@szeredi.hu>
93
94 * kernel: fix bug which could cause leave busy inodes after
95 unmount, and Oops.
96
972005-03-08 Miklos Szeredi <miklos@szeredi.hu>
98
99 * examples: add -lpthread to link flags to work around valgrind
100 quirk
101
102 * lib: don't exit threads, so cancelation doesn't cause segfault
103
Miklos Szeredi31fa41c2005-03-04 17:28:51 +00001042005-03-04 Miklos Szeredi <miklos@szeredi.hu>
105
106 * kernel: fix nasty bug which could cause an Oops under certain
107 situations. Found by Magnus Johansson
108
Miklos Szeredif43f0632005-02-28 11:46:56 +00001092005-02-28 Miklos Szeredi <miklos@szeredi.hu>
110
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000111 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000112 permission checking in getdir() is too late. Thanks to Usarin
113 Heininga for pointing out this deficiency
114
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000115 * libfuse: added init() and destroy() methods to fuse_operations
116
Miklos Szeredif43f0632005-02-28 11:46:56 +0000117 * kernel: llseek() method for files and directories made explicit
118
119 * kernel: fixed inode leak in NFS export in case of nodeid
120 wrapping
121
Miklos Szeredied3c97c2005-02-15 17:04:50 +00001222005-02-15 Miklos Szeredi <miklos@szeredi.hu>
123
124 * libfuse: clean up some unitialized memory found with valgrind
125
Miklos Szeredi47c52982005-02-23 09:27:38 +0000126 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
127 explicitly linked libpthread for applications
128
Miklos Szeredia7169412005-02-10 07:35:05 +00001292005-02-10 Miklos Szeredi <miklos@szeredi.hu>
130
131 * fusermount: set umask, otherwise /etc/mtab will have
132 unpredictable permission. Spotted by Jindrich Kolorenc
133
134 * fusermount: set owner and group of /etc/mtab to original values
135 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000136
137 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredia7169412005-02-10 07:35:05 +0000138
Miklos Szeredib92d9782005-02-07 16:10:49 +00001392005-02-07 Miklos Szeredi <miklos@szeredi.hu>
140
141 * Cleaned up directory reading (temporary file is not used)
142
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001432005-02-02 Miklos Szeredi <miklos@szeredi.hu>
144
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000145 * Released 2.2
146
1472005-02-02 Miklos Szeredi <miklos@szeredi.hu>
148
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000149 * Fix possible race when operation is interrupted
150
Miklos Szeredi7a983952005-01-28 09:58:19 +00001512005-01-28 Miklos Szeredi <miklos@szeredi.hu>
152
Miklos Szeredie5183742005-02-02 11:14:04 +0000153 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000154
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001552005-01-26 Miklos Szeredi <miklos@szeredi.hu>
156
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000157 * Released 2.2-pre6
158
1592005-01-26 Miklos Szeredi <miklos@szeredi.hu>
160
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000161 * Fix bug in link() operation which caused the wrong path to be
162 passed as the first argument. Found by Anton Altaparmakov
163
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00001642005-01-21 Miklos Szeredi <miklos@szeredi.hu>
165
166 * LIB: fix double reply in readdir operation
167
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000168 * fusermount: fix uid checking bug. Patch by Adam Connell
169
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000170 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000171 Patch by Keshava Gowda
172
Miklos Szeredi64074142005-01-20 08:48:11 +00001732005-01-20 Miklos Szeredi <miklos@szeredi.hu>
174
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000175 * KERNEL: provide correct llseek semantics for fuse device (fixes
176 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
177
1782005-01-20 Miklos Szeredi <miklos@szeredi.hu>
179
Miklos Szeredi64074142005-01-20 08:48:11 +0000180 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
181
Miklos Szeredi1adb2272005-01-18 21:19:58 +00001822005-01-18 Miklos Szeredi <miklos@szeredi.hu>
183
184 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
185 and RELEASEDIR. This ends the ugly hack of passing a file
186 descriptor to the kernel, and actually makes the code simpler.
187
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001882005-01-17 Miklos Szeredi <miklos@szeredi.hu>
189
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000190 * Released 2.2-pre4
191
1922005-01-17 Miklos Szeredi <miklos@szeredi.hu>
193
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000194 * fusermount: remove capability setting, which was the cause of
195 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000196 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000197
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001982005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000199
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000200 * fix compilation on 2.4 kernels (reported by Valient Gough)
201
202 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000203
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000204 * fusermount: improve parsing of /etc/fuse.conf
205
2062005-01-13 Miklos Szeredi <miklos@szeredi.hu>
207
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000208 * Remove 'mount_max' and 'user_allow_other' module options. These
209 are now checked by fusermount, and can be set in /etc/fuse.conf
210
211 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
212
Miklos Szeredi81394522005-01-11 14:24:18 +00002132005-01-11 Miklos Szeredi <miklos@szeredi.hu>
214
215 * KERNEL: fix possible inode allocation problem, where
216 sizeof(struct inode) is not aligned (found by Mike Waychison)
217
218 * KERNEL: use new follow_link/put_link methods
219
220 * KERNEL: cosmetic fixes
221
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00002222005-01-10 Miklos Szeredi <miklos@szeredi.hu>
223
224 * Released 2.2-pre3
225
2262005-01-10 Miklos Szeredi <miklos@szeredi.hu>
227
228 * Add missing code that was accidently left out
229
Miklos Szeredi8c7da232005-01-09 12:27:41 +00002302005-01-09 Miklos Szeredi <miklos@szeredi.hu>
231
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000232 * Released 2.2-pre2
233
2342005-01-09 Miklos Szeredi <miklos@szeredi.hu>
235
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000236 * Change "uid" mount option to "user_id" to avoid confusion with a
237 mount option "uid" commonly used by many filesystems
238
2392005-01-09 Miklos Szeredi <miklos@szeredi.hu>
240
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000241 * Released 2.2-pre1
242
2432005-01-09 Miklos Szeredi <miklos@szeredi.hu>
244
245 * If FUSE is configured in the kernel, don't build it by default
246
Miklos Szeredi2a927272005-01-07 11:14:15 +00002472005-01-07 Miklos Szeredi <miklos@szeredi.hu>
248
249 * Compile fix by Christian Magnusson
250
Miklos Szeredib6220192005-01-05 16:19:10 +00002512005-01-05 Miklos Szeredi <miklos@szeredi.hu>
252
253 * Fix compilation for 2.6.{0-5} kernels
254
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002552005-01-04 Miklos Szeredi <miklos@szeredi.hu>
256
257 * KERNEL: if request is interrupted, still keep reference to used
258 inode(s) and file, so that FORGET and RELEASE are not sent until
259 userspace finishes the request.
260
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000261 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
262 request with the same information, which is more flexible,
263 simpler, works on embedded systems.
264
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002652004-12-16 Miklos Szeredi <miklos@szeredi.hu>
266
267 * KERNEL ABI: update interface to make it independent of type
268 sizes. This will help on 64 bit architectures which can run
269 legacy 32 bit applications.
270
271 * KERNEL ABI: add "len" field to request headers. This will allow
272 sending/receiving requests in multiple chunks.
273
274 * KERNEL: handle file type change more intelligently
275
276 * LIB: "-o debug" option should disable backgrounding (fix by
277 Fabien Reygrobellet)
278
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00002792004-12-13 Miklos Szeredi <miklos@szeredi.hu>
280
281 * KERNEL: invalidate dentry/attributes if interrupted request
282 could leave filesystem in an unknown state.
283
Miklos Szeredie56818b2004-12-12 11:45:24 +00002842004-12-12 Miklos Szeredi <miklos@szeredi.hu>
285
286 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
287 These will cause some regressions, but stability is considered
288 more important. If any of these features turns out to be
289 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000290
Miklos Szeredie56818b2004-12-12 11:45:24 +0000291 * Make all requests interruptible (only with SIGKILL currently).
292 This can be used to break any deadlock produced by the userspace
293 filesystem accessing it's own exported files. The RELEASE request
294 is special, because if it's interrupted before sending it to
295 userspace it is still sent, but the reply is not awaited.
296
297 * If request is interrupted before being sent to userspace, and if
298 it hasn't yet got any side effects, it is always restarted,
299 regardless of the SA_RESTART flag. This makes these interruptions
300 transparent to the process.
301
302 * Remove shared-writable mmap support, which was prone to an
303 out-of-memory deadlock situation
304
305 * Remove INVALIDATE userspace initiated request
306
307 * Make readpages() synchronous. Asynchronous requests are
308 deadlock prone, since they cannot be interrupted.
309
310 * Add readv/writev support to fuse device operations
311
312 * Remove some printks, which userspace FS can use for a DoS
313 against syslog
314
315 * Remove 'large_read' mount option from 2.6 in kernel, check it in
316 fusermount instead
317
318 * LIB: improve compatibility with a fuse.h header installed in
319 ${prefix}/include which in turn includes the real header.
320
321 * LIB: improve compatibility by defining fuse_main() (which is now
322 not used), so old configure scripts find it.
323
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00003242004-12-10 Miklos Szeredi <miklos@szeredi.hu>
325
326 * When mounting on a subdirectory of / don't duplicate slashes at
327 the beggining of path (spotted by David Shaw)
328
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00003292004-12-09 Miklos Szeredi <miklos@szeredi.hu>
330
331 * Fix bug causing garbage in mount options (spotted by David Shaw)
332
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00003332004-12-07 Miklos Szeredi <miklos@szeredi.hu>
334
335 * Add 'writepage' flag to 'fuse_file_info'.
336
337 * More comments in fuse.h
338
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000339 * Get rid of double underscores
340
Miklos Szeredi799993c2004-12-04 21:20:05 +00003412004-12-04 Miklos Szeredi <miklos@szeredi.hu>
342
343 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
344
345 * helper.c: add -ho option, which only displays the options not
346 the usage header. This can be used by filesystems which have
347 their own options.
348
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00003492004-12-03 Miklos Szeredi <miklos@szeredi.hu>
350
351 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
352 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
353 including the fuse header
354
355 * Add binary compatibility to 2.1 version of library with symbol
356 versioning
357
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00003582004-12-03 Miklos Szeredi <miklos@szeredi.hu>
359
360 * Released 2.1
361
Miklos Szeredi039322d2004-12-01 18:39:12 +00003622004-12-01 Miklos Szeredi <miklos@szeredi.hu>
363
364 * kernel: clean up writing functions
365
366 * kernel: no allocation on write in direct_io mode
367
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000368 * move linux/fuse.h to fuse_kernel.h
369
Miklos Szeredi83a07442004-11-30 18:25:20 +00003702004-11-30 Miklos Szeredi <miklos@szeredi.hu>
371
372 * kernel: clean up reading functions
373
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00003742004-11-29 Miklos Szeredi <miklos@szeredi.hu>
375
376 * kernel: make readpage() uninterruptible
377
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000378 * kernel: check readonly filesystem flag in fuse_permission
379
380 * lib: don't die if version file not found and new style device
381 exists
382
383 * lib: add '-r' option, which is short for '-o ro'
384
385 * fusermount: simplify device opening
386
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000387 * kernel: when direct_io is turend on, copy data directly to
388 destination without itermediate buffer. More efficient and safer,
389 since no allocation is done.
390
391 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000392
393 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000394
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00003952004-11-26 Miklos Szeredi <miklos@szeredi.hu>
396
397 * libfuse API change: open, read, write, flush, fsync and release
398 are passed a 'struct fuse_file_info' pointer containing the open
399 flags (open and release), and the file handle. Verion changed to
400 3.0.
401
Miklos Szeredia25d4c22004-11-23 22:32:16 +00004022004-11-23 Miklos Szeredi <miklos@szeredi.hu>
403
404 * More cleanups in the kernel
405
406 * The 10,229 charater device number has been assigned for FUSE
407
408 * Version file checking fix (reported by Christian Magnusson)
409
410 * fusermount: opening the fuse device now doesn't need /sys.
411
412 * Optimize reading by controlling the maximum readahead based on
413 the 'max_read' mount option
414
415 * fixes for UCLIBC (Christian Magnusson)
416
Miklos Szeredi13ed4822004-11-20 11:12:21 +00004172004-11-19 Miklos Szeredi <miklos@szeredi.hu>
418
419 * Cleaned up kernel in preparation for merge into mainline:
420
421 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
422
423 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
424
425 * __user annotations for sparse
426
427 * allocate individual pages instead of kmalloc in fuse_readdir,
428 fuse_read and fuse_write.
429
430 * Fix NFS export in case "use_ino" mount option is given
431
Miklos Szeredif3845c42004-11-20 11:18:34 +0000432 * Make libfuse and fusermount compatible with future versions
433
434 * fusermount: properly add mount options to /etc/mtab
435
4362004-11-15 Miklos Szeredi <miklos@szeredi.hu>
437
438 * fusermount: do not resolve last component of mountpoint on if it
439 is '.' or '..'. This new path resolvation is now done on mount as
440 well as unmount. This enables relative paths to work on unmount.
441
442 * fusermount: parse common mount options like "ro", "rw", etc...
443
444 * Allow module params to be changed through sysfs
445
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00004462004-11-14 Miklos Szeredi <miklos@szeredi.hu>
447
448 * Released 2.1-pre1
449
4502004-11-14 Miklos Szeredi <miklos@szeredi.hu>
451
452 * Fix bug in fuse_readpages() causing Oops in certain situations.
453 Bug found by Vincenzo Ciancia.
454
455 * Fix compilation with kernels versions > 2.6.9.
456
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00004572004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000458
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000459 * Check kernel interface version in fusermount to prevent
460 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000461
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000462 * No need to allocate fuse_conn until actual mount happens
463
464 * Fix potential race between umount and fuse_invalidate
465
466 * Check superblock of proc file in addition to inode number
467
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000468 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000469
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004702004-11-10 Miklos Szeredi <miklos@szeredi.hu>
471
472 * Separate configure for the kernel directory
473
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000474 * Don't allow write to return more than 'count'
475
476 * Extend kernel interface for future use
477
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004782004-11-09 Miklos Szeredi <miklos@szeredi.hu>
479
480 * Fix 'makeconf.sh' to use autoreconf if available
481
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00004822004-11-08 Miklos Szeredi <miklos@szeredi.hu>
483
Miklos Szeredid507c732004-11-08 17:32:25 +0000484 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
485 compatibility with earlier versions. To compile earier versions
486 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
487 Do not use the "use_ino" mount flag with filesystems compiled with
488 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000489
490 * Add pkg-config support. To compile a FUSE based filesystem you
491 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
492 or similar. Note, that the PKG_CONFIG_PATH environment variable
493 usually needs to be set to "/usr/local/lib/pkgconfig".
494
495 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000496
Miklos Szeredia13d9002004-11-02 17:32:03 +00004972004-11-02 Miklos Szeredi <miklos@szeredi.hu>
498
499 * Added "use_ino" mount option. This enables the filesystems to
500 set the st_ino field on files
501
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00005022004-11-01 Miklos Szeredi <miklos@szeredi.hu>
503
504 * Fix compile problems with ancient (<=2.4.18) kernels (reported
505 by Jeremy Smith)
506
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000507 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
508
509 * Clear the 'exited' flag when mail loop is finished
510
Miklos Szeredie989f0d2004-10-28 20:24:58 +00005112004-10-28 Miklos Szeredi <miklos@szeredi.hu>
512
513 * Make xattr functions work under 2.6 (bug found by Vincenzo
514 Ciancia)
515
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00005162004-10-26 Miklos Szeredi <miklos@szeredi.hu>
517
518 * Reset request in fuse_flush() (bugreport by David Shaw)
519
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00005202004-10-21 Miklos Szeredi <miklos@szeredi.hu>
521
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000522 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000523 error code
524
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000525 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000526 make it easier to implement a custom event loop.
527
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000528 * Use daemon() call to background the filesystem after mounting.
529 This function closes the standard input, output and error and
530 changes the current working directory to "/".
531
Miklos Szeredi127d49b2004-10-14 13:33:39 +00005322004-10-14 Miklos Szeredi <miklos@szeredi.hu>
533
534 * Released 1.9
535
Miklos Szeredid45baf42004-10-10 07:56:12 +00005362004-10-09 Miklos Szeredi <miklos@szeredi.hu>
537
538 * Don't allow fuse_flush() to be interrupted (bug found by David
539 Shaw)
540
Miklos Szeredi1f18db52004-09-27 06:54:49 +00005412004-09-27 Miklos Szeredi <miklos@szeredi.hu>
542
543 * Add PID to fuse_context. Patch by Steven James
544
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000545 * Change file handle type to 'unsigned long' in kernel interface
546
Miklos Szeredid169f312004-09-22 08:48:26 +00005472004-09-22 Miklos Szeredi <miklos@szeredi.hu>
548
549 * A slight API change: fuse_get_context() doesn't need the "fuse"
550 pointer, but the returned context contains it instead. The
551 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000552
553 * Fix mounting and umounting FUSE filesystem under another FUSE
554 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000555
Miklos Szeredic2309912004-09-21 13:40:38 +00005562004-09-21 Miklos Szeredi <miklos@szeredi.hu>
557
558 * Fix deadlock in case of memory allocation failure. Patch by
559 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000560
Miklos Szeredib2cf9562004-09-16 08:42:40 +00005612004-09-16 Miklos Szeredi <miklos@szeredi.hu>
562
563 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000564
Miklos Szeredi65afea12004-09-14 07:13:45 +00005652004-09-14 Miklos Szeredi <miklos@szeredi.hu>
566
567 * Check temporary file creation failure in do_getdir(). Bug
568 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000569
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00005702004-09-13 Miklos Szeredi <miklos@szeredi.hu>
571
572 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000573
574 * Make requests non-interruptible so race with FORGET is avoided.
575 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000576
577 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000578
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00005792004-09-09 Miklos Szeredi <miklos@szeredi.hu>
580
581 * Fix bug in case two FORGETs for the same node are executed in
582 the wrong order. Bug spotted and endured for months by Franco
583 Broi, and logfile for solution provided by Terje Oseberg
584
Miklos Szeredi12085102004-09-02 18:13:57 +00005852004-09-01 Miklos Szeredi <miklos@szeredi.hu>
586
587 * Add -D_REENTRANT to the compile flags
588
589 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000590
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00005912004-08-16 Miklos Szeredi <miklos@szeredi.hu>
592
593 * Change release method to be non-interruptible. Fixes bug
594 causing missing release() call when program which has opened files
595 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000596
Miklos Szeredi891b8742004-07-29 09:27:49 +00005972004-07-29 Miklos Szeredi <miklos@szeredi.hu>
598
599 * Add fuse_invalidate() to library API
600
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00006012004-07-26 Miklos Szeredi <miklos@szeredi.hu>
602
603 * Check permissions in setattr if 'default_permissions' flag is
604 set. Bug spotted by Damjan Lango
605
Miklos Szeredid66d3942004-07-24 13:47:44 +00006062004-07-24 Miklos Szeredi <miklos@szeredi.hu>
607
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000608 * 'large_read' mount option removed for 2.6 kernels, since the
609 default (dynamic read size) is better
610
611 * Extend kernel API with file handles. A file handle is returned
612 by open, and passed to read, write, flush, fsync and release.
613 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000614
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000615 * Security changes:
616
617 * Change the current directory to the mountpoint before checking
618 the permissions and mount filesystem on "."
619
620 * By default don't modprobe the fuse module for non-root. The old
621 behavior can be restored with the '--enable-auto-modprobe' flag of
622 ./configure
623
624 * By default don't allow shared writable mappings for non-root.
625 The old behavior can be restored with the 'user_mmap=1' module
626 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000627
Miklos Szeredibd7661b2004-07-23 17:16:29 +00006282004-07-23 Miklos Szeredi <miklos@szeredi.hu>
629
630 * Clean up mount option passing to fusermount and to fuse_new()
631 BEWARE: this changes the userspace API slightly, and the command
632 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000633
Miklos Szeredi58865372004-07-20 14:22:26 +00006342004-07-20 Miklos Szeredi <miklos@szeredi.hu>
635
636 * Optimize reading under 2.6 kernels by issuing multiple page
637 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000638
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00006392004-07-18 Miklos Szeredi <miklos@szeredi.hu>
640
641 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000642
Miklos Szeredi069c9502004-07-16 16:17:02 +00006432004-07-16 Miklos Szeredi <miklos@szeredi.hu>
644
645 * Separate directory entry and inode attribute validity timer
646
647 * New write semaphore to stop page writeback during truncate
648
649 * Fsync now waits for all writes to complete before sending the
650 request
651
652 * Optimization: if a page is completely written by
653 fuse_commit_write(), clear the dirty flag and set the uptodate
654 flag for that page
655
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000656 * Some memory cleanup at exit
657
Miklos Szeredi2529ca22004-07-13 15:36:52 +00006582004-07-13 Miklos Szeredi <miklos@szeredi.hu>
659
660 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000661 disable the "hide if open" behavior of unlink/rename.
662
663 * If temporary buffer allocation fails in raw read, fall back to a
664 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000665
Miklos Szeredi73798f92004-07-12 15:55:11 +00006662004-07-12 Miklos Szeredi <miklos@szeredi.hu>
667
668 * Fix bug in do_open() in libfuse: open count was incremented
669 after the reply is sent so it could race with unlink/forget and
670 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000671
Miklos Szeredi015fe702004-07-12 11:52:24 +00006722004-07-08 Miklos Szeredi <miklos@szeredi.hu>
673
674 * When performing create or remove operation, refresh the parent's
675 attributes on next revalidate, as i_nlink (and maybe size/time)
676 could be inacurate.
677
678 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
679 pages (2.6 only)
680
681 * Set set_page_dirty address space operation (2.6 only)
682
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006832004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000684
685 * Minor fix in read: print debug info even if read size is zero
686
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006872004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000688
689 * Fix race between truncate and writepage (fsx-linux now runs
690 without error)
691
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006922004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000693
694 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
695 by Mattias Wadman)
696
697 * Added option for direct read/write (-r)
698
699 * Fix revalidate time setting for newly created inodes
700
Miklos Szerediacb4d362004-07-02 16:20:45 +0000701 * Remove uid==0 check for '-x' option in fusermount (kernel checks
702 this)
703
704 * fuse_main() only installs handlers for signals (out of INT, HUP,
705 TERM, PIPE), for which no handler has yet been installed
706
707 * Add module option 'user_allow_other' which if set to non-zero
708 will allow non root user to specify the 'allow_other' mount option
709 ('-x' option of fusermount)
710
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000711 * Fix deadlock between page writeback completion and truncate
712 (bug found by Valient Gough with the fsx-linux utility)
713
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007142004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000715
716 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000717 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
718 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000719
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007202004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000721
722 * Acquire inode->i_sem before open and release methods to prevent
723 concurrent rename or unlink operations.
724
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000725 * Make __fuse_read_cmd() read only one command. This allows
726 multiplexing the fuse file descriptor with other event sources
727 using select() or poll() (patch by Jeff Harris)
728
729 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
730
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007312004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000732
733 * Fix file offset wrap around at 4G when doing large reads
734
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007352004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000736
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000737 * Fix memory leak in open (Valient Gough)
738
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007392004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000740
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000741 * Add "close after delete" support to libfuse (patch by Valient
742 Gough)
743
744 * Cancel all worker threads before exit in multithreaded mode
745
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007462004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000747
748 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000749
750 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000751
752 * Work with newer libtool (1.5a)
753
754 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000755
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007562004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000757
758 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000759
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007602004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000761
762 * Fix possible inode leak in userspace in case of unfinished
763 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000764
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007652004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000766
767 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000768
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007692004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000770
771 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000772
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007732004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000774
775 * Build shared library as well as static (using libtool)
776
777 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
778 there has not been a release with the previous minor number, and I
779 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000780
781 * Change fuse_main(), so that default behavior is to go into
782 background if mount is successful. '-f' and '-d' options disable
783 backgrounding. This fixes the "Why does my FUSE daemon hang?"
784 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000785
786 * Cache ENOSYS (function not implemented) errors on *xattr, flush
787 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000788
789 * Don't call getdir method from open() only from first readdir().
790 Open is sometimes just used to store the current directory
791 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000792
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007932004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000794
795 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000796
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007972004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000798
799 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000800
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008012004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000802
803 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000804
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008052004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000806
807 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000808
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008092004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000810
811 * Replaced binary mount data with text options
812
813 * Show FUSE specific mount options in /proc/mounts
814
815 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
816
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008172004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000818
819 * Check some limits so userspace won't get too big requests
820
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008212004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000822
823 * Kill compile warning
824
825 * Upgraded user-mount patch for 2.6.5
826
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008272004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000828
829 * Add detection of user-mode-linux to configure
830
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008312004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000832
833 * fixed zero size case for getxattr and listxattr
834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008352004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000836
837 * new fusermount flag '-z': lazy unmount, default is not lazy
838
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000839 * Extended attributes operations added (getxattr, setxattr,
840 listxattr, removexattr)
841
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008422004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000843
844 * If filesystem doesn't define a statfs operation, then an
845 all-zero default statfs is returned instead of ENOSYS
846
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008472004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000848
849 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
850
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008512004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000852
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000853 * Fix for uClinux (Christian Magnusson)
854
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008552004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000856
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000857 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000858
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000859 * More kernel interface changes:
860
861 * Lookup/getattr return cache timeout values
862
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008632004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000864
865 * Clean up option parsing in fuse_main()
866
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000867 * Added fuse_get() function which returns the fuse object created
868 by fuse_main()
869
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008702004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000871
Miklos Szeredic40748a2004-02-20 16:38:45 +0000872 * removed old way of mounting (fusermount mountpoint program)
873
Miklos Szeredib5958612004-02-20 14:10:49 +0000874 * more kernel interface changes:
875
876 * added nanosecond precision to file times
877
Miklos Szeredic40748a2004-02-20 16:38:45 +0000878 * removed interface version from mount data
879
880 * added /proc/fs/fuse/version which contains MAJOR.MINOR
881
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008822004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000883
884 * statfs library API changed to match other methods. Since this
885 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
886
Miklos Szeredi76f65782004-02-19 16:55:40 +0000887 * kernel interface changes follow:
888
889 * statfs changed to 64 bits, added 'bavail' field
890
891 * add generation number to lookup result
892
893 * optimized mknod/mkdir/symlink/link (no separate lookup is
894 needed)
895
896 * rdev size increased to 32 bits for mknod
897
898 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000899
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009002004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000901
902 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000903
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009042004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000905
906 * Added user-mount.2.6.2-rc3.patch
907
908 * Add FS_SAFE flag to fuse filesystem
909
910 * fusermount should allow (un)mounting for non-root even if not
911 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000912
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009132004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000914
915 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000916
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009172004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000918
919 * Added check for i_size_read/write functions to configure.in
920 (patch by Valient Gough)
921
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009222004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000923
924 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000925
926 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000927
928 * Readpage calls flush_dcache_page() after storing data
929
930 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000931
932 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000933
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009342004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000935
936 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000937
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009382004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000939
940 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000941
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009422004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000943
944 * Added -q option for fusermount
945
946 * fuse_unmount() now uses -q option of fusermount, so no error is
947 printed if the cause of the program exit is that the filesystem
948 has already been unmounted
949
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000950 * Fix i_nlink correctness after rmdir/unlink
951
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009522004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000953
Miklos Szeredib1158392004-01-26 14:43:12 +0000954 * Released 1.1-pre2
955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009562004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000957
Miklos Szeredi307242f2004-01-26 11:28:44 +0000958 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000959
960 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000961
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009622004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000963
964 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009662004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000967
968 * Write all pending data before a RELEASE operation
969
970 * Suppress 'Bad file descriptor' warning on exit
971
972 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000973 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000974
Miklos Szeredib1158392004-01-26 14:43:12 +0000975 * New fusermount option '-l' which enables big reads. Big reads
976 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000977
978 * fuse_main() can accept fusermount arguments after a '--'
979
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009802004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000981
982 * Support for exporting filesystem over NFS (see README.NFS)
983
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009842004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000985
986 * Support non-blocking writepage on 2.6. This makes FUSE behave
987 much more nicely in low-memory situations
988
989 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
990 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +0000991
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009922004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000993
994 * Code cleanups
995
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009962004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000997
998 * Released 1.1-pre1
999
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010002004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +00001001
1002 * Integrated 2.6 kernel support patch by Michael Grigoriev
1003
1004 * Improvements and cleanups for 2.6 kernels
1005
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010062004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001007
Miklos Szeredie5183742005-02-02 11:14:04 +00001008 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001009
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010102003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001011
1012 * Added major+minor version to library API, and minor version to
1013 kernel API
1014
David McNab7a19caf2003-12-13 02:05:46 +000010152003-12-13 David McNab <david@rebirthing.co.nz>
1016
1017 * Implemented fsync support in examples/example.py
1018
1019 * Implemented 'fsync' and 'statfs' methods in python
1020 interface
1021
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010222003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001023
Miklos Szeredie5183742005-02-02 11:14:04 +00001024 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001025
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001026 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001027
David McNab8bf62632003-12-11 22:49:22 +000010282003-12-12 David McNab <david@rebirthing.co.nz>
1029
1030 * Added distutils support to the python module, as per standard
1031 python development practice
1032
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010332003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001034
1035 * Add file locking for mount/unmount (based on patch by Valient
1036 Gough)
1037
10382003-12-11 David McNab <david@rebirthing.co.nz>
1039
1040 * Python filesystem - was broken with python2.3, now fixed:
1041 - changed PyTuple_* calls to PySequence_*, because os.lstat
1042 is no longer returning a pure tuple
1043 - changed PyInt_Check() calls to also call PyLong_Check,
1044 to cover for cases (eg os.lstat) where longs are returned
1045 - Added support for file 'release' handling, which IMO is
1046 essential since this signals to a FS that writes to a file
1047 are complete (and therefore the file can now be disposed of
1048 meaningfully at the python filesystem's discretion)
1049 - Added '__init__' handler to base Fuse class, which allows
1050 your Python class to know the mountpoint and mount args,
1051 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001052
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001053 * General:
1054 - added 'mount.fuse' script (in util/ dir), which is meant to be
1055 symlinked from /sbin, and which allows FUSE filesystems to
1056 be mounted with the 'mount' command, and listed in fstab;
1057 also, mount arguments get passed to your filesystem
1058
1059
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010602003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001061
1062 * Fix kernel version detection (again). Bugreport by Peter Levart
1063
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010642003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001065
1066 * Applied read combining patch by Michael Grigoriev (tested by
1067 Valient Gough and Vincent Wagelaar)
1068
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010692003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001070
1071 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1072 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001073
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010742003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001075
1076 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001077
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010782003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001079
1080 * kernel version detection fix
1081
1082 * fusermount now uses "lazy" umount option
1083
1084 * fusermount can use modprobe with module-init-tools
1085
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010862003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001087
1088 * Integrated caching patch by Michael Grigoriev
1089
Miklos Szeredida4e4862003-09-08 11:14:11 +00001090 * Added "Filesystems" file with descriptions of projects using
1091 FUSE
1092
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001093 * Added patch by Michael Grigoriev to allow compliation of FUSE
1094 kernel module for 2.6 kernels
1095
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010962003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001097
1098 * And another spec-file fix by Achim Settelmeier
1099
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011002003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001101
1102 * Spec-file fix by Achim Settelmeier
1103
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011042003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001105
Miklos Szerediac361172004-11-02 19:14:14 +00001106 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001107
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011082003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001109
1110 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1111
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011122003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001113
1114 * Updated fuse.spec file (Achim Settelmeier)
1115
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011162003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001117
1118 * Version 1.0 released
1119
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011202003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001121
1122 * SuSE compilation fix by Juan-Mariano de Goyeneche
1123
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011242002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001125
1126 * The release() VFS call is now exported to the FUSE interface
1127
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011282002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001129
1130 * 64 bit file offset fixes in the fuse kernel module
1131
1132 * Added function 'fuse_exit()' which can be used to exit the main
1133 loop
1134
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011352002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001136
1137 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1138 an incompatible interface change.
1139
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011402002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001141
1142 * Portablility fix (bug reported by C. Chris Erway)
1143
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011442002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001145
1146 * Use Mark Glines' fd passing method for default operation instead
1147 of old reexec
1148
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011492002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001150
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001151 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1152
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011532002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001154
Miklos Szeredi60c23522002-10-24 09:19:43 +00001155 * fix incompatiblity with Red Hat kernels, with help from Nathan
1156 Thompson-Amato.
1157
Mark Glines65ba2192002-04-18 14:41:48 +000011582002-04-18 Mark Glines <mark@glines.org>
1159
1160 * added an alternative to fuse_mount(), called
1161 fuse_mount_ioslave(), which does not need to reexec the
1162 FUSE program.
1163 * added a small helper util needed by fuse_mount_ioslave().
1164
Mark Glines220635a2002-03-17 07:01:14 +000011652002-03-16 Mark Glines <mark@glines.org>
1166
1167 * use struct fuse_statfs everywhere possible to avoid problems
1168 with the headerfiles changing struct statfs member sizes
1169
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011702002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001171
1172 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1173
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011742002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001175
1176 * RPM support by Achim Settelmeier
1177
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011782002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001179
Miklos Szerediddc862a2002-01-09 13:46:10 +00001180 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001181
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011822002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001183
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001184 * Revaidate all path components not just the last, this means a
1185 very small performance penalty for being more up-to-date.
1186
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011872002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001188
1189 * Update and fix python interface
1190
Mark Glinesd84b39a2002-01-07 16:32:02 +000011912002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001192
Mark Glinesd84b39a2002-01-07 16:32:02 +00001193 * Added statfs() support to kernel, lib, examples, and perl!
1194
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011952001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001196
1197 * Better cross compilation support
1198
1199 * Ported to Compaq IPAQ
1200
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012012001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001202
Miklos Szeredife25def2001-12-20 15:38:05 +00001203 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001204 patch from Matt Ryan)
1205
Miklos Szeredife25def2001-12-20 15:38:05 +00001206 * Added flags to fusermount and to kernel interface to control
1207 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001208
Miklos Szeredife25def2001-12-20 15:38:05 +00001209 * Integrated fuse_set_operations() into fuse_new()
1210
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012112001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001212
1213 * Applied header protection + extern "C" patch by Roland
1214 Bauerschmidt
1215
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012162001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001217
Miklos Szeredie5183742005-02-02 11:14:04 +00001218 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001219
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012202001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001221
1222 * Cleaned up way of mounting simple filesystems.
1223
1224 * fuse_main() helper function added
1225
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012262001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001227
Miklos Szeredife25def2001-12-20 15:38:05 +00001228 * Optimized read/write operations, so that minimal copying of data
1229 is done
1230
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012312001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001232
1233 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001234
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012352001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001236
1237 * Fixed vfsmount reference leak in fuse_follow_link
1238
1239 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1240 userspace is ignored
1241
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012422001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001243
Miklos Szeredife25def2001-12-20 15:38:05 +00001244 * Started ChangeLog