blob: bf89ea54e3aad916763ef76b18a1b62dbbc709c7 [file] [log] [blame]
Miklos Szeredieab72ef2005-03-31 19:59:12 +000012005-03-31 Miklos Szeredi <miklos@szeredi.hu>
2
3 * kernel API: add padding to structures, so 64bit and 32bit
4 compiler will return the same size
5
6 * kernel API: add offset field to fuse_dirent. This will allow
7 more sophisticated readdir interface for userspace
8
9 * kernel API: change major number to 6
10
11 * kernel: fix warnings on 64bit archs
12
13 * kernel: in case of API version mismatch, return ECONNREFUSED
14
Miklos Szeredi407e6a72005-03-25 12:19:43 +0000152005-03-24 Miklos Szeredi <miklos@szeredi.hu>
16
17 * kernel: trivial cleanups
18
Miklos Szeredi4283ee72005-03-21 12:09:04 +0000192005-03-21 Miklos Szeredi <miklos@szeredi.hu>
20
21 * Add fsyncdir() operation
22
Miklos Szeredid17da462005-03-21 11:47:04 +0000232005-03-19 Miklos Szeredi <miklos@szeredi.hu>
24
25 * kernel: add locking to background list (fixes previous fix)
26
272005-03-18 Miklos Szeredi <miklos@szeredi.hu>
28
29 * kernel: fix bug which could cause leave busy inodes after
30 unmount, and Oops.
31
322005-03-08 Miklos Szeredi <miklos@szeredi.hu>
33
34 * examples: add -lpthread to link flags to work around valgrind
35 quirk
36
37 * lib: don't exit threads, so cancelation doesn't cause segfault
38
Miklos Szeredi31fa41c2005-03-04 17:28:51 +0000392005-03-04 Miklos Szeredi <miklos@szeredi.hu>
40
41 * kernel: fix nasty bug which could cause an Oops under certain
42 situations. Found by Magnus Johansson
43
Miklos Szeredif43f0632005-02-28 11:46:56 +0000442005-02-28 Miklos Szeredi <miklos@szeredi.hu>
45
Miklos Szeredi159bd7e2005-02-28 17:32:16 +000046 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +000047 permission checking in getdir() is too late. Thanks to Usarin
48 Heininga for pointing out this deficiency
49
Miklos Szeredi159bd7e2005-02-28 17:32:16 +000050 * libfuse: added init() and destroy() methods to fuse_operations
51
Miklos Szeredif43f0632005-02-28 11:46:56 +000052 * kernel: llseek() method for files and directories made explicit
53
54 * kernel: fixed inode leak in NFS export in case of nodeid
55 wrapping
56
Miklos Szeredied3c97c2005-02-15 17:04:50 +0000572005-02-15 Miklos Szeredi <miklos@szeredi.hu>
58
59 * libfuse: clean up some unitialized memory found with valgrind
60
Miklos Szeredi47c52982005-02-23 09:27:38 +000061 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
62 explicitly linked libpthread for applications
63
Miklos Szeredia7169412005-02-10 07:35:05 +0000642005-02-10 Miklos Szeredi <miklos@szeredi.hu>
65
66 * fusermount: set umask, otherwise /etc/mtab will have
67 unpredictable permission. Spotted by Jindrich Kolorenc
68
69 * fusermount: set owner and group of /etc/mtab to original values
70 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +000071
72 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredia7169412005-02-10 07:35:05 +000073
Miklos Szeredib92d9782005-02-07 16:10:49 +0000742005-02-07 Miklos Szeredi <miklos@szeredi.hu>
75
76 * Cleaned up directory reading (temporary file is not used)
77
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000782005-02-02 Miklos Szeredi <miklos@szeredi.hu>
79
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +000080 * Released 2.2
81
822005-02-02 Miklos Szeredi <miklos@szeredi.hu>
83
Miklos Szerediff30a6c2005-02-02 10:53:59 +000084 * Fix possible race when operation is interrupted
85
Miklos Szeredi7a983952005-01-28 09:58:19 +0000862005-01-28 Miklos Szeredi <miklos@szeredi.hu>
87
Miklos Szeredie5183742005-02-02 11:14:04 +000088 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +000089
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000902005-01-26 Miklos Szeredi <miklos@szeredi.hu>
91
Miklos Szeredid48d5f72005-01-26 20:43:41 +000092 * Released 2.2-pre6
93
942005-01-26 Miklos Szeredi <miklos@szeredi.hu>
95
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000096 * Fix bug in link() operation which caused the wrong path to be
97 passed as the first argument. Found by Anton Altaparmakov
98
Miklos Szeredi01fd89c2005-01-21 11:18:35 +0000992005-01-21 Miklos Szeredi <miklos@szeredi.hu>
100
101 * LIB: fix double reply in readdir operation
102
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000103 * fusermount: fix uid checking bug. Patch by Adam Connell
104
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000105 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000106 Patch by Keshava Gowda
107
Miklos Szeredi64074142005-01-20 08:48:11 +00001082005-01-20 Miklos Szeredi <miklos@szeredi.hu>
109
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000110 * KERNEL: provide correct llseek semantics for fuse device (fixes
111 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
112
1132005-01-20 Miklos Szeredi <miklos@szeredi.hu>
114
Miklos Szeredi64074142005-01-20 08:48:11 +0000115 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
116
Miklos Szeredi1adb2272005-01-18 21:19:58 +00001172005-01-18 Miklos Szeredi <miklos@szeredi.hu>
118
119 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
120 and RELEASEDIR. This ends the ugly hack of passing a file
121 descriptor to the kernel, and actually makes the code simpler.
122
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001232005-01-17 Miklos Szeredi <miklos@szeredi.hu>
124
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000125 * Released 2.2-pre4
126
1272005-01-17 Miklos Szeredi <miklos@szeredi.hu>
128
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000129 * fusermount: remove capability setting, which was the cause of
130 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000131 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000132
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001332005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000134
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000135 * fix compilation on 2.4 kernels (reported by Valient Gough)
136
137 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000138
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000139 * fusermount: improve parsing of /etc/fuse.conf
140
1412005-01-13 Miklos Szeredi <miklos@szeredi.hu>
142
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000143 * Remove 'mount_max' and 'user_allow_other' module options. These
144 are now checked by fusermount, and can be set in /etc/fuse.conf
145
146 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
147
Miklos Szeredi81394522005-01-11 14:24:18 +00001482005-01-11 Miklos Szeredi <miklos@szeredi.hu>
149
150 * KERNEL: fix possible inode allocation problem, where
151 sizeof(struct inode) is not aligned (found by Mike Waychison)
152
153 * KERNEL: use new follow_link/put_link methods
154
155 * KERNEL: cosmetic fixes
156
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00001572005-01-10 Miklos Szeredi <miklos@szeredi.hu>
158
159 * Released 2.2-pre3
160
1612005-01-10 Miklos Szeredi <miklos@szeredi.hu>
162
163 * Add missing code that was accidently left out
164
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001652005-01-09 Miklos Szeredi <miklos@szeredi.hu>
166
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000167 * Released 2.2-pre2
168
1692005-01-09 Miklos Szeredi <miklos@szeredi.hu>
170
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000171 * Change "uid" mount option to "user_id" to avoid confusion with a
172 mount option "uid" commonly used by many filesystems
173
1742005-01-09 Miklos Szeredi <miklos@szeredi.hu>
175
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000176 * Released 2.2-pre1
177
1782005-01-09 Miklos Szeredi <miklos@szeredi.hu>
179
180 * If FUSE is configured in the kernel, don't build it by default
181
Miklos Szeredi2a927272005-01-07 11:14:15 +00001822005-01-07 Miklos Szeredi <miklos@szeredi.hu>
183
184 * Compile fix by Christian Magnusson
185
Miklos Szeredib6220192005-01-05 16:19:10 +00001862005-01-05 Miklos Szeredi <miklos@szeredi.hu>
187
188 * Fix compilation for 2.6.{0-5} kernels
189
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001902005-01-04 Miklos Szeredi <miklos@szeredi.hu>
191
192 * KERNEL: if request is interrupted, still keep reference to used
193 inode(s) and file, so that FORGET and RELEASE are not sent until
194 userspace finishes the request.
195
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000196 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
197 request with the same information, which is more flexible,
198 simpler, works on embedded systems.
199
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002002004-12-16 Miklos Szeredi <miklos@szeredi.hu>
201
202 * KERNEL ABI: update interface to make it independent of type
203 sizes. This will help on 64 bit architectures which can run
204 legacy 32 bit applications.
205
206 * KERNEL ABI: add "len" field to request headers. This will allow
207 sending/receiving requests in multiple chunks.
208
209 * KERNEL: handle file type change more intelligently
210
211 * LIB: "-o debug" option should disable backgrounding (fix by
212 Fabien Reygrobellet)
213
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00002142004-12-13 Miklos Szeredi <miklos@szeredi.hu>
215
216 * KERNEL: invalidate dentry/attributes if interrupted request
217 could leave filesystem in an unknown state.
218
Miklos Szeredie56818b2004-12-12 11:45:24 +00002192004-12-12 Miklos Szeredi <miklos@szeredi.hu>
220
221 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
222 These will cause some regressions, but stability is considered
223 more important. If any of these features turns out to be
224 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000225
Miklos Szeredie56818b2004-12-12 11:45:24 +0000226 * Make all requests interruptible (only with SIGKILL currently).
227 This can be used to break any deadlock produced by the userspace
228 filesystem accessing it's own exported files. The RELEASE request
229 is special, because if it's interrupted before sending it to
230 userspace it is still sent, but the reply is not awaited.
231
232 * If request is interrupted before being sent to userspace, and if
233 it hasn't yet got any side effects, it is always restarted,
234 regardless of the SA_RESTART flag. This makes these interruptions
235 transparent to the process.
236
237 * Remove shared-writable mmap support, which was prone to an
238 out-of-memory deadlock situation
239
240 * Remove INVALIDATE userspace initiated request
241
242 * Make readpages() synchronous. Asynchronous requests are
243 deadlock prone, since they cannot be interrupted.
244
245 * Add readv/writev support to fuse device operations
246
247 * Remove some printks, which userspace FS can use for a DoS
248 against syslog
249
250 * Remove 'large_read' mount option from 2.6 in kernel, check it in
251 fusermount instead
252
253 * LIB: improve compatibility with a fuse.h header installed in
254 ${prefix}/include which in turn includes the real header.
255
256 * LIB: improve compatibility by defining fuse_main() (which is now
257 not used), so old configure scripts find it.
258
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00002592004-12-10 Miklos Szeredi <miklos@szeredi.hu>
260
261 * When mounting on a subdirectory of / don't duplicate slashes at
262 the beggining of path (spotted by David Shaw)
263
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00002642004-12-09 Miklos Szeredi <miklos@szeredi.hu>
265
266 * Fix bug causing garbage in mount options (spotted by David Shaw)
267
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00002682004-12-07 Miklos Szeredi <miklos@szeredi.hu>
269
270 * Add 'writepage' flag to 'fuse_file_info'.
271
272 * More comments in fuse.h
273
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000274 * Get rid of double underscores
275
Miklos Szeredi799993c2004-12-04 21:20:05 +00002762004-12-04 Miklos Szeredi <miklos@szeredi.hu>
277
278 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
279
280 * helper.c: add -ho option, which only displays the options not
281 the usage header. This can be used by filesystems which have
282 their own options.
283
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00002842004-12-03 Miklos Szeredi <miklos@szeredi.hu>
285
286 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
287 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
288 including the fuse header
289
290 * Add binary compatibility to 2.1 version of library with symbol
291 versioning
292
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00002932004-12-03 Miklos Szeredi <miklos@szeredi.hu>
294
295 * Released 2.1
296
Miklos Szeredi039322d2004-12-01 18:39:12 +00002972004-12-01 Miklos Szeredi <miklos@szeredi.hu>
298
299 * kernel: clean up writing functions
300
301 * kernel: no allocation on write in direct_io mode
302
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000303 * move linux/fuse.h to fuse_kernel.h
304
Miklos Szeredi83a07442004-11-30 18:25:20 +00003052004-11-30 Miklos Szeredi <miklos@szeredi.hu>
306
307 * kernel: clean up reading functions
308
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00003092004-11-29 Miklos Szeredi <miklos@szeredi.hu>
310
311 * kernel: make readpage() uninterruptible
312
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000313 * kernel: check readonly filesystem flag in fuse_permission
314
315 * lib: don't die if version file not found and new style device
316 exists
317
318 * lib: add '-r' option, which is short for '-o ro'
319
320 * fusermount: simplify device opening
321
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000322 * kernel: when direct_io is turend on, copy data directly to
323 destination without itermediate buffer. More efficient and safer,
324 since no allocation is done.
325
326 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000327
328 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000329
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00003302004-11-26 Miklos Szeredi <miklos@szeredi.hu>
331
332 * libfuse API change: open, read, write, flush, fsync and release
333 are passed a 'struct fuse_file_info' pointer containing the open
334 flags (open and release), and the file handle. Verion changed to
335 3.0.
336
Miklos Szeredia25d4c22004-11-23 22:32:16 +00003372004-11-23 Miklos Szeredi <miklos@szeredi.hu>
338
339 * More cleanups in the kernel
340
341 * The 10,229 charater device number has been assigned for FUSE
342
343 * Version file checking fix (reported by Christian Magnusson)
344
345 * fusermount: opening the fuse device now doesn't need /sys.
346
347 * Optimize reading by controlling the maximum readahead based on
348 the 'max_read' mount option
349
350 * fixes for UCLIBC (Christian Magnusson)
351
Miklos Szeredi13ed4822004-11-20 11:12:21 +00003522004-11-19 Miklos Szeredi <miklos@szeredi.hu>
353
354 * Cleaned up kernel in preparation for merge into mainline:
355
356 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
357
358 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
359
360 * __user annotations for sparse
361
362 * allocate individual pages instead of kmalloc in fuse_readdir,
363 fuse_read and fuse_write.
364
365 * Fix NFS export in case "use_ino" mount option is given
366
Miklos Szeredif3845c42004-11-20 11:18:34 +0000367 * Make libfuse and fusermount compatible with future versions
368
369 * fusermount: properly add mount options to /etc/mtab
370
3712004-11-15 Miklos Szeredi <miklos@szeredi.hu>
372
373 * fusermount: do not resolve last component of mountpoint on if it
374 is '.' or '..'. This new path resolvation is now done on mount as
375 well as unmount. This enables relative paths to work on unmount.
376
377 * fusermount: parse common mount options like "ro", "rw", etc...
378
379 * Allow module params to be changed through sysfs
380
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00003812004-11-14 Miklos Szeredi <miklos@szeredi.hu>
382
383 * Released 2.1-pre1
384
3852004-11-14 Miklos Szeredi <miklos@szeredi.hu>
386
387 * Fix bug in fuse_readpages() causing Oops in certain situations.
388 Bug found by Vincenzo Ciancia.
389
390 * Fix compilation with kernels versions > 2.6.9.
391
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00003922004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000393
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000394 * Check kernel interface version in fusermount to prevent
395 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000396
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000397 * No need to allocate fuse_conn until actual mount happens
398
399 * Fix potential race between umount and fuse_invalidate
400
401 * Check superblock of proc file in addition to inode number
402
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000403 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000404
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004052004-11-10 Miklos Szeredi <miklos@szeredi.hu>
406
407 * Separate configure for the kernel directory
408
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000409 * Don't allow write to return more than 'count'
410
411 * Extend kernel interface for future use
412
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004132004-11-09 Miklos Szeredi <miklos@szeredi.hu>
414
415 * Fix 'makeconf.sh' to use autoreconf if available
416
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00004172004-11-08 Miklos Szeredi <miklos@szeredi.hu>
418
Miklos Szeredid507c732004-11-08 17:32:25 +0000419 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
420 compatibility with earlier versions. To compile earier versions
421 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
422 Do not use the "use_ino" mount flag with filesystems compiled with
423 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000424
425 * Add pkg-config support. To compile a FUSE based filesystem you
426 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
427 or similar. Note, that the PKG_CONFIG_PATH environment variable
428 usually needs to be set to "/usr/local/lib/pkgconfig".
429
430 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000431
Miklos Szeredia13d9002004-11-02 17:32:03 +00004322004-11-02 Miklos Szeredi <miklos@szeredi.hu>
433
434 * Added "use_ino" mount option. This enables the filesystems to
435 set the st_ino field on files
436
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00004372004-11-01 Miklos Szeredi <miklos@szeredi.hu>
438
439 * Fix compile problems with ancient (<=2.4.18) kernels (reported
440 by Jeremy Smith)
441
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000442 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
443
444 * Clear the 'exited' flag when mail loop is finished
445
Miklos Szeredie989f0d2004-10-28 20:24:58 +00004462004-10-28 Miklos Szeredi <miklos@szeredi.hu>
447
448 * Make xattr functions work under 2.6 (bug found by Vincenzo
449 Ciancia)
450
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00004512004-10-26 Miklos Szeredi <miklos@szeredi.hu>
452
453 * Reset request in fuse_flush() (bugreport by David Shaw)
454
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00004552004-10-21 Miklos Szeredi <miklos@szeredi.hu>
456
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000457 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000458 error code
459
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000460 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000461 make it easier to implement a custom event loop.
462
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000463 * Use daemon() call to background the filesystem after mounting.
464 This function closes the standard input, output and error and
465 changes the current working directory to "/".
466
Miklos Szeredi127d49b2004-10-14 13:33:39 +00004672004-10-14 Miklos Szeredi <miklos@szeredi.hu>
468
469 * Released 1.9
470
Miklos Szeredid45baf42004-10-10 07:56:12 +00004712004-10-09 Miklos Szeredi <miklos@szeredi.hu>
472
473 * Don't allow fuse_flush() to be interrupted (bug found by David
474 Shaw)
475
Miklos Szeredi1f18db52004-09-27 06:54:49 +00004762004-09-27 Miklos Szeredi <miklos@szeredi.hu>
477
478 * Add PID to fuse_context. Patch by Steven James
479
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000480 * Change file handle type to 'unsigned long' in kernel interface
481
Miklos Szeredid169f312004-09-22 08:48:26 +00004822004-09-22 Miklos Szeredi <miklos@szeredi.hu>
483
484 * A slight API change: fuse_get_context() doesn't need the "fuse"
485 pointer, but the returned context contains it instead. The
486 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000487
488 * Fix mounting and umounting FUSE filesystem under another FUSE
489 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000490
Miklos Szeredic2309912004-09-21 13:40:38 +00004912004-09-21 Miklos Szeredi <miklos@szeredi.hu>
492
493 * Fix deadlock in case of memory allocation failure. Patch by
494 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000495
Miklos Szeredib2cf9562004-09-16 08:42:40 +00004962004-09-16 Miklos Szeredi <miklos@szeredi.hu>
497
498 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000499
Miklos Szeredi65afea12004-09-14 07:13:45 +00005002004-09-14 Miklos Szeredi <miklos@szeredi.hu>
501
502 * Check temporary file creation failure in do_getdir(). Bug
503 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000504
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00005052004-09-13 Miklos Szeredi <miklos@szeredi.hu>
506
507 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000508
509 * Make requests non-interruptible so race with FORGET is avoided.
510 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000511
512 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000513
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00005142004-09-09 Miklos Szeredi <miklos@szeredi.hu>
515
516 * Fix bug in case two FORGETs for the same node are executed in
517 the wrong order. Bug spotted and endured for months by Franco
518 Broi, and logfile for solution provided by Terje Oseberg
519
Miklos Szeredi12085102004-09-02 18:13:57 +00005202004-09-01 Miklos Szeredi <miklos@szeredi.hu>
521
522 * Add -D_REENTRANT to the compile flags
523
524 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000525
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00005262004-08-16 Miklos Szeredi <miklos@szeredi.hu>
527
528 * Change release method to be non-interruptible. Fixes bug
529 causing missing release() call when program which has opened files
530 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000531
Miklos Szeredi891b8742004-07-29 09:27:49 +00005322004-07-29 Miklos Szeredi <miklos@szeredi.hu>
533
534 * Add fuse_invalidate() to library API
535
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00005362004-07-26 Miklos Szeredi <miklos@szeredi.hu>
537
538 * Check permissions in setattr if 'default_permissions' flag is
539 set. Bug spotted by Damjan Lango
540
Miklos Szeredid66d3942004-07-24 13:47:44 +00005412004-07-24 Miklos Szeredi <miklos@szeredi.hu>
542
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000543 * 'large_read' mount option removed for 2.6 kernels, since the
544 default (dynamic read size) is better
545
546 * Extend kernel API with file handles. A file handle is returned
547 by open, and passed to read, write, flush, fsync and release.
548 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000549
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000550 * Security changes:
551
552 * Change the current directory to the mountpoint before checking
553 the permissions and mount filesystem on "."
554
555 * By default don't modprobe the fuse module for non-root. The old
556 behavior can be restored with the '--enable-auto-modprobe' flag of
557 ./configure
558
559 * By default don't allow shared writable mappings for non-root.
560 The old behavior can be restored with the 'user_mmap=1' module
561 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000562
Miklos Szeredibd7661b2004-07-23 17:16:29 +00005632004-07-23 Miklos Szeredi <miklos@szeredi.hu>
564
565 * Clean up mount option passing to fusermount and to fuse_new()
566 BEWARE: this changes the userspace API slightly, and the command
567 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000568
Miklos Szeredi58865372004-07-20 14:22:26 +00005692004-07-20 Miklos Szeredi <miklos@szeredi.hu>
570
571 * Optimize reading under 2.6 kernels by issuing multiple page
572 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000573
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00005742004-07-18 Miklos Szeredi <miklos@szeredi.hu>
575
576 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000577
Miklos Szeredi069c9502004-07-16 16:17:02 +00005782004-07-16 Miklos Szeredi <miklos@szeredi.hu>
579
580 * Separate directory entry and inode attribute validity timer
581
582 * New write semaphore to stop page writeback during truncate
583
584 * Fsync now waits for all writes to complete before sending the
585 request
586
587 * Optimization: if a page is completely written by
588 fuse_commit_write(), clear the dirty flag and set the uptodate
589 flag for that page
590
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000591 * Some memory cleanup at exit
592
Miklos Szeredi2529ca22004-07-13 15:36:52 +00005932004-07-13 Miklos Szeredi <miklos@szeredi.hu>
594
595 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000596 disable the "hide if open" behavior of unlink/rename.
597
598 * If temporary buffer allocation fails in raw read, fall back to a
599 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000600
Miklos Szeredi73798f92004-07-12 15:55:11 +00006012004-07-12 Miklos Szeredi <miklos@szeredi.hu>
602
603 * Fix bug in do_open() in libfuse: open count was incremented
604 after the reply is sent so it could race with unlink/forget and
605 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000606
Miklos Szeredi015fe702004-07-12 11:52:24 +00006072004-07-08 Miklos Szeredi <miklos@szeredi.hu>
608
609 * When performing create or remove operation, refresh the parent's
610 attributes on next revalidate, as i_nlink (and maybe size/time)
611 could be inacurate.
612
613 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
614 pages (2.6 only)
615
616 * Set set_page_dirty address space operation (2.6 only)
617
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006182004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000619
620 * Minor fix in read: print debug info even if read size is zero
621
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006222004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000623
624 * Fix race between truncate and writepage (fsx-linux now runs
625 without error)
626
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006272004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000628
629 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
630 by Mattias Wadman)
631
632 * Added option for direct read/write (-r)
633
634 * Fix revalidate time setting for newly created inodes
635
Miklos Szerediacb4d362004-07-02 16:20:45 +0000636 * Remove uid==0 check for '-x' option in fusermount (kernel checks
637 this)
638
639 * fuse_main() only installs handlers for signals (out of INT, HUP,
640 TERM, PIPE), for which no handler has yet been installed
641
642 * Add module option 'user_allow_other' which if set to non-zero
643 will allow non root user to specify the 'allow_other' mount option
644 ('-x' option of fusermount)
645
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000646 * Fix deadlock between page writeback completion and truncate
647 (bug found by Valient Gough with the fsx-linux utility)
648
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006492004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000650
651 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000652 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
653 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000654
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006552004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000656
657 * Acquire inode->i_sem before open and release methods to prevent
658 concurrent rename or unlink operations.
659
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000660 * Make __fuse_read_cmd() read only one command. This allows
661 multiplexing the fuse file descriptor with other event sources
662 using select() or poll() (patch by Jeff Harris)
663
664 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
665
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006662004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000667
668 * Fix file offset wrap around at 4G when doing large reads
669
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006702004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000671
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000672 * Fix memory leak in open (Valient Gough)
673
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006742004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000675
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000676 * Add "close after delete" support to libfuse (patch by Valient
677 Gough)
678
679 * Cancel all worker threads before exit in multithreaded mode
680
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006812004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000682
683 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000684
685 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000686
687 * Work with newer libtool (1.5a)
688
689 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000690
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006912004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000692
693 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000694
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006952004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000696
697 * Fix possible inode leak in userspace in case of unfinished
698 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000699
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007002004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000701
702 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000703
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007042004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000705
706 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007082004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000709
710 * Build shared library as well as static (using libtool)
711
712 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
713 there has not been a release with the previous minor number, and I
714 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000715
716 * Change fuse_main(), so that default behavior is to go into
717 background if mount is successful. '-f' and '-d' options disable
718 backgrounding. This fixes the "Why does my FUSE daemon hang?"
719 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000720
721 * Cache ENOSYS (function not implemented) errors on *xattr, flush
722 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000723
724 * Don't call getdir method from open() only from first readdir().
725 Open is sometimes just used to store the current directory
726 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000727
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007282004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000729
730 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000731
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007322004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000733
734 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000735
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007362004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000737
738 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000739
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007402004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000741
742 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000743
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007442004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000745
746 * Replaced binary mount data with text options
747
748 * Show FUSE specific mount options in /proc/mounts
749
750 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007522004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000753
754 * Check some limits so userspace won't get too big requests
755
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007562004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000757
758 * Kill compile warning
759
760 * Upgraded user-mount patch for 2.6.5
761
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007622004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000763
764 * Add detection of user-mode-linux to configure
765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007662004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000767
768 * fixed zero size case for getxattr and listxattr
769
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007702004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000771
772 * new fusermount flag '-z': lazy unmount, default is not lazy
773
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000774 * Extended attributes operations added (getxattr, setxattr,
775 listxattr, removexattr)
776
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007772004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000778
779 * If filesystem doesn't define a statfs operation, then an
780 all-zero default statfs is returned instead of ENOSYS
781
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007822004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000783
784 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
785
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007862004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000787
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000788 * Fix for uClinux (Christian Magnusson)
789
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007902004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000791
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000792 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000793
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000794 * More kernel interface changes:
795
796 * Lookup/getattr return cache timeout values
797
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007982004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000799
800 * Clean up option parsing in fuse_main()
801
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000802 * Added fuse_get() function which returns the fuse object created
803 by fuse_main()
804
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008052004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000806
Miklos Szeredic40748a2004-02-20 16:38:45 +0000807 * removed old way of mounting (fusermount mountpoint program)
808
Miklos Szeredib5958612004-02-20 14:10:49 +0000809 * more kernel interface changes:
810
811 * added nanosecond precision to file times
812
Miklos Szeredic40748a2004-02-20 16:38:45 +0000813 * removed interface version from mount data
814
815 * added /proc/fs/fuse/version which contains MAJOR.MINOR
816
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008172004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000818
819 * statfs library API changed to match other methods. Since this
820 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
821
Miklos Szeredi76f65782004-02-19 16:55:40 +0000822 * kernel interface changes follow:
823
824 * statfs changed to 64 bits, added 'bavail' field
825
826 * add generation number to lookup result
827
828 * optimized mknod/mkdir/symlink/link (no separate lookup is
829 needed)
830
831 * rdev size increased to 32 bits for mknod
832
833 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000834
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008352004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000836
837 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000838
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008392004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000840
841 * Added user-mount.2.6.2-rc3.patch
842
843 * Add FS_SAFE flag to fuse filesystem
844
845 * fusermount should allow (un)mounting for non-root even if not
846 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000847
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008482004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000849
850 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000851
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008522004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000853
854 * Added check for i_size_read/write functions to configure.in
855 (patch by Valient Gough)
856
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008572004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000858
859 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000860
861 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000862
863 * Readpage calls flush_dcache_page() after storing data
864
865 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000866
867 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000868
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008692004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000870
871 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000872
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008732004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000874
875 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000876
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008772004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000878
879 * Added -q option for fusermount
880
881 * fuse_unmount() now uses -q option of fusermount, so no error is
882 printed if the cause of the program exit is that the filesystem
883 has already been unmounted
884
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000885 * Fix i_nlink correctness after rmdir/unlink
886
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008872004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000888
Miklos Szeredib1158392004-01-26 14:43:12 +0000889 * Released 1.1-pre2
890
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008912004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000892
Miklos Szeredi307242f2004-01-26 11:28:44 +0000893 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000894
895 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000896
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008972004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000898
899 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000900
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009012004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000902
903 * Write all pending data before a RELEASE operation
904
905 * Suppress 'Bad file descriptor' warning on exit
906
907 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000908 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000909
Miklos Szeredib1158392004-01-26 14:43:12 +0000910 * New fusermount option '-l' which enables big reads. Big reads
911 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000912
913 * fuse_main() can accept fusermount arguments after a '--'
914
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009152004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000916
917 * Support for exporting filesystem over NFS (see README.NFS)
918
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009192004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000920
921 * Support non-blocking writepage on 2.6. This makes FUSE behave
922 much more nicely in low-memory situations
923
924 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
925 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +0000926
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009272004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000928
929 * Code cleanups
930
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009312004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000932
933 * Released 1.1-pre1
934
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009352004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000936
937 * Integrated 2.6 kernel support patch by Michael Grigoriev
938
939 * Improvements and cleanups for 2.6 kernels
940
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009412004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000942
Miklos Szeredie5183742005-02-02 11:14:04 +0000943 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000944
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009452003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000946
947 * Added major+minor version to library API, and minor version to
948 kernel API
949
David McNab7a19caf2003-12-13 02:05:46 +00009502003-12-13 David McNab <david@rebirthing.co.nz>
951
952 * Implemented fsync support in examples/example.py
953
954 * Implemented 'fsync' and 'statfs' methods in python
955 interface
956
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009572003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000958
Miklos Szeredie5183742005-02-02 11:14:04 +0000959 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000960
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +0000961 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000962
David McNab8bf62632003-12-11 22:49:22 +00009632003-12-12 David McNab <david@rebirthing.co.nz>
964
965 * Added distutils support to the python module, as per standard
966 python development practice
967
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009682003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000969
970 * Add file locking for mount/unmount (based on patch by Valient
971 Gough)
972
9732003-12-11 David McNab <david@rebirthing.co.nz>
974
975 * Python filesystem - was broken with python2.3, now fixed:
976 - changed PyTuple_* calls to PySequence_*, because os.lstat
977 is no longer returning a pure tuple
978 - changed PyInt_Check() calls to also call PyLong_Check,
979 to cover for cases (eg os.lstat) where longs are returned
980 - Added support for file 'release' handling, which IMO is
981 essential since this signals to a FS that writes to a file
982 are complete (and therefore the file can now be disposed of
983 meaningfully at the python filesystem's discretion)
984 - Added '__init__' handler to base Fuse class, which allows
985 your Python class to know the mountpoint and mount args,
986 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +0000987
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000988 * General:
989 - added 'mount.fuse' script (in util/ dir), which is meant to be
990 symlinked from /sbin, and which allows FUSE filesystems to
991 be mounted with the 'mount' command, and listed in fstab;
992 also, mount arguments get passed to your filesystem
993
994
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009952003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +0000996
997 * Fix kernel version detection (again). Bugreport by Peter Levart
998
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009992003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001000
1001 * Applied read combining patch by Michael Grigoriev (tested by
1002 Valient Gough and Vincent Wagelaar)
1003
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010042003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001005
1006 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1007 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001008
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010092003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001010
1011 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001012
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010132003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001014
1015 * kernel version detection fix
1016
1017 * fusermount now uses "lazy" umount option
1018
1019 * fusermount can use modprobe with module-init-tools
1020
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010212003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001022
1023 * Integrated caching patch by Michael Grigoriev
1024
Miklos Szeredida4e4862003-09-08 11:14:11 +00001025 * Added "Filesystems" file with descriptions of projects using
1026 FUSE
1027
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001028 * Added patch by Michael Grigoriev to allow compliation of FUSE
1029 kernel module for 2.6 kernels
1030
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010312003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001032
1033 * And another spec-file fix by Achim Settelmeier
1034
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010352003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001036
1037 * Spec-file fix by Achim Settelmeier
1038
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010392003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001040
Miklos Szerediac361172004-11-02 19:14:14 +00001041 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001042
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010432003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001044
1045 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1046
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010472003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001048
1049 * Updated fuse.spec file (Achim Settelmeier)
1050
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010512003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001052
1053 * Version 1.0 released
1054
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010552003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001056
1057 * SuSE compilation fix by Juan-Mariano de Goyeneche
1058
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010592002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001060
1061 * The release() VFS call is now exported to the FUSE interface
1062
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010632002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001064
1065 * 64 bit file offset fixes in the fuse kernel module
1066
1067 * Added function 'fuse_exit()' which can be used to exit the main
1068 loop
1069
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010702002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001071
1072 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1073 an incompatible interface change.
1074
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010752002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001076
1077 * Portablility fix (bug reported by C. Chris Erway)
1078
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010792002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001080
1081 * Use Mark Glines' fd passing method for default operation instead
1082 of old reexec
1083
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010842002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001085
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001086 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1087
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010882002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001089
Miklos Szeredi60c23522002-10-24 09:19:43 +00001090 * fix incompatiblity with Red Hat kernels, with help from Nathan
1091 Thompson-Amato.
1092
Mark Glines65ba2192002-04-18 14:41:48 +000010932002-04-18 Mark Glines <mark@glines.org>
1094
1095 * added an alternative to fuse_mount(), called
1096 fuse_mount_ioslave(), which does not need to reexec the
1097 FUSE program.
1098 * added a small helper util needed by fuse_mount_ioslave().
1099
Mark Glines220635a2002-03-17 07:01:14 +000011002002-03-16 Mark Glines <mark@glines.org>
1101
1102 * use struct fuse_statfs everywhere possible to avoid problems
1103 with the headerfiles changing struct statfs member sizes
1104
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011052002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001106
1107 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1108
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011092002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001110
1111 * RPM support by Achim Settelmeier
1112
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011132002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001114
Miklos Szerediddc862a2002-01-09 13:46:10 +00001115 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001116
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011172002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001118
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001119 * Revaidate all path components not just the last, this means a
1120 very small performance penalty for being more up-to-date.
1121
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011222002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001123
1124 * Update and fix python interface
1125
Mark Glinesd84b39a2002-01-07 16:32:02 +000011262002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001127
Mark Glinesd84b39a2002-01-07 16:32:02 +00001128 * Added statfs() support to kernel, lib, examples, and perl!
1129
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011302001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001131
1132 * Better cross compilation support
1133
1134 * Ported to Compaq IPAQ
1135
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011362001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001137
Miklos Szeredife25def2001-12-20 15:38:05 +00001138 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001139 patch from Matt Ryan)
1140
Miklos Szeredife25def2001-12-20 15:38:05 +00001141 * Added flags to fusermount and to kernel interface to control
1142 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001143
Miklos Szeredife25def2001-12-20 15:38:05 +00001144 * Integrated fuse_set_operations() into fuse_new()
1145
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011462001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001147
1148 * Applied header protection + extern "C" patch by Roland
1149 Bauerschmidt
1150
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011512001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001152
Miklos Szeredie5183742005-02-02 11:14:04 +00001153 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001154
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011552001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001156
1157 * Cleaned up way of mounting simple filesystems.
1158
1159 * fuse_main() helper function added
1160
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011612001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001162
Miklos Szeredife25def2001-12-20 15:38:05 +00001163 * Optimized read/write operations, so that minimal copying of data
1164 is done
1165
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011662001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001167
1168 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001169
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011702001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001171
1172 * Fixed vfsmount reference leak in fuse_follow_link
1173
1174 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1175 userspace is ignored
1176
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011772001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001178
Miklos Szeredife25def2001-12-20 15:38:05 +00001179 * Started ChangeLog