blob: a05370fa5c7c3fa8bff32a1e6f4afd88927ea964 [file] [log] [blame]
Miklos Szeredif43f0632005-02-28 11:46:56 +000012005-02-28 Miklos Szeredi <miklos@szeredi.hu>
2
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00003 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00004 permission checking in getdir() is too late. Thanks to Usarin
5 Heininga for pointing out this deficiency
6
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00007 * libfuse: added init() and destroy() methods to fuse_operations
8
Miklos Szeredif43f0632005-02-28 11:46:56 +00009 * kernel: llseek() method for files and directories made explicit
10
11 * kernel: fixed inode leak in NFS export in case of nodeid
12 wrapping
13
Miklos Szeredied3c97c2005-02-15 17:04:50 +0000142005-02-15 Miklos Szeredi <miklos@szeredi.hu>
15
16 * libfuse: clean up some unitialized memory found with valgrind
17
Miklos Szeredi47c52982005-02-23 09:27:38 +000018 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
19 explicitly linked libpthread for applications
20
Miklos Szeredia7169412005-02-10 07:35:05 +0000212005-02-10 Miklos Szeredi <miklos@szeredi.hu>
22
23 * fusermount: set umask, otherwise /etc/mtab will have
24 unpredictable permission. Spotted by Jindrich Kolorenc
25
26 * fusermount: set owner and group of /etc/mtab to original values
27 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +000028
29 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredia7169412005-02-10 07:35:05 +000030
Miklos Szeredib92d9782005-02-07 16:10:49 +0000312005-02-07 Miklos Szeredi <miklos@szeredi.hu>
32
33 * Cleaned up directory reading (temporary file is not used)
34
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000352005-02-02 Miklos Szeredi <miklos@szeredi.hu>
36
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +000037 * Released 2.2
38
392005-02-02 Miklos Szeredi <miklos@szeredi.hu>
40
Miklos Szerediff30a6c2005-02-02 10:53:59 +000041 * Fix possible race when operation is interrupted
42
Miklos Szeredi7a983952005-01-28 09:58:19 +0000432005-01-28 Miklos Szeredi <miklos@szeredi.hu>
44
Miklos Szeredie5183742005-02-02 11:14:04 +000045 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +000046
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000472005-01-26 Miklos Szeredi <miklos@szeredi.hu>
48
Miklos Szeredid48d5f72005-01-26 20:43:41 +000049 * Released 2.2-pre6
50
512005-01-26 Miklos Szeredi <miklos@szeredi.hu>
52
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000053 * Fix bug in link() operation which caused the wrong path to be
54 passed as the first argument. Found by Anton Altaparmakov
55
Miklos Szeredi01fd89c2005-01-21 11:18:35 +0000562005-01-21 Miklos Szeredi <miklos@szeredi.hu>
57
58 * LIB: fix double reply in readdir operation
59
Miklos Szeredi773d4ae2005-01-21 16:09:08 +000060 * fusermount: fix uid checking bug. Patch by Adam Connell
61
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +000062 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +000063 Patch by Keshava Gowda
64
Miklos Szeredi64074142005-01-20 08:48:11 +0000652005-01-20 Miklos Szeredi <miklos@szeredi.hu>
66
Miklos Szeredi092b50b2005-01-20 18:05:07 +000067 * KERNEL: provide correct llseek semantics for fuse device (fixes
68 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
69
702005-01-20 Miklos Szeredi <miklos@szeredi.hu>
71
Miklos Szeredi64074142005-01-20 08:48:11 +000072 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
73
Miklos Szeredi1adb2272005-01-18 21:19:58 +0000742005-01-18 Miklos Szeredi <miklos@szeredi.hu>
75
76 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
77 and RELEASEDIR. This ends the ugly hack of passing a file
78 descriptor to the kernel, and actually makes the code simpler.
79
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000802005-01-17 Miklos Szeredi <miklos@szeredi.hu>
81
Miklos Szeredic2e960e2005-01-17 13:05:21 +000082 * Released 2.2-pre4
83
842005-01-17 Miklos Szeredi <miklos@szeredi.hu>
85
Miklos Szeredi7db35c02005-01-17 09:46:28 +000086 * fusermount: remove capability setting, which was the cause of
87 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +000088 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +000089
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000902005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +000091
Miklos Szeredidbe0f652005-01-15 14:32:56 +000092 * fix compilation on 2.4 kernels (reported by Valient Gough)
93
94 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +000095
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +000096 * fusermount: improve parsing of /etc/fuse.conf
97
982005-01-13 Miklos Szeredi <miklos@szeredi.hu>
99
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000100 * Remove 'mount_max' and 'user_allow_other' module options. These
101 are now checked by fusermount, and can be set in /etc/fuse.conf
102
103 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
104
Miklos Szeredi81394522005-01-11 14:24:18 +00001052005-01-11 Miklos Szeredi <miklos@szeredi.hu>
106
107 * KERNEL: fix possible inode allocation problem, where
108 sizeof(struct inode) is not aligned (found by Mike Waychison)
109
110 * KERNEL: use new follow_link/put_link methods
111
112 * KERNEL: cosmetic fixes
113
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00001142005-01-10 Miklos Szeredi <miklos@szeredi.hu>
115
116 * Released 2.2-pre3
117
1182005-01-10 Miklos Szeredi <miklos@szeredi.hu>
119
120 * Add missing code that was accidently left out
121
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001222005-01-09 Miklos Szeredi <miklos@szeredi.hu>
123
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000124 * Released 2.2-pre2
125
1262005-01-09 Miklos Szeredi <miklos@szeredi.hu>
127
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000128 * Change "uid" mount option to "user_id" to avoid confusion with a
129 mount option "uid" commonly used by many filesystems
130
1312005-01-09 Miklos Szeredi <miklos@szeredi.hu>
132
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000133 * Released 2.2-pre1
134
1352005-01-09 Miklos Szeredi <miklos@szeredi.hu>
136
137 * If FUSE is configured in the kernel, don't build it by default
138
Miklos Szeredi2a927272005-01-07 11:14:15 +00001392005-01-07 Miklos Szeredi <miklos@szeredi.hu>
140
141 * Compile fix by Christian Magnusson
142
Miklos Szeredib6220192005-01-05 16:19:10 +00001432005-01-05 Miklos Szeredi <miklos@szeredi.hu>
144
145 * Fix compilation for 2.6.{0-5} kernels
146
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001472005-01-04 Miklos Szeredi <miklos@szeredi.hu>
148
149 * KERNEL: if request is interrupted, still keep reference to used
150 inode(s) and file, so that FORGET and RELEASE are not sent until
151 userspace finishes the request.
152
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000153 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
154 request with the same information, which is more flexible,
155 simpler, works on embedded systems.
156
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001572004-12-16 Miklos Szeredi <miklos@szeredi.hu>
158
159 * KERNEL ABI: update interface to make it independent of type
160 sizes. This will help on 64 bit architectures which can run
161 legacy 32 bit applications.
162
163 * KERNEL ABI: add "len" field to request headers. This will allow
164 sending/receiving requests in multiple chunks.
165
166 * KERNEL: handle file type change more intelligently
167
168 * LIB: "-o debug" option should disable backgrounding (fix by
169 Fabien Reygrobellet)
170
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00001712004-12-13 Miklos Szeredi <miklos@szeredi.hu>
172
173 * KERNEL: invalidate dentry/attributes if interrupted request
174 could leave filesystem in an unknown state.
175
Miklos Szeredie56818b2004-12-12 11:45:24 +00001762004-12-12 Miklos Szeredi <miklos@szeredi.hu>
177
178 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
179 These will cause some regressions, but stability is considered
180 more important. If any of these features turns out to be
181 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000182
Miklos Szeredie56818b2004-12-12 11:45:24 +0000183 * Make all requests interruptible (only with SIGKILL currently).
184 This can be used to break any deadlock produced by the userspace
185 filesystem accessing it's own exported files. The RELEASE request
186 is special, because if it's interrupted before sending it to
187 userspace it is still sent, but the reply is not awaited.
188
189 * If request is interrupted before being sent to userspace, and if
190 it hasn't yet got any side effects, it is always restarted,
191 regardless of the SA_RESTART flag. This makes these interruptions
192 transparent to the process.
193
194 * Remove shared-writable mmap support, which was prone to an
195 out-of-memory deadlock situation
196
197 * Remove INVALIDATE userspace initiated request
198
199 * Make readpages() synchronous. Asynchronous requests are
200 deadlock prone, since they cannot be interrupted.
201
202 * Add readv/writev support to fuse device operations
203
204 * Remove some printks, which userspace FS can use for a DoS
205 against syslog
206
207 * Remove 'large_read' mount option from 2.6 in kernel, check it in
208 fusermount instead
209
210 * LIB: improve compatibility with a fuse.h header installed in
211 ${prefix}/include which in turn includes the real header.
212
213 * LIB: improve compatibility by defining fuse_main() (which is now
214 not used), so old configure scripts find it.
215
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00002162004-12-10 Miklos Szeredi <miklos@szeredi.hu>
217
218 * When mounting on a subdirectory of / don't duplicate slashes at
219 the beggining of path (spotted by David Shaw)
220
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00002212004-12-09 Miklos Szeredi <miklos@szeredi.hu>
222
223 * Fix bug causing garbage in mount options (spotted by David Shaw)
224
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00002252004-12-07 Miklos Szeredi <miklos@szeredi.hu>
226
227 * Add 'writepage' flag to 'fuse_file_info'.
228
229 * More comments in fuse.h
230
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000231 * Get rid of double underscores
232
Miklos Szeredi799993c2004-12-04 21:20:05 +00002332004-12-04 Miklos Szeredi <miklos@szeredi.hu>
234
235 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
236
237 * helper.c: add -ho option, which only displays the options not
238 the usage header. This can be used by filesystems which have
239 their own options.
240
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00002412004-12-03 Miklos Szeredi <miklos@szeredi.hu>
242
243 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
244 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
245 including the fuse header
246
247 * Add binary compatibility to 2.1 version of library with symbol
248 versioning
249
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00002502004-12-03 Miklos Szeredi <miklos@szeredi.hu>
251
252 * Released 2.1
253
Miklos Szeredi039322d2004-12-01 18:39:12 +00002542004-12-01 Miklos Szeredi <miklos@szeredi.hu>
255
256 * kernel: clean up writing functions
257
258 * kernel: no allocation on write in direct_io mode
259
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000260 * move linux/fuse.h to fuse_kernel.h
261
Miklos Szeredi83a07442004-11-30 18:25:20 +00002622004-11-30 Miklos Szeredi <miklos@szeredi.hu>
263
264 * kernel: clean up reading functions
265
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00002662004-11-29 Miklos Szeredi <miklos@szeredi.hu>
267
268 * kernel: make readpage() uninterruptible
269
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000270 * kernel: check readonly filesystem flag in fuse_permission
271
272 * lib: don't die if version file not found and new style device
273 exists
274
275 * lib: add '-r' option, which is short for '-o ro'
276
277 * fusermount: simplify device opening
278
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000279 * kernel: when direct_io is turend on, copy data directly to
280 destination without itermediate buffer. More efficient and safer,
281 since no allocation is done.
282
283 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000284
285 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000286
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00002872004-11-26 Miklos Szeredi <miklos@szeredi.hu>
288
289 * libfuse API change: open, read, write, flush, fsync and release
290 are passed a 'struct fuse_file_info' pointer containing the open
291 flags (open and release), and the file handle. Verion changed to
292 3.0.
293
Miklos Szeredia25d4c22004-11-23 22:32:16 +00002942004-11-23 Miklos Szeredi <miklos@szeredi.hu>
295
296 * More cleanups in the kernel
297
298 * The 10,229 charater device number has been assigned for FUSE
299
300 * Version file checking fix (reported by Christian Magnusson)
301
302 * fusermount: opening the fuse device now doesn't need /sys.
303
304 * Optimize reading by controlling the maximum readahead based on
305 the 'max_read' mount option
306
307 * fixes for UCLIBC (Christian Magnusson)
308
Miklos Szeredi13ed4822004-11-20 11:12:21 +00003092004-11-19 Miklos Szeredi <miklos@szeredi.hu>
310
311 * Cleaned up kernel in preparation for merge into mainline:
312
313 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
314
315 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
316
317 * __user annotations for sparse
318
319 * allocate individual pages instead of kmalloc in fuse_readdir,
320 fuse_read and fuse_write.
321
322 * Fix NFS export in case "use_ino" mount option is given
323
Miklos Szeredif3845c42004-11-20 11:18:34 +0000324 * Make libfuse and fusermount compatible with future versions
325
326 * fusermount: properly add mount options to /etc/mtab
327
3282004-11-15 Miklos Szeredi <miklos@szeredi.hu>
329
330 * fusermount: do not resolve last component of mountpoint on if it
331 is '.' or '..'. This new path resolvation is now done on mount as
332 well as unmount. This enables relative paths to work on unmount.
333
334 * fusermount: parse common mount options like "ro", "rw", etc...
335
336 * Allow module params to be changed through sysfs
337
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00003382004-11-14 Miklos Szeredi <miklos@szeredi.hu>
339
340 * Released 2.1-pre1
341
3422004-11-14 Miklos Szeredi <miklos@szeredi.hu>
343
344 * Fix bug in fuse_readpages() causing Oops in certain situations.
345 Bug found by Vincenzo Ciancia.
346
347 * Fix compilation with kernels versions > 2.6.9.
348
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00003492004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000350
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000351 * Check kernel interface version in fusermount to prevent
352 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000353
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000354 * No need to allocate fuse_conn until actual mount happens
355
356 * Fix potential race between umount and fuse_invalidate
357
358 * Check superblock of proc file in addition to inode number
359
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000360 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000361
Miklos Szeredi51ec1032004-11-10 11:52:26 +00003622004-11-10 Miklos Szeredi <miklos@szeredi.hu>
363
364 * Separate configure for the kernel directory
365
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000366 * Don't allow write to return more than 'count'
367
368 * Extend kernel interface for future use
369
Miklos Szeredi51ec1032004-11-10 11:52:26 +00003702004-11-09 Miklos Szeredi <miklos@szeredi.hu>
371
372 * Fix 'makeconf.sh' to use autoreconf if available
373
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00003742004-11-08 Miklos Szeredi <miklos@szeredi.hu>
375
Miklos Szeredid507c732004-11-08 17:32:25 +0000376 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
377 compatibility with earlier versions. To compile earier versions
378 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
379 Do not use the "use_ino" mount flag with filesystems compiled with
380 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000381
382 * Add pkg-config support. To compile a FUSE based filesystem you
383 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
384 or similar. Note, that the PKG_CONFIG_PATH environment variable
385 usually needs to be set to "/usr/local/lib/pkgconfig".
386
387 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000388
Miklos Szeredia13d9002004-11-02 17:32:03 +00003892004-11-02 Miklos Szeredi <miklos@szeredi.hu>
390
391 * Added "use_ino" mount option. This enables the filesystems to
392 set the st_ino field on files
393
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00003942004-11-01 Miklos Szeredi <miklos@szeredi.hu>
395
396 * Fix compile problems with ancient (<=2.4.18) kernels (reported
397 by Jeremy Smith)
398
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000399 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
400
401 * Clear the 'exited' flag when mail loop is finished
402
Miklos Szeredie989f0d2004-10-28 20:24:58 +00004032004-10-28 Miklos Szeredi <miklos@szeredi.hu>
404
405 * Make xattr functions work under 2.6 (bug found by Vincenzo
406 Ciancia)
407
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00004082004-10-26 Miklos Szeredi <miklos@szeredi.hu>
409
410 * Reset request in fuse_flush() (bugreport by David Shaw)
411
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00004122004-10-21 Miklos Szeredi <miklos@szeredi.hu>
413
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000414 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000415 error code
416
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000417 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000418 make it easier to implement a custom event loop.
419
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000420 * Use daemon() call to background the filesystem after mounting.
421 This function closes the standard input, output and error and
422 changes the current working directory to "/".
423
Miklos Szeredi127d49b2004-10-14 13:33:39 +00004242004-10-14 Miklos Szeredi <miklos@szeredi.hu>
425
426 * Released 1.9
427
Miklos Szeredid45baf42004-10-10 07:56:12 +00004282004-10-09 Miklos Szeredi <miklos@szeredi.hu>
429
430 * Don't allow fuse_flush() to be interrupted (bug found by David
431 Shaw)
432
Miklos Szeredi1f18db52004-09-27 06:54:49 +00004332004-09-27 Miklos Szeredi <miklos@szeredi.hu>
434
435 * Add PID to fuse_context. Patch by Steven James
436
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000437 * Change file handle type to 'unsigned long' in kernel interface
438
Miklos Szeredid169f312004-09-22 08:48:26 +00004392004-09-22 Miklos Szeredi <miklos@szeredi.hu>
440
441 * A slight API change: fuse_get_context() doesn't need the "fuse"
442 pointer, but the returned context contains it instead. The
443 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000444
445 * Fix mounting and umounting FUSE filesystem under another FUSE
446 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000447
Miklos Szeredic2309912004-09-21 13:40:38 +00004482004-09-21 Miklos Szeredi <miklos@szeredi.hu>
449
450 * Fix deadlock in case of memory allocation failure. Patch by
451 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000452
Miklos Szeredib2cf9562004-09-16 08:42:40 +00004532004-09-16 Miklos Szeredi <miklos@szeredi.hu>
454
455 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000456
Miklos Szeredi65afea12004-09-14 07:13:45 +00004572004-09-14 Miklos Szeredi <miklos@szeredi.hu>
458
459 * Check temporary file creation failure in do_getdir(). Bug
460 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000461
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00004622004-09-13 Miklos Szeredi <miklos@szeredi.hu>
463
464 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000465
466 * Make requests non-interruptible so race with FORGET is avoided.
467 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000468
469 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000470
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00004712004-09-09 Miklos Szeredi <miklos@szeredi.hu>
472
473 * Fix bug in case two FORGETs for the same node are executed in
474 the wrong order. Bug spotted and endured for months by Franco
475 Broi, and logfile for solution provided by Terje Oseberg
476
Miklos Szeredi12085102004-09-02 18:13:57 +00004772004-09-01 Miklos Szeredi <miklos@szeredi.hu>
478
479 * Add -D_REENTRANT to the compile flags
480
481 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000482
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00004832004-08-16 Miklos Szeredi <miklos@szeredi.hu>
484
485 * Change release method to be non-interruptible. Fixes bug
486 causing missing release() call when program which has opened files
487 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000488
Miklos Szeredi891b8742004-07-29 09:27:49 +00004892004-07-29 Miklos Szeredi <miklos@szeredi.hu>
490
491 * Add fuse_invalidate() to library API
492
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00004932004-07-26 Miklos Szeredi <miklos@szeredi.hu>
494
495 * Check permissions in setattr if 'default_permissions' flag is
496 set. Bug spotted by Damjan Lango
497
Miklos Szeredid66d3942004-07-24 13:47:44 +00004982004-07-24 Miklos Szeredi <miklos@szeredi.hu>
499
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000500 * 'large_read' mount option removed for 2.6 kernels, since the
501 default (dynamic read size) is better
502
503 * Extend kernel API with file handles. A file handle is returned
504 by open, and passed to read, write, flush, fsync and release.
505 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000506
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000507 * Security changes:
508
509 * Change the current directory to the mountpoint before checking
510 the permissions and mount filesystem on "."
511
512 * By default don't modprobe the fuse module for non-root. The old
513 behavior can be restored with the '--enable-auto-modprobe' flag of
514 ./configure
515
516 * By default don't allow shared writable mappings for non-root.
517 The old behavior can be restored with the 'user_mmap=1' module
518 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000519
Miklos Szeredibd7661b2004-07-23 17:16:29 +00005202004-07-23 Miklos Szeredi <miklos@szeredi.hu>
521
522 * Clean up mount option passing to fusermount and to fuse_new()
523 BEWARE: this changes the userspace API slightly, and the command
524 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000525
Miklos Szeredi58865372004-07-20 14:22:26 +00005262004-07-20 Miklos Szeredi <miklos@szeredi.hu>
527
528 * Optimize reading under 2.6 kernels by issuing multiple page
529 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000530
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00005312004-07-18 Miklos Szeredi <miklos@szeredi.hu>
532
533 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000534
Miklos Szeredi069c9502004-07-16 16:17:02 +00005352004-07-16 Miklos Szeredi <miklos@szeredi.hu>
536
537 * Separate directory entry and inode attribute validity timer
538
539 * New write semaphore to stop page writeback during truncate
540
541 * Fsync now waits for all writes to complete before sending the
542 request
543
544 * Optimization: if a page is completely written by
545 fuse_commit_write(), clear the dirty flag and set the uptodate
546 flag for that page
547
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000548 * Some memory cleanup at exit
549
Miklos Szeredi2529ca22004-07-13 15:36:52 +00005502004-07-13 Miklos Szeredi <miklos@szeredi.hu>
551
552 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000553 disable the "hide if open" behavior of unlink/rename.
554
555 * If temporary buffer allocation fails in raw read, fall back to a
556 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000557
Miklos Szeredi73798f92004-07-12 15:55:11 +00005582004-07-12 Miklos Szeredi <miklos@szeredi.hu>
559
560 * Fix bug in do_open() in libfuse: open count was incremented
561 after the reply is sent so it could race with unlink/forget and
562 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000563
Miklos Szeredi015fe702004-07-12 11:52:24 +00005642004-07-08 Miklos Szeredi <miklos@szeredi.hu>
565
566 * When performing create or remove operation, refresh the parent's
567 attributes on next revalidate, as i_nlink (and maybe size/time)
568 could be inacurate.
569
570 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
571 pages (2.6 only)
572
573 * Set set_page_dirty address space operation (2.6 only)
574
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005752004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000576
577 * Minor fix in read: print debug info even if read size is zero
578
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005792004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000580
581 * Fix race between truncate and writepage (fsx-linux now runs
582 without error)
583
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005842004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000585
586 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
587 by Mattias Wadman)
588
589 * Added option for direct read/write (-r)
590
591 * Fix revalidate time setting for newly created inodes
592
Miklos Szerediacb4d362004-07-02 16:20:45 +0000593 * Remove uid==0 check for '-x' option in fusermount (kernel checks
594 this)
595
596 * fuse_main() only installs handlers for signals (out of INT, HUP,
597 TERM, PIPE), for which no handler has yet been installed
598
599 * Add module option 'user_allow_other' which if set to non-zero
600 will allow non root user to specify the 'allow_other' mount option
601 ('-x' option of fusermount)
602
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000603 * Fix deadlock between page writeback completion and truncate
604 (bug found by Valient Gough with the fsx-linux utility)
605
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006062004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000607
608 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000609 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
610 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000611
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006122004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000613
614 * Acquire inode->i_sem before open and release methods to prevent
615 concurrent rename or unlink operations.
616
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000617 * Make __fuse_read_cmd() read only one command. This allows
618 multiplexing the fuse file descriptor with other event sources
619 using select() or poll() (patch by Jeff Harris)
620
621 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
622
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006232004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000624
625 * Fix file offset wrap around at 4G when doing large reads
626
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006272004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000628
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000629 * Fix memory leak in open (Valient Gough)
630
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006312004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000632
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000633 * Add "close after delete" support to libfuse (patch by Valient
634 Gough)
635
636 * Cancel all worker threads before exit in multithreaded mode
637
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006382004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000639
640 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000641
642 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000643
644 * Work with newer libtool (1.5a)
645
646 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000647
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006482004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000649
650 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000651
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006522004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000653
654 * Fix possible inode leak in userspace in case of unfinished
655 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006572004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000658
659 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000660
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006612004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000662
663 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000664
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006652004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000666
667 * Build shared library as well as static (using libtool)
668
669 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
670 there has not been a release with the previous minor number, and I
671 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000672
673 * Change fuse_main(), so that default behavior is to go into
674 background if mount is successful. '-f' and '-d' options disable
675 backgrounding. This fixes the "Why does my FUSE daemon hang?"
676 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000677
678 * Cache ENOSYS (function not implemented) errors on *xattr, flush
679 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000680
681 * Don't call getdir method from open() only from first readdir().
682 Open is sometimes just used to store the current directory
683 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000684
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006852004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000686
687 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000688
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006892004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000690
691 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000692
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006932004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000694
695 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000696
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006972004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000698
699 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000700
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007012004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000702
703 * Replaced binary mount data with text options
704
705 * Show FUSE specific mount options in /proc/mounts
706
707 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
708
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007092004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000710
711 * Check some limits so userspace won't get too big requests
712
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007132004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000714
715 * Kill compile warning
716
717 * Upgraded user-mount patch for 2.6.5
718
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007192004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000720
721 * Add detection of user-mode-linux to configure
722
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007232004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000724
725 * fixed zero size case for getxattr and listxattr
726
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007272004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000728
729 * new fusermount flag '-z': lazy unmount, default is not lazy
730
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000731 * Extended attributes operations added (getxattr, setxattr,
732 listxattr, removexattr)
733
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007342004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000735
736 * If filesystem doesn't define a statfs operation, then an
737 all-zero default statfs is returned instead of ENOSYS
738
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007392004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000740
741 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
742
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007432004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000744
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000745 * Fix for uClinux (Christian Magnusson)
746
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007472004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000748
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000749 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000750
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000751 * More kernel interface changes:
752
753 * Lookup/getattr return cache timeout values
754
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007552004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000756
757 * Clean up option parsing in fuse_main()
758
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000759 * Added fuse_get() function which returns the fuse object created
760 by fuse_main()
761
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007622004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000763
Miklos Szeredic40748a2004-02-20 16:38:45 +0000764 * removed old way of mounting (fusermount mountpoint program)
765
Miklos Szeredib5958612004-02-20 14:10:49 +0000766 * more kernel interface changes:
767
768 * added nanosecond precision to file times
769
Miklos Szeredic40748a2004-02-20 16:38:45 +0000770 * removed interface version from mount data
771
772 * added /proc/fs/fuse/version which contains MAJOR.MINOR
773
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007742004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000775
776 * statfs library API changed to match other methods. Since this
777 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
778
Miklos Szeredi76f65782004-02-19 16:55:40 +0000779 * kernel interface changes follow:
780
781 * statfs changed to 64 bits, added 'bavail' field
782
783 * add generation number to lookup result
784
785 * optimized mknod/mkdir/symlink/link (no separate lookup is
786 needed)
787
788 * rdev size increased to 32 bits for mknod
789
790 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007922004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000793
794 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000795
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007962004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000797
798 * Added user-mount.2.6.2-rc3.patch
799
800 * Add FS_SAFE flag to fuse filesystem
801
802 * fusermount should allow (un)mounting for non-root even if not
803 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000804
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008052004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000806
807 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000808
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008092004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000810
811 * Added check for i_size_read/write functions to configure.in
812 (patch by Valient Gough)
813
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008142004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000815
816 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000817
818 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000819
820 * Readpage calls flush_dcache_page() after storing data
821
822 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000823
824 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000825
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008262004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000827
828 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000829
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008302004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000831
832 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000833
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008342004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000835
836 * Added -q option for fusermount
837
838 * fuse_unmount() now uses -q option of fusermount, so no error is
839 printed if the cause of the program exit is that the filesystem
840 has already been unmounted
841
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000842 * Fix i_nlink correctness after rmdir/unlink
843
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008442004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000845
Miklos Szeredib1158392004-01-26 14:43:12 +0000846 * Released 1.1-pre2
847
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008482004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000849
Miklos Szeredi307242f2004-01-26 11:28:44 +0000850 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000851
852 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000853
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008542004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000855
856 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000857
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008582004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000859
860 * Write all pending data before a RELEASE operation
861
862 * Suppress 'Bad file descriptor' warning on exit
863
864 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000865 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000866
Miklos Szeredib1158392004-01-26 14:43:12 +0000867 * New fusermount option '-l' which enables big reads. Big reads
868 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000869
870 * fuse_main() can accept fusermount arguments after a '--'
871
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008722004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000873
874 * Support for exporting filesystem over NFS (see README.NFS)
875
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008762004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000877
878 * Support non-blocking writepage on 2.6. This makes FUSE behave
879 much more nicely in low-memory situations
880
881 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
882 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +0000883
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008842004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000885
886 * Code cleanups
887
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008882004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000889
890 * Released 1.1-pre1
891
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008922004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000893
894 * Integrated 2.6 kernel support patch by Michael Grigoriev
895
896 * Improvements and cleanups for 2.6 kernels
897
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008982004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000899
Miklos Szeredie5183742005-02-02 11:14:04 +0000900 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000901
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009022003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000903
904 * Added major+minor version to library API, and minor version to
905 kernel API
906
David McNab7a19caf2003-12-13 02:05:46 +00009072003-12-13 David McNab <david@rebirthing.co.nz>
908
909 * Implemented fsync support in examples/example.py
910
911 * Implemented 'fsync' and 'statfs' methods in python
912 interface
913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009142003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000915
Miklos Szeredie5183742005-02-02 11:14:04 +0000916 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000917
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +0000918 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000919
David McNab8bf62632003-12-11 22:49:22 +00009202003-12-12 David McNab <david@rebirthing.co.nz>
921
922 * Added distutils support to the python module, as per standard
923 python development practice
924
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009252003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000926
927 * Add file locking for mount/unmount (based on patch by Valient
928 Gough)
929
9302003-12-11 David McNab <david@rebirthing.co.nz>
931
932 * Python filesystem - was broken with python2.3, now fixed:
933 - changed PyTuple_* calls to PySequence_*, because os.lstat
934 is no longer returning a pure tuple
935 - changed PyInt_Check() calls to also call PyLong_Check,
936 to cover for cases (eg os.lstat) where longs are returned
937 - Added support for file 'release' handling, which IMO is
938 essential since this signals to a FS that writes to a file
939 are complete (and therefore the file can now be disposed of
940 meaningfully at the python filesystem's discretion)
941 - Added '__init__' handler to base Fuse class, which allows
942 your Python class to know the mountpoint and mount args,
943 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +0000944
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000945 * General:
946 - added 'mount.fuse' script (in util/ dir), which is meant to be
947 symlinked from /sbin, and which allows FUSE filesystems to
948 be mounted with the 'mount' command, and listed in fstab;
949 also, mount arguments get passed to your filesystem
950
951
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009522003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +0000953
954 * Fix kernel version detection (again). Bugreport by Peter Levart
955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009562003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +0000957
958 * Applied read combining patch by Michael Grigoriev (tested by
959 Valient Gough and Vincent Wagelaar)
960
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009612003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +0000962
963 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
964 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +0000965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009662003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +0000967
968 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +0000969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009702003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +0000971
972 * kernel version detection fix
973
974 * fusermount now uses "lazy" umount option
975
976 * fusermount can use modprobe with module-init-tools
977
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009782003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +0000979
980 * Integrated caching patch by Michael Grigoriev
981
Miklos Szeredida4e4862003-09-08 11:14:11 +0000982 * Added "Filesystems" file with descriptions of projects using
983 FUSE
984
Miklos Szeredi02ceb112003-09-08 13:52:25 +0000985 * Added patch by Michael Grigoriev to allow compliation of FUSE
986 kernel module for 2.6 kernels
987
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009882003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +0000989
990 * And another spec-file fix by Achim Settelmeier
991
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009922003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +0000993
994 * Spec-file fix by Achim Settelmeier
995
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009962003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000997
Miklos Szerediac361172004-11-02 19:14:14 +0000998 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000999
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010002003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001001
1002 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1003
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010042003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001005
1006 * Updated fuse.spec file (Achim Settelmeier)
1007
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010082003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001009
1010 * Version 1.0 released
1011
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010122003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001013
1014 * SuSE compilation fix by Juan-Mariano de Goyeneche
1015
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010162002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001017
1018 * The release() VFS call is now exported to the FUSE interface
1019
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010202002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001021
1022 * 64 bit file offset fixes in the fuse kernel module
1023
1024 * Added function 'fuse_exit()' which can be used to exit the main
1025 loop
1026
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010272002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001028
1029 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1030 an incompatible interface change.
1031
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010322002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001033
1034 * Portablility fix (bug reported by C. Chris Erway)
1035
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010362002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001037
1038 * Use Mark Glines' fd passing method for default operation instead
1039 of old reexec
1040
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010412002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001042
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001043 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1044
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010452002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001046
Miklos Szeredi60c23522002-10-24 09:19:43 +00001047 * fix incompatiblity with Red Hat kernels, with help from Nathan
1048 Thompson-Amato.
1049
Mark Glines65ba2192002-04-18 14:41:48 +000010502002-04-18 Mark Glines <mark@glines.org>
1051
1052 * added an alternative to fuse_mount(), called
1053 fuse_mount_ioslave(), which does not need to reexec the
1054 FUSE program.
1055 * added a small helper util needed by fuse_mount_ioslave().
1056
Mark Glines220635a2002-03-17 07:01:14 +000010572002-03-16 Mark Glines <mark@glines.org>
1058
1059 * use struct fuse_statfs everywhere possible to avoid problems
1060 with the headerfiles changing struct statfs member sizes
1061
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010622002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001063
1064 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1065
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010662002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001067
1068 * RPM support by Achim Settelmeier
1069
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010702002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001071
Miklos Szerediddc862a2002-01-09 13:46:10 +00001072 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001073
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010742002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001075
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001076 * Revaidate all path components not just the last, this means a
1077 very small performance penalty for being more up-to-date.
1078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010792002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001080
1081 * Update and fix python interface
1082
Mark Glinesd84b39a2002-01-07 16:32:02 +000010832002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001084
Mark Glinesd84b39a2002-01-07 16:32:02 +00001085 * Added statfs() support to kernel, lib, examples, and perl!
1086
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010872001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001088
1089 * Better cross compilation support
1090
1091 * Ported to Compaq IPAQ
1092
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010932001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001094
Miklos Szeredife25def2001-12-20 15:38:05 +00001095 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001096 patch from Matt Ryan)
1097
Miklos Szeredife25def2001-12-20 15:38:05 +00001098 * Added flags to fusermount and to kernel interface to control
1099 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001100
Miklos Szeredife25def2001-12-20 15:38:05 +00001101 * Integrated fuse_set_operations() into fuse_new()
1102
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011032001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001104
1105 * Applied header protection + extern "C" patch by Roland
1106 Bauerschmidt
1107
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011082001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001109
Miklos Szeredie5183742005-02-02 11:14:04 +00001110 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001111
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011122001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001113
1114 * Cleaned up way of mounting simple filesystems.
1115
1116 * fuse_main() helper function added
1117
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011182001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001119
Miklos Szeredife25def2001-12-20 15:38:05 +00001120 * Optimized read/write operations, so that minimal copying of data
1121 is done
1122
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011232001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001124
1125 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001126
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011272001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001128
1129 * Fixed vfsmount reference leak in fuse_follow_link
1130
1131 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1132 userspace is ignored
1133
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011342001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001135
Miklos Szeredife25def2001-12-20 15:38:05 +00001136 * Started ChangeLog