blob: 61d8293cfe98d5d8e9c7bc4841beb8446ccc9a7b [file] [log] [blame]
Miklos Szeredi13ed4822004-11-20 11:12:21 +000012004-11-19 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Cleaned up kernel in preparation for merge into mainline:
4
5 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
6
7 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
8
9 * __user annotations for sparse
10
11 * allocate individual pages instead of kmalloc in fuse_readdir,
12 fuse_read and fuse_write.
13
14 * Fix NFS export in case "use_ino" mount option is given
15
Miklos Szeredif3845c42004-11-20 11:18:34 +000016 * Make libfuse and fusermount compatible with future versions
17
18 * fusermount: properly add mount options to /etc/mtab
19
202004-11-15 Miklos Szeredi <miklos@szeredi.hu>
21
22 * fusermount: do not resolve last component of mountpoint on if it
23 is '.' or '..'. This new path resolvation is now done on mount as
24 well as unmount. This enables relative paths to work on unmount.
25
26 * fusermount: parse common mount options like "ro", "rw", etc...
27
28 * Allow module params to be changed through sysfs
29
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000302004-11-14 Miklos Szeredi <miklos@szeredi.hu>
31
32 * Released 2.1-pre1
33
342004-11-14 Miklos Szeredi <miklos@szeredi.hu>
35
36 * Fix bug in fuse_readpages() causing Oops in certain situations.
37 Bug found by Vincenzo Ciancia.
38
39 * Fix compilation with kernels versions > 2.6.9.
40
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000412004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +000042
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000043 * Check kernel interface version in fusermount to prevent
44 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +000045
Miklos Szeredi3d60e762004-11-11 14:44:04 +000046 * No need to allocate fuse_conn until actual mount happens
47
48 * Fix potential race between umount and fuse_invalidate
49
50 * Check superblock of proc file in addition to inode number
51
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000052 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +000053
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000542004-11-10 Miklos Szeredi <miklos@szeredi.hu>
55
56 * Separate configure for the kernel directory
57
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000058 * Don't allow write to return more than 'count'
59
60 * Extend kernel interface for future use
61
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000622004-11-09 Miklos Szeredi <miklos@szeredi.hu>
63
64 * Fix 'makeconf.sh' to use autoreconf if available
65
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +0000662004-11-08 Miklos Szeredi <miklos@szeredi.hu>
67
Miklos Szeredid507c732004-11-08 17:32:25 +000068 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
69 compatibility with earlier versions. To compile earier versions
70 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
71 Do not use the "use_ino" mount flag with filesystems compiled with
72 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +000073
74 * Add pkg-config support. To compile a FUSE based filesystem you
75 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
76 or similar. Note, that the PKG_CONFIG_PATH environment variable
77 usually needs to be set to "/usr/local/lib/pkgconfig".
78
79 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredid507c732004-11-08 17:32:25 +000080
Miklos Szeredia13d9002004-11-02 17:32:03 +0000812004-11-02 Miklos Szeredi <miklos@szeredi.hu>
82
83 * Added "use_ino" mount option. This enables the filesystems to
84 set the st_ino field on files
85
Miklos Szeredib1ab8b52004-11-01 10:57:41 +0000862004-11-01 Miklos Szeredi <miklos@szeredi.hu>
87
88 * Fix compile problems with ancient (<=2.4.18) kernels (reported
89 by Jeremy Smith)
90
Miklos Szeredi874e3c12004-11-01 23:15:20 +000091 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
92
93 * Clear the 'exited' flag when mail loop is finished
94
Miklos Szeredie989f0d2004-10-28 20:24:58 +0000952004-10-28 Miklos Szeredi <miklos@szeredi.hu>
96
97 * Make xattr functions work under 2.6 (bug found by Vincenzo
98 Ciancia)
99
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00001002004-10-26 Miklos Szeredi <miklos@szeredi.hu>
101
102 * Reset request in fuse_flush() (bugreport by David Shaw)
103
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00001042004-10-21 Miklos Szeredi <miklos@szeredi.hu>
105
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000106 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000107 error code
108
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000109 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000110 make it easier to implement a custom event loop.
111
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000112 * Use daemon() call to background the filesystem after mounting.
113 This function closes the standard input, output and error and
114 changes the current working directory to "/".
115
Miklos Szeredi127d49b2004-10-14 13:33:39 +00001162004-10-14 Miklos Szeredi <miklos@szeredi.hu>
117
118 * Released 1.9
119
Miklos Szeredid45baf42004-10-10 07:56:12 +00001202004-10-09 Miklos Szeredi <miklos@szeredi.hu>
121
122 * Don't allow fuse_flush() to be interrupted (bug found by David
123 Shaw)
124
Miklos Szeredi1f18db52004-09-27 06:54:49 +00001252004-09-27 Miklos Szeredi <miklos@szeredi.hu>
126
127 * Add PID to fuse_context. Patch by Steven James
128
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000129 * Change file handle type to 'unsigned long' in kernel interface
130
Miklos Szeredid169f312004-09-22 08:48:26 +00001312004-09-22 Miklos Szeredi <miklos@szeredi.hu>
132
133 * A slight API change: fuse_get_context() doesn't need the "fuse"
134 pointer, but the returned context contains it instead. The
135 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000136
137 * Fix mounting and umounting FUSE filesystem under another FUSE
138 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredid169f312004-09-22 08:48:26 +0000139
Miklos Szeredic2309912004-09-21 13:40:38 +00001402004-09-21 Miklos Szeredi <miklos@szeredi.hu>
141
142 * Fix deadlock in case of memory allocation failure. Patch by
143 Christian Magnusson
144
Miklos Szeredib2cf9562004-09-16 08:42:40 +00001452004-09-16 Miklos Szeredi <miklos@szeredi.hu>
146
147 * Check memory allocation failures in libfuse
148
Miklos Szeredi65afea12004-09-14 07:13:45 +00001492004-09-14 Miklos Szeredi <miklos@szeredi.hu>
150
151 * Check temporary file creation failure in do_getdir(). Bug
152 spotted by Terje Oseberg
153
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00001542004-09-13 Miklos Szeredi <miklos@szeredi.hu>
155
156 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000157
158 * Make requests non-interruptible so race with FORGET is avoided.
159 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000160
161 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +0000162
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00001632004-09-09 Miklos Szeredi <miklos@szeredi.hu>
164
165 * Fix bug in case two FORGETs for the same node are executed in
166 the wrong order. Bug spotted and endured for months by Franco
167 Broi, and logfile for solution provided by Terje Oseberg
168
Miklos Szeredi12085102004-09-02 18:13:57 +00001692004-09-01 Miklos Szeredi <miklos@szeredi.hu>
170
171 * Add -D_REENTRANT to the compile flags
172
173 * Add documentation of fuse internals by Terje Oseberg
174
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00001752004-08-16 Miklos Szeredi <miklos@szeredi.hu>
176
177 * Change release method to be non-interruptible. Fixes bug
178 causing missing release() call when program which has opened files
179 is killed (reported by Franco Broi and David Shaw)
180
Miklos Szeredi891b8742004-07-29 09:27:49 +00001812004-07-29 Miklos Szeredi <miklos@szeredi.hu>
182
183 * Add fuse_invalidate() to library API
184
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00001852004-07-26 Miklos Szeredi <miklos@szeredi.hu>
186
187 * Check permissions in setattr if 'default_permissions' flag is
188 set. Bug spotted by Damjan Lango
189
Miklos Szeredid66d3942004-07-24 13:47:44 +00001902004-07-24 Miklos Szeredi <miklos@szeredi.hu>
191
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000192 * 'large_read' mount option removed for 2.6 kernels, since the
193 default (dynamic read size) is better
194
195 * Extend kernel API with file handles. A file handle is returned
196 by open, and passed to read, write, flush, fsync and release.
197 This is currently only used for debug output in the library.
198
199 * Security changes:
200
201 * Change the current directory to the mountpoint before checking
202 the permissions and mount filesystem on "."
203
204 * By default don't modprobe the fuse module for non-root. The old
205 behavior can be restored with the '--enable-auto-modprobe' flag of
206 ./configure
207
208 * By default don't allow shared writable mappings for non-root.
209 The old behavior can be restored with the 'user_mmap=1' module
210 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000211
Miklos Szeredibd7661b2004-07-23 17:16:29 +00002122004-07-23 Miklos Szeredi <miklos@szeredi.hu>
213
214 * Clean up mount option passing to fusermount and to fuse_new()
215 BEWARE: this changes the userspace API slightly, and the command
216 line usage of programs using fuse_main()
217
Miklos Szeredi58865372004-07-20 14:22:26 +00002182004-07-20 Miklos Szeredi <miklos@szeredi.hu>
219
220 * Optimize reading under 2.6 kernels by issuing multiple page
221 asynchronous read requests
222
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00002232004-07-18 Miklos Szeredi <miklos@szeredi.hu>
224
225 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
226
Miklos Szeredi069c9502004-07-16 16:17:02 +00002272004-07-16 Miklos Szeredi <miklos@szeredi.hu>
228
229 * Separate directory entry and inode attribute validity timer
230
231 * New write semaphore to stop page writeback during truncate
232
233 * Fsync now waits for all writes to complete before sending the
234 request
235
236 * Optimization: if a page is completely written by
237 fuse_commit_write(), clear the dirty flag and set the uptodate
238 flag for that page
239
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000240 * Some memory cleanup at exit
241
Miklos Szeredi2529ca22004-07-13 15:36:52 +00002422004-07-13 Miklos Szeredi <miklos@szeredi.hu>
243
244 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000245 disable the "hide if open" behavior of unlink/rename.
246
247 * If temporary buffer allocation fails in raw read, fall back to a
248 smaller buffer
Miklos Szeredi2529ca22004-07-13 15:36:52 +0000249
Miklos Szeredi73798f92004-07-12 15:55:11 +00002502004-07-12 Miklos Szeredi <miklos@szeredi.hu>
251
252 * Fix bug in do_open() in libfuse: open count was incremented
253 after the reply is sent so it could race with unlink/forget and
254 cause an abort.
255
Miklos Szeredi015fe702004-07-12 11:52:24 +00002562004-07-08 Miklos Szeredi <miklos@szeredi.hu>
257
258 * When performing create or remove operation, refresh the parent's
259 attributes on next revalidate, as i_nlink (and maybe size/time)
260 could be inacurate.
261
262 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
263 pages (2.6 only)
264
265 * Set set_page_dirty address space operation (2.6 only)
266
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002672004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000268
269 * Minor fix in read: print debug info even if read size is zero
270
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002712004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000272
273 * Fix race between truncate and writepage (fsx-linux now runs
274 without error)
275
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002762004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000277
278 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
279 by Mattias Wadman)
280
281 * Added option for direct read/write (-r)
282
283 * Fix revalidate time setting for newly created inodes
284
Miklos Szerediacb4d362004-07-02 16:20:45 +0000285 * Remove uid==0 check for '-x' option in fusermount (kernel checks
286 this)
287
288 * fuse_main() only installs handlers for signals (out of INT, HUP,
289 TERM, PIPE), for which no handler has yet been installed
290
291 * Add module option 'user_allow_other' which if set to non-zero
292 will allow non root user to specify the 'allow_other' mount option
293 ('-x' option of fusermount)
294
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000295 * Fix deadlock between page writeback completion and truncate
296 (bug found by Valient Gough with the fsx-linux utility)
297
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002982004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000299
300 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000301 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
302 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000303
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003042004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000305
306 * Acquire inode->i_sem before open and release methods to prevent
307 concurrent rename or unlink operations.
308
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000309 * Make __fuse_read_cmd() read only one command. This allows
310 multiplexing the fuse file descriptor with other event sources
311 using select() or poll() (patch by Jeff Harris)
312
313 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
314
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003152004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000316
317 * Fix file offset wrap around at 4G when doing large reads
318
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003192004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000320
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000321 * Fix memory leak in open (Valient Gough)
322
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003232004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000324
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000325 * Add "close after delete" support to libfuse (patch by Valient
326 Gough)
327
328 * Cancel all worker threads before exit in multithreaded mode
329
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003302004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000331
332 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000333
334 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000335
336 * Work with newer libtool (1.5a)
337
338 * Check for st_atim member of struct stat
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000339
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003402004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000341
342 * No request allocation needed on inode and file release
343
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003442004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000345
346 * Fix possible inode leak in userspace in case of unfinished
347 lookup/mknod/mkdir/symlink/link operation.
348
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003492004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000350
351 * Fix some races and cleanups in fuse_read_super()
352
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003532004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000354
355 * Requests are allocated at open time
356
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003572004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000358
359 * Build shared library as well as static (using libtool)
360
361 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
362 there has not been a release with the previous minor number, and I
363 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000364
365 * Change fuse_main(), so that default behavior is to go into
366 background if mount is successful. '-f' and '-d' options disable
367 backgrounding. This fixes the "Why does my FUSE daemon hang?"
368 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000369
370 * Cache ENOSYS (function not implemented) errors on *xattr, flush
371 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000372
373 * Don't call getdir method from open() only from first readdir().
374 Open is sometimes just used to store the current directory
375 (e.g. find)
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000376
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003772004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000378
379 * Added flush() call
380
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003812004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000382
383 * Extended attributes support for 2.4 (patch by Cody Pisto)
384
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003852004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000386
387 * Fixed parser with modversions (Mattias Wadman)
388
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003892004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000390
391 * Added mount option parser to 2.4 build
392
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003932004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000394
395 * Replaced binary mount data with text options
396
397 * Show FUSE specific mount options in /proc/mounts
398
399 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
400
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004012004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000402
403 * Check some limits so userspace won't get too big requests
404
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004052004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000406
407 * Kill compile warning
408
409 * Upgraded user-mount patch for 2.6.5
410
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004112004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000412
413 * Add detection of user-mode-linux to configure
414
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004152004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000416
417 * fixed zero size case for getxattr and listxattr
418
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004192004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000420
421 * new fusermount flag '-z': lazy unmount, default is not lazy
422
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000423 * Extended attributes operations added (getxattr, setxattr,
424 listxattr, removexattr)
425
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004262004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000427
428 * If filesystem doesn't define a statfs operation, then an
429 all-zero default statfs is returned instead of ENOSYS
430
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004312004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000432
433 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
434
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004352004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000436
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000437 * Fix for uClinux (Christian Magnusson)
438
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004392004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000440
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000441 * fuse_main() adds "-n progname" to the fusermount command line
442
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000443 * More kernel interface changes:
444
445 * Lookup/getattr return cache timeout values
446
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004472004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000448
449 * Clean up option parsing in fuse_main()
450
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000451 * Added fuse_get() function which returns the fuse object created
452 by fuse_main()
453
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004542004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000455
Miklos Szeredic40748a2004-02-20 16:38:45 +0000456 * removed old way of mounting (fusermount mountpoint program)
457
Miklos Szeredib5958612004-02-20 14:10:49 +0000458 * more kernel interface changes:
459
460 * added nanosecond precision to file times
461
Miklos Szeredic40748a2004-02-20 16:38:45 +0000462 * removed interface version from mount data
463
464 * added /proc/fs/fuse/version which contains MAJOR.MINOR
465
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004662004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000467
468 * statfs library API changed to match other methods. Since this
469 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
470
Miklos Szeredi76f65782004-02-19 16:55:40 +0000471 * kernel interface changes follow:
472
473 * statfs changed to 64 bits, added 'bavail' field
474
475 * add generation number to lookup result
476
477 * optimized mknod/mkdir/symlink/link (no separate lookup is
478 needed)
479
480 * rdev size increased to 32 bits for mknod
481
482 * kernel interface version changed to 3.1
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000483
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004842004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000485
486 * user-mount upgraded for 2.6.3 kernel
487
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004882004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000489
490 * Added user-mount.2.6.2-rc3.patch
491
492 * Add FS_SAFE flag to fuse filesystem
493
494 * fusermount should allow (un)mounting for non-root even if not
495 suid-root
496
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004972004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000498
499 * Remove MS_PERMISSION mount flag (that means something else now)
500
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005012004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000502
503 * Added check for i_size_read/write functions to configure.in
504 (patch by Valient Gough)
505
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005062004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000507
508 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000509
510 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000511
512 * Readpage calls flush_dcache_page() after storing data
513
514 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000515
516 * Make loopback mount of a fuse file work
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000517
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005182004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000519
520 * Released 1.1
521
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005222004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000523
524 * Properly check if the inode exists in fuse_invalidate
525
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005262004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000527
528 * Added -q option for fusermount
529
530 * fuse_unmount() now uses -q option of fusermount, so no error is
531 printed if the cause of the program exit is that the filesystem
532 has already been unmounted
533
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000534 * Fix i_nlink correctness after rmdir/unlink
535
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005362004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000537
Miklos Szeredib1158392004-01-26 14:43:12 +0000538 * Released 1.1-pre2
539
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005402004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000541
Miklos Szeredi307242f2004-01-26 11:28:44 +0000542 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000543
544 * Compile fixes for 2.4 kernels
Miklos Szeredi307242f2004-01-26 11:28:44 +0000545
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005462004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000547
548 * Fix CONFIG_MODVERSIONS compile on 2.6
549
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005502004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000551
552 * Write all pending data before a RELEASE operation
553
554 * Suppress 'Bad file descriptor' warning on exit
555
556 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000557 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000558
Miklos Szeredib1158392004-01-26 14:43:12 +0000559 * New fusermount option '-l' which enables big reads. Big reads
560 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000561
562 * fuse_main() can accept fusermount arguments after a '--'
563
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005642004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000565
566 * Support for exporting filesystem over NFS (see README.NFS)
567
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005682004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000569
570 * Support non-blocking writepage on 2.6. This makes FUSE behave
571 much more nicely in low-memory situations
572
573 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
574 (Note: the mknod method does not yet use 32bit device number)
575
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005762004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000577
578 * Code cleanups
579
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005802004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000581
582 * Released 1.1-pre1
583
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005842004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000585
586 * Integrated 2.6 kernel support patch by Michael Grigoriev
587
588 * Improvements and cleanups for 2.6 kernels
589
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005902004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000591
592 * Added -d option to fusermount
593
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005942003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000595
596 * Added major+minor version to library API, and minor version to
597 kernel API
598
David McNab7a19caf2003-12-13 02:05:46 +00005992003-12-13 David McNab <david@rebirthing.co.nz>
600
601 * Implemented fsync support in examples/example.py
602
603 * Implemented 'fsync' and 'statfs' methods in python
604 interface
605
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006062003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000607
608 * Make it compile on 2.4.19.
609
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +0000610 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000611
David McNab8bf62632003-12-11 22:49:22 +00006122003-12-12 David McNab <david@rebirthing.co.nz>
613
614 * Added distutils support to the python module, as per standard
615 python development practice
616
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006172003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000618
619 * Add file locking for mount/unmount (based on patch by Valient
620 Gough)
621
6222003-12-11 David McNab <david@rebirthing.co.nz>
623
624 * Python filesystem - was broken with python2.3, now fixed:
625 - changed PyTuple_* calls to PySequence_*, because os.lstat
626 is no longer returning a pure tuple
627 - changed PyInt_Check() calls to also call PyLong_Check,
628 to cover for cases (eg os.lstat) where longs are returned
629 - Added support for file 'release' handling, which IMO is
630 essential since this signals to a FS that writes to a file
631 are complete (and therefore the file can now be disposed of
632 meaningfully at the python filesystem's discretion)
633 - Added '__init__' handler to base Fuse class, which allows
634 your Python class to know the mountpoint and mount args,
635 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
636
637 * General:
638 - added 'mount.fuse' script (in util/ dir), which is meant to be
639 symlinked from /sbin, and which allows FUSE filesystems to
640 be mounted with the 'mount' command, and listed in fstab;
641 also, mount arguments get passed to your filesystem
642
643
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006442003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +0000645
646 * Fix kernel version detection (again). Bugreport by Peter Levart
647
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006482003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +0000649
650 * Applied read combining patch by Michael Grigoriev (tested by
651 Valient Gough and Vincent Wagelaar)
652
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006532003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +0000654
655 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
656 #766443)
657
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006582003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +0000659
660 * Error code fixes in kernel module
661
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006622003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +0000663
664 * kernel version detection fix
665
666 * fusermount now uses "lazy" umount option
667
668 * fusermount can use modprobe with module-init-tools
669
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006702003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +0000671
672 * Integrated caching patch by Michael Grigoriev
673
Miklos Szeredida4e4862003-09-08 11:14:11 +0000674 * Added "Filesystems" file with descriptions of projects using
675 FUSE
676
Miklos Szeredi02ceb112003-09-08 13:52:25 +0000677 * Added patch by Michael Grigoriev to allow compliation of FUSE
678 kernel module for 2.6 kernels
679
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006802003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +0000681
682 * And another spec-file fix by Achim Settelmeier
683
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006842003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +0000685
686 * Spec-file fix by Achim Settelmeier
687
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006882003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000689
Miklos Szerediac361172004-11-02 19:14:14 +0000690 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000691
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006922003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +0000693
694 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
695
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006962003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +0000697
698 * Updated fuse.spec file (Achim Settelmeier)
699
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007002003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +0000701
702 * Version 1.0 released
703
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007042003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +0000705
706 * SuSE compilation fix by Juan-Mariano de Goyeneche
707
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007082002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +0000709
710 * The release() VFS call is now exported to the FUSE interface
711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007122002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +0000713
714 * 64 bit file offset fixes in the fuse kernel module
715
716 * Added function 'fuse_exit()' which can be used to exit the main
717 loop
718
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007192002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +0000720
721 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
722 an incompatible interface change.
723
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007242002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +0000725
726 * Portablility fix (bug reported by C. Chris Erway)
727
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007282002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +0000729
730 * Use Mark Glines' fd passing method for default operation instead
731 of old reexec
732
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007332002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +0000734
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +0000735 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
736
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007372002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +0000738
Miklos Szeredi60c23522002-10-24 09:19:43 +0000739 * fix incompatiblity with Red Hat kernels, with help from Nathan
740 Thompson-Amato.
741
Mark Glines65ba2192002-04-18 14:41:48 +00007422002-04-18 Mark Glines <mark@glines.org>
743
744 * added an alternative to fuse_mount(), called
745 fuse_mount_ioslave(), which does not need to reexec the
746 FUSE program.
747 * added a small helper util needed by fuse_mount_ioslave().
748
Mark Glines220635a2002-03-17 07:01:14 +00007492002-03-16 Mark Glines <mark@glines.org>
750
751 * use struct fuse_statfs everywhere possible to avoid problems
752 with the headerfiles changing struct statfs member sizes
753
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007542002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +0000755
756 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
757
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007582002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +0000759
760 * RPM support by Achim Settelmeier
761
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007622002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000763
Miklos Szerediddc862a2002-01-09 13:46:10 +0000764 * Version 0.95 released
765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007662002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +0000767
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000768 * Revaidate all path components not just the last, this means a
769 very small performance penalty for being more up-to-date.
770
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007712002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000772
773 * Update and fix python interface
774
Mark Glinesd84b39a2002-01-07 16:32:02 +00007752002-01-07 Mark Glines <mark@glines.org>
776
777 * Added statfs() support to kernel, lib, examples, and perl!
778
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007792001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +0000780
781 * Better cross compilation support
782
783 * Ported to Compaq IPAQ
784
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007852001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000786
787 * Added function fuse_get_context() to library API (inspired by
788 patch from Matt Ryan)
789
790 * Added flags to fusermount and to kernel interface to control
791 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +0000792
Miklos Szeredife25def2001-12-20 15:38:05 +0000793 * Integrated fuse_set_operations() into fuse_new()
794
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007952001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000796
797 * Applied header protection + extern "C" patch by Roland
798 Bauerschmidt
799
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008002001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000801
802 * Added perl bindings by Mark Glines
803
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008042001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000805
806 * Cleaned up way of mounting simple filesystems.
807
808 * fuse_main() helper function added
809
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008102001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000811
812 * Optimized read/write operations, so that minimal copying of data
813 is done
814
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008152001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000816
817 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000818
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008192001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000820
821 * Fixed vfsmount reference leak in fuse_follow_link
822
823 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
824 userspace is ignored
825
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008262001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000827
Miklos Szeredife25def2001-12-20 15:38:05 +0000828 * Started ChangeLog