blob: 541580319a572e6ff9aaf31f0ce6e120a0f86608 [file] [log] [blame]
Miklos Szeredid001bf92005-04-22 07:54:11 +000012005-04-22 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Add -msoft-float to kernel module compile flags for 2.4.X. This
4 is needed on certain architectures. Report from Chris Kirby
5
6 * Fix buggy behavior of open(..., O_CREAT|O_EXCL) if interrupted.
7 Reported by David Shaw
8
Miklos Szeredi0111f9d2005-04-22 12:04:55 +00009 * Remove "allow_root" option from kernel module, and implement
10 it's functionality in the library
11
12 * Fix Oops caused by premature release of fuse_conn. Clean up
13 related code, to be more readable
14
Miklos Szeredib7640d22005-04-08 15:15:28 +0000152005-04-08 Miklos Szeredi <miklos@szeredi.hu>
16
17 * Fix Oops in case of nfs export. Spotted by David Shaw
18
Miklos Szeredi89814a12005-04-08 16:39:09 +000019 * Fix another Oops in case of write over nfs with direct_io turned
20 on. Again spotted by David Shaw
21
Miklos Szerediab974562005-04-07 15:40:21 +0000222005-04-07 Miklos Szeredi <miklos@szeredi.hu>
23
Miklos Szeredi432d6182005-04-07 15:56:13 +000024 * Released 2.3-pre4
25
262005-04-07 Miklos Szeredi <miklos@szeredi.hu>
27
Miklos Szerediab974562005-04-07 15:40:21 +000028 * lib: finalized new readdir() interface, which now supersedes the
29 getdir() method.
30
Miklos Szeredi30e093a2005-04-03 17:44:54 +0000312005-04-03 Miklos Szeredi <miklos@szeredi.hu>
32
33 * Released 2.3-pre3
34
352005-04-03 Miklos Szeredi <miklos@szeredi.hu>
36
37 * Implement backward compatibility with version 5 kernel ABI
38
Miklos Szeredi18fce982005-04-01 21:07:35 +0000392005-04-01 Miklos Szeredi <miklos@szeredi.hu>
40
41 * Released 2.3-pre2
42
432005-04-01 Miklos Szeredi <miklos@szeredi.hu>
44
45 * kernel: fix dirent offset handling
46
47 * lib: add readdir and releasedir methods
48
49 * lib: use fh field of fuse_file_info in opendir, readdir,
50 releasedir and fsyncdir methods
51
52 * lib: check kernel API version and bail out of it's old. This
53 will be properly fixed in the next release
54
552005-03-31 Miklos Szeredi <miklos@szeredi.hu>
56
57 * Released 2.3-pre1
58
Miklos Szeredieab72ef2005-03-31 19:59:12 +0000592005-03-31 Miklos Szeredi <miklos@szeredi.hu>
60
61 * kernel API: add padding to structures, so 64bit and 32bit
62 compiler will return the same size
63
64 * kernel API: add offset field to fuse_dirent. This will allow
65 more sophisticated readdir interface for userspace
66
67 * kernel API: change major number to 6
68
69 * kernel: fix warnings on 64bit archs
70
71 * kernel: in case of API version mismatch, return ECONNREFUSED
72
Miklos Szeredi407e6a72005-03-25 12:19:43 +0000732005-03-24 Miklos Szeredi <miklos@szeredi.hu>
74
75 * kernel: trivial cleanups
76
Miklos Szeredi4283ee72005-03-21 12:09:04 +0000772005-03-21 Miklos Szeredi <miklos@szeredi.hu>
78
79 * Add fsyncdir() operation
80
Miklos Szeredid17da462005-03-21 11:47:04 +0000812005-03-19 Miklos Szeredi <miklos@szeredi.hu>
82
83 * kernel: add locking to background list (fixes previous fix)
84
852005-03-18 Miklos Szeredi <miklos@szeredi.hu>
86
87 * kernel: fix bug which could cause leave busy inodes after
88 unmount, and Oops.
89
902005-03-08 Miklos Szeredi <miklos@szeredi.hu>
91
92 * examples: add -lpthread to link flags to work around valgrind
93 quirk
94
95 * lib: don't exit threads, so cancelation doesn't cause segfault
96
Miklos Szeredi31fa41c2005-03-04 17:28:51 +0000972005-03-04 Miklos Szeredi <miklos@szeredi.hu>
98
99 * kernel: fix nasty bug which could cause an Oops under certain
100 situations. Found by Magnus Johansson
101
Miklos Szeredif43f0632005-02-28 11:46:56 +00001022005-02-28 Miklos Szeredi <miklos@szeredi.hu>
103
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000104 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +0000105 permission checking in getdir() is too late. Thanks to Usarin
106 Heininga for pointing out this deficiency
107
Miklos Szeredi159bd7e2005-02-28 17:32:16 +0000108 * libfuse: added init() and destroy() methods to fuse_operations
109
Miklos Szeredif43f0632005-02-28 11:46:56 +0000110 * kernel: llseek() method for files and directories made explicit
111
112 * kernel: fixed inode leak in NFS export in case of nodeid
113 wrapping
114
Miklos Szeredied3c97c2005-02-15 17:04:50 +00001152005-02-15 Miklos Szeredi <miklos@szeredi.hu>
116
117 * libfuse: clean up some unitialized memory found with valgrind
118
Miklos Szeredi47c52982005-02-23 09:27:38 +0000119 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
120 explicitly linked libpthread for applications
121
Miklos Szeredia7169412005-02-10 07:35:05 +00001222005-02-10 Miklos Szeredi <miklos@szeredi.hu>
123
124 * fusermount: set umask, otherwise /etc/mtab will have
125 unpredictable permission. Spotted by Jindrich Kolorenc
126
127 * fusermount: set owner and group of /etc/mtab to original values
128 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000129
130 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredia7169412005-02-10 07:35:05 +0000131
Miklos Szeredib92d9782005-02-07 16:10:49 +00001322005-02-07 Miklos Szeredi <miklos@szeredi.hu>
133
134 * Cleaned up directory reading (temporary file is not used)
135
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001362005-02-02 Miklos Szeredi <miklos@szeredi.hu>
137
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000138 * Released 2.2
139
1402005-02-02 Miklos Szeredi <miklos@szeredi.hu>
141
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000142 * Fix possible race when operation is interrupted
143
Miklos Szeredi7a983952005-01-28 09:58:19 +00001442005-01-28 Miklos Szeredi <miklos@szeredi.hu>
145
Miklos Szeredie5183742005-02-02 11:14:04 +0000146 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000147
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001482005-01-26 Miklos Szeredi <miklos@szeredi.hu>
149
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000150 * Released 2.2-pre6
151
1522005-01-26 Miklos Szeredi <miklos@szeredi.hu>
153
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000154 * Fix bug in link() operation which caused the wrong path to be
155 passed as the first argument. Found by Anton Altaparmakov
156
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00001572005-01-21 Miklos Szeredi <miklos@szeredi.hu>
158
159 * LIB: fix double reply in readdir operation
160
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000161 * fusermount: fix uid checking bug. Patch by Adam Connell
162
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000163 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000164 Patch by Keshava Gowda
165
Miklos Szeredi64074142005-01-20 08:48:11 +00001662005-01-20 Miklos Szeredi <miklos@szeredi.hu>
167
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000168 * KERNEL: provide correct llseek semantics for fuse device (fixes
169 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
170
1712005-01-20 Miklos Szeredi <miklos@szeredi.hu>
172
Miklos Szeredi64074142005-01-20 08:48:11 +0000173 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
174
Miklos Szeredi1adb2272005-01-18 21:19:58 +00001752005-01-18 Miklos Szeredi <miklos@szeredi.hu>
176
177 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
178 and RELEASEDIR. This ends the ugly hack of passing a file
179 descriptor to the kernel, and actually makes the code simpler.
180
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001812005-01-17 Miklos Szeredi <miklos@szeredi.hu>
182
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000183 * Released 2.2-pre4
184
1852005-01-17 Miklos Szeredi <miklos@szeredi.hu>
186
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000187 * fusermount: remove capability setting, which was the cause of
188 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000189 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000190
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001912005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000192
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000193 * fix compilation on 2.4 kernels (reported by Valient Gough)
194
195 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000196
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000197 * fusermount: improve parsing of /etc/fuse.conf
198
1992005-01-13 Miklos Szeredi <miklos@szeredi.hu>
200
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000201 * Remove 'mount_max' and 'user_allow_other' module options. These
202 are now checked by fusermount, and can be set in /etc/fuse.conf
203
204 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
205
Miklos Szeredi81394522005-01-11 14:24:18 +00002062005-01-11 Miklos Szeredi <miklos@szeredi.hu>
207
208 * KERNEL: fix possible inode allocation problem, where
209 sizeof(struct inode) is not aligned (found by Mike Waychison)
210
211 * KERNEL: use new follow_link/put_link methods
212
213 * KERNEL: cosmetic fixes
214
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00002152005-01-10 Miklos Szeredi <miklos@szeredi.hu>
216
217 * Released 2.2-pre3
218
2192005-01-10 Miklos Szeredi <miklos@szeredi.hu>
220
221 * Add missing code that was accidently left out
222
Miklos Szeredi8c7da232005-01-09 12:27:41 +00002232005-01-09 Miklos Szeredi <miklos@szeredi.hu>
224
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000225 * Released 2.2-pre2
226
2272005-01-09 Miklos Szeredi <miklos@szeredi.hu>
228
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000229 * Change "uid" mount option to "user_id" to avoid confusion with a
230 mount option "uid" commonly used by many filesystems
231
2322005-01-09 Miklos Szeredi <miklos@szeredi.hu>
233
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000234 * Released 2.2-pre1
235
2362005-01-09 Miklos Szeredi <miklos@szeredi.hu>
237
238 * If FUSE is configured in the kernel, don't build it by default
239
Miklos Szeredi2a927272005-01-07 11:14:15 +00002402005-01-07 Miklos Szeredi <miklos@szeredi.hu>
241
242 * Compile fix by Christian Magnusson
243
Miklos Szeredib6220192005-01-05 16:19:10 +00002442005-01-05 Miklos Szeredi <miklos@szeredi.hu>
245
246 * Fix compilation for 2.6.{0-5} kernels
247
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002482005-01-04 Miklos Szeredi <miklos@szeredi.hu>
249
250 * KERNEL: if request is interrupted, still keep reference to used
251 inode(s) and file, so that FORGET and RELEASE are not sent until
252 userspace finishes the request.
253
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000254 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
255 request with the same information, which is more flexible,
256 simpler, works on embedded systems.
257
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002582004-12-16 Miklos Szeredi <miklos@szeredi.hu>
259
260 * KERNEL ABI: update interface to make it independent of type
261 sizes. This will help on 64 bit architectures which can run
262 legacy 32 bit applications.
263
264 * KERNEL ABI: add "len" field to request headers. This will allow
265 sending/receiving requests in multiple chunks.
266
267 * KERNEL: handle file type change more intelligently
268
269 * LIB: "-o debug" option should disable backgrounding (fix by
270 Fabien Reygrobellet)
271
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00002722004-12-13 Miklos Szeredi <miklos@szeredi.hu>
273
274 * KERNEL: invalidate dentry/attributes if interrupted request
275 could leave filesystem in an unknown state.
276
Miklos Szeredie56818b2004-12-12 11:45:24 +00002772004-12-12 Miklos Szeredi <miklos@szeredi.hu>
278
279 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
280 These will cause some regressions, but stability is considered
281 more important. If any of these features turns out to be
282 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000283
Miklos Szeredie56818b2004-12-12 11:45:24 +0000284 * Make all requests interruptible (only with SIGKILL currently).
285 This can be used to break any deadlock produced by the userspace
286 filesystem accessing it's own exported files. The RELEASE request
287 is special, because if it's interrupted before sending it to
288 userspace it is still sent, but the reply is not awaited.
289
290 * If request is interrupted before being sent to userspace, and if
291 it hasn't yet got any side effects, it is always restarted,
292 regardless of the SA_RESTART flag. This makes these interruptions
293 transparent to the process.
294
295 * Remove shared-writable mmap support, which was prone to an
296 out-of-memory deadlock situation
297
298 * Remove INVALIDATE userspace initiated request
299
300 * Make readpages() synchronous. Asynchronous requests are
301 deadlock prone, since they cannot be interrupted.
302
303 * Add readv/writev support to fuse device operations
304
305 * Remove some printks, which userspace FS can use for a DoS
306 against syslog
307
308 * Remove 'large_read' mount option from 2.6 in kernel, check it in
309 fusermount instead
310
311 * LIB: improve compatibility with a fuse.h header installed in
312 ${prefix}/include which in turn includes the real header.
313
314 * LIB: improve compatibility by defining fuse_main() (which is now
315 not used), so old configure scripts find it.
316
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00003172004-12-10 Miklos Szeredi <miklos@szeredi.hu>
318
319 * When mounting on a subdirectory of / don't duplicate slashes at
320 the beggining of path (spotted by David Shaw)
321
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00003222004-12-09 Miklos Szeredi <miklos@szeredi.hu>
323
324 * Fix bug causing garbage in mount options (spotted by David Shaw)
325
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00003262004-12-07 Miklos Szeredi <miklos@szeredi.hu>
327
328 * Add 'writepage' flag to 'fuse_file_info'.
329
330 * More comments in fuse.h
331
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000332 * Get rid of double underscores
333
Miklos Szeredi799993c2004-12-04 21:20:05 +00003342004-12-04 Miklos Szeredi <miklos@szeredi.hu>
335
336 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
337
338 * helper.c: add -ho option, which only displays the options not
339 the usage header. This can be used by filesystems which have
340 their own options.
341
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00003422004-12-03 Miklos Szeredi <miklos@szeredi.hu>
343
344 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
345 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
346 including the fuse header
347
348 * Add binary compatibility to 2.1 version of library with symbol
349 versioning
350
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00003512004-12-03 Miklos Szeredi <miklos@szeredi.hu>
352
353 * Released 2.1
354
Miklos Szeredi039322d2004-12-01 18:39:12 +00003552004-12-01 Miklos Szeredi <miklos@szeredi.hu>
356
357 * kernel: clean up writing functions
358
359 * kernel: no allocation on write in direct_io mode
360
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000361 * move linux/fuse.h to fuse_kernel.h
362
Miklos Szeredi83a07442004-11-30 18:25:20 +00003632004-11-30 Miklos Szeredi <miklos@szeredi.hu>
364
365 * kernel: clean up reading functions
366
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00003672004-11-29 Miklos Szeredi <miklos@szeredi.hu>
368
369 * kernel: make readpage() uninterruptible
370
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000371 * kernel: check readonly filesystem flag in fuse_permission
372
373 * lib: don't die if version file not found and new style device
374 exists
375
376 * lib: add '-r' option, which is short for '-o ro'
377
378 * fusermount: simplify device opening
379
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000380 * kernel: when direct_io is turend on, copy data directly to
381 destination without itermediate buffer. More efficient and safer,
382 since no allocation is done.
383
384 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000385
386 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000387
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00003882004-11-26 Miklos Szeredi <miklos@szeredi.hu>
389
390 * libfuse API change: open, read, write, flush, fsync and release
391 are passed a 'struct fuse_file_info' pointer containing the open
392 flags (open and release), and the file handle. Verion changed to
393 3.0.
394
Miklos Szeredia25d4c22004-11-23 22:32:16 +00003952004-11-23 Miklos Szeredi <miklos@szeredi.hu>
396
397 * More cleanups in the kernel
398
399 * The 10,229 charater device number has been assigned for FUSE
400
401 * Version file checking fix (reported by Christian Magnusson)
402
403 * fusermount: opening the fuse device now doesn't need /sys.
404
405 * Optimize reading by controlling the maximum readahead based on
406 the 'max_read' mount option
407
408 * fixes for UCLIBC (Christian Magnusson)
409
Miklos Szeredi13ed4822004-11-20 11:12:21 +00004102004-11-19 Miklos Szeredi <miklos@szeredi.hu>
411
412 * Cleaned up kernel in preparation for merge into mainline:
413
414 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
415
416 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
417
418 * __user annotations for sparse
419
420 * allocate individual pages instead of kmalloc in fuse_readdir,
421 fuse_read and fuse_write.
422
423 * Fix NFS export in case "use_ino" mount option is given
424
Miklos Szeredif3845c42004-11-20 11:18:34 +0000425 * Make libfuse and fusermount compatible with future versions
426
427 * fusermount: properly add mount options to /etc/mtab
428
4292004-11-15 Miklos Szeredi <miklos@szeredi.hu>
430
431 * fusermount: do not resolve last component of mountpoint on if it
432 is '.' or '..'. This new path resolvation is now done on mount as
433 well as unmount. This enables relative paths to work on unmount.
434
435 * fusermount: parse common mount options like "ro", "rw", etc...
436
437 * Allow module params to be changed through sysfs
438
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00004392004-11-14 Miklos Szeredi <miklos@szeredi.hu>
440
441 * Released 2.1-pre1
442
4432004-11-14 Miklos Szeredi <miklos@szeredi.hu>
444
445 * Fix bug in fuse_readpages() causing Oops in certain situations.
446 Bug found by Vincenzo Ciancia.
447
448 * Fix compilation with kernels versions > 2.6.9.
449
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00004502004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000451
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000452 * Check kernel interface version in fusermount to prevent
453 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000454
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000455 * No need to allocate fuse_conn until actual mount happens
456
457 * Fix potential race between umount and fuse_invalidate
458
459 * Check superblock of proc file in addition to inode number
460
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000461 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000462
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004632004-11-10 Miklos Szeredi <miklos@szeredi.hu>
464
465 * Separate configure for the kernel directory
466
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000467 * Don't allow write to return more than 'count'
468
469 * Extend kernel interface for future use
470
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004712004-11-09 Miklos Szeredi <miklos@szeredi.hu>
472
473 * Fix 'makeconf.sh' to use autoreconf if available
474
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00004752004-11-08 Miklos Szeredi <miklos@szeredi.hu>
476
Miklos Szeredid507c732004-11-08 17:32:25 +0000477 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
478 compatibility with earlier versions. To compile earier versions
479 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
480 Do not use the "use_ino" mount flag with filesystems compiled with
481 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000482
483 * Add pkg-config support. To compile a FUSE based filesystem you
484 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
485 or similar. Note, that the PKG_CONFIG_PATH environment variable
486 usually needs to be set to "/usr/local/lib/pkgconfig".
487
488 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000489
Miklos Szeredia13d9002004-11-02 17:32:03 +00004902004-11-02 Miklos Szeredi <miklos@szeredi.hu>
491
492 * Added "use_ino" mount option. This enables the filesystems to
493 set the st_ino field on files
494
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00004952004-11-01 Miklos Szeredi <miklos@szeredi.hu>
496
497 * Fix compile problems with ancient (<=2.4.18) kernels (reported
498 by Jeremy Smith)
499
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000500 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
501
502 * Clear the 'exited' flag when mail loop is finished
503
Miklos Szeredie989f0d2004-10-28 20:24:58 +00005042004-10-28 Miklos Szeredi <miklos@szeredi.hu>
505
506 * Make xattr functions work under 2.6 (bug found by Vincenzo
507 Ciancia)
508
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00005092004-10-26 Miklos Szeredi <miklos@szeredi.hu>
510
511 * Reset request in fuse_flush() (bugreport by David Shaw)
512
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00005132004-10-21 Miklos Szeredi <miklos@szeredi.hu>
514
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000515 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000516 error code
517
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000518 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000519 make it easier to implement a custom event loop.
520
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000521 * Use daemon() call to background the filesystem after mounting.
522 This function closes the standard input, output and error and
523 changes the current working directory to "/".
524
Miklos Szeredi127d49b2004-10-14 13:33:39 +00005252004-10-14 Miklos Szeredi <miklos@szeredi.hu>
526
527 * Released 1.9
528
Miklos Szeredid45baf42004-10-10 07:56:12 +00005292004-10-09 Miklos Szeredi <miklos@szeredi.hu>
530
531 * Don't allow fuse_flush() to be interrupted (bug found by David
532 Shaw)
533
Miklos Szeredi1f18db52004-09-27 06:54:49 +00005342004-09-27 Miklos Szeredi <miklos@szeredi.hu>
535
536 * Add PID to fuse_context. Patch by Steven James
537
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000538 * Change file handle type to 'unsigned long' in kernel interface
539
Miklos Szeredid169f312004-09-22 08:48:26 +00005402004-09-22 Miklos Szeredi <miklos@szeredi.hu>
541
542 * A slight API change: fuse_get_context() doesn't need the "fuse"
543 pointer, but the returned context contains it instead. The
544 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000545
546 * Fix mounting and umounting FUSE filesystem under another FUSE
547 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000548
Miklos Szeredic2309912004-09-21 13:40:38 +00005492004-09-21 Miklos Szeredi <miklos@szeredi.hu>
550
551 * Fix deadlock in case of memory allocation failure. Patch by
552 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000553
Miklos Szeredib2cf9562004-09-16 08:42:40 +00005542004-09-16 Miklos Szeredi <miklos@szeredi.hu>
555
556 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000557
Miklos Szeredi65afea12004-09-14 07:13:45 +00005582004-09-14 Miklos Szeredi <miklos@szeredi.hu>
559
560 * Check temporary file creation failure in do_getdir(). Bug
561 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000562
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00005632004-09-13 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000566
567 * Make requests non-interruptible so race with FORGET is avoided.
568 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000569
570 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000571
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00005722004-09-09 Miklos Szeredi <miklos@szeredi.hu>
573
574 * Fix bug in case two FORGETs for the same node are executed in
575 the wrong order. Bug spotted and endured for months by Franco
576 Broi, and logfile for solution provided by Terje Oseberg
577
Miklos Szeredi12085102004-09-02 18:13:57 +00005782004-09-01 Miklos Szeredi <miklos@szeredi.hu>
579
580 * Add -D_REENTRANT to the compile flags
581
582 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000583
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00005842004-08-16 Miklos Szeredi <miklos@szeredi.hu>
585
586 * Change release method to be non-interruptible. Fixes bug
587 causing missing release() call when program which has opened files
588 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000589
Miklos Szeredi891b8742004-07-29 09:27:49 +00005902004-07-29 Miklos Szeredi <miklos@szeredi.hu>
591
592 * Add fuse_invalidate() to library API
593
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00005942004-07-26 Miklos Szeredi <miklos@szeredi.hu>
595
596 * Check permissions in setattr if 'default_permissions' flag is
597 set. Bug spotted by Damjan Lango
598
Miklos Szeredid66d3942004-07-24 13:47:44 +00005992004-07-24 Miklos Szeredi <miklos@szeredi.hu>
600
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000601 * 'large_read' mount option removed for 2.6 kernels, since the
602 default (dynamic read size) is better
603
604 * Extend kernel API with file handles. A file handle is returned
605 by open, and passed to read, write, flush, fsync and release.
606 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000607
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000608 * Security changes:
609
610 * Change the current directory to the mountpoint before checking
611 the permissions and mount filesystem on "."
612
613 * By default don't modprobe the fuse module for non-root. The old
614 behavior can be restored with the '--enable-auto-modprobe' flag of
615 ./configure
616
617 * By default don't allow shared writable mappings for non-root.
618 The old behavior can be restored with the 'user_mmap=1' module
619 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000620
Miklos Szeredibd7661b2004-07-23 17:16:29 +00006212004-07-23 Miklos Szeredi <miklos@szeredi.hu>
622
623 * Clean up mount option passing to fusermount and to fuse_new()
624 BEWARE: this changes the userspace API slightly, and the command
625 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000626
Miklos Szeredi58865372004-07-20 14:22:26 +00006272004-07-20 Miklos Szeredi <miklos@szeredi.hu>
628
629 * Optimize reading under 2.6 kernels by issuing multiple page
630 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000631
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00006322004-07-18 Miklos Szeredi <miklos@szeredi.hu>
633
634 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000635
Miklos Szeredi069c9502004-07-16 16:17:02 +00006362004-07-16 Miklos Szeredi <miklos@szeredi.hu>
637
638 * Separate directory entry and inode attribute validity timer
639
640 * New write semaphore to stop page writeback during truncate
641
642 * Fsync now waits for all writes to complete before sending the
643 request
644
645 * Optimization: if a page is completely written by
646 fuse_commit_write(), clear the dirty flag and set the uptodate
647 flag for that page
648
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000649 * Some memory cleanup at exit
650
Miklos Szeredi2529ca22004-07-13 15:36:52 +00006512004-07-13 Miklos Szeredi <miklos@szeredi.hu>
652
653 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000654 disable the "hide if open" behavior of unlink/rename.
655
656 * If temporary buffer allocation fails in raw read, fall back to a
657 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000658
Miklos Szeredi73798f92004-07-12 15:55:11 +00006592004-07-12 Miklos Szeredi <miklos@szeredi.hu>
660
661 * Fix bug in do_open() in libfuse: open count was incremented
662 after the reply is sent so it could race with unlink/forget and
663 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000664
Miklos Szeredi015fe702004-07-12 11:52:24 +00006652004-07-08 Miklos Szeredi <miklos@szeredi.hu>
666
667 * When performing create or remove operation, refresh the parent's
668 attributes on next revalidate, as i_nlink (and maybe size/time)
669 could be inacurate.
670
671 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
672 pages (2.6 only)
673
674 * Set set_page_dirty address space operation (2.6 only)
675
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006762004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000677
678 * Minor fix in read: print debug info even if read size is zero
679
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006802004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000681
682 * Fix race between truncate and writepage (fsx-linux now runs
683 without error)
684
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006852004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000686
687 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
688 by Mattias Wadman)
689
690 * Added option for direct read/write (-r)
691
692 * Fix revalidate time setting for newly created inodes
693
Miklos Szerediacb4d362004-07-02 16:20:45 +0000694 * Remove uid==0 check for '-x' option in fusermount (kernel checks
695 this)
696
697 * fuse_main() only installs handlers for signals (out of INT, HUP,
698 TERM, PIPE), for which no handler has yet been installed
699
700 * Add module option 'user_allow_other' which if set to non-zero
701 will allow non root user to specify the 'allow_other' mount option
702 ('-x' option of fusermount)
703
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000704 * Fix deadlock between page writeback completion and truncate
705 (bug found by Valient Gough with the fsx-linux utility)
706
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007072004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000708
709 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000710 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
711 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000712
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007132004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000714
715 * Acquire inode->i_sem before open and release methods to prevent
716 concurrent rename or unlink operations.
717
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000718 * Make __fuse_read_cmd() read only one command. This allows
719 multiplexing the fuse file descriptor with other event sources
720 using select() or poll() (patch by Jeff Harris)
721
722 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007242004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000725
726 * Fix file offset wrap around at 4G when doing large reads
727
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007282004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000729
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000730 * Fix memory leak in open (Valient Gough)
731
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007322004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000733
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000734 * Add "close after delete" support to libfuse (patch by Valient
735 Gough)
736
737 * Cancel all worker threads before exit in multithreaded mode
738
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007392004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000740
741 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000742
743 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000744
745 * Work with newer libtool (1.5a)
746
747 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000748
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007492004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000750
751 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000752
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007532004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000754
755 * Fix possible inode leak in userspace in case of unfinished
756 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000757
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007582004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000759
760 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000761
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007622004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000763
764 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007662004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000767
768 * Build shared library as well as static (using libtool)
769
770 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
771 there has not been a release with the previous minor number, and I
772 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000773
774 * Change fuse_main(), so that default behavior is to go into
775 background if mount is successful. '-f' and '-d' options disable
776 backgrounding. This fixes the "Why does my FUSE daemon hang?"
777 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000778
779 * Cache ENOSYS (function not implemented) errors on *xattr, flush
780 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000781
782 * Don't call getdir method from open() only from first readdir().
783 Open is sometimes just used to store the current directory
784 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000785
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007862004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000787
788 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000789
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007902004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000791
792 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000793
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007942004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000795
796 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000797
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007982004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000799
800 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000801
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008022004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000803
804 * Replaced binary mount data with text options
805
806 * Show FUSE specific mount options in /proc/mounts
807
808 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008102004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000811
812 * Check some limits so userspace won't get too big requests
813
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008142004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000815
816 * Kill compile warning
817
818 * Upgraded user-mount patch for 2.6.5
819
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008202004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000821
822 * Add detection of user-mode-linux to configure
823
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008242004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000825
826 * fixed zero size case for getxattr and listxattr
827
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008282004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000829
830 * new fusermount flag '-z': lazy unmount, default is not lazy
831
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000832 * Extended attributes operations added (getxattr, setxattr,
833 listxattr, removexattr)
834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008352004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000836
837 * If filesystem doesn't define a statfs operation, then an
838 all-zero default statfs is returned instead of ENOSYS
839
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008402004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000841
842 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
843
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008442004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000845
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000846 * Fix for uClinux (Christian Magnusson)
847
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008482004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000849
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000850 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000851
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000852 * More kernel interface changes:
853
854 * Lookup/getattr return cache timeout values
855
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008562004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000857
858 * Clean up option parsing in fuse_main()
859
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000860 * Added fuse_get() function which returns the fuse object created
861 by fuse_main()
862
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008632004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000864
Miklos Szeredic40748a2004-02-20 16:38:45 +0000865 * removed old way of mounting (fusermount mountpoint program)
866
Miklos Szeredib5958612004-02-20 14:10:49 +0000867 * more kernel interface changes:
868
869 * added nanosecond precision to file times
870
Miklos Szeredic40748a2004-02-20 16:38:45 +0000871 * removed interface version from mount data
872
873 * added /proc/fs/fuse/version which contains MAJOR.MINOR
874
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008752004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000876
877 * statfs library API changed to match other methods. Since this
878 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
879
Miklos Szeredi76f65782004-02-19 16:55:40 +0000880 * kernel interface changes follow:
881
882 * statfs changed to 64 bits, added 'bavail' field
883
884 * add generation number to lookup result
885
886 * optimized mknod/mkdir/symlink/link (no separate lookup is
887 needed)
888
889 * rdev size increased to 32 bits for mknod
890
891 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000892
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008932004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000894
895 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000896
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008972004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000898
899 * Added user-mount.2.6.2-rc3.patch
900
901 * Add FS_SAFE flag to fuse filesystem
902
903 * fusermount should allow (un)mounting for non-root even if not
904 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000905
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009062004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000907
908 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000909
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009102004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000911
912 * Added check for i_size_read/write functions to configure.in
913 (patch by Valient Gough)
914
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009152004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000916
917 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000918
919 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000920
921 * Readpage calls flush_dcache_page() after storing data
922
923 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000924
925 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000926
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009272004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000928
929 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000930
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009312004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000932
933 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000934
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009352004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000936
937 * Added -q option for fusermount
938
939 * fuse_unmount() now uses -q option of fusermount, so no error is
940 printed if the cause of the program exit is that the filesystem
941 has already been unmounted
942
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000943 * Fix i_nlink correctness after rmdir/unlink
944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009452004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000946
Miklos Szeredib1158392004-01-26 14:43:12 +0000947 * Released 1.1-pre2
948
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009492004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000950
Miklos Szeredi307242f2004-01-26 11:28:44 +0000951 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000952
953 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000954
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009552004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000956
957 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000958
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009592004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000960
961 * Write all pending data before a RELEASE operation
962
963 * Suppress 'Bad file descriptor' warning on exit
964
965 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000966 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000967
Miklos Szeredib1158392004-01-26 14:43:12 +0000968 * New fusermount option '-l' which enables big reads. Big reads
969 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000970
971 * fuse_main() can accept fusermount arguments after a '--'
972
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009732004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000974
975 * Support for exporting filesystem over NFS (see README.NFS)
976
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009772004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000978
979 * Support non-blocking writepage on 2.6. This makes FUSE behave
980 much more nicely in low-memory situations
981
982 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
983 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +0000984
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009852004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000986
987 * Code cleanups
988
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009892004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000990
991 * Released 1.1-pre1
992
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009932004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000994
995 * Integrated 2.6 kernel support patch by Michael Grigoriev
996
997 * Improvements and cleanups for 2.6 kernels
998
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009992004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001000
Miklos Szeredie5183742005-02-02 11:14:04 +00001001 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +00001002
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010032003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +00001004
1005 * Added major+minor version to library API, and minor version to
1006 kernel API
1007
David McNab7a19caf2003-12-13 02:05:46 +000010082003-12-13 David McNab <david@rebirthing.co.nz>
1009
1010 * Implemented fsync support in examples/example.py
1011
1012 * Implemented 'fsync' and 'statfs' methods in python
1013 interface
1014
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010152003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001016
Miklos Szeredie5183742005-02-02 11:14:04 +00001017 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001018
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001019 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001020
David McNab8bf62632003-12-11 22:49:22 +000010212003-12-12 David McNab <david@rebirthing.co.nz>
1022
1023 * Added distutils support to the python module, as per standard
1024 python development practice
1025
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010262003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001027
1028 * Add file locking for mount/unmount (based on patch by Valient
1029 Gough)
1030
10312003-12-11 David McNab <david@rebirthing.co.nz>
1032
1033 * Python filesystem - was broken with python2.3, now fixed:
1034 - changed PyTuple_* calls to PySequence_*, because os.lstat
1035 is no longer returning a pure tuple
1036 - changed PyInt_Check() calls to also call PyLong_Check,
1037 to cover for cases (eg os.lstat) where longs are returned
1038 - Added support for file 'release' handling, which IMO is
1039 essential since this signals to a FS that writes to a file
1040 are complete (and therefore the file can now be disposed of
1041 meaningfully at the python filesystem's discretion)
1042 - Added '__init__' handler to base Fuse class, which allows
1043 your Python class to know the mountpoint and mount args,
1044 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001045
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001046 * General:
1047 - added 'mount.fuse' script (in util/ dir), which is meant to be
1048 symlinked from /sbin, and which allows FUSE filesystems to
1049 be mounted with the 'mount' command, and listed in fstab;
1050 also, mount arguments get passed to your filesystem
1051
1052
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010532003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001054
1055 * Fix kernel version detection (again). Bugreport by Peter Levart
1056
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010572003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001058
1059 * Applied read combining patch by Michael Grigoriev (tested by
1060 Valient Gough and Vincent Wagelaar)
1061
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010622003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001063
1064 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1065 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001066
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010672003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001068
1069 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001070
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010712003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001072
1073 * kernel version detection fix
1074
1075 * fusermount now uses "lazy" umount option
1076
1077 * fusermount can use modprobe with module-init-tools
1078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010792003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001080
1081 * Integrated caching patch by Michael Grigoriev
1082
Miklos Szeredida4e4862003-09-08 11:14:11 +00001083 * Added "Filesystems" file with descriptions of projects using
1084 FUSE
1085
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001086 * Added patch by Michael Grigoriev to allow compliation of FUSE
1087 kernel module for 2.6 kernels
1088
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010892003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001090
1091 * And another spec-file fix by Achim Settelmeier
1092
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010932003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001094
1095 * Spec-file fix by Achim Settelmeier
1096
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010972003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001098
Miklos Szerediac361172004-11-02 19:14:14 +00001099 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001100
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011012003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001102
1103 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1104
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011052003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001106
1107 * Updated fuse.spec file (Achim Settelmeier)
1108
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011092003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001110
1111 * Version 1.0 released
1112
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011132003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001114
1115 * SuSE compilation fix by Juan-Mariano de Goyeneche
1116
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011172002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001118
1119 * The release() VFS call is now exported to the FUSE interface
1120
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011212002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001122
1123 * 64 bit file offset fixes in the fuse kernel module
1124
1125 * Added function 'fuse_exit()' which can be used to exit the main
1126 loop
1127
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011282002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001129
1130 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1131 an incompatible interface change.
1132
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011332002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001134
1135 * Portablility fix (bug reported by C. Chris Erway)
1136
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011372002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001138
1139 * Use Mark Glines' fd passing method for default operation instead
1140 of old reexec
1141
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011422002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001143
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001144 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1145
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011462002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001147
Miklos Szeredi60c23522002-10-24 09:19:43 +00001148 * fix incompatiblity with Red Hat kernels, with help from Nathan
1149 Thompson-Amato.
1150
Mark Glines65ba2192002-04-18 14:41:48 +000011512002-04-18 Mark Glines <mark@glines.org>
1152
1153 * added an alternative to fuse_mount(), called
1154 fuse_mount_ioslave(), which does not need to reexec the
1155 FUSE program.
1156 * added a small helper util needed by fuse_mount_ioslave().
1157
Mark Glines220635a2002-03-17 07:01:14 +000011582002-03-16 Mark Glines <mark@glines.org>
1159
1160 * use struct fuse_statfs everywhere possible to avoid problems
1161 with the headerfiles changing struct statfs member sizes
1162
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011632002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001164
1165 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1166
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011672002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001168
1169 * RPM support by Achim Settelmeier
1170
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011712002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001172
Miklos Szerediddc862a2002-01-09 13:46:10 +00001173 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001174
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011752002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001176
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001177 * Revaidate all path components not just the last, this means a
1178 very small performance penalty for being more up-to-date.
1179
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011802002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001181
1182 * Update and fix python interface
1183
Mark Glinesd84b39a2002-01-07 16:32:02 +000011842002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001185
Mark Glinesd84b39a2002-01-07 16:32:02 +00001186 * Added statfs() support to kernel, lib, examples, and perl!
1187
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011882001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001189
1190 * Better cross compilation support
1191
1192 * Ported to Compaq IPAQ
1193
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011942001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001195
Miklos Szeredife25def2001-12-20 15:38:05 +00001196 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001197 patch from Matt Ryan)
1198
Miklos Szeredife25def2001-12-20 15:38:05 +00001199 * Added flags to fusermount and to kernel interface to control
1200 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001201
Miklos Szeredife25def2001-12-20 15:38:05 +00001202 * Integrated fuse_set_operations() into fuse_new()
1203
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012042001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001205
1206 * Applied header protection + extern "C" patch by Roland
1207 Bauerschmidt
1208
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012092001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001210
Miklos Szeredie5183742005-02-02 11:14:04 +00001211 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001212
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012132001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001214
1215 * Cleaned up way of mounting simple filesystems.
1216
1217 * fuse_main() helper function added
1218
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012192001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001220
Miklos Szeredife25def2001-12-20 15:38:05 +00001221 * Optimized read/write operations, so that minimal copying of data
1222 is done
1223
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012242001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001225
1226 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001227
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012282001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001229
1230 * Fixed vfsmount reference leak in fuse_follow_link
1231
1232 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1233 userspace is ignored
1234
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012352001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001236
Miklos Szeredife25def2001-12-20 15:38:05 +00001237 * Started ChangeLog