blob: 4fb2babf1f80ba9e4bcaa4fdd318a502da39344b [file] [log] [blame]
Miklos Szeredi31fa41c2005-03-04 17:28:51 +000012005-03-04 Miklos Szeredi <miklos@szeredi.hu>
2
3 * kernel: fix nasty bug which could cause an Oops under certain
4 situations. Found by Magnus Johansson
5
Miklos Szeredif43f0632005-02-28 11:46:56 +000062005-02-28 Miklos Szeredi <miklos@szeredi.hu>
7
Miklos Szeredi159bd7e2005-02-28 17:32:16 +00008 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +00009 permission checking in getdir() is too late. Thanks to Usarin
10 Heininga for pointing out this deficiency
11
Miklos Szeredi159bd7e2005-02-28 17:32:16 +000012 * libfuse: added init() and destroy() methods to fuse_operations
13
Miklos Szeredif43f0632005-02-28 11:46:56 +000014 * kernel: llseek() method for files and directories made explicit
15
16 * kernel: fixed inode leak in NFS export in case of nodeid
17 wrapping
18
Miklos Szeredied3c97c2005-02-15 17:04:50 +0000192005-02-15 Miklos Szeredi <miklos@szeredi.hu>
20
21 * libfuse: clean up some unitialized memory found with valgrind
22
Miklos Szeredi47c52982005-02-23 09:27:38 +000023 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
24 explicitly linked libpthread for applications
25
Miklos Szeredia7169412005-02-10 07:35:05 +0000262005-02-10 Miklos Szeredi <miklos@szeredi.hu>
27
28 * fusermount: set umask, otherwise /etc/mtab will have
29 unpredictable permission. Spotted by Jindrich Kolorenc
30
31 * fusermount: set owner and group of /etc/mtab to original values
32 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +000033
34 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredia7169412005-02-10 07:35:05 +000035
Miklos Szeredib92d9782005-02-07 16:10:49 +0000362005-02-07 Miklos Szeredi <miklos@szeredi.hu>
37
38 * Cleaned up directory reading (temporary file is not used)
39
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000402005-02-02 Miklos Szeredi <miklos@szeredi.hu>
41
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +000042 * Released 2.2
43
442005-02-02 Miklos Szeredi <miklos@szeredi.hu>
45
Miklos Szerediff30a6c2005-02-02 10:53:59 +000046 * Fix possible race when operation is interrupted
47
Miklos Szeredi7a983952005-01-28 09:58:19 +0000482005-01-28 Miklos Szeredi <miklos@szeredi.hu>
49
Miklos Szeredie5183742005-02-02 11:14:04 +000050 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +000051
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000522005-01-26 Miklos Szeredi <miklos@szeredi.hu>
53
Miklos Szeredid48d5f72005-01-26 20:43:41 +000054 * Released 2.2-pre6
55
562005-01-26 Miklos Szeredi <miklos@szeredi.hu>
57
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000058 * Fix bug in link() operation which caused the wrong path to be
59 passed as the first argument. Found by Anton Altaparmakov
60
Miklos Szeredi01fd89c2005-01-21 11:18:35 +0000612005-01-21 Miklos Szeredi <miklos@szeredi.hu>
62
63 * LIB: fix double reply in readdir operation
64
Miklos Szeredi773d4ae2005-01-21 16:09:08 +000065 * fusermount: fix uid checking bug. Patch by Adam Connell
66
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +000067 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +000068 Patch by Keshava Gowda
69
Miklos Szeredi64074142005-01-20 08:48:11 +0000702005-01-20 Miklos Szeredi <miklos@szeredi.hu>
71
Miklos Szeredi092b50b2005-01-20 18:05:07 +000072 * KERNEL: provide correct llseek semantics for fuse device (fixes
73 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
74
752005-01-20 Miklos Szeredi <miklos@szeredi.hu>
76
Miklos Szeredi64074142005-01-20 08:48:11 +000077 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
78
Miklos Szeredi1adb2272005-01-18 21:19:58 +0000792005-01-18 Miklos Szeredi <miklos@szeredi.hu>
80
81 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
82 and RELEASEDIR. This ends the ugly hack of passing a file
83 descriptor to the kernel, and actually makes the code simpler.
84
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000852005-01-17 Miklos Szeredi <miklos@szeredi.hu>
86
Miklos Szeredic2e960e2005-01-17 13:05:21 +000087 * Released 2.2-pre4
88
892005-01-17 Miklos Szeredi <miklos@szeredi.hu>
90
Miklos Szeredi7db35c02005-01-17 09:46:28 +000091 * fusermount: remove capability setting, which was the cause of
92 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +000093 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +000094
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000952005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +000096
Miklos Szeredidbe0f652005-01-15 14:32:56 +000097 * fix compilation on 2.4 kernels (reported by Valient Gough)
98
99 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000100
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000101 * fusermount: improve parsing of /etc/fuse.conf
102
1032005-01-13 Miklos Szeredi <miklos@szeredi.hu>
104
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000105 * Remove 'mount_max' and 'user_allow_other' module options. These
106 are now checked by fusermount, and can be set in /etc/fuse.conf
107
108 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
109
Miklos Szeredi81394522005-01-11 14:24:18 +00001102005-01-11 Miklos Szeredi <miklos@szeredi.hu>
111
112 * KERNEL: fix possible inode allocation problem, where
113 sizeof(struct inode) is not aligned (found by Mike Waychison)
114
115 * KERNEL: use new follow_link/put_link methods
116
117 * KERNEL: cosmetic fixes
118
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00001192005-01-10 Miklos Szeredi <miklos@szeredi.hu>
120
121 * Released 2.2-pre3
122
1232005-01-10 Miklos Szeredi <miklos@szeredi.hu>
124
125 * Add missing code that was accidently left out
126
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001272005-01-09 Miklos Szeredi <miklos@szeredi.hu>
128
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000129 * Released 2.2-pre2
130
1312005-01-09 Miklos Szeredi <miklos@szeredi.hu>
132
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000133 * Change "uid" mount option to "user_id" to avoid confusion with a
134 mount option "uid" commonly used by many filesystems
135
1362005-01-09 Miklos Szeredi <miklos@szeredi.hu>
137
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000138 * Released 2.2-pre1
139
1402005-01-09 Miklos Szeredi <miklos@szeredi.hu>
141
142 * If FUSE is configured in the kernel, don't build it by default
143
Miklos Szeredi2a927272005-01-07 11:14:15 +00001442005-01-07 Miklos Szeredi <miklos@szeredi.hu>
145
146 * Compile fix by Christian Magnusson
147
Miklos Szeredib6220192005-01-05 16:19:10 +00001482005-01-05 Miklos Szeredi <miklos@szeredi.hu>
149
150 * Fix compilation for 2.6.{0-5} kernels
151
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001522005-01-04 Miklos Szeredi <miklos@szeredi.hu>
153
154 * KERNEL: if request is interrupted, still keep reference to used
155 inode(s) and file, so that FORGET and RELEASE are not sent until
156 userspace finishes the request.
157
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000158 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
159 request with the same information, which is more flexible,
160 simpler, works on embedded systems.
161
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001622004-12-16 Miklos Szeredi <miklos@szeredi.hu>
163
164 * KERNEL ABI: update interface to make it independent of type
165 sizes. This will help on 64 bit architectures which can run
166 legacy 32 bit applications.
167
168 * KERNEL ABI: add "len" field to request headers. This will allow
169 sending/receiving requests in multiple chunks.
170
171 * KERNEL: handle file type change more intelligently
172
173 * LIB: "-o debug" option should disable backgrounding (fix by
174 Fabien Reygrobellet)
175
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00001762004-12-13 Miklos Szeredi <miklos@szeredi.hu>
177
178 * KERNEL: invalidate dentry/attributes if interrupted request
179 could leave filesystem in an unknown state.
180
Miklos Szeredie56818b2004-12-12 11:45:24 +00001812004-12-12 Miklos Szeredi <miklos@szeredi.hu>
182
183 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
184 These will cause some regressions, but stability is considered
185 more important. If any of these features turns out to be
186 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000187
Miklos Szeredie56818b2004-12-12 11:45:24 +0000188 * Make all requests interruptible (only with SIGKILL currently).
189 This can be used to break any deadlock produced by the userspace
190 filesystem accessing it's own exported files. The RELEASE request
191 is special, because if it's interrupted before sending it to
192 userspace it is still sent, but the reply is not awaited.
193
194 * If request is interrupted before being sent to userspace, and if
195 it hasn't yet got any side effects, it is always restarted,
196 regardless of the SA_RESTART flag. This makes these interruptions
197 transparent to the process.
198
199 * Remove shared-writable mmap support, which was prone to an
200 out-of-memory deadlock situation
201
202 * Remove INVALIDATE userspace initiated request
203
204 * Make readpages() synchronous. Asynchronous requests are
205 deadlock prone, since they cannot be interrupted.
206
207 * Add readv/writev support to fuse device operations
208
209 * Remove some printks, which userspace FS can use for a DoS
210 against syslog
211
212 * Remove 'large_read' mount option from 2.6 in kernel, check it in
213 fusermount instead
214
215 * LIB: improve compatibility with a fuse.h header installed in
216 ${prefix}/include which in turn includes the real header.
217
218 * LIB: improve compatibility by defining fuse_main() (which is now
219 not used), so old configure scripts find it.
220
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00002212004-12-10 Miklos Szeredi <miklos@szeredi.hu>
222
223 * When mounting on a subdirectory of / don't duplicate slashes at
224 the beggining of path (spotted by David Shaw)
225
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00002262004-12-09 Miklos Szeredi <miklos@szeredi.hu>
227
228 * Fix bug causing garbage in mount options (spotted by David Shaw)
229
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00002302004-12-07 Miklos Szeredi <miklos@szeredi.hu>
231
232 * Add 'writepage' flag to 'fuse_file_info'.
233
234 * More comments in fuse.h
235
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000236 * Get rid of double underscores
237
Miklos Szeredi799993c2004-12-04 21:20:05 +00002382004-12-04 Miklos Szeredi <miklos@szeredi.hu>
239
240 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
241
242 * helper.c: add -ho option, which only displays the options not
243 the usage header. This can be used by filesystems which have
244 their own options.
245
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00002462004-12-03 Miklos Szeredi <miklos@szeredi.hu>
247
248 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
249 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
250 including the fuse header
251
252 * Add binary compatibility to 2.1 version of library with symbol
253 versioning
254
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00002552004-12-03 Miklos Szeredi <miklos@szeredi.hu>
256
257 * Released 2.1
258
Miklos Szeredi039322d2004-12-01 18:39:12 +00002592004-12-01 Miklos Szeredi <miklos@szeredi.hu>
260
261 * kernel: clean up writing functions
262
263 * kernel: no allocation on write in direct_io mode
264
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000265 * move linux/fuse.h to fuse_kernel.h
266
Miklos Szeredi83a07442004-11-30 18:25:20 +00002672004-11-30 Miklos Szeredi <miklos@szeredi.hu>
268
269 * kernel: clean up reading functions
270
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00002712004-11-29 Miklos Szeredi <miklos@szeredi.hu>
272
273 * kernel: make readpage() uninterruptible
274
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000275 * kernel: check readonly filesystem flag in fuse_permission
276
277 * lib: don't die if version file not found and new style device
278 exists
279
280 * lib: add '-r' option, which is short for '-o ro'
281
282 * fusermount: simplify device opening
283
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000284 * kernel: when direct_io is turend on, copy data directly to
285 destination without itermediate buffer. More efficient and safer,
286 since no allocation is done.
287
288 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000289
290 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000291
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00002922004-11-26 Miklos Szeredi <miklos@szeredi.hu>
293
294 * libfuse API change: open, read, write, flush, fsync and release
295 are passed a 'struct fuse_file_info' pointer containing the open
296 flags (open and release), and the file handle. Verion changed to
297 3.0.
298
Miklos Szeredia25d4c22004-11-23 22:32:16 +00002992004-11-23 Miklos Szeredi <miklos@szeredi.hu>
300
301 * More cleanups in the kernel
302
303 * The 10,229 charater device number has been assigned for FUSE
304
305 * Version file checking fix (reported by Christian Magnusson)
306
307 * fusermount: opening the fuse device now doesn't need /sys.
308
309 * Optimize reading by controlling the maximum readahead based on
310 the 'max_read' mount option
311
312 * fixes for UCLIBC (Christian Magnusson)
313
Miklos Szeredi13ed4822004-11-20 11:12:21 +00003142004-11-19 Miklos Szeredi <miklos@szeredi.hu>
315
316 * Cleaned up kernel in preparation for merge into mainline:
317
318 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
319
320 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
321
322 * __user annotations for sparse
323
324 * allocate individual pages instead of kmalloc in fuse_readdir,
325 fuse_read and fuse_write.
326
327 * Fix NFS export in case "use_ino" mount option is given
328
Miklos Szeredif3845c42004-11-20 11:18:34 +0000329 * Make libfuse and fusermount compatible with future versions
330
331 * fusermount: properly add mount options to /etc/mtab
332
3332004-11-15 Miklos Szeredi <miklos@szeredi.hu>
334
335 * fusermount: do not resolve last component of mountpoint on if it
336 is '.' or '..'. This new path resolvation is now done on mount as
337 well as unmount. This enables relative paths to work on unmount.
338
339 * fusermount: parse common mount options like "ro", "rw", etc...
340
341 * Allow module params to be changed through sysfs
342
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00003432004-11-14 Miklos Szeredi <miklos@szeredi.hu>
344
345 * Released 2.1-pre1
346
3472004-11-14 Miklos Szeredi <miklos@szeredi.hu>
348
349 * Fix bug in fuse_readpages() causing Oops in certain situations.
350 Bug found by Vincenzo Ciancia.
351
352 * Fix compilation with kernels versions > 2.6.9.
353
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00003542004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000355
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000356 * Check kernel interface version in fusermount to prevent
357 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000358
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000359 * No need to allocate fuse_conn until actual mount happens
360
361 * Fix potential race between umount and fuse_invalidate
362
363 * Check superblock of proc file in addition to inode number
364
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000365 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000366
Miklos Szeredi51ec1032004-11-10 11:52:26 +00003672004-11-10 Miklos Szeredi <miklos@szeredi.hu>
368
369 * Separate configure for the kernel directory
370
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000371 * Don't allow write to return more than 'count'
372
373 * Extend kernel interface for future use
374
Miklos Szeredi51ec1032004-11-10 11:52:26 +00003752004-11-09 Miklos Szeredi <miklos@szeredi.hu>
376
377 * Fix 'makeconf.sh' to use autoreconf if available
378
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00003792004-11-08 Miklos Szeredi <miklos@szeredi.hu>
380
Miklos Szeredid507c732004-11-08 17:32:25 +0000381 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
382 compatibility with earlier versions. To compile earier versions
383 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
384 Do not use the "use_ino" mount flag with filesystems compiled with
385 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000386
387 * Add pkg-config support. To compile a FUSE based filesystem you
388 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
389 or similar. Note, that the PKG_CONFIG_PATH environment variable
390 usually needs to be set to "/usr/local/lib/pkgconfig".
391
392 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000393
Miklos Szeredia13d9002004-11-02 17:32:03 +00003942004-11-02 Miklos Szeredi <miklos@szeredi.hu>
395
396 * Added "use_ino" mount option. This enables the filesystems to
397 set the st_ino field on files
398
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00003992004-11-01 Miklos Szeredi <miklos@szeredi.hu>
400
401 * Fix compile problems with ancient (<=2.4.18) kernels (reported
402 by Jeremy Smith)
403
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000404 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
405
406 * Clear the 'exited' flag when mail loop is finished
407
Miklos Szeredie989f0d2004-10-28 20:24:58 +00004082004-10-28 Miklos Szeredi <miklos@szeredi.hu>
409
410 * Make xattr functions work under 2.6 (bug found by Vincenzo
411 Ciancia)
412
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00004132004-10-26 Miklos Szeredi <miklos@szeredi.hu>
414
415 * Reset request in fuse_flush() (bugreport by David Shaw)
416
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00004172004-10-21 Miklos Szeredi <miklos@szeredi.hu>
418
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000419 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000420 error code
421
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000422 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000423 make it easier to implement a custom event loop.
424
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000425 * Use daemon() call to background the filesystem after mounting.
426 This function closes the standard input, output and error and
427 changes the current working directory to "/".
428
Miklos Szeredi127d49b2004-10-14 13:33:39 +00004292004-10-14 Miklos Szeredi <miklos@szeredi.hu>
430
431 * Released 1.9
432
Miklos Szeredid45baf42004-10-10 07:56:12 +00004332004-10-09 Miklos Szeredi <miklos@szeredi.hu>
434
435 * Don't allow fuse_flush() to be interrupted (bug found by David
436 Shaw)
437
Miklos Szeredi1f18db52004-09-27 06:54:49 +00004382004-09-27 Miklos Szeredi <miklos@szeredi.hu>
439
440 * Add PID to fuse_context. Patch by Steven James
441
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000442 * Change file handle type to 'unsigned long' in kernel interface
443
Miklos Szeredid169f312004-09-22 08:48:26 +00004442004-09-22 Miklos Szeredi <miklos@szeredi.hu>
445
446 * A slight API change: fuse_get_context() doesn't need the "fuse"
447 pointer, but the returned context contains it instead. The
448 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000449
450 * Fix mounting and umounting FUSE filesystem under another FUSE
451 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000452
Miklos Szeredic2309912004-09-21 13:40:38 +00004532004-09-21 Miklos Szeredi <miklos@szeredi.hu>
454
455 * Fix deadlock in case of memory allocation failure. Patch by
456 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000457
Miklos Szeredib2cf9562004-09-16 08:42:40 +00004582004-09-16 Miklos Szeredi <miklos@szeredi.hu>
459
460 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000461
Miklos Szeredi65afea12004-09-14 07:13:45 +00004622004-09-14 Miklos Szeredi <miklos@szeredi.hu>
463
464 * Check temporary file creation failure in do_getdir(). Bug
465 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000466
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00004672004-09-13 Miklos Szeredi <miklos@szeredi.hu>
468
469 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000470
471 * Make requests non-interruptible so race with FORGET is avoided.
472 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000473
474 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000475
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00004762004-09-09 Miklos Szeredi <miklos@szeredi.hu>
477
478 * Fix bug in case two FORGETs for the same node are executed in
479 the wrong order. Bug spotted and endured for months by Franco
480 Broi, and logfile for solution provided by Terje Oseberg
481
Miklos Szeredi12085102004-09-02 18:13:57 +00004822004-09-01 Miklos Szeredi <miklos@szeredi.hu>
483
484 * Add -D_REENTRANT to the compile flags
485
486 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000487
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00004882004-08-16 Miklos Szeredi <miklos@szeredi.hu>
489
490 * Change release method to be non-interruptible. Fixes bug
491 causing missing release() call when program which has opened files
492 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000493
Miklos Szeredi891b8742004-07-29 09:27:49 +00004942004-07-29 Miklos Szeredi <miklos@szeredi.hu>
495
496 * Add fuse_invalidate() to library API
497
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00004982004-07-26 Miklos Szeredi <miklos@szeredi.hu>
499
500 * Check permissions in setattr if 'default_permissions' flag is
501 set. Bug spotted by Damjan Lango
502
Miklos Szeredid66d3942004-07-24 13:47:44 +00005032004-07-24 Miklos Szeredi <miklos@szeredi.hu>
504
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000505 * 'large_read' mount option removed for 2.6 kernels, since the
506 default (dynamic read size) is better
507
508 * Extend kernel API with file handles. A file handle is returned
509 by open, and passed to read, write, flush, fsync and release.
510 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000511
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000512 * Security changes:
513
514 * Change the current directory to the mountpoint before checking
515 the permissions and mount filesystem on "."
516
517 * By default don't modprobe the fuse module for non-root. The old
518 behavior can be restored with the '--enable-auto-modprobe' flag of
519 ./configure
520
521 * By default don't allow shared writable mappings for non-root.
522 The old behavior can be restored with the 'user_mmap=1' module
523 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000524
Miklos Szeredibd7661b2004-07-23 17:16:29 +00005252004-07-23 Miklos Szeredi <miklos@szeredi.hu>
526
527 * Clean up mount option passing to fusermount and to fuse_new()
528 BEWARE: this changes the userspace API slightly, and the command
529 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000530
Miklos Szeredi58865372004-07-20 14:22:26 +00005312004-07-20 Miklos Szeredi <miklos@szeredi.hu>
532
533 * Optimize reading under 2.6 kernels by issuing multiple page
534 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000535
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00005362004-07-18 Miklos Szeredi <miklos@szeredi.hu>
537
538 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000539
Miklos Szeredi069c9502004-07-16 16:17:02 +00005402004-07-16 Miklos Szeredi <miklos@szeredi.hu>
541
542 * Separate directory entry and inode attribute validity timer
543
544 * New write semaphore to stop page writeback during truncate
545
546 * Fsync now waits for all writes to complete before sending the
547 request
548
549 * Optimization: if a page is completely written by
550 fuse_commit_write(), clear the dirty flag and set the uptodate
551 flag for that page
552
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000553 * Some memory cleanup at exit
554
Miklos Szeredi2529ca22004-07-13 15:36:52 +00005552004-07-13 Miklos Szeredi <miklos@szeredi.hu>
556
557 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000558 disable the "hide if open" behavior of unlink/rename.
559
560 * If temporary buffer allocation fails in raw read, fall back to a
561 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000562
Miklos Szeredi73798f92004-07-12 15:55:11 +00005632004-07-12 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Fix bug in do_open() in libfuse: open count was incremented
566 after the reply is sent so it could race with unlink/forget and
567 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000568
Miklos Szeredi015fe702004-07-12 11:52:24 +00005692004-07-08 Miklos Szeredi <miklos@szeredi.hu>
570
571 * When performing create or remove operation, refresh the parent's
572 attributes on next revalidate, as i_nlink (and maybe size/time)
573 could be inacurate.
574
575 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
576 pages (2.6 only)
577
578 * Set set_page_dirty address space operation (2.6 only)
579
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005802004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000581
582 * Minor fix in read: print debug info even if read size is zero
583
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005842004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000585
586 * Fix race between truncate and writepage (fsx-linux now runs
587 without error)
588
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005892004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000590
591 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
592 by Mattias Wadman)
593
594 * Added option for direct read/write (-r)
595
596 * Fix revalidate time setting for newly created inodes
597
Miklos Szerediacb4d362004-07-02 16:20:45 +0000598 * Remove uid==0 check for '-x' option in fusermount (kernel checks
599 this)
600
601 * fuse_main() only installs handlers for signals (out of INT, HUP,
602 TERM, PIPE), for which no handler has yet been installed
603
604 * Add module option 'user_allow_other' which if set to non-zero
605 will allow non root user to specify the 'allow_other' mount option
606 ('-x' option of fusermount)
607
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000608 * Fix deadlock between page writeback completion and truncate
609 (bug found by Valient Gough with the fsx-linux utility)
610
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006112004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000612
613 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000614 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
615 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000616
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006172004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000618
619 * Acquire inode->i_sem before open and release methods to prevent
620 concurrent rename or unlink operations.
621
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000622 * Make __fuse_read_cmd() read only one command. This allows
623 multiplexing the fuse file descriptor with other event sources
624 using select() or poll() (patch by Jeff Harris)
625
626 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
627
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006282004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000629
630 * Fix file offset wrap around at 4G when doing large reads
631
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006322004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000633
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000634 * Fix memory leak in open (Valient Gough)
635
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006362004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000637
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000638 * Add "close after delete" support to libfuse (patch by Valient
639 Gough)
640
641 * Cancel all worker threads before exit in multithreaded mode
642
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006432004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000644
645 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000646
647 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000648
649 * Work with newer libtool (1.5a)
650
651 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000652
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006532004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000654
655 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000656
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006572004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000658
659 * Fix possible inode leak in userspace in case of unfinished
660 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000661
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006622004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000663
664 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000665
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006662004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000667
668 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000669
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006702004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000671
672 * Build shared library as well as static (using libtool)
673
674 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
675 there has not been a release with the previous minor number, and I
676 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000677
678 * Change fuse_main(), so that default behavior is to go into
679 background if mount is successful. '-f' and '-d' options disable
680 backgrounding. This fixes the "Why does my FUSE daemon hang?"
681 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000682
683 * Cache ENOSYS (function not implemented) errors on *xattr, flush
684 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000685
686 * Don't call getdir method from open() only from first readdir().
687 Open is sometimes just used to store the current directory
688 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000689
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006902004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000691
692 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000693
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006942004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000695
696 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000697
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006982004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000699
700 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000701
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007022004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000703
704 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000705
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007062004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000707
708 * Replaced binary mount data with text options
709
710 * Show FUSE specific mount options in /proc/mounts
711
712 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
713
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007142004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000715
716 * Check some limits so userspace won't get too big requests
717
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007182004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000719
720 * Kill compile warning
721
722 * Upgraded user-mount patch for 2.6.5
723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007242004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000725
726 * Add detection of user-mode-linux to configure
727
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007282004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000729
730 * fixed zero size case for getxattr and listxattr
731
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007322004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000733
734 * new fusermount flag '-z': lazy unmount, default is not lazy
735
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000736 * Extended attributes operations added (getxattr, setxattr,
737 listxattr, removexattr)
738
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007392004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000740
741 * If filesystem doesn't define a statfs operation, then an
742 all-zero default statfs is returned instead of ENOSYS
743
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007442004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000745
746 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
747
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007482004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000749
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000750 * Fix for uClinux (Christian Magnusson)
751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007522004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000753
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000754 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000755
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000756 * More kernel interface changes:
757
758 * Lookup/getattr return cache timeout values
759
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007602004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000761
762 * Clean up option parsing in fuse_main()
763
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000764 * Added fuse_get() function which returns the fuse object created
765 by fuse_main()
766
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007672004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000768
Miklos Szeredic40748a2004-02-20 16:38:45 +0000769 * removed old way of mounting (fusermount mountpoint program)
770
Miklos Szeredib5958612004-02-20 14:10:49 +0000771 * more kernel interface changes:
772
773 * added nanosecond precision to file times
774
Miklos Szeredic40748a2004-02-20 16:38:45 +0000775 * removed interface version from mount data
776
777 * added /proc/fs/fuse/version which contains MAJOR.MINOR
778
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007792004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000780
781 * statfs library API changed to match other methods. Since this
782 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
783
Miklos Szeredi76f65782004-02-19 16:55:40 +0000784 * kernel interface changes follow:
785
786 * statfs changed to 64 bits, added 'bavail' field
787
788 * add generation number to lookup result
789
790 * optimized mknod/mkdir/symlink/link (no separate lookup is
791 needed)
792
793 * rdev size increased to 32 bits for mknod
794
795 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000796
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007972004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000798
799 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000800
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008012004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000802
803 * Added user-mount.2.6.2-rc3.patch
804
805 * Add FS_SAFE flag to fuse filesystem
806
807 * fusermount should allow (un)mounting for non-root even if not
808 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008102004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000811
812 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000813
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008142004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000815
816 * Added check for i_size_read/write functions to configure.in
817 (patch by Valient Gough)
818
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008192004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000820
821 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000822
823 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000824
825 * Readpage calls flush_dcache_page() after storing data
826
827 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000828
829 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000830
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008312004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000832
833 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008352004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000836
837 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000838
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008392004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000840
841 * Added -q option for fusermount
842
843 * fuse_unmount() now uses -q option of fusermount, so no error is
844 printed if the cause of the program exit is that the filesystem
845 has already been unmounted
846
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000847 * Fix i_nlink correctness after rmdir/unlink
848
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008492004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000850
Miklos Szeredib1158392004-01-26 14:43:12 +0000851 * Released 1.1-pre2
852
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008532004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000854
Miklos Szeredi307242f2004-01-26 11:28:44 +0000855 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000856
857 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000858
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008592004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000860
861 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000862
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008632004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000864
865 * Write all pending data before a RELEASE operation
866
867 * Suppress 'Bad file descriptor' warning on exit
868
869 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000870 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000871
Miklos Szeredib1158392004-01-26 14:43:12 +0000872 * New fusermount option '-l' which enables big reads. Big reads
873 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000874
875 * fuse_main() can accept fusermount arguments after a '--'
876
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008772004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000878
879 * Support for exporting filesystem over NFS (see README.NFS)
880
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008812004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000882
883 * Support non-blocking writepage on 2.6. This makes FUSE behave
884 much more nicely in low-memory situations
885
886 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
887 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +0000888
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008892004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000890
891 * Code cleanups
892
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008932004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000894
895 * Released 1.1-pre1
896
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008972004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000898
899 * Integrated 2.6 kernel support patch by Michael Grigoriev
900
901 * Improvements and cleanups for 2.6 kernels
902
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009032004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000904
Miklos Szeredie5183742005-02-02 11:14:04 +0000905 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000906
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009072003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000908
909 * Added major+minor version to library API, and minor version to
910 kernel API
911
David McNab7a19caf2003-12-13 02:05:46 +00009122003-12-13 David McNab <david@rebirthing.co.nz>
913
914 * Implemented fsync support in examples/example.py
915
916 * Implemented 'fsync' and 'statfs' methods in python
917 interface
918
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009192003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000920
Miklos Szeredie5183742005-02-02 11:14:04 +0000921 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000922
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +0000923 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000924
David McNab8bf62632003-12-11 22:49:22 +00009252003-12-12 David McNab <david@rebirthing.co.nz>
926
927 * Added distutils support to the python module, as per standard
928 python development practice
929
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009302003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000931
932 * Add file locking for mount/unmount (based on patch by Valient
933 Gough)
934
9352003-12-11 David McNab <david@rebirthing.co.nz>
936
937 * Python filesystem - was broken with python2.3, now fixed:
938 - changed PyTuple_* calls to PySequence_*, because os.lstat
939 is no longer returning a pure tuple
940 - changed PyInt_Check() calls to also call PyLong_Check,
941 to cover for cases (eg os.lstat) where longs are returned
942 - Added support for file 'release' handling, which IMO is
943 essential since this signals to a FS that writes to a file
944 are complete (and therefore the file can now be disposed of
945 meaningfully at the python filesystem's discretion)
946 - Added '__init__' handler to base Fuse class, which allows
947 your Python class to know the mountpoint and mount args,
948 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +0000949
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000950 * General:
951 - added 'mount.fuse' script (in util/ dir), which is meant to be
952 symlinked from /sbin, and which allows FUSE filesystems to
953 be mounted with the 'mount' command, and listed in fstab;
954 also, mount arguments get passed to your filesystem
955
956
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009572003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +0000958
959 * Fix kernel version detection (again). Bugreport by Peter Levart
960
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009612003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +0000962
963 * Applied read combining patch by Michael Grigoriev (tested by
964 Valient Gough and Vincent Wagelaar)
965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009662003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +0000967
968 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
969 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +0000970
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009712003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +0000972
973 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +0000974
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009752003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +0000976
977 * kernel version detection fix
978
979 * fusermount now uses "lazy" umount option
980
981 * fusermount can use modprobe with module-init-tools
982
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009832003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +0000984
985 * Integrated caching patch by Michael Grigoriev
986
Miklos Szeredida4e4862003-09-08 11:14:11 +0000987 * Added "Filesystems" file with descriptions of projects using
988 FUSE
989
Miklos Szeredi02ceb112003-09-08 13:52:25 +0000990 * Added patch by Michael Grigoriev to allow compliation of FUSE
991 kernel module for 2.6 kernels
992
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009932003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +0000994
995 * And another spec-file fix by Achim Settelmeier
996
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009972003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +0000998
999 * Spec-file fix by Achim Settelmeier
1000
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010012003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001002
Miklos Szerediac361172004-11-02 19:14:14 +00001003 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001004
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010052003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001006
1007 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1008
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010092003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001010
1011 * Updated fuse.spec file (Achim Settelmeier)
1012
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010132003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001014
1015 * Version 1.0 released
1016
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010172003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001018
1019 * SuSE compilation fix by Juan-Mariano de Goyeneche
1020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010212002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001022
1023 * The release() VFS call is now exported to the FUSE interface
1024
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010252002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001026
1027 * 64 bit file offset fixes in the fuse kernel module
1028
1029 * Added function 'fuse_exit()' which can be used to exit the main
1030 loop
1031
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010322002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001033
1034 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1035 an incompatible interface change.
1036
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010372002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001038
1039 * Portablility fix (bug reported by C. Chris Erway)
1040
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010412002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001042
1043 * Use Mark Glines' fd passing method for default operation instead
1044 of old reexec
1045
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010462002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001047
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001048 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1049
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010502002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001051
Miklos Szeredi60c23522002-10-24 09:19:43 +00001052 * fix incompatiblity with Red Hat kernels, with help from Nathan
1053 Thompson-Amato.
1054
Mark Glines65ba2192002-04-18 14:41:48 +000010552002-04-18 Mark Glines <mark@glines.org>
1056
1057 * added an alternative to fuse_mount(), called
1058 fuse_mount_ioslave(), which does not need to reexec the
1059 FUSE program.
1060 * added a small helper util needed by fuse_mount_ioslave().
1061
Mark Glines220635a2002-03-17 07:01:14 +000010622002-03-16 Mark Glines <mark@glines.org>
1063
1064 * use struct fuse_statfs everywhere possible to avoid problems
1065 with the headerfiles changing struct statfs member sizes
1066
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010672002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001068
1069 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1070
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010712002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001072
1073 * RPM support by Achim Settelmeier
1074
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010752002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001076
Miklos Szerediddc862a2002-01-09 13:46:10 +00001077 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010792002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001080
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001081 * Revaidate all path components not just the last, this means a
1082 very small performance penalty for being more up-to-date.
1083
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010842002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001085
1086 * Update and fix python interface
1087
Mark Glinesd84b39a2002-01-07 16:32:02 +000010882002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001089
Mark Glinesd84b39a2002-01-07 16:32:02 +00001090 * Added statfs() support to kernel, lib, examples, and perl!
1091
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010922001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001093
1094 * Better cross compilation support
1095
1096 * Ported to Compaq IPAQ
1097
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010982001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001099
Miklos Szeredife25def2001-12-20 15:38:05 +00001100 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001101 patch from Matt Ryan)
1102
Miklos Szeredife25def2001-12-20 15:38:05 +00001103 * Added flags to fusermount and to kernel interface to control
1104 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001105
Miklos Szeredife25def2001-12-20 15:38:05 +00001106 * Integrated fuse_set_operations() into fuse_new()
1107
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011082001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001109
1110 * Applied header protection + extern "C" patch by Roland
1111 Bauerschmidt
1112
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011132001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001114
Miklos Szeredie5183742005-02-02 11:14:04 +00001115 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001116
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011172001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001118
1119 * Cleaned up way of mounting simple filesystems.
1120
1121 * fuse_main() helper function added
1122
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011232001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001124
Miklos Szeredife25def2001-12-20 15:38:05 +00001125 * Optimized read/write operations, so that minimal copying of data
1126 is done
1127
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011282001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001129
1130 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001131
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011322001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001133
1134 * Fixed vfsmount reference leak in fuse_follow_link
1135
1136 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1137 userspace is ignored
1138
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011392001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001140
Miklos Szeredife25def2001-12-20 15:38:05 +00001141 * Started ChangeLog