blob: 24d9da8114be5cfb454f92c01237bd45f4e3d354 [file] [log] [blame]
Miklos Szeredib7640d22005-04-08 15:15:28 +000012005-04-08 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Fix Oops in case of nfs export. Spotted by David Shaw
4
Miklos Szerediab974562005-04-07 15:40:21 +000052005-04-07 Miklos Szeredi <miklos@szeredi.hu>
6
Miklos Szeredi432d6182005-04-07 15:56:13 +00007 * Released 2.3-pre4
8
92005-04-07 Miklos Szeredi <miklos@szeredi.hu>
10
Miklos Szerediab974562005-04-07 15:40:21 +000011 * lib: finalized new readdir() interface, which now supersedes the
12 getdir() method.
13
Miklos Szeredi30e093a2005-04-03 17:44:54 +0000142005-04-03 Miklos Szeredi <miklos@szeredi.hu>
15
16 * Released 2.3-pre3
17
182005-04-03 Miklos Szeredi <miklos@szeredi.hu>
19
20 * Implement backward compatibility with version 5 kernel ABI
21
Miklos Szeredi18fce982005-04-01 21:07:35 +0000222005-04-01 Miklos Szeredi <miklos@szeredi.hu>
23
24 * Released 2.3-pre2
25
262005-04-01 Miklos Szeredi <miklos@szeredi.hu>
27
28 * kernel: fix dirent offset handling
29
30 * lib: add readdir and releasedir methods
31
32 * lib: use fh field of fuse_file_info in opendir, readdir,
33 releasedir and fsyncdir methods
34
35 * lib: check kernel API version and bail out of it's old. This
36 will be properly fixed in the next release
37
382005-03-31 Miklos Szeredi <miklos@szeredi.hu>
39
40 * Released 2.3-pre1
41
Miklos Szeredieab72ef2005-03-31 19:59:12 +0000422005-03-31 Miklos Szeredi <miklos@szeredi.hu>
43
44 * kernel API: add padding to structures, so 64bit and 32bit
45 compiler will return the same size
46
47 * kernel API: add offset field to fuse_dirent. This will allow
48 more sophisticated readdir interface for userspace
49
50 * kernel API: change major number to 6
51
52 * kernel: fix warnings on 64bit archs
53
54 * kernel: in case of API version mismatch, return ECONNREFUSED
55
Miklos Szeredi407e6a72005-03-25 12:19:43 +0000562005-03-24 Miklos Szeredi <miklos@szeredi.hu>
57
58 * kernel: trivial cleanups
59
Miklos Szeredi4283ee72005-03-21 12:09:04 +0000602005-03-21 Miklos Szeredi <miklos@szeredi.hu>
61
62 * Add fsyncdir() operation
63
Miklos Szeredid17da462005-03-21 11:47:04 +0000642005-03-19 Miklos Szeredi <miklos@szeredi.hu>
65
66 * kernel: add locking to background list (fixes previous fix)
67
682005-03-18 Miklos Szeredi <miklos@szeredi.hu>
69
70 * kernel: fix bug which could cause leave busy inodes after
71 unmount, and Oops.
72
732005-03-08 Miklos Szeredi <miklos@szeredi.hu>
74
75 * examples: add -lpthread to link flags to work around valgrind
76 quirk
77
78 * lib: don't exit threads, so cancelation doesn't cause segfault
79
Miklos Szeredi31fa41c2005-03-04 17:28:51 +0000802005-03-04 Miklos Szeredi <miklos@szeredi.hu>
81
82 * kernel: fix nasty bug which could cause an Oops under certain
83 situations. Found by Magnus Johansson
84
Miklos Szeredif43f0632005-02-28 11:46:56 +0000852005-02-28 Miklos Szeredi <miklos@szeredi.hu>
86
Miklos Szeredi159bd7e2005-02-28 17:32:16 +000087 * libfuse: added opendir() method. This can be used in case
Miklos Szeredif43f0632005-02-28 11:46:56 +000088 permission checking in getdir() is too late. Thanks to Usarin
89 Heininga for pointing out this deficiency
90
Miklos Szeredi159bd7e2005-02-28 17:32:16 +000091 * libfuse: added init() and destroy() methods to fuse_operations
92
Miklos Szeredif43f0632005-02-28 11:46:56 +000093 * kernel: llseek() method for files and directories made explicit
94
95 * kernel: fixed inode leak in NFS export in case of nodeid
96 wrapping
97
Miklos Szeredied3c97c2005-02-15 17:04:50 +0000982005-02-15 Miklos Szeredi <miklos@szeredi.hu>
99
100 * libfuse: clean up some unitialized memory found with valgrind
101
Miklos Szeredi47c52982005-02-23 09:27:38 +0000102 * Add -lpthread to Libs in fuse.pc. Valgrind seems to need an
103 explicitly linked libpthread for applications
104
Miklos Szeredia7169412005-02-10 07:35:05 +00001052005-02-10 Miklos Szeredi <miklos@szeredi.hu>
106
107 * fusermount: set umask, otherwise /etc/mtab will have
108 unpredictable permission. Spotted by Jindrich Kolorenc
109
110 * fusermount: set owner and group of /etc/mtab to original values
111 on unmount
Miklos Szeredi830ef702005-02-10 19:39:34 +0000112
113 * libfuse: add 'use_ino' option to help. Patch by Valient Gough
Miklos Szeredia7169412005-02-10 07:35:05 +0000114
Miklos Szeredib92d9782005-02-07 16:10:49 +00001152005-02-07 Miklos Szeredi <miklos@szeredi.hu>
116
117 * Cleaned up directory reading (temporary file is not used)
118
Miklos Szerediff30a6c2005-02-02 10:53:59 +00001192005-02-02 Miklos Szeredi <miklos@szeredi.hu>
120
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +0000121 * Released 2.2
122
1232005-02-02 Miklos Szeredi <miklos@szeredi.hu>
124
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000125 * Fix possible race when operation is interrupted
126
Miklos Szeredi7a983952005-01-28 09:58:19 +00001272005-01-28 Miklos Szeredi <miklos@szeredi.hu>
128
Miklos Szeredie5183742005-02-02 11:14:04 +0000129 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +0000130
Miklos Szeredied6b5dd2005-01-26 17:07:59 +00001312005-01-26 Miklos Szeredi <miklos@szeredi.hu>
132
Miklos Szeredid48d5f72005-01-26 20:43:41 +0000133 * Released 2.2-pre6
134
1352005-01-26 Miklos Szeredi <miklos@szeredi.hu>
136
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000137 * Fix bug in link() operation which caused the wrong path to be
138 passed as the first argument. Found by Anton Altaparmakov
139
Miklos Szeredi01fd89c2005-01-21 11:18:35 +00001402005-01-21 Miklos Szeredi <miklos@szeredi.hu>
141
142 * LIB: fix double reply in readdir operation
143
Miklos Szeredi773d4ae2005-01-21 16:09:08 +0000144 * fusermount: fix uid checking bug. Patch by Adam Connell
145
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +0000146 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +0000147 Patch by Keshava Gowda
148
Miklos Szeredi64074142005-01-20 08:48:11 +00001492005-01-20 Miklos Szeredi <miklos@szeredi.hu>
150
Miklos Szeredi092b50b2005-01-20 18:05:07 +0000151 * KERNEL: provide correct llseek semantics for fuse device (fixes
152 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
153
1542005-01-20 Miklos Szeredi <miklos@szeredi.hu>
155
Miklos Szeredi64074142005-01-20 08:48:11 +0000156 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
157
Miklos Szeredi1adb2272005-01-18 21:19:58 +00001582005-01-18 Miklos Szeredi <miklos@szeredi.hu>
159
160 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
161 and RELEASEDIR. This ends the ugly hack of passing a file
162 descriptor to the kernel, and actually makes the code simpler.
163
Miklos Szeredi7db35c02005-01-17 09:46:28 +00001642005-01-17 Miklos Szeredi <miklos@szeredi.hu>
165
Miklos Szeredic2e960e2005-01-17 13:05:21 +0000166 * Released 2.2-pre4
167
1682005-01-17 Miklos Szeredi <miklos@szeredi.hu>
169
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000170 * fusermount: remove capability setting, which was the cause of
171 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +0000172 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000173
Miklos Szeredidbe0f652005-01-15 14:32:56 +00001742005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000175
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000176 * fix compilation on 2.4 kernels (reported by Valient Gough)
177
178 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000179
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +0000180 * fusermount: improve parsing of /etc/fuse.conf
181
1822005-01-13 Miklos Szeredi <miklos@szeredi.hu>
183
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +0000184 * Remove 'mount_max' and 'user_allow_other' module options. These
185 are now checked by fusermount, and can be set in /etc/fuse.conf
186
187 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
188
Miklos Szeredi81394522005-01-11 14:24:18 +00001892005-01-11 Miklos Szeredi <miklos@szeredi.hu>
190
191 * KERNEL: fix possible inode allocation problem, where
192 sizeof(struct inode) is not aligned (found by Mike Waychison)
193
194 * KERNEL: use new follow_link/put_link methods
195
196 * KERNEL: cosmetic fixes
197
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +00001982005-01-10 Miklos Szeredi <miklos@szeredi.hu>
199
200 * Released 2.2-pre3
201
2022005-01-10 Miklos Szeredi <miklos@szeredi.hu>
203
204 * Add missing code that was accidently left out
205
Miklos Szeredi8c7da232005-01-09 12:27:41 +00002062005-01-09 Miklos Szeredi <miklos@szeredi.hu>
207
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000208 * Released 2.2-pre2
209
2102005-01-09 Miklos Szeredi <miklos@szeredi.hu>
211
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000212 * Change "uid" mount option to "user_id" to avoid confusion with a
213 mount option "uid" commonly used by many filesystems
214
2152005-01-09 Miklos Szeredi <miklos@szeredi.hu>
216
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000217 * Released 2.2-pre1
218
2192005-01-09 Miklos Szeredi <miklos@szeredi.hu>
220
221 * If FUSE is configured in the kernel, don't build it by default
222
Miklos Szeredi2a927272005-01-07 11:14:15 +00002232005-01-07 Miklos Szeredi <miklos@szeredi.hu>
224
225 * Compile fix by Christian Magnusson
226
Miklos Szeredib6220192005-01-05 16:19:10 +00002272005-01-05 Miklos Szeredi <miklos@szeredi.hu>
228
229 * Fix compilation for 2.6.{0-5} kernels
230
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002312005-01-04 Miklos Szeredi <miklos@szeredi.hu>
232
233 * KERNEL: if request is interrupted, still keep reference to used
234 inode(s) and file, so that FORGET and RELEASE are not sent until
235 userspace finishes the request.
236
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000237 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
238 request with the same information, which is more flexible,
239 simpler, works on embedded systems.
240
Miklos Szeredi0f62d722005-01-04 12:45:54 +00002412004-12-16 Miklos Szeredi <miklos@szeredi.hu>
242
243 * KERNEL ABI: update interface to make it independent of type
244 sizes. This will help on 64 bit architectures which can run
245 legacy 32 bit applications.
246
247 * KERNEL ABI: add "len" field to request headers. This will allow
248 sending/receiving requests in multiple chunks.
249
250 * KERNEL: handle file type change more intelligently
251
252 * LIB: "-o debug" option should disable backgrounding (fix by
253 Fabien Reygrobellet)
254
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00002552004-12-13 Miklos Szeredi <miklos@szeredi.hu>
256
257 * KERNEL: invalidate dentry/attributes if interrupted request
258 could leave filesystem in an unknown state.
259
Miklos Szeredie56818b2004-12-12 11:45:24 +00002602004-12-12 Miklos Szeredi <miklos@szeredi.hu>
261
262 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
263 These will cause some regressions, but stability is considered
264 more important. If any of these features turns out to be
265 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000266
Miklos Szeredie56818b2004-12-12 11:45:24 +0000267 * Make all requests interruptible (only with SIGKILL currently).
268 This can be used to break any deadlock produced by the userspace
269 filesystem accessing it's own exported files. The RELEASE request
270 is special, because if it's interrupted before sending it to
271 userspace it is still sent, but the reply is not awaited.
272
273 * If request is interrupted before being sent to userspace, and if
274 it hasn't yet got any side effects, it is always restarted,
275 regardless of the SA_RESTART flag. This makes these interruptions
276 transparent to the process.
277
278 * Remove shared-writable mmap support, which was prone to an
279 out-of-memory deadlock situation
280
281 * Remove INVALIDATE userspace initiated request
282
283 * Make readpages() synchronous. Asynchronous requests are
284 deadlock prone, since they cannot be interrupted.
285
286 * Add readv/writev support to fuse device operations
287
288 * Remove some printks, which userspace FS can use for a DoS
289 against syslog
290
291 * Remove 'large_read' mount option from 2.6 in kernel, check it in
292 fusermount instead
293
294 * LIB: improve compatibility with a fuse.h header installed in
295 ${prefix}/include which in turn includes the real header.
296
297 * LIB: improve compatibility by defining fuse_main() (which is now
298 not used), so old configure scripts find it.
299
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00003002004-12-10 Miklos Szeredi <miklos@szeredi.hu>
301
302 * When mounting on a subdirectory of / don't duplicate slashes at
303 the beggining of path (spotted by David Shaw)
304
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00003052004-12-09 Miklos Szeredi <miklos@szeredi.hu>
306
307 * Fix bug causing garbage in mount options (spotted by David Shaw)
308
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00003092004-12-07 Miklos Szeredi <miklos@szeredi.hu>
310
311 * Add 'writepage' flag to 'fuse_file_info'.
312
313 * More comments in fuse.h
314
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000315 * Get rid of double underscores
316
Miklos Szeredi799993c2004-12-04 21:20:05 +00003172004-12-04 Miklos Szeredi <miklos@szeredi.hu>
318
319 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
320
321 * helper.c: add -ho option, which only displays the options not
322 the usage header. This can be used by filesystems which have
323 their own options.
324
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00003252004-12-03 Miklos Szeredi <miklos@szeredi.hu>
326
327 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
328 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
329 including the fuse header
330
331 * Add binary compatibility to 2.1 version of library with symbol
332 versioning
333
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00003342004-12-03 Miklos Szeredi <miklos@szeredi.hu>
335
336 * Released 2.1
337
Miklos Szeredi039322d2004-12-01 18:39:12 +00003382004-12-01 Miklos Szeredi <miklos@szeredi.hu>
339
340 * kernel: clean up writing functions
341
342 * kernel: no allocation on write in direct_io mode
343
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000344 * move linux/fuse.h to fuse_kernel.h
345
Miklos Szeredi83a07442004-11-30 18:25:20 +00003462004-11-30 Miklos Szeredi <miklos@szeredi.hu>
347
348 * kernel: clean up reading functions
349
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00003502004-11-29 Miklos Szeredi <miklos@szeredi.hu>
351
352 * kernel: make readpage() uninterruptible
353
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000354 * kernel: check readonly filesystem flag in fuse_permission
355
356 * lib: don't die if version file not found and new style device
357 exists
358
359 * lib: add '-r' option, which is short for '-o ro'
360
361 * fusermount: simplify device opening
362
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000363 * kernel: when direct_io is turend on, copy data directly to
364 destination without itermediate buffer. More efficient and safer,
365 since no allocation is done.
366
367 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000368
369 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000370
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00003712004-11-26 Miklos Szeredi <miklos@szeredi.hu>
372
373 * libfuse API change: open, read, write, flush, fsync and release
374 are passed a 'struct fuse_file_info' pointer containing the open
375 flags (open and release), and the file handle. Verion changed to
376 3.0.
377
Miklos Szeredia25d4c22004-11-23 22:32:16 +00003782004-11-23 Miklos Szeredi <miklos@szeredi.hu>
379
380 * More cleanups in the kernel
381
382 * The 10,229 charater device number has been assigned for FUSE
383
384 * Version file checking fix (reported by Christian Magnusson)
385
386 * fusermount: opening the fuse device now doesn't need /sys.
387
388 * Optimize reading by controlling the maximum readahead based on
389 the 'max_read' mount option
390
391 * fixes for UCLIBC (Christian Magnusson)
392
Miklos Szeredi13ed4822004-11-20 11:12:21 +00003932004-11-19 Miklos Szeredi <miklos@szeredi.hu>
394
395 * Cleaned up kernel in preparation for merge into mainline:
396
397 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
398
399 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
400
401 * __user annotations for sparse
402
403 * allocate individual pages instead of kmalloc in fuse_readdir,
404 fuse_read and fuse_write.
405
406 * Fix NFS export in case "use_ino" mount option is given
407
Miklos Szeredif3845c42004-11-20 11:18:34 +0000408 * Make libfuse and fusermount compatible with future versions
409
410 * fusermount: properly add mount options to /etc/mtab
411
4122004-11-15 Miklos Szeredi <miklos@szeredi.hu>
413
414 * fusermount: do not resolve last component of mountpoint on if it
415 is '.' or '..'. This new path resolvation is now done on mount as
416 well as unmount. This enables relative paths to work on unmount.
417
418 * fusermount: parse common mount options like "ro", "rw", etc...
419
420 * Allow module params to be changed through sysfs
421
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00004222004-11-14 Miklos Szeredi <miklos@szeredi.hu>
423
424 * Released 2.1-pre1
425
4262004-11-14 Miklos Szeredi <miklos@szeredi.hu>
427
428 * Fix bug in fuse_readpages() causing Oops in certain situations.
429 Bug found by Vincenzo Ciancia.
430
431 * Fix compilation with kernels versions > 2.6.9.
432
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00004332004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000434
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000435 * Check kernel interface version in fusermount to prevent
436 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000437
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000438 * No need to allocate fuse_conn until actual mount happens
439
440 * Fix potential race between umount and fuse_invalidate
441
442 * Check superblock of proc file in addition to inode number
443
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000444 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000445
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004462004-11-10 Miklos Szeredi <miklos@szeredi.hu>
447
448 * Separate configure for the kernel directory
449
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000450 * Don't allow write to return more than 'count'
451
452 * Extend kernel interface for future use
453
Miklos Szeredi51ec1032004-11-10 11:52:26 +00004542004-11-09 Miklos Szeredi <miklos@szeredi.hu>
455
456 * Fix 'makeconf.sh' to use autoreconf if available
457
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00004582004-11-08 Miklos Szeredi <miklos@szeredi.hu>
459
Miklos Szeredid507c732004-11-08 17:32:25 +0000460 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
461 compatibility with earlier versions. To compile earier versions
462 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
463 Do not use the "use_ino" mount flag with filesystems compiled with
464 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000465
466 * Add pkg-config support. To compile a FUSE based filesystem you
467 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
468 or similar. Note, that the PKG_CONFIG_PATH environment variable
469 usually needs to be set to "/usr/local/lib/pkgconfig".
470
471 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000472
Miklos Szeredia13d9002004-11-02 17:32:03 +00004732004-11-02 Miklos Szeredi <miklos@szeredi.hu>
474
475 * Added "use_ino" mount option. This enables the filesystems to
476 set the st_ino field on files
477
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00004782004-11-01 Miklos Szeredi <miklos@szeredi.hu>
479
480 * Fix compile problems with ancient (<=2.4.18) kernels (reported
481 by Jeremy Smith)
482
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000483 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
484
485 * Clear the 'exited' flag when mail loop is finished
486
Miklos Szeredie989f0d2004-10-28 20:24:58 +00004872004-10-28 Miklos Szeredi <miklos@szeredi.hu>
488
489 * Make xattr functions work under 2.6 (bug found by Vincenzo
490 Ciancia)
491
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00004922004-10-26 Miklos Szeredi <miklos@szeredi.hu>
493
494 * Reset request in fuse_flush() (bugreport by David Shaw)
495
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00004962004-10-21 Miklos Szeredi <miklos@szeredi.hu>
497
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000498 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000499 error code
500
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000501 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000502 make it easier to implement a custom event loop.
503
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000504 * Use daemon() call to background the filesystem after mounting.
505 This function closes the standard input, output and error and
506 changes the current working directory to "/".
507
Miklos Szeredi127d49b2004-10-14 13:33:39 +00005082004-10-14 Miklos Szeredi <miklos@szeredi.hu>
509
510 * Released 1.9
511
Miklos Szeredid45baf42004-10-10 07:56:12 +00005122004-10-09 Miklos Szeredi <miklos@szeredi.hu>
513
514 * Don't allow fuse_flush() to be interrupted (bug found by David
515 Shaw)
516
Miklos Szeredi1f18db52004-09-27 06:54:49 +00005172004-09-27 Miklos Szeredi <miklos@szeredi.hu>
518
519 * Add PID to fuse_context. Patch by Steven James
520
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000521 * Change file handle type to 'unsigned long' in kernel interface
522
Miklos Szeredid169f312004-09-22 08:48:26 +00005232004-09-22 Miklos Szeredi <miklos@szeredi.hu>
524
525 * A slight API change: fuse_get_context() doesn't need the "fuse"
526 pointer, but the returned context contains it instead. The
527 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000528
529 * Fix mounting and umounting FUSE filesystem under another FUSE
530 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000531
Miklos Szeredic2309912004-09-21 13:40:38 +00005322004-09-21 Miklos Szeredi <miklos@szeredi.hu>
533
534 * Fix deadlock in case of memory allocation failure. Patch by
535 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000536
Miklos Szeredib2cf9562004-09-16 08:42:40 +00005372004-09-16 Miklos Szeredi <miklos@szeredi.hu>
538
539 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000540
Miklos Szeredi65afea12004-09-14 07:13:45 +00005412004-09-14 Miklos Szeredi <miklos@szeredi.hu>
542
543 * Check temporary file creation failure in do_getdir(). Bug
544 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000545
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00005462004-09-13 Miklos Szeredi <miklos@szeredi.hu>
547
548 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000549
550 * Make requests non-interruptible so race with FORGET is avoided.
551 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000552
553 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000554
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00005552004-09-09 Miklos Szeredi <miklos@szeredi.hu>
556
557 * Fix bug in case two FORGETs for the same node are executed in
558 the wrong order. Bug spotted and endured for months by Franco
559 Broi, and logfile for solution provided by Terje Oseberg
560
Miklos Szeredi12085102004-09-02 18:13:57 +00005612004-09-01 Miklos Szeredi <miklos@szeredi.hu>
562
563 * Add -D_REENTRANT to the compile flags
564
565 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000566
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00005672004-08-16 Miklos Szeredi <miklos@szeredi.hu>
568
569 * Change release method to be non-interruptible. Fixes bug
570 causing missing release() call when program which has opened files
571 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000572
Miklos Szeredi891b8742004-07-29 09:27:49 +00005732004-07-29 Miklos Szeredi <miklos@szeredi.hu>
574
575 * Add fuse_invalidate() to library API
576
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00005772004-07-26 Miklos Szeredi <miklos@szeredi.hu>
578
579 * Check permissions in setattr if 'default_permissions' flag is
580 set. Bug spotted by Damjan Lango
581
Miklos Szeredid66d3942004-07-24 13:47:44 +00005822004-07-24 Miklos Szeredi <miklos@szeredi.hu>
583
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000584 * 'large_read' mount option removed for 2.6 kernels, since the
585 default (dynamic read size) is better
586
587 * Extend kernel API with file handles. A file handle is returned
588 by open, and passed to read, write, flush, fsync and release.
589 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000590
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000591 * Security changes:
592
593 * Change the current directory to the mountpoint before checking
594 the permissions and mount filesystem on "."
595
596 * By default don't modprobe the fuse module for non-root. The old
597 behavior can be restored with the '--enable-auto-modprobe' flag of
598 ./configure
599
600 * By default don't allow shared writable mappings for non-root.
601 The old behavior can be restored with the 'user_mmap=1' module
602 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000603
Miklos Szeredibd7661b2004-07-23 17:16:29 +00006042004-07-23 Miklos Szeredi <miklos@szeredi.hu>
605
606 * Clean up mount option passing to fusermount and to fuse_new()
607 BEWARE: this changes the userspace API slightly, and the command
608 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000609
Miklos Szeredi58865372004-07-20 14:22:26 +00006102004-07-20 Miklos Szeredi <miklos@szeredi.hu>
611
612 * Optimize reading under 2.6 kernels by issuing multiple page
613 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000614
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00006152004-07-18 Miklos Szeredi <miklos@szeredi.hu>
616
617 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000618
Miklos Szeredi069c9502004-07-16 16:17:02 +00006192004-07-16 Miklos Szeredi <miklos@szeredi.hu>
620
621 * Separate directory entry and inode attribute validity timer
622
623 * New write semaphore to stop page writeback during truncate
624
625 * Fsync now waits for all writes to complete before sending the
626 request
627
628 * Optimization: if a page is completely written by
629 fuse_commit_write(), clear the dirty flag and set the uptodate
630 flag for that page
631
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000632 * Some memory cleanup at exit
633
Miklos Szeredi2529ca22004-07-13 15:36:52 +00006342004-07-13 Miklos Szeredi <miklos@szeredi.hu>
635
636 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000637 disable the "hide if open" behavior of unlink/rename.
638
639 * If temporary buffer allocation fails in raw read, fall back to a
640 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000641
Miklos Szeredi73798f92004-07-12 15:55:11 +00006422004-07-12 Miklos Szeredi <miklos@szeredi.hu>
643
644 * Fix bug in do_open() in libfuse: open count was incremented
645 after the reply is sent so it could race with unlink/forget and
646 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000647
Miklos Szeredi015fe702004-07-12 11:52:24 +00006482004-07-08 Miklos Szeredi <miklos@szeredi.hu>
649
650 * When performing create or remove operation, refresh the parent's
651 attributes on next revalidate, as i_nlink (and maybe size/time)
652 could be inacurate.
653
654 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
655 pages (2.6 only)
656
657 * Set set_page_dirty address space operation (2.6 only)
658
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006592004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000660
661 * Minor fix in read: print debug info even if read size is zero
662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006632004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000664
665 * Fix race between truncate and writepage (fsx-linux now runs
666 without error)
667
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006682004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000669
670 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
671 by Mattias Wadman)
672
673 * Added option for direct read/write (-r)
674
675 * Fix revalidate time setting for newly created inodes
676
Miklos Szerediacb4d362004-07-02 16:20:45 +0000677 * Remove uid==0 check for '-x' option in fusermount (kernel checks
678 this)
679
680 * fuse_main() only installs handlers for signals (out of INT, HUP,
681 TERM, PIPE), for which no handler has yet been installed
682
683 * Add module option 'user_allow_other' which if set to non-zero
684 will allow non root user to specify the 'allow_other' mount option
685 ('-x' option of fusermount)
686
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000687 * Fix deadlock between page writeback completion and truncate
688 (bug found by Valient Gough with the fsx-linux utility)
689
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006902004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000691
692 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000693 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
694 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000695
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006962004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000697
698 * Acquire inode->i_sem before open and release methods to prevent
699 concurrent rename or unlink operations.
700
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000701 * Make __fuse_read_cmd() read only one command. This allows
702 multiplexing the fuse file descriptor with other event sources
703 using select() or poll() (patch by Jeff Harris)
704
705 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
706
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007072004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000708
709 * Fix file offset wrap around at 4G when doing large reads
710
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007112004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000712
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000713 * Fix memory leak in open (Valient Gough)
714
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007152004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000716
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000717 * Add "close after delete" support to libfuse (patch by Valient
718 Gough)
719
720 * Cancel all worker threads before exit in multithreaded mode
721
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007222004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000723
724 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000725
726 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000727
728 * Work with newer libtool (1.5a)
729
730 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000731
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007322004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000733
734 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000735
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007362004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000737
738 * Fix possible inode leak in userspace in case of unfinished
739 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000740
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007412004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000742
743 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000744
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007452004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000746
747 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000748
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007492004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000750
751 * Build shared library as well as static (using libtool)
752
753 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
754 there has not been a release with the previous minor number, and I
755 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000756
757 * Change fuse_main(), so that default behavior is to go into
758 background if mount is successful. '-f' and '-d' options disable
759 backgrounding. This fixes the "Why does my FUSE daemon hang?"
760 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000761
762 * Cache ENOSYS (function not implemented) errors on *xattr, flush
763 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000764
765 * Don't call getdir method from open() only from first readdir().
766 Open is sometimes just used to store the current directory
767 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000768
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007692004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000770
771 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000772
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007732004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000774
775 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000776
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007772004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000778
779 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000780
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007812004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000782
783 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000784
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007852004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000786
787 * Replaced binary mount data with text options
788
789 * Show FUSE specific mount options in /proc/mounts
790
791 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
792
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007932004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000794
795 * Check some limits so userspace won't get too big requests
796
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007972004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000798
799 * Kill compile warning
800
801 * Upgraded user-mount patch for 2.6.5
802
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008032004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000804
805 * Add detection of user-mode-linux to configure
806
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008072004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000808
809 * fixed zero size case for getxattr and listxattr
810
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008112004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000812
813 * new fusermount flag '-z': lazy unmount, default is not lazy
814
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000815 * Extended attributes operations added (getxattr, setxattr,
816 listxattr, removexattr)
817
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008182004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000819
820 * If filesystem doesn't define a statfs operation, then an
821 all-zero default statfs is returned instead of ENOSYS
822
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008232004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000824
825 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
826
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008272004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000828
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000829 * Fix for uClinux (Christian Magnusson)
830
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008312004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000832
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000833 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000834
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000835 * More kernel interface changes:
836
837 * Lookup/getattr return cache timeout values
838
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008392004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000840
841 * Clean up option parsing in fuse_main()
842
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000843 * Added fuse_get() function which returns the fuse object created
844 by fuse_main()
845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008462004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000847
Miklos Szeredic40748a2004-02-20 16:38:45 +0000848 * removed old way of mounting (fusermount mountpoint program)
849
Miklos Szeredib5958612004-02-20 14:10:49 +0000850 * more kernel interface changes:
851
852 * added nanosecond precision to file times
853
Miklos Szeredic40748a2004-02-20 16:38:45 +0000854 * removed interface version from mount data
855
856 * added /proc/fs/fuse/version which contains MAJOR.MINOR
857
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008582004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000859
860 * statfs library API changed to match other methods. Since this
861 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
862
Miklos Szeredi76f65782004-02-19 16:55:40 +0000863 * kernel interface changes follow:
864
865 * statfs changed to 64 bits, added 'bavail' field
866
867 * add generation number to lookup result
868
869 * optimized mknod/mkdir/symlink/link (no separate lookup is
870 needed)
871
872 * rdev size increased to 32 bits for mknod
873
874 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000875
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008762004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000877
878 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000879
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008802004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000881
882 * Added user-mount.2.6.2-rc3.patch
883
884 * Add FS_SAFE flag to fuse filesystem
885
886 * fusermount should allow (un)mounting for non-root even if not
887 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000888
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008892004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000890
891 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000892
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008932004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000894
895 * Added check for i_size_read/write functions to configure.in
896 (patch by Valient Gough)
897
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008982004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000899
900 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000901
902 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000903
904 * Readpage calls flush_dcache_page() after storing data
905
906 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000907
908 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000909
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009102004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000911
912 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000913
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009142004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000915
916 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000917
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009182004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000919
920 * Added -q option for fusermount
921
922 * fuse_unmount() now uses -q option of fusermount, so no error is
923 printed if the cause of the program exit is that the filesystem
924 has already been unmounted
925
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000926 * Fix i_nlink correctness after rmdir/unlink
927
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009282004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000929
Miklos Szeredib1158392004-01-26 14:43:12 +0000930 * Released 1.1-pre2
931
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009322004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000933
Miklos Szeredi307242f2004-01-26 11:28:44 +0000934 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000935
936 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000937
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009382004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000939
940 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000941
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009422004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000943
944 * Write all pending data before a RELEASE operation
945
946 * Suppress 'Bad file descriptor' warning on exit
947
948 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000949 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000950
Miklos Szeredib1158392004-01-26 14:43:12 +0000951 * New fusermount option '-l' which enables big reads. Big reads
952 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000953
954 * fuse_main() can accept fusermount arguments after a '--'
955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009562004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000957
958 * Support for exporting filesystem over NFS (see README.NFS)
959
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009602004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000961
962 * Support non-blocking writepage on 2.6. This makes FUSE behave
963 much more nicely in low-memory situations
964
965 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
966 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +0000967
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009682004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000969
970 * Code cleanups
971
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009722004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000973
974 * Released 1.1-pre1
975
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009762004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000977
978 * Integrated 2.6 kernel support patch by Michael Grigoriev
979
980 * Improvements and cleanups for 2.6 kernels
981
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009822004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000983
Miklos Szeredie5183742005-02-02 11:14:04 +0000984 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000985
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009862003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000987
988 * Added major+minor version to library API, and minor version to
989 kernel API
990
David McNab7a19caf2003-12-13 02:05:46 +00009912003-12-13 David McNab <david@rebirthing.co.nz>
992
993 * Implemented fsync support in examples/example.py
994
995 * Implemented 'fsync' and 'statfs' methods in python
996 interface
997
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009982003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000999
Miklos Szeredie5183742005-02-02 11:14:04 +00001000 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001001
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +00001002 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +00001003
David McNab8bf62632003-12-11 22:49:22 +000010042003-12-12 David McNab <david@rebirthing.co.nz>
1005
1006 * Added distutils support to the python module, as per standard
1007 python development practice
1008
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010092003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001010
1011 * Add file locking for mount/unmount (based on patch by Valient
1012 Gough)
1013
10142003-12-11 David McNab <david@rebirthing.co.nz>
1015
1016 * Python filesystem - was broken with python2.3, now fixed:
1017 - changed PyTuple_* calls to PySequence_*, because os.lstat
1018 is no longer returning a pure tuple
1019 - changed PyInt_Check() calls to also call PyLong_Check,
1020 to cover for cases (eg os.lstat) where longs are returned
1021 - Added support for file 'release' handling, which IMO is
1022 essential since this signals to a FS that writes to a file
1023 are complete (and therefore the file can now be disposed of
1024 meaningfully at the python filesystem's discretion)
1025 - Added '__init__' handler to base Fuse class, which allows
1026 your Python class to know the mountpoint and mount args,
1027 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +00001028
Miklos Szeredi874d95d2003-12-11 14:27:57 +00001029 * General:
1030 - added 'mount.fuse' script (in util/ dir), which is meant to be
1031 symlinked from /sbin, and which allows FUSE filesystems to
1032 be mounted with the 'mount' command, and listed in fstab;
1033 also, mount arguments get passed to your filesystem
1034
1035
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010362003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +00001037
1038 * Fix kernel version detection (again). Bugreport by Peter Levart
1039
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010402003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +00001041
1042 * Applied read combining patch by Michael Grigoriev (tested by
1043 Valient Gough and Vincent Wagelaar)
1044
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010452003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +00001046
1047 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
1048 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +00001049
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010502003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +00001051
1052 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +00001053
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010542003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +00001055
1056 * kernel version detection fix
1057
1058 * fusermount now uses "lazy" umount option
1059
1060 * fusermount can use modprobe with module-init-tools
1061
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010622003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +00001063
1064 * Integrated caching patch by Michael Grigoriev
1065
Miklos Szeredida4e4862003-09-08 11:14:11 +00001066 * Added "Filesystems" file with descriptions of projects using
1067 FUSE
1068
Miklos Szeredi02ceb112003-09-08 13:52:25 +00001069 * Added patch by Michael Grigoriev to allow compliation of FUSE
1070 kernel module for 2.6 kernels
1071
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010722003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +00001073
1074 * And another spec-file fix by Achim Settelmeier
1075
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010762003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +00001077
1078 * Spec-file fix by Achim Settelmeier
1079
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010802003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001081
Miklos Szerediac361172004-11-02 19:14:14 +00001082 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +00001083
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010842003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00001085
1086 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
1087
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010882003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +00001089
1090 * Updated fuse.spec file (Achim Settelmeier)
1091
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010922003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +00001093
1094 * Version 1.0 released
1095
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010962003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +00001097
1098 * SuSE compilation fix by Juan-Mariano de Goyeneche
1099
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011002002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +00001101
1102 * The release() VFS call is now exported to the FUSE interface
1103
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011042002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +00001105
1106 * 64 bit file offset fixes in the fuse kernel module
1107
1108 * Added function 'fuse_exit()' which can be used to exit the main
1109 loop
1110
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011112002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001112
1113 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1114 an incompatible interface change.
1115
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011162002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001117
1118 * Portablility fix (bug reported by C. Chris Erway)
1119
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011202002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001121
1122 * Use Mark Glines' fd passing method for default operation instead
1123 of old reexec
1124
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011252002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001126
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001127 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1128
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011292002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001130
Miklos Szeredi60c23522002-10-24 09:19:43 +00001131 * fix incompatiblity with Red Hat kernels, with help from Nathan
1132 Thompson-Amato.
1133
Mark Glines65ba2192002-04-18 14:41:48 +000011342002-04-18 Mark Glines <mark@glines.org>
1135
1136 * added an alternative to fuse_mount(), called
1137 fuse_mount_ioslave(), which does not need to reexec the
1138 FUSE program.
1139 * added a small helper util needed by fuse_mount_ioslave().
1140
Mark Glines220635a2002-03-17 07:01:14 +000011412002-03-16 Mark Glines <mark@glines.org>
1142
1143 * use struct fuse_statfs everywhere possible to avoid problems
1144 with the headerfiles changing struct statfs member sizes
1145
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011462002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001147
1148 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1149
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011502002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001151
1152 * RPM support by Achim Settelmeier
1153
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011542002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001155
Miklos Szerediddc862a2002-01-09 13:46:10 +00001156 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001157
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011582002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001159
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001160 * Revaidate all path components not just the last, this means a
1161 very small performance penalty for being more up-to-date.
1162
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011632002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001164
1165 * Update and fix python interface
1166
Mark Glinesd84b39a2002-01-07 16:32:02 +000011672002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001168
Mark Glinesd84b39a2002-01-07 16:32:02 +00001169 * Added statfs() support to kernel, lib, examples, and perl!
1170
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011712001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001172
1173 * Better cross compilation support
1174
1175 * Ported to Compaq IPAQ
1176
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011772001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001178
Miklos Szeredife25def2001-12-20 15:38:05 +00001179 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001180 patch from Matt Ryan)
1181
Miklos Szeredife25def2001-12-20 15:38:05 +00001182 * Added flags to fusermount and to kernel interface to control
1183 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001184
Miklos Szeredife25def2001-12-20 15:38:05 +00001185 * Integrated fuse_set_operations() into fuse_new()
1186
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011872001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001188
1189 * Applied header protection + extern "C" patch by Roland
1190 Bauerschmidt
1191
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011922001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001193
Miklos Szeredie5183742005-02-02 11:14:04 +00001194 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001195
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011962001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001197
1198 * Cleaned up way of mounting simple filesystems.
1199
1200 * fuse_main() helper function added
1201
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012022001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001203
Miklos Szeredife25def2001-12-20 15:38:05 +00001204 * Optimized read/write operations, so that minimal copying of data
1205 is done
1206
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012072001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001208
1209 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001210
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012112001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001212
1213 * Fixed vfsmount reference leak in fuse_follow_link
1214
1215 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1216 userspace is ignored
1217
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000012182001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001219
Miklos Szeredife25def2001-12-20 15:38:05 +00001220 * Started ChangeLog