blob: f50741c16f6edc71928a17fe76273ee26c29782a [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 Szeredi08ddb8e2004-11-14 09:19:51 +0000162004-11-14 Miklos Szeredi <miklos@szeredi.hu>
17
18 * Released 2.1-pre1
19
202004-11-14 Miklos Szeredi <miklos@szeredi.hu>
21
22 * Fix bug in fuse_readpages() causing Oops in certain situations.
23 Bug found by Vincenzo Ciancia.
24
25 * Fix compilation with kernels versions > 2.6.9.
26
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000272004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +000028
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000029 * Check kernel interface version in fusermount to prevent
30 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +000031
Miklos Szeredi3d60e762004-11-11 14:44:04 +000032 * No need to allocate fuse_conn until actual mount happens
33
34 * Fix potential race between umount and fuse_invalidate
35
36 * Check superblock of proc file in addition to inode number
37
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +000038 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +000039
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000402004-11-10 Miklos Szeredi <miklos@szeredi.hu>
41
42 * Separate configure for the kernel directory
43
Miklos Szeredi3a6ea062004-11-11 10:33:58 +000044 * Don't allow write to return more than 'count'
45
46 * Extend kernel interface for future use
47
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000482004-11-09 Miklos Szeredi <miklos@szeredi.hu>
49
50 * Fix 'makeconf.sh' to use autoreconf if available
51
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +0000522004-11-08 Miklos Szeredi <miklos@szeredi.hu>
53
Miklos Szeredid507c732004-11-08 17:32:25 +000054 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
55 compatibility with earlier versions. To compile earier versions
56 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
57 Do not use the "use_ino" mount flag with filesystems compiled with
58 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +000059
60 * Add pkg-config support. To compile a FUSE based filesystem you
61 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
62 or similar. Note, that the PKG_CONFIG_PATH environment variable
63 usually needs to be set to "/usr/local/lib/pkgconfig".
64
65 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredid507c732004-11-08 17:32:25 +000066
Miklos Szeredia13d9002004-11-02 17:32:03 +0000672004-11-02 Miklos Szeredi <miklos@szeredi.hu>
68
69 * Added "use_ino" mount option. This enables the filesystems to
70 set the st_ino field on files
71
Miklos Szeredib1ab8b52004-11-01 10:57:41 +0000722004-11-01 Miklos Szeredi <miklos@szeredi.hu>
73
74 * Fix compile problems with ancient (<=2.4.18) kernels (reported
75 by Jeremy Smith)
76
Miklos Szeredi874e3c12004-11-01 23:15:20 +000077 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
78
79 * Clear the 'exited' flag when mail loop is finished
80
Miklos Szeredie989f0d2004-10-28 20:24:58 +0000812004-10-28 Miklos Szeredi <miklos@szeredi.hu>
82
83 * Make xattr functions work under 2.6 (bug found by Vincenzo
84 Ciancia)
85
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +0000862004-10-26 Miklos Szeredi <miklos@szeredi.hu>
87
88 * Reset request in fuse_flush() (bugreport by David Shaw)
89
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000902004-10-21 Miklos Szeredi <miklos@szeredi.hu>
91
Miklos Szeredi0e70aa72004-10-21 16:24:29 +000092 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000093 error code
94
Miklos Szeredifb97a1b2004-10-21 09:59:13 +000095 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +000096 make it easier to implement a custom event loop.
97
Miklos Szeredifb97a1b2004-10-21 09:59:13 +000098 * Use daemon() call to background the filesystem after mounting.
99 This function closes the standard input, output and error and
100 changes the current working directory to "/".
101
Miklos Szeredi127d49b2004-10-14 13:33:39 +00001022004-10-14 Miklos Szeredi <miklos@szeredi.hu>
103
104 * Released 1.9
105
Miklos Szeredid45baf42004-10-10 07:56:12 +00001062004-10-09 Miklos Szeredi <miklos@szeredi.hu>
107
108 * Don't allow fuse_flush() to be interrupted (bug found by David
109 Shaw)
110
Miklos Szeredi1f18db52004-09-27 06:54:49 +00001112004-09-27 Miklos Szeredi <miklos@szeredi.hu>
112
113 * Add PID to fuse_context. Patch by Steven James
114
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000115 * Change file handle type to 'unsigned long' in kernel interface
116
Miklos Szeredid169f312004-09-22 08:48:26 +00001172004-09-22 Miklos Szeredi <miklos@szeredi.hu>
118
119 * A slight API change: fuse_get_context() doesn't need the "fuse"
120 pointer, but the returned context contains it instead. The
121 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000122
123 * Fix mounting and umounting FUSE filesystem under another FUSE
124 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredid169f312004-09-22 08:48:26 +0000125
Miklos Szeredic2309912004-09-21 13:40:38 +00001262004-09-21 Miklos Szeredi <miklos@szeredi.hu>
127
128 * Fix deadlock in case of memory allocation failure. Patch by
129 Christian Magnusson
130
Miklos Szeredib2cf9562004-09-16 08:42:40 +00001312004-09-16 Miklos Szeredi <miklos@szeredi.hu>
132
133 * Check memory allocation failures in libfuse
134
Miklos Szeredi65afea12004-09-14 07:13:45 +00001352004-09-14 Miklos Szeredi <miklos@szeredi.hu>
136
137 * Check temporary file creation failure in do_getdir(). Bug
138 spotted by Terje Oseberg
139
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00001402004-09-13 Miklos Szeredi <miklos@szeredi.hu>
141
142 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000143
144 * Make requests non-interruptible so race with FORGET is avoided.
145 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000146
147 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +0000148
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00001492004-09-09 Miklos Szeredi <miklos@szeredi.hu>
150
151 * Fix bug in case two FORGETs for the same node are executed in
152 the wrong order. Bug spotted and endured for months by Franco
153 Broi, and logfile for solution provided by Terje Oseberg
154
Miklos Szeredi12085102004-09-02 18:13:57 +00001552004-09-01 Miklos Szeredi <miklos@szeredi.hu>
156
157 * Add -D_REENTRANT to the compile flags
158
159 * Add documentation of fuse internals by Terje Oseberg
160
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00001612004-08-16 Miklos Szeredi <miklos@szeredi.hu>
162
163 * Change release method to be non-interruptible. Fixes bug
164 causing missing release() call when program which has opened files
165 is killed (reported by Franco Broi and David Shaw)
166
Miklos Szeredi891b8742004-07-29 09:27:49 +00001672004-07-29 Miklos Szeredi <miklos@szeredi.hu>
168
169 * Add fuse_invalidate() to library API
170
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00001712004-07-26 Miklos Szeredi <miklos@szeredi.hu>
172
173 * Check permissions in setattr if 'default_permissions' flag is
174 set. Bug spotted by Damjan Lango
175
Miklos Szeredid66d3942004-07-24 13:47:44 +00001762004-07-24 Miklos Szeredi <miklos@szeredi.hu>
177
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000178 * 'large_read' mount option removed for 2.6 kernels, since the
179 default (dynamic read size) is better
180
181 * Extend kernel API with file handles. A file handle is returned
182 by open, and passed to read, write, flush, fsync and release.
183 This is currently only used for debug output in the library.
184
185 * Security changes:
186
187 * Change the current directory to the mountpoint before checking
188 the permissions and mount filesystem on "."
189
190 * By default don't modprobe the fuse module for non-root. The old
191 behavior can be restored with the '--enable-auto-modprobe' flag of
192 ./configure
193
194 * By default don't allow shared writable mappings for non-root.
195 The old behavior can be restored with the 'user_mmap=1' module
196 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000197
Miklos Szeredibd7661b2004-07-23 17:16:29 +00001982004-07-23 Miklos Szeredi <miklos@szeredi.hu>
199
200 * Clean up mount option passing to fusermount and to fuse_new()
201 BEWARE: this changes the userspace API slightly, and the command
202 line usage of programs using fuse_main()
203
Miklos Szeredi58865372004-07-20 14:22:26 +00002042004-07-20 Miklos Szeredi <miklos@szeredi.hu>
205
206 * Optimize reading under 2.6 kernels by issuing multiple page
207 asynchronous read requests
208
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00002092004-07-18 Miklos Szeredi <miklos@szeredi.hu>
210
211 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
212
Miklos Szeredi069c9502004-07-16 16:17:02 +00002132004-07-16 Miklos Szeredi <miklos@szeredi.hu>
214
215 * Separate directory entry and inode attribute validity timer
216
217 * New write semaphore to stop page writeback during truncate
218
219 * Fsync now waits for all writes to complete before sending the
220 request
221
222 * Optimization: if a page is completely written by
223 fuse_commit_write(), clear the dirty flag and set the uptodate
224 flag for that page
225
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000226 * Some memory cleanup at exit
227
Miklos Szeredi2529ca22004-07-13 15:36:52 +00002282004-07-13 Miklos Szeredi <miklos@szeredi.hu>
229
230 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000231 disable the "hide if open" behavior of unlink/rename.
232
233 * If temporary buffer allocation fails in raw read, fall back to a
234 smaller buffer
Miklos Szeredi2529ca22004-07-13 15:36:52 +0000235
Miklos Szeredi73798f92004-07-12 15:55:11 +00002362004-07-12 Miklos Szeredi <miklos@szeredi.hu>
237
238 * Fix bug in do_open() in libfuse: open count was incremented
239 after the reply is sent so it could race with unlink/forget and
240 cause an abort.
241
Miklos Szeredi015fe702004-07-12 11:52:24 +00002422004-07-08 Miklos Szeredi <miklos@szeredi.hu>
243
244 * When performing create or remove operation, refresh the parent's
245 attributes on next revalidate, as i_nlink (and maybe size/time)
246 could be inacurate.
247
248 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
249 pages (2.6 only)
250
251 * Set set_page_dirty address space operation (2.6 only)
252
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002532004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000254
255 * Minor fix in read: print debug info even if read size is zero
256
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002572004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000258
259 * Fix race between truncate and writepage (fsx-linux now runs
260 without error)
261
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002622004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000263
264 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
265 by Mattias Wadman)
266
267 * Added option for direct read/write (-r)
268
269 * Fix revalidate time setting for newly created inodes
270
Miklos Szerediacb4d362004-07-02 16:20:45 +0000271 * Remove uid==0 check for '-x' option in fusermount (kernel checks
272 this)
273
274 * fuse_main() only installs handlers for signals (out of INT, HUP,
275 TERM, PIPE), for which no handler has yet been installed
276
277 * Add module option 'user_allow_other' which if set to non-zero
278 will allow non root user to specify the 'allow_other' mount option
279 ('-x' option of fusermount)
280
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000281 * Fix deadlock between page writeback completion and truncate
282 (bug found by Valient Gough with the fsx-linux utility)
283
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002842004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000285
286 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000287 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
288 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000289
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00002902004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000291
292 * Acquire inode->i_sem before open and release methods to prevent
293 concurrent rename or unlink operations.
294
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000295 * Make __fuse_read_cmd() read only one command. This allows
296 multiplexing the fuse file descriptor with other event sources
297 using select() or poll() (patch by Jeff Harris)
298
299 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
300
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003012004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000302
303 * Fix file offset wrap around at 4G when doing large reads
304
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003052004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000306
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000307 * Fix memory leak in open (Valient Gough)
308
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003092004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000310
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000311 * Add "close after delete" support to libfuse (patch by Valient
312 Gough)
313
314 * Cancel all worker threads before exit in multithreaded mode
315
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003162004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000317
318 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000319
320 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000321
322 * Work with newer libtool (1.5a)
323
324 * Check for st_atim member of struct stat
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000325
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003262004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000327
328 * No request allocation needed on inode and file release
329
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003302004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000331
332 * Fix possible inode leak in userspace in case of unfinished
333 lookup/mknod/mkdir/symlink/link operation.
334
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003352004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000336
337 * Fix some races and cleanups in fuse_read_super()
338
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003392004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000340
341 * Requests are allocated at open time
342
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003432004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000344
345 * Build shared library as well as static (using libtool)
346
347 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
348 there has not been a release with the previous minor number, and I
349 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000350
351 * Change fuse_main(), so that default behavior is to go into
352 background if mount is successful. '-f' and '-d' options disable
353 backgrounding. This fixes the "Why does my FUSE daemon hang?"
354 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000355
356 * Cache ENOSYS (function not implemented) errors on *xattr, flush
357 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000358
359 * Don't call getdir method from open() only from first readdir().
360 Open is sometimes just used to store the current directory
361 (e.g. find)
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000362
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003632004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000364
365 * Added flush() call
366
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003672004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000368
369 * Extended attributes support for 2.4 (patch by Cody Pisto)
370
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003712004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000372
373 * Fixed parser with modversions (Mattias Wadman)
374
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003752004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000376
377 * Added mount option parser to 2.4 build
378
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003792004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000380
381 * Replaced binary mount data with text options
382
383 * Show FUSE specific mount options in /proc/mounts
384
385 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
386
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003872004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000388
389 * Check some limits so userspace won't get too big requests
390
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003912004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000392
393 * Kill compile warning
394
395 * Upgraded user-mount patch for 2.6.5
396
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00003972004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000398
399 * Add detection of user-mode-linux to configure
400
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004012004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000402
403 * fixed zero size case for getxattr and listxattr
404
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004052004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000406
407 * new fusermount flag '-z': lazy unmount, default is not lazy
408
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000409 * Extended attributes operations added (getxattr, setxattr,
410 listxattr, removexattr)
411
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004122004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000413
414 * If filesystem doesn't define a statfs operation, then an
415 all-zero default statfs is returned instead of ENOSYS
416
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004172004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000418
419 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
420
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004212004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000422
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000423 * Fix for uClinux (Christian Magnusson)
424
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004252004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000426
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000427 * fuse_main() adds "-n progname" to the fusermount command line
428
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000429 * More kernel interface changes:
430
431 * Lookup/getattr return cache timeout values
432
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004332004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000434
435 * Clean up option parsing in fuse_main()
436
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000437 * Added fuse_get() function which returns the fuse object created
438 by fuse_main()
439
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004402004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000441
Miklos Szeredic40748a2004-02-20 16:38:45 +0000442 * removed old way of mounting (fusermount mountpoint program)
443
Miklos Szeredib5958612004-02-20 14:10:49 +0000444 * more kernel interface changes:
445
446 * added nanosecond precision to file times
447
Miklos Szeredic40748a2004-02-20 16:38:45 +0000448 * removed interface version from mount data
449
450 * added /proc/fs/fuse/version which contains MAJOR.MINOR
451
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004522004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000453
454 * statfs library API changed to match other methods. Since this
455 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
456
Miklos Szeredi76f65782004-02-19 16:55:40 +0000457 * kernel interface changes follow:
458
459 * statfs changed to 64 bits, added 'bavail' field
460
461 * add generation number to lookup result
462
463 * optimized mknod/mkdir/symlink/link (no separate lookup is
464 needed)
465
466 * rdev size increased to 32 bits for mknod
467
468 * kernel interface version changed to 3.1
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000469
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004702004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000471
472 * user-mount upgraded for 2.6.3 kernel
473
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004742004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000475
476 * Added user-mount.2.6.2-rc3.patch
477
478 * Add FS_SAFE flag to fuse filesystem
479
480 * fusermount should allow (un)mounting for non-root even if not
481 suid-root
482
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004832004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000484
485 * Remove MS_PERMISSION mount flag (that means something else now)
486
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004872004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000488
489 * Added check for i_size_read/write functions to configure.in
490 (patch by Valient Gough)
491
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00004922004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000493
494 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000495
496 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000497
498 * Readpage calls flush_dcache_page() after storing data
499
500 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000501
502 * Make loopback mount of a fuse file work
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000503
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005042004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000505
506 * Released 1.1
507
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005082004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000509
510 * Properly check if the inode exists in fuse_invalidate
511
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005122004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000513
514 * Added -q option for fusermount
515
516 * fuse_unmount() now uses -q option of fusermount, so no error is
517 printed if the cause of the program exit is that the filesystem
518 has already been unmounted
519
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000520 * Fix i_nlink correctness after rmdir/unlink
521
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005222004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000523
Miklos Szeredib1158392004-01-26 14:43:12 +0000524 * Released 1.1-pre2
525
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005262004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000527
Miklos Szeredi307242f2004-01-26 11:28:44 +0000528 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000529
530 * Compile fixes for 2.4 kernels
Miklos Szeredi307242f2004-01-26 11:28:44 +0000531
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005322004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000533
534 * Fix CONFIG_MODVERSIONS compile on 2.6
535
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005362004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000537
538 * Write all pending data before a RELEASE operation
539
540 * Suppress 'Bad file descriptor' warning on exit
541
542 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000543 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000544
Miklos Szeredib1158392004-01-26 14:43:12 +0000545 * New fusermount option '-l' which enables big reads. Big reads
546 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000547
548 * fuse_main() can accept fusermount arguments after a '--'
549
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005502004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000551
552 * Support for exporting filesystem over NFS (see README.NFS)
553
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005542004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000555
556 * Support non-blocking writepage on 2.6. This makes FUSE behave
557 much more nicely in low-memory situations
558
559 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
560 (Note: the mknod method does not yet use 32bit device number)
561
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005622004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000563
564 * Code cleanups
565
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005662004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000567
568 * Released 1.1-pre1
569
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005702004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000571
572 * Integrated 2.6 kernel support patch by Michael Grigoriev
573
574 * Improvements and cleanups for 2.6 kernels
575
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005762004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000577
578 * Added -d option to fusermount
579
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005802003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000581
582 * Added major+minor version to library API, and minor version to
583 kernel API
584
David McNab7a19caf2003-12-13 02:05:46 +00005852003-12-13 David McNab <david@rebirthing.co.nz>
586
587 * Implemented fsync support in examples/example.py
588
589 * Implemented 'fsync' and 'statfs' methods in python
590 interface
591
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005922003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000593
594 * Make it compile on 2.4.19.
595
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +0000596 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000597
David McNab8bf62632003-12-11 22:49:22 +00005982003-12-12 David McNab <david@rebirthing.co.nz>
599
600 * Added distutils support to the python module, as per standard
601 python development practice
602
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006032003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000604
605 * Add file locking for mount/unmount (based on patch by Valient
606 Gough)
607
6082003-12-11 David McNab <david@rebirthing.co.nz>
609
610 * Python filesystem - was broken with python2.3, now fixed:
611 - changed PyTuple_* calls to PySequence_*, because os.lstat
612 is no longer returning a pure tuple
613 - changed PyInt_Check() calls to also call PyLong_Check,
614 to cover for cases (eg os.lstat) where longs are returned
615 - Added support for file 'release' handling, which IMO is
616 essential since this signals to a FS that writes to a file
617 are complete (and therefore the file can now be disposed of
618 meaningfully at the python filesystem's discretion)
619 - Added '__init__' handler to base Fuse class, which allows
620 your Python class to know the mountpoint and mount args,
621 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
622
623 * General:
624 - added 'mount.fuse' script (in util/ dir), which is meant to be
625 symlinked from /sbin, and which allows FUSE filesystems to
626 be mounted with the 'mount' command, and listed in fstab;
627 also, mount arguments get passed to your filesystem
628
629
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006302003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +0000631
632 * Fix kernel version detection (again). Bugreport by Peter Levart
633
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006342003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +0000635
636 * Applied read combining patch by Michael Grigoriev (tested by
637 Valient Gough and Vincent Wagelaar)
638
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006392003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +0000640
641 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
642 #766443)
643
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006442003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +0000645
646 * Error code fixes in kernel module
647
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006482003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +0000649
650 * kernel version detection fix
651
652 * fusermount now uses "lazy" umount option
653
654 * fusermount can use modprobe with module-init-tools
655
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006562003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +0000657
658 * Integrated caching patch by Michael Grigoriev
659
Miklos Szeredida4e4862003-09-08 11:14:11 +0000660 * Added "Filesystems" file with descriptions of projects using
661 FUSE
662
Miklos Szeredi02ceb112003-09-08 13:52:25 +0000663 * Added patch by Michael Grigoriev to allow compliation of FUSE
664 kernel module for 2.6 kernels
665
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006662003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +0000667
668 * And another spec-file fix by Achim Settelmeier
669
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006702003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +0000671
672 * Spec-file fix by Achim Settelmeier
673
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006742003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000675
Miklos Szerediac361172004-11-02 19:14:14 +0000676 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000677
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006782003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +0000679
680 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
681
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006822003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +0000683
684 * Updated fuse.spec file (Achim Settelmeier)
685
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006862003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +0000687
688 * Version 1.0 released
689
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006902003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +0000691
692 * SuSE compilation fix by Juan-Mariano de Goyeneche
693
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006942002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +0000695
696 * The release() VFS call is now exported to the FUSE interface
697
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006982002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +0000699
700 * 64 bit file offset fixes in the fuse kernel module
701
702 * Added function 'fuse_exit()' which can be used to exit the main
703 loop
704
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007052002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +0000706
707 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
708 an incompatible interface change.
709
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007102002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +0000711
712 * Portablility fix (bug reported by C. Chris Erway)
713
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007142002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +0000715
716 * Use Mark Glines' fd passing method for default operation instead
717 of old reexec
718
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007192002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +0000720
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +0000721 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
722
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007232002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +0000724
Miklos Szeredi60c23522002-10-24 09:19:43 +0000725 * fix incompatiblity with Red Hat kernels, with help from Nathan
726 Thompson-Amato.
727
Mark Glines65ba2192002-04-18 14:41:48 +00007282002-04-18 Mark Glines <mark@glines.org>
729
730 * added an alternative to fuse_mount(), called
731 fuse_mount_ioslave(), which does not need to reexec the
732 FUSE program.
733 * added a small helper util needed by fuse_mount_ioslave().
734
Mark Glines220635a2002-03-17 07:01:14 +00007352002-03-16 Mark Glines <mark@glines.org>
736
737 * use struct fuse_statfs everywhere possible to avoid problems
738 with the headerfiles changing struct statfs member sizes
739
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007402002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +0000741
742 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
743
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007442002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +0000745
746 * RPM support by Achim Settelmeier
747
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007482002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000749
Miklos Szerediddc862a2002-01-09 13:46:10 +0000750 * Version 0.95 released
751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007522002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +0000753
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000754 * Revaidate all path components not just the last, this means a
755 very small performance penalty for being more up-to-date.
756
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007572002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +0000758
759 * Update and fix python interface
760
Mark Glinesd84b39a2002-01-07 16:32:02 +00007612002-01-07 Mark Glines <mark@glines.org>
762
763 * Added statfs() support to kernel, lib, examples, and perl!
764
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007652001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +0000766
767 * Better cross compilation support
768
769 * Ported to Compaq IPAQ
770
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007712001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000772
773 * Added function fuse_get_context() to library API (inspired by
774 patch from Matt Ryan)
775
776 * Added flags to fusermount and to kernel interface to control
777 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +0000778
Miklos Szeredife25def2001-12-20 15:38:05 +0000779 * Integrated fuse_set_operations() into fuse_new()
780
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007812001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000782
783 * Applied header protection + extern "C" patch by Roland
784 Bauerschmidt
785
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007862001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000787
788 * Added perl bindings by Mark Glines
789
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007902001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000791
792 * Cleaned up way of mounting simple filesystems.
793
794 * fuse_main() helper function added
795
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007962001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000797
798 * Optimized read/write operations, so that minimal copying of data
799 is done
800
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008012001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +0000802
803 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000804
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008052001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000806
807 * Fixed vfsmount reference leak in fuse_follow_link
808
809 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
810 userspace is ignored
811
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008122001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +0000813
Miklos Szeredife25def2001-12-20 15:38:05 +0000814 * Started ChangeLog