blob: e8d2cacdb6f8dbd9816645c2ec3a93f0add18ee3 [file] [log] [blame]
Miklos Szeredia25d4c22004-11-23 22:32:16 +000012004-11-23 Miklos Szeredi <miklos@szeredi.hu>
2
3 * More cleanups in the kernel
4
5 * The 10,229 charater device number has been assigned for FUSE
6
7 * Version file checking fix (reported by Christian Magnusson)
8
9 * fusermount: opening the fuse device now doesn't need /sys.
10
11 * Optimize reading by controlling the maximum readahead based on
12 the 'max_read' mount option
13
14 * fixes for UCLIBC (Christian Magnusson)
15
Miklos Szeredi13ed4822004-11-20 11:12:21 +0000162004-11-19 Miklos Szeredi <miklos@szeredi.hu>
17
18 * Cleaned up kernel in preparation for merge into mainline:
19
20 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
21
22 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
23
24 * __user annotations for sparse
25
26 * allocate individual pages instead of kmalloc in fuse_readdir,
27 fuse_read and fuse_write.
28
29 * Fix NFS export in case "use_ino" mount option is given
30
Miklos Szeredif3845c42004-11-20 11:18:34 +000031 * Make libfuse and fusermount compatible with future versions
32
33 * fusermount: properly add mount options to /etc/mtab
34
352004-11-15 Miklos Szeredi <miklos@szeredi.hu>
36
37 * fusermount: do not resolve last component of mountpoint on if it
38 is '.' or '..'. This new path resolvation is now done on mount as
39 well as unmount. This enables relative paths to work on unmount.
40
41 * fusermount: parse common mount options like "ro", "rw", etc...
42
43 * Allow module params to be changed through sysfs
44
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000452004-11-14 Miklos Szeredi <miklos@szeredi.hu>
46
47 * Released 2.1-pre1
48
492004-11-14 Miklos Szeredi <miklos@szeredi.hu>
50
51 * Fix bug in fuse_readpages() causing Oops in certain situations.
52 Bug found by Vincenzo Ciancia.
53
54 * Fix compilation with kernels versions > 2.6.9.
55
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000562004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +000057
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000058 * Check kernel interface version in fusermount to prevent
59 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +000060
Miklos Szeredi3d60e762004-11-11 14:44:04 +000061 * No need to allocate fuse_conn until actual mount happens
62
63 * Fix potential race between umount and fuse_invalidate
64
65 * Check superblock of proc file in addition to inode number
66
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000067 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +000068
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000692004-11-10 Miklos Szeredi <miklos@szeredi.hu>
70
71 * Separate configure for the kernel directory
72
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000073 * Don't allow write to return more than 'count'
74
75 * Extend kernel interface for future use
76
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000772004-11-09 Miklos Szeredi <miklos@szeredi.hu>
78
79 * Fix 'makeconf.sh' to use autoreconf if available
80
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +0000812004-11-08 Miklos Szeredi <miklos@szeredi.hu>
82
Miklos Szeredid507c732004-11-08 17:32:25 +000083 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
84 compatibility with earlier versions. To compile earier versions
85 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
86 Do not use the "use_ino" mount flag with filesystems compiled with
87 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +000088
89 * Add pkg-config support. To compile a FUSE based filesystem you
90 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
91 or similar. Note, that the PKG_CONFIG_PATH environment variable
92 usually needs to be set to "/usr/local/lib/pkgconfig".
93
94 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredid507c732004-11-08 17:32:25 +000095
Miklos Szeredia13d9002004-11-02 17:32:03 +0000962004-11-02 Miklos Szeredi <miklos@szeredi.hu>
97
98 * Added "use_ino" mount option. This enables the filesystems to
99 set the st_ino field on files
100
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00001012004-11-01 Miklos Szeredi <miklos@szeredi.hu>
102
103 * Fix compile problems with ancient (<=2.4.18) kernels (reported
104 by Jeremy Smith)
105
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000106 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
107
108 * Clear the 'exited' flag when mail loop is finished
109
Miklos Szeredie989f0d2004-10-28 20:24:58 +00001102004-10-28 Miklos Szeredi <miklos@szeredi.hu>
111
112 * Make xattr functions work under 2.6 (bug found by Vincenzo
113 Ciancia)
114
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00001152004-10-26 Miklos Szeredi <miklos@szeredi.hu>
116
117 * Reset request in fuse_flush() (bugreport by David Shaw)
118
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001192004-10-21 Miklos Szeredi <miklos@szeredi.hu>
120
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000121 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000122 error code
123
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000124 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000125 make it easier to implement a custom event loop.
126
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000127 * Use daemon() call to background the filesystem after mounting.
128 This function closes the standard input, output and error and
129 changes the current working directory to "/".
130
Miklos Szeredi127d49b2004-10-14 13:33:39 +00001312004-10-14 Miklos Szeredi <miklos@szeredi.hu>
132
133 * Released 1.9
134
Miklos Szeredid45baf42004-10-10 07:56:12 +00001352004-10-09 Miklos Szeredi <miklos@szeredi.hu>
136
137 * Don't allow fuse_flush() to be interrupted (bug found by David
138 Shaw)
139
Miklos Szeredi1f18db52004-09-27 06:54:49 +00001402004-09-27 Miklos Szeredi <miklos@szeredi.hu>
141
142 * Add PID to fuse_context. Patch by Steven James
143
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000144 * Change file handle type to 'unsigned long' in kernel interface
145
Miklos Szeredid169f312004-09-22 08:48:26 +00001462004-09-22 Miklos Szeredi <miklos@szeredi.hu>
147
148 * A slight API change: fuse_get_context() doesn't need the "fuse"
149 pointer, but the returned context contains it instead. The
150 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000151
152 * Fix mounting and umounting FUSE filesystem under another FUSE
153 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredid169f312004-09-22 08:48:26 +0000154
Miklos Szeredic2309912004-09-21 13:40:38 +00001552004-09-21 Miklos Szeredi <miklos@szeredi.hu>
156
157 * Fix deadlock in case of memory allocation failure. Patch by
158 Christian Magnusson
159
Miklos Szeredib2cf9562004-09-16 08:42:40 +00001602004-09-16 Miklos Szeredi <miklos@szeredi.hu>
161
162 * Check memory allocation failures in libfuse
163
Miklos Szeredi65afea12004-09-14 07:13:45 +00001642004-09-14 Miklos Szeredi <miklos@szeredi.hu>
165
166 * Check temporary file creation failure in do_getdir(). Bug
167 spotted by Terje Oseberg
168
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00001692004-09-13 Miklos Szeredi <miklos@szeredi.hu>
170
171 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000172
173 * Make requests non-interruptible so race with FORGET is avoided.
174 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000175
176 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +0000177
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00001782004-09-09 Miklos Szeredi <miklos@szeredi.hu>
179
180 * Fix bug in case two FORGETs for the same node are executed in
181 the wrong order. Bug spotted and endured for months by Franco
182 Broi, and logfile for solution provided by Terje Oseberg
183
Miklos Szeredi12085102004-09-02 18:13:57 +00001842004-09-01 Miklos Szeredi <miklos@szeredi.hu>
185
186 * Add -D_REENTRANT to the compile flags
187
188 * Add documentation of fuse internals by Terje Oseberg
189
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00001902004-08-16 Miklos Szeredi <miklos@szeredi.hu>
191
192 * Change release method to be non-interruptible. Fixes bug
193 causing missing release() call when program which has opened files
194 is killed (reported by Franco Broi and David Shaw)
195
Miklos Szeredi891b8742004-07-29 09:27:49 +00001962004-07-29 Miklos Szeredi <miklos@szeredi.hu>
197
198 * Add fuse_invalidate() to library API
199
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00002002004-07-26 Miklos Szeredi <miklos@szeredi.hu>
201
202 * Check permissions in setattr if 'default_permissions' flag is
203 set. Bug spotted by Damjan Lango
204
Miklos Szeredid66d3942004-07-24 13:47:44 +00002052004-07-24 Miklos Szeredi <miklos@szeredi.hu>
206
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000207 * 'large_read' mount option removed for 2.6 kernels, since the
208 default (dynamic read size) is better
209
210 * Extend kernel API with file handles. A file handle is returned
211 by open, and passed to read, write, flush, fsync and release.
212 This is currently only used for debug output in the library.
213
214 * Security changes:
215
216 * Change the current directory to the mountpoint before checking
217 the permissions and mount filesystem on "."
218
219 * By default don't modprobe the fuse module for non-root. The old
220 behavior can be restored with the '--enable-auto-modprobe' flag of
221 ./configure
222
223 * By default don't allow shared writable mappings for non-root.
224 The old behavior can be restored with the 'user_mmap=1' module
225 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000226
Miklos Szeredibd7661b2004-07-23 17:16:29 +00002272004-07-23 Miklos Szeredi <miklos@szeredi.hu>
228
229 * Clean up mount option passing to fusermount and to fuse_new()
230 BEWARE: this changes the userspace API slightly, and the command
231 line usage of programs using fuse_main()
232
Miklos Szeredi58865372004-07-20 14:22:26 +00002332004-07-20 Miklos Szeredi <miklos@szeredi.hu>
234
235 * Optimize reading under 2.6 kernels by issuing multiple page
236 asynchronous read requests
237
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00002382004-07-18 Miklos Szeredi <miklos@szeredi.hu>
239
240 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
241
Miklos Szeredi069c9502004-07-16 16:17:02 +00002422004-07-16 Miklos Szeredi <miklos@szeredi.hu>
243
244 * Separate directory entry and inode attribute validity timer
245
246 * New write semaphore to stop page writeback during truncate
247
248 * Fsync now waits for all writes to complete before sending the
249 request
250
251 * Optimization: if a page is completely written by
252 fuse_commit_write(), clear the dirty flag and set the uptodate
253 flag for that page
254
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000255 * Some memory cleanup at exit
256
Miklos Szeredi2529ca22004-07-13 15:36:52 +00002572004-07-13 Miklos Szeredi <miklos@szeredi.hu>
258
259 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000260 disable the "hide if open" behavior of unlink/rename.
261
262 * If temporary buffer allocation fails in raw read, fall back to a
263 smaller buffer
Miklos Szeredi2529ca22004-07-13 15:36:52 +0000264
Miklos Szeredi73798f92004-07-12 15:55:11 +00002652004-07-12 Miklos Szeredi <miklos@szeredi.hu>
266
267 * Fix bug in do_open() in libfuse: open count was incremented
268 after the reply is sent so it could race with unlink/forget and
269 cause an abort.
270
Miklos Szeredi015fe702004-07-12 11:52:24 +00002712004-07-08 Miklos Szeredi <miklos@szeredi.hu>
272
273 * When performing create or remove operation, refresh the parent's
274 attributes on next revalidate, as i_nlink (and maybe size/time)
275 could be inacurate.
276
277 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
278 pages (2.6 only)
279
280 * Set set_page_dirty address space operation (2.6 only)
281
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002822004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000283
284 * Minor fix in read: print debug info even if read size is zero
285
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002862004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000287
288 * Fix race between truncate and writepage (fsx-linux now runs
289 without error)
290
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002912004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000292
293 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
294 by Mattias Wadman)
295
296 * Added option for direct read/write (-r)
297
298 * Fix revalidate time setting for newly created inodes
299
Miklos Szerediacb4d362004-07-02 16:20:45 +0000300 * Remove uid==0 check for '-x' option in fusermount (kernel checks
301 this)
302
303 * fuse_main() only installs handlers for signals (out of INT, HUP,
304 TERM, PIPE), for which no handler has yet been installed
305
306 * Add module option 'user_allow_other' which if set to non-zero
307 will allow non root user to specify the 'allow_other' mount option
308 ('-x' option of fusermount)
309
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000310 * Fix deadlock between page writeback completion and truncate
311 (bug found by Valient Gough with the fsx-linux utility)
312
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003132004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000314
315 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000316 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
317 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000318
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003192004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000320
321 * Acquire inode->i_sem before open and release methods to prevent
322 concurrent rename or unlink operations.
323
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000324 * Make __fuse_read_cmd() read only one command. This allows
325 multiplexing the fuse file descriptor with other event sources
326 using select() or poll() (patch by Jeff Harris)
327
328 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
329
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003302004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000331
332 * Fix file offset wrap around at 4G when doing large reads
333
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003342004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000335
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000336 * Fix memory leak in open (Valient Gough)
337
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003382004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000339
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000340 * Add "close after delete" support to libfuse (patch by Valient
341 Gough)
342
343 * Cancel all worker threads before exit in multithreaded mode
344
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003452004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000346
347 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000348
349 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000350
351 * Work with newer libtool (1.5a)
352
353 * Check for st_atim member of struct stat
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000354
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003552004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000356
357 * No request allocation needed on inode and file release
358
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003592004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000360
361 * Fix possible inode leak in userspace in case of unfinished
362 lookup/mknod/mkdir/symlink/link operation.
363
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003642004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000365
366 * Fix some races and cleanups in fuse_read_super()
367
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003682004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000369
370 * Requests are allocated at open time
371
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003722004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000373
374 * Build shared library as well as static (using libtool)
375
376 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
377 there has not been a release with the previous minor number, and I
378 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000379
380 * Change fuse_main(), so that default behavior is to go into
381 background if mount is successful. '-f' and '-d' options disable
382 backgrounding. This fixes the "Why does my FUSE daemon hang?"
383 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000384
385 * Cache ENOSYS (function not implemented) errors on *xattr, flush
386 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000387
388 * Don't call getdir method from open() only from first readdir().
389 Open is sometimes just used to store the current directory
390 (e.g. find)
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000391
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003922004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000393
394 * Added flush() call
395
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003962004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000397
398 * Extended attributes support for 2.4 (patch by Cody Pisto)
399
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004002004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000401
402 * Fixed parser with modversions (Mattias Wadman)
403
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004042004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000405
406 * Added mount option parser to 2.4 build
407
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004082004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000409
410 * Replaced binary mount data with text options
411
412 * Show FUSE specific mount options in /proc/mounts
413
414 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
415
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004162004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000417
418 * Check some limits so userspace won't get too big requests
419
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004202004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000421
422 * Kill compile warning
423
424 * Upgraded user-mount patch for 2.6.5
425
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004262004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000427
428 * Add detection of user-mode-linux to configure
429
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004302004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000431
432 * fixed zero size case for getxattr and listxattr
433
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004342004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000435
436 * new fusermount flag '-z': lazy unmount, default is not lazy
437
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000438 * Extended attributes operations added (getxattr, setxattr,
439 listxattr, removexattr)
440
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004412004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000442
443 * If filesystem doesn't define a statfs operation, then an
444 all-zero default statfs is returned instead of ENOSYS
445
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004462004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000447
448 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
449
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004502004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000451
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000452 * Fix for uClinux (Christian Magnusson)
453
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004542004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000455
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000456 * fuse_main() adds "-n progname" to the fusermount command line
457
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000458 * More kernel interface changes:
459
460 * Lookup/getattr return cache timeout values
461
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004622004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000463
464 * Clean up option parsing in fuse_main()
465
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000466 * Added fuse_get() function which returns the fuse object created
467 by fuse_main()
468
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004692004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000470
Miklos Szeredic40748a2004-02-20 16:38:45 +0000471 * removed old way of mounting (fusermount mountpoint program)
472
Miklos Szeredib5958612004-02-20 14:10:49 +0000473 * more kernel interface changes:
474
475 * added nanosecond precision to file times
476
Miklos Szeredic40748a2004-02-20 16:38:45 +0000477 * removed interface version from mount data
478
479 * added /proc/fs/fuse/version which contains MAJOR.MINOR
480
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004812004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000482
483 * statfs library API changed to match other methods. Since this
484 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
485
Miklos Szeredi76f65782004-02-19 16:55:40 +0000486 * kernel interface changes follow:
487
488 * statfs changed to 64 bits, added 'bavail' field
489
490 * add generation number to lookup result
491
492 * optimized mknod/mkdir/symlink/link (no separate lookup is
493 needed)
494
495 * rdev size increased to 32 bits for mknod
496
497 * kernel interface version changed to 3.1
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000498
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004992004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000500
501 * user-mount upgraded for 2.6.3 kernel
502
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005032004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000504
505 * Added user-mount.2.6.2-rc3.patch
506
507 * Add FS_SAFE flag to fuse filesystem
508
509 * fusermount should allow (un)mounting for non-root even if not
510 suid-root
511
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005122004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000513
514 * Remove MS_PERMISSION mount flag (that means something else now)
515
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005162004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000517
518 * Added check for i_size_read/write functions to configure.in
519 (patch by Valient Gough)
520
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005212004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000522
523 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000524
525 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000526
527 * Readpage calls flush_dcache_page() after storing data
528
529 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000530
531 * Make loopback mount of a fuse file work
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000532
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005332004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000534
535 * Released 1.1
536
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005372004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000538
539 * Properly check if the inode exists in fuse_invalidate
540
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005412004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000542
543 * Added -q option for fusermount
544
545 * fuse_unmount() now uses -q option of fusermount, so no error is
546 printed if the cause of the program exit is that the filesystem
547 has already been unmounted
548
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000549 * Fix i_nlink correctness after rmdir/unlink
550
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005512004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000552
Miklos Szeredib1158392004-01-26 14:43:12 +0000553 * Released 1.1-pre2
554
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005552004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000556
Miklos Szeredi307242f2004-01-26 11:28:44 +0000557 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000558
559 * Compile fixes for 2.4 kernels
Miklos Szeredi307242f2004-01-26 11:28:44 +0000560
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005612004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000562
563 * Fix CONFIG_MODVERSIONS compile on 2.6
564
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005652004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000566
567 * Write all pending data before a RELEASE operation
568
569 * Suppress 'Bad file descriptor' warning on exit
570
571 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000572 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000573
Miklos Szeredib1158392004-01-26 14:43:12 +0000574 * New fusermount option '-l' which enables big reads. Big reads
575 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000576
577 * fuse_main() can accept fusermount arguments after a '--'
578
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005792004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000580
581 * Support for exporting filesystem over NFS (see README.NFS)
582
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005832004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000584
585 * Support non-blocking writepage on 2.6. This makes FUSE behave
586 much more nicely in low-memory situations
587
588 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
589 (Note: the mknod method does not yet use 32bit device number)
590
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005912004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000592
593 * Code cleanups
594
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005952004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000596
597 * Released 1.1-pre1
598
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005992004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000600
601 * Integrated 2.6 kernel support patch by Michael Grigoriev
602
603 * Improvements and cleanups for 2.6 kernels
604
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006052004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000606
607 * Added -d option to fusermount
608
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006092003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000610
611 * Added major+minor version to library API, and minor version to
612 kernel API
613
David McNab7a19caf2003-12-13 02:05:46 +00006142003-12-13 David McNab <david@rebirthing.co.nz>
615
616 * Implemented fsync support in examples/example.py
617
618 * Implemented 'fsync' and 'statfs' methods in python
619 interface
620
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006212003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000622
623 * Make it compile on 2.4.19.
624
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +0000625 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000626
David McNab8bf62632003-12-11 22:49:22 +00006272003-12-12 David McNab <david@rebirthing.co.nz>
628
629 * Added distutils support to the python module, as per standard
630 python development practice
631
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006322003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000633
634 * Add file locking for mount/unmount (based on patch by Valient
635 Gough)
636
6372003-12-11 David McNab <david@rebirthing.co.nz>
638
639 * Python filesystem - was broken with python2.3, now fixed:
640 - changed PyTuple_* calls to PySequence_*, because os.lstat
641 is no longer returning a pure tuple
642 - changed PyInt_Check() calls to also call PyLong_Check,
643 to cover for cases (eg os.lstat) where longs are returned
644 - Added support for file 'release' handling, which IMO is
645 essential since this signals to a FS that writes to a file
646 are complete (and therefore the file can now be disposed of
647 meaningfully at the python filesystem's discretion)
648 - Added '__init__' handler to base Fuse class, which allows
649 your Python class to know the mountpoint and mount args,
650 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
651
652 * General:
653 - added 'mount.fuse' script (in util/ dir), which is meant to be
654 symlinked from /sbin, and which allows FUSE filesystems to
655 be mounted with the 'mount' command, and listed in fstab;
656 also, mount arguments get passed to your filesystem
657
658
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006592003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +0000660
661 * Fix kernel version detection (again). Bugreport by Peter Levart
662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006632003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +0000664
665 * Applied read combining patch by Michael Grigoriev (tested by
666 Valient Gough and Vincent Wagelaar)
667
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006682003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +0000669
670 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
671 #766443)
672
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006732003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +0000674
675 * Error code fixes in kernel module
676
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006772003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +0000678
679 * kernel version detection fix
680
681 * fusermount now uses "lazy" umount option
682
683 * fusermount can use modprobe with module-init-tools
684
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006852003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +0000686
687 * Integrated caching patch by Michael Grigoriev
688
Miklos Szeredida4e4862003-09-08 11:14:11 +0000689 * Added "Filesystems" file with descriptions of projects using
690 FUSE
691
Miklos Szeredi02ceb112003-09-08 13:52:25 +0000692 * Added patch by Michael Grigoriev to allow compliation of FUSE
693 kernel module for 2.6 kernels
694
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006952003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +0000696
697 * And another spec-file fix by Achim Settelmeier
698
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006992003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +0000700
701 * Spec-file fix by Achim Settelmeier
702
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007032003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000704
Miklos Szerediac361172004-11-02 19:14:14 +0000705 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000706
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007072003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +0000708
709 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
710
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007112003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +0000712
713 * Updated fuse.spec file (Achim Settelmeier)
714
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007152003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +0000716
717 * Version 1.0 released
718
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007192003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +0000720
721 * SuSE compilation fix by Juan-Mariano de Goyeneche
722
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007232002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +0000724
725 * The release() VFS call is now exported to the FUSE interface
726
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007272002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +0000728
729 * 64 bit file offset fixes in the fuse kernel module
730
731 * Added function 'fuse_exit()' which can be used to exit the main
732 loop
733
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007342002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +0000735
736 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
737 an incompatible interface change.
738
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007392002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +0000740
741 * Portablility fix (bug reported by C. Chris Erway)
742
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007432002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +0000744
745 * Use Mark Glines' fd passing method for default operation instead
746 of old reexec
747
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007482002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +0000749
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +0000750 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007522002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +0000753
Miklos Szeredi60c23522002-10-24 09:19:43 +0000754 * fix incompatiblity with Red Hat kernels, with help from Nathan
755 Thompson-Amato.
756
Mark Glines65ba2192002-04-18 14:41:48 +00007572002-04-18 Mark Glines <mark@glines.org>
758
759 * added an alternative to fuse_mount(), called
760 fuse_mount_ioslave(), which does not need to reexec the
761 FUSE program.
762 * added a small helper util needed by fuse_mount_ioslave().
763
Mark Glines220635a2002-03-17 07:01:14 +00007642002-03-16 Mark Glines <mark@glines.org>
765
766 * use struct fuse_statfs everywhere possible to avoid problems
767 with the headerfiles changing struct statfs member sizes
768
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007692002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +0000770
771 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
772
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007732002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +0000774
775 * RPM support by Achim Settelmeier
776
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007772002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000778
Miklos Szerediddc862a2002-01-09 13:46:10 +0000779 * Version 0.95 released
780
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007812002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +0000782
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000783 * Revaidate all path components not just the last, this means a
784 very small performance penalty for being more up-to-date.
785
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007862002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000787
788 * Update and fix python interface
789
Mark Glinesd84b39a2002-01-07 16:32:02 +00007902002-01-07 Mark Glines <mark@glines.org>
791
792 * Added statfs() support to kernel, lib, examples, and perl!
793
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007942001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +0000795
796 * Better cross compilation support
797
798 * Ported to Compaq IPAQ
799
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008002001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000801
802 * Added function fuse_get_context() to library API (inspired by
803 patch from Matt Ryan)
804
805 * Added flags to fusermount and to kernel interface to control
806 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +0000807
Miklos Szeredife25def2001-12-20 15:38:05 +0000808 * Integrated fuse_set_operations() into fuse_new()
809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008102001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000811
812 * Applied header protection + extern "C" patch by Roland
813 Bauerschmidt
814
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008152001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000816
817 * Added perl bindings by Mark Glines
818
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008192001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000820
821 * Cleaned up way of mounting simple filesystems.
822
823 * fuse_main() helper function added
824
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008252001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000826
827 * Optimized read/write operations, so that minimal copying of data
828 is done
829
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008302001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000831
832 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000833
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008342001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000835
836 * Fixed vfsmount reference leak in fuse_follow_link
837
838 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
839 userspace is ignored
840
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008412001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000842
Miklos Szeredife25def2001-12-20 15:38:05 +0000843 * Started ChangeLog