blob: dff2600c3f5d010f65031209de67d62632d82037 [file] [log] [blame]
Miklos Szeredib92d9782005-02-07 16:10:49 +000012005-02-07 Miklos Szeredi <miklos@szeredi.hu>
2
3 * Cleaned up directory reading (temporary file is not used)
4
Miklos Szerediff30a6c2005-02-02 10:53:59 +000052005-02-02 Miklos Szeredi <miklos@szeredi.hu>
6
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +00007 * Released 2.2
8
92005-02-02 Miklos Szeredi <miklos@szeredi.hu>
10
Miklos Szerediff30a6c2005-02-02 10:53:59 +000011 * Fix possible race when operation is interrupted
12
Miklos Szeredi7a983952005-01-28 09:58:19 +0000132005-01-28 Miklos Szeredi <miklos@szeredi.hu>
14
Miklos Szeredie5183742005-02-02 11:14:04 +000015 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +000016
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000172005-01-26 Miklos Szeredi <miklos@szeredi.hu>
18
Miklos Szeredid48d5f72005-01-26 20:43:41 +000019 * Released 2.2-pre6
20
212005-01-26 Miklos Szeredi <miklos@szeredi.hu>
22
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000023 * Fix bug in link() operation which caused the wrong path to be
24 passed as the first argument. Found by Anton Altaparmakov
25
Miklos Szeredi01fd89c2005-01-21 11:18:35 +0000262005-01-21 Miklos Szeredi <miklos@szeredi.hu>
27
28 * LIB: fix double reply in readdir operation
29
Miklos Szeredi773d4ae2005-01-21 16:09:08 +000030 * fusermount: fix uid checking bug. Patch by Adam Connell
31
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +000032 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +000033 Patch by Keshava Gowda
34
Miklos Szeredi64074142005-01-20 08:48:11 +0000352005-01-20 Miklos Szeredi <miklos@szeredi.hu>
36
Miklos Szeredi092b50b2005-01-20 18:05:07 +000037 * KERNEL: provide correct llseek semantics for fuse device (fixes
38 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
39
402005-01-20 Miklos Szeredi <miklos@szeredi.hu>
41
Miklos Szeredi64074142005-01-20 08:48:11 +000042 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
43
Miklos Szeredi1adb2272005-01-18 21:19:58 +0000442005-01-18 Miklos Szeredi <miklos@szeredi.hu>
45
46 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
47 and RELEASEDIR. This ends the ugly hack of passing a file
48 descriptor to the kernel, and actually makes the code simpler.
49
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000502005-01-17 Miklos Szeredi <miklos@szeredi.hu>
51
Miklos Szeredic2e960e2005-01-17 13:05:21 +000052 * Released 2.2-pre4
53
542005-01-17 Miklos Szeredi <miklos@szeredi.hu>
55
Miklos Szeredi7db35c02005-01-17 09:46:28 +000056 * fusermount: remove capability setting, which was the cause of
57 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +000058 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +000059
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000602005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +000061
Miklos Szeredidbe0f652005-01-15 14:32:56 +000062 * fix compilation on 2.4 kernels (reported by Valient Gough)
63
64 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +000065
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +000066 * fusermount: improve parsing of /etc/fuse.conf
67
682005-01-13 Miklos Szeredi <miklos@szeredi.hu>
69
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +000070 * Remove 'mount_max' and 'user_allow_other' module options. These
71 are now checked by fusermount, and can be set in /etc/fuse.conf
72
73 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
74
Miklos Szeredi81394522005-01-11 14:24:18 +0000752005-01-11 Miklos Szeredi <miklos@szeredi.hu>
76
77 * KERNEL: fix possible inode allocation problem, where
78 sizeof(struct inode) is not aligned (found by Mike Waychison)
79
80 * KERNEL: use new follow_link/put_link methods
81
82 * KERNEL: cosmetic fixes
83
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +0000842005-01-10 Miklos Szeredi <miklos@szeredi.hu>
85
86 * Released 2.2-pre3
87
882005-01-10 Miklos Szeredi <miklos@szeredi.hu>
89
90 * Add missing code that was accidently left out
91
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000922005-01-09 Miklos Szeredi <miklos@szeredi.hu>
93
Miklos Szeredi8d775f72005-01-09 20:22:53 +000094 * Released 2.2-pre2
95
962005-01-09 Miklos Szeredi <miklos@szeredi.hu>
97
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +000098 * Change "uid" mount option to "user_id" to avoid confusion with a
99 mount option "uid" commonly used by many filesystems
100
1012005-01-09 Miklos Szeredi <miklos@szeredi.hu>
102
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000103 * Released 2.2-pre1
104
1052005-01-09 Miklos Szeredi <miklos@szeredi.hu>
106
107 * If FUSE is configured in the kernel, don't build it by default
108
Miklos Szeredi2a927272005-01-07 11:14:15 +00001092005-01-07 Miklos Szeredi <miklos@szeredi.hu>
110
111 * Compile fix by Christian Magnusson
112
Miklos Szeredib6220192005-01-05 16:19:10 +00001132005-01-05 Miklos Szeredi <miklos@szeredi.hu>
114
115 * Fix compilation for 2.6.{0-5} kernels
116
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001172005-01-04 Miklos Szeredi <miklos@szeredi.hu>
118
119 * KERNEL: if request is interrupted, still keep reference to used
120 inode(s) and file, so that FORGET and RELEASE are not sent until
121 userspace finishes the request.
122
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000123 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
124 request with the same information, which is more flexible,
125 simpler, works on embedded systems.
126
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001272004-12-16 Miklos Szeredi <miklos@szeredi.hu>
128
129 * KERNEL ABI: update interface to make it independent of type
130 sizes. This will help on 64 bit architectures which can run
131 legacy 32 bit applications.
132
133 * KERNEL ABI: add "len" field to request headers. This will allow
134 sending/receiving requests in multiple chunks.
135
136 * KERNEL: handle file type change more intelligently
137
138 * LIB: "-o debug" option should disable backgrounding (fix by
139 Fabien Reygrobellet)
140
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00001412004-12-13 Miklos Szeredi <miklos@szeredi.hu>
142
143 * KERNEL: invalidate dentry/attributes if interrupted request
144 could leave filesystem in an unknown state.
145
Miklos Szeredie56818b2004-12-12 11:45:24 +00001462004-12-12 Miklos Szeredi <miklos@szeredi.hu>
147
148 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
149 These will cause some regressions, but stability is considered
150 more important. If any of these features turns out to be
151 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000152
Miklos Szeredie56818b2004-12-12 11:45:24 +0000153 * Make all requests interruptible (only with SIGKILL currently).
154 This can be used to break any deadlock produced by the userspace
155 filesystem accessing it's own exported files. The RELEASE request
156 is special, because if it's interrupted before sending it to
157 userspace it is still sent, but the reply is not awaited.
158
159 * If request is interrupted before being sent to userspace, and if
160 it hasn't yet got any side effects, it is always restarted,
161 regardless of the SA_RESTART flag. This makes these interruptions
162 transparent to the process.
163
164 * Remove shared-writable mmap support, which was prone to an
165 out-of-memory deadlock situation
166
167 * Remove INVALIDATE userspace initiated request
168
169 * Make readpages() synchronous. Asynchronous requests are
170 deadlock prone, since they cannot be interrupted.
171
172 * Add readv/writev support to fuse device operations
173
174 * Remove some printks, which userspace FS can use for a DoS
175 against syslog
176
177 * Remove 'large_read' mount option from 2.6 in kernel, check it in
178 fusermount instead
179
180 * LIB: improve compatibility with a fuse.h header installed in
181 ${prefix}/include which in turn includes the real header.
182
183 * LIB: improve compatibility by defining fuse_main() (which is now
184 not used), so old configure scripts find it.
185
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00001862004-12-10 Miklos Szeredi <miklos@szeredi.hu>
187
188 * When mounting on a subdirectory of / don't duplicate slashes at
189 the beggining of path (spotted by David Shaw)
190
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00001912004-12-09 Miklos Szeredi <miklos@szeredi.hu>
192
193 * Fix bug causing garbage in mount options (spotted by David Shaw)
194
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00001952004-12-07 Miklos Szeredi <miklos@szeredi.hu>
196
197 * Add 'writepage' flag to 'fuse_file_info'.
198
199 * More comments in fuse.h
200
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000201 * Get rid of double underscores
202
Miklos Szeredi799993c2004-12-04 21:20:05 +00002032004-12-04 Miklos Szeredi <miklos@szeredi.hu>
204
205 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
206
207 * helper.c: add -ho option, which only displays the options not
208 the usage header. This can be used by filesystems which have
209 their own options.
210
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00002112004-12-03 Miklos Szeredi <miklos@szeredi.hu>
212
213 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
214 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
215 including the fuse header
216
217 * Add binary compatibility to 2.1 version of library with symbol
218 versioning
219
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00002202004-12-03 Miklos Szeredi <miklos@szeredi.hu>
221
222 * Released 2.1
223
Miklos Szeredi039322d2004-12-01 18:39:12 +00002242004-12-01 Miklos Szeredi <miklos@szeredi.hu>
225
226 * kernel: clean up writing functions
227
228 * kernel: no allocation on write in direct_io mode
229
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000230 * move linux/fuse.h to fuse_kernel.h
231
Miklos Szeredi83a07442004-11-30 18:25:20 +00002322004-11-30 Miklos Szeredi <miklos@szeredi.hu>
233
234 * kernel: clean up reading functions
235
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00002362004-11-29 Miklos Szeredi <miklos@szeredi.hu>
237
238 * kernel: make readpage() uninterruptible
239
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000240 * kernel: check readonly filesystem flag in fuse_permission
241
242 * lib: don't die if version file not found and new style device
243 exists
244
245 * lib: add '-r' option, which is short for '-o ro'
246
247 * fusermount: simplify device opening
248
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000249 * kernel: when direct_io is turend on, copy data directly to
250 destination without itermediate buffer. More efficient and safer,
251 since no allocation is done.
252
253 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000254
255 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000256
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00002572004-11-26 Miklos Szeredi <miklos@szeredi.hu>
258
259 * libfuse API change: open, read, write, flush, fsync and release
260 are passed a 'struct fuse_file_info' pointer containing the open
261 flags (open and release), and the file handle. Verion changed to
262 3.0.
263
Miklos Szeredia25d4c22004-11-23 22:32:16 +00002642004-11-23 Miklos Szeredi <miklos@szeredi.hu>
265
266 * More cleanups in the kernel
267
268 * The 10,229 charater device number has been assigned for FUSE
269
270 * Version file checking fix (reported by Christian Magnusson)
271
272 * fusermount: opening the fuse device now doesn't need /sys.
273
274 * Optimize reading by controlling the maximum readahead based on
275 the 'max_read' mount option
276
277 * fixes for UCLIBC (Christian Magnusson)
278
Miklos Szeredi13ed4822004-11-20 11:12:21 +00002792004-11-19 Miklos Szeredi <miklos@szeredi.hu>
280
281 * Cleaned up kernel in preparation for merge into mainline:
282
283 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
284
285 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
286
287 * __user annotations for sparse
288
289 * allocate individual pages instead of kmalloc in fuse_readdir,
290 fuse_read and fuse_write.
291
292 * Fix NFS export in case "use_ino" mount option is given
293
Miklos Szeredif3845c42004-11-20 11:18:34 +0000294 * Make libfuse and fusermount compatible with future versions
295
296 * fusermount: properly add mount options to /etc/mtab
297
2982004-11-15 Miklos Szeredi <miklos@szeredi.hu>
299
300 * fusermount: do not resolve last component of mountpoint on if it
301 is '.' or '..'. This new path resolvation is now done on mount as
302 well as unmount. This enables relative paths to work on unmount.
303
304 * fusermount: parse common mount options like "ro", "rw", etc...
305
306 * Allow module params to be changed through sysfs
307
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00003082004-11-14 Miklos Szeredi <miklos@szeredi.hu>
309
310 * Released 2.1-pre1
311
3122004-11-14 Miklos Szeredi <miklos@szeredi.hu>
313
314 * Fix bug in fuse_readpages() causing Oops in certain situations.
315 Bug found by Vincenzo Ciancia.
316
317 * Fix compilation with kernels versions > 2.6.9.
318
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00003192004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000320
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000321 * Check kernel interface version in fusermount to prevent
322 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000323
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000324 * No need to allocate fuse_conn until actual mount happens
325
326 * Fix potential race between umount and fuse_invalidate
327
328 * Check superblock of proc file in addition to inode number
329
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000330 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000331
Miklos Szeredi51ec1032004-11-10 11:52:26 +00003322004-11-10 Miklos Szeredi <miklos@szeredi.hu>
333
334 * Separate configure for the kernel directory
335
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000336 * Don't allow write to return more than 'count'
337
338 * Extend kernel interface for future use
339
Miklos Szeredi51ec1032004-11-10 11:52:26 +00003402004-11-09 Miklos Szeredi <miklos@szeredi.hu>
341
342 * Fix 'makeconf.sh' to use autoreconf if available
343
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00003442004-11-08 Miklos Szeredi <miklos@szeredi.hu>
345
Miklos Szeredid507c732004-11-08 17:32:25 +0000346 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
347 compatibility with earlier versions. To compile earier versions
348 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
349 Do not use the "use_ino" mount flag with filesystems compiled with
350 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000351
352 * Add pkg-config support. To compile a FUSE based filesystem you
353 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
354 or similar. Note, that the PKG_CONFIG_PATH environment variable
355 usually needs to be set to "/usr/local/lib/pkgconfig".
356
357 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000358
Miklos Szeredia13d9002004-11-02 17:32:03 +00003592004-11-02 Miklos Szeredi <miklos@szeredi.hu>
360
361 * Added "use_ino" mount option. This enables the filesystems to
362 set the st_ino field on files
363
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00003642004-11-01 Miklos Szeredi <miklos@szeredi.hu>
365
366 * Fix compile problems with ancient (<=2.4.18) kernels (reported
367 by Jeremy Smith)
368
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000369 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
370
371 * Clear the 'exited' flag when mail loop is finished
372
Miklos Szeredie989f0d2004-10-28 20:24:58 +00003732004-10-28 Miklos Szeredi <miklos@szeredi.hu>
374
375 * Make xattr functions work under 2.6 (bug found by Vincenzo
376 Ciancia)
377
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00003782004-10-26 Miklos Szeredi <miklos@szeredi.hu>
379
380 * Reset request in fuse_flush() (bugreport by David Shaw)
381
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00003822004-10-21 Miklos Szeredi <miklos@szeredi.hu>
383
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000384 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000385 error code
386
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000387 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000388 make it easier to implement a custom event loop.
389
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000390 * Use daemon() call to background the filesystem after mounting.
391 This function closes the standard input, output and error and
392 changes the current working directory to "/".
393
Miklos Szeredi127d49b2004-10-14 13:33:39 +00003942004-10-14 Miklos Szeredi <miklos@szeredi.hu>
395
396 * Released 1.9
397
Miklos Szeredid45baf42004-10-10 07:56:12 +00003982004-10-09 Miklos Szeredi <miklos@szeredi.hu>
399
400 * Don't allow fuse_flush() to be interrupted (bug found by David
401 Shaw)
402
Miklos Szeredi1f18db52004-09-27 06:54:49 +00004032004-09-27 Miklos Szeredi <miklos@szeredi.hu>
404
405 * Add PID to fuse_context. Patch by Steven James
406
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000407 * Change file handle type to 'unsigned long' in kernel interface
408
Miklos Szeredid169f312004-09-22 08:48:26 +00004092004-09-22 Miklos Szeredi <miklos@szeredi.hu>
410
411 * A slight API change: fuse_get_context() doesn't need the "fuse"
412 pointer, but the returned context contains it instead. The
413 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000414
415 * Fix mounting and umounting FUSE filesystem under another FUSE
416 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000417
Miklos Szeredic2309912004-09-21 13:40:38 +00004182004-09-21 Miklos Szeredi <miklos@szeredi.hu>
419
420 * Fix deadlock in case of memory allocation failure. Patch by
421 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000422
Miklos Szeredib2cf9562004-09-16 08:42:40 +00004232004-09-16 Miklos Szeredi <miklos@szeredi.hu>
424
425 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000426
Miklos Szeredi65afea12004-09-14 07:13:45 +00004272004-09-14 Miklos Szeredi <miklos@szeredi.hu>
428
429 * Check temporary file creation failure in do_getdir(). Bug
430 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000431
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00004322004-09-13 Miklos Szeredi <miklos@szeredi.hu>
433
434 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000435
436 * Make requests non-interruptible so race with FORGET is avoided.
437 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000438
439 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000440
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00004412004-09-09 Miklos Szeredi <miklos@szeredi.hu>
442
443 * Fix bug in case two FORGETs for the same node are executed in
444 the wrong order. Bug spotted and endured for months by Franco
445 Broi, and logfile for solution provided by Terje Oseberg
446
Miklos Szeredi12085102004-09-02 18:13:57 +00004472004-09-01 Miklos Szeredi <miklos@szeredi.hu>
448
449 * Add -D_REENTRANT to the compile flags
450
451 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000452
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00004532004-08-16 Miklos Szeredi <miklos@szeredi.hu>
454
455 * Change release method to be non-interruptible. Fixes bug
456 causing missing release() call when program which has opened files
457 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000458
Miklos Szeredi891b8742004-07-29 09:27:49 +00004592004-07-29 Miklos Szeredi <miklos@szeredi.hu>
460
461 * Add fuse_invalidate() to library API
462
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00004632004-07-26 Miklos Szeredi <miklos@szeredi.hu>
464
465 * Check permissions in setattr if 'default_permissions' flag is
466 set. Bug spotted by Damjan Lango
467
Miklos Szeredid66d3942004-07-24 13:47:44 +00004682004-07-24 Miklos Szeredi <miklos@szeredi.hu>
469
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000470 * 'large_read' mount option removed for 2.6 kernels, since the
471 default (dynamic read size) is better
472
473 * Extend kernel API with file handles. A file handle is returned
474 by open, and passed to read, write, flush, fsync and release.
475 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000476
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000477 * Security changes:
478
479 * Change the current directory to the mountpoint before checking
480 the permissions and mount filesystem on "."
481
482 * By default don't modprobe the fuse module for non-root. The old
483 behavior can be restored with the '--enable-auto-modprobe' flag of
484 ./configure
485
486 * By default don't allow shared writable mappings for non-root.
487 The old behavior can be restored with the 'user_mmap=1' module
488 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000489
Miklos Szeredibd7661b2004-07-23 17:16:29 +00004902004-07-23 Miklos Szeredi <miklos@szeredi.hu>
491
492 * Clean up mount option passing to fusermount and to fuse_new()
493 BEWARE: this changes the userspace API slightly, and the command
494 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000495
Miklos Szeredi58865372004-07-20 14:22:26 +00004962004-07-20 Miklos Szeredi <miklos@szeredi.hu>
497
498 * Optimize reading under 2.6 kernels by issuing multiple page
499 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000500
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00005012004-07-18 Miklos Szeredi <miklos@szeredi.hu>
502
503 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000504
Miklos Szeredi069c9502004-07-16 16:17:02 +00005052004-07-16 Miklos Szeredi <miklos@szeredi.hu>
506
507 * Separate directory entry and inode attribute validity timer
508
509 * New write semaphore to stop page writeback during truncate
510
511 * Fsync now waits for all writes to complete before sending the
512 request
513
514 * Optimization: if a page is completely written by
515 fuse_commit_write(), clear the dirty flag and set the uptodate
516 flag for that page
517
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000518 * Some memory cleanup at exit
519
Miklos Szeredi2529ca22004-07-13 15:36:52 +00005202004-07-13 Miklos Szeredi <miklos@szeredi.hu>
521
522 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000523 disable the "hide if open" behavior of unlink/rename.
524
525 * If temporary buffer allocation fails in raw read, fall back to a
526 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000527
Miklos Szeredi73798f92004-07-12 15:55:11 +00005282004-07-12 Miklos Szeredi <miklos@szeredi.hu>
529
530 * Fix bug in do_open() in libfuse: open count was incremented
531 after the reply is sent so it could race with unlink/forget and
532 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000533
Miklos Szeredi015fe702004-07-12 11:52:24 +00005342004-07-08 Miklos Szeredi <miklos@szeredi.hu>
535
536 * When performing create or remove operation, refresh the parent's
537 attributes on next revalidate, as i_nlink (and maybe size/time)
538 could be inacurate.
539
540 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
541 pages (2.6 only)
542
543 * Set set_page_dirty address space operation (2.6 only)
544
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005452004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000546
547 * Minor fix in read: print debug info even if read size is zero
548
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005492004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000550
551 * Fix race between truncate and writepage (fsx-linux now runs
552 without error)
553
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005542004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000555
556 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
557 by Mattias Wadman)
558
559 * Added option for direct read/write (-r)
560
561 * Fix revalidate time setting for newly created inodes
562
Miklos Szerediacb4d362004-07-02 16:20:45 +0000563 * Remove uid==0 check for '-x' option in fusermount (kernel checks
564 this)
565
566 * fuse_main() only installs handlers for signals (out of INT, HUP,
567 TERM, PIPE), for which no handler has yet been installed
568
569 * Add module option 'user_allow_other' which if set to non-zero
570 will allow non root user to specify the 'allow_other' mount option
571 ('-x' option of fusermount)
572
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000573 * Fix deadlock between page writeback completion and truncate
574 (bug found by Valient Gough with the fsx-linux utility)
575
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005762004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000577
578 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000579 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
580 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000581
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005822004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000583
584 * Acquire inode->i_sem before open and release methods to prevent
585 concurrent rename or unlink operations.
586
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000587 * Make __fuse_read_cmd() read only one command. This allows
588 multiplexing the fuse file descriptor with other event sources
589 using select() or poll() (patch by Jeff Harris)
590
591 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
592
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005932004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000594
595 * Fix file offset wrap around at 4G when doing large reads
596
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005972004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000598
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000599 * Fix memory leak in open (Valient Gough)
600
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006012004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000602
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000603 * Add "close after delete" support to libfuse (patch by Valient
604 Gough)
605
606 * Cancel all worker threads before exit in multithreaded mode
607
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006082004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000609
610 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000611
612 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000613
614 * Work with newer libtool (1.5a)
615
616 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000617
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006182004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000619
620 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000621
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006222004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000623
624 * Fix possible inode leak in userspace in case of unfinished
625 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000626
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006272004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000628
629 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000630
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006312004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000632
633 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000634
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006352004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000636
637 * Build shared library as well as static (using libtool)
638
639 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
640 there has not been a release with the previous minor number, and I
641 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000642
643 * Change fuse_main(), so that default behavior is to go into
644 background if mount is successful. '-f' and '-d' options disable
645 backgrounding. This fixes the "Why does my FUSE daemon hang?"
646 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000647
648 * Cache ENOSYS (function not implemented) errors on *xattr, flush
649 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000650
651 * Don't call getdir method from open() only from first readdir().
652 Open is sometimes just used to store the current directory
653 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000654
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006552004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000656
657 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000658
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006592004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000660
661 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006632004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000664
665 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000666
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006672004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000668
669 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000670
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006712004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000672
673 * Replaced binary mount data with text options
674
675 * Show FUSE specific mount options in /proc/mounts
676
677 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
678
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006792004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000680
681 * Check some limits so userspace won't get too big requests
682
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006832004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000684
685 * Kill compile warning
686
687 * Upgraded user-mount patch for 2.6.5
688
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006892004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000690
691 * Add detection of user-mode-linux to configure
692
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006932004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000694
695 * fixed zero size case for getxattr and listxattr
696
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006972004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000698
699 * new fusermount flag '-z': lazy unmount, default is not lazy
700
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000701 * Extended attributes operations added (getxattr, setxattr,
702 listxattr, removexattr)
703
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007042004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000705
706 * If filesystem doesn't define a statfs operation, then an
707 all-zero default statfs is returned instead of ENOSYS
708
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007092004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000710
711 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
712
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007132004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000714
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000715 * Fix for uClinux (Christian Magnusson)
716
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007172004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000718
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000719 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000720
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000721 * More kernel interface changes:
722
723 * Lookup/getattr return cache timeout values
724
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007252004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000726
727 * Clean up option parsing in fuse_main()
728
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000729 * Added fuse_get() function which returns the fuse object created
730 by fuse_main()
731
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007322004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000733
Miklos Szeredic40748a2004-02-20 16:38:45 +0000734 * removed old way of mounting (fusermount mountpoint program)
735
Miklos Szeredib5958612004-02-20 14:10:49 +0000736 * more kernel interface changes:
737
738 * added nanosecond precision to file times
739
Miklos Szeredic40748a2004-02-20 16:38:45 +0000740 * removed interface version from mount data
741
742 * added /proc/fs/fuse/version which contains MAJOR.MINOR
743
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007442004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000745
746 * statfs library API changed to match other methods. Since this
747 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
748
Miklos Szeredi76f65782004-02-19 16:55:40 +0000749 * kernel interface changes follow:
750
751 * statfs changed to 64 bits, added 'bavail' field
752
753 * add generation number to lookup result
754
755 * optimized mknod/mkdir/symlink/link (no separate lookup is
756 needed)
757
758 * rdev size increased to 32 bits for mknod
759
760 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000761
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007622004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000763
764 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000765
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007662004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000767
768 * Added user-mount.2.6.2-rc3.patch
769
770 * Add FS_SAFE flag to fuse filesystem
771
772 * fusermount should allow (un)mounting for non-root even if not
773 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000774
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007752004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000776
777 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000778
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007792004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000780
781 * Added check for i_size_read/write functions to configure.in
782 (patch by Valient Gough)
783
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007842004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000785
786 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000787
788 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000789
790 * Readpage calls flush_dcache_page() after storing data
791
792 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000793
794 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000795
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007962004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000797
798 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000799
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008002004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000801
802 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000803
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008042004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000805
806 * Added -q option for fusermount
807
808 * fuse_unmount() now uses -q option of fusermount, so no error is
809 printed if the cause of the program exit is that the filesystem
810 has already been unmounted
811
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000812 * Fix i_nlink correctness after rmdir/unlink
813
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008142004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000815
Miklos Szeredib1158392004-01-26 14:43:12 +0000816 * Released 1.1-pre2
817
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008182004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000819
Miklos Szeredi307242f2004-01-26 11:28:44 +0000820 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000821
822 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000823
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008242004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000825
826 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000827
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008282004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000829
830 * Write all pending data before a RELEASE operation
831
832 * Suppress 'Bad file descriptor' warning on exit
833
834 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000835 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000836
Miklos Szeredib1158392004-01-26 14:43:12 +0000837 * New fusermount option '-l' which enables big reads. Big reads
838 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000839
840 * fuse_main() can accept fusermount arguments after a '--'
841
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008422004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000843
844 * Support for exporting filesystem over NFS (see README.NFS)
845
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008462004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000847
848 * Support non-blocking writepage on 2.6. This makes FUSE behave
849 much more nicely in low-memory situations
850
851 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
852 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +0000853
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008542004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000855
856 * Code cleanups
857
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008582004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000859
860 * Released 1.1-pre1
861
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008622004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000863
864 * Integrated 2.6 kernel support patch by Michael Grigoriev
865
866 * Improvements and cleanups for 2.6 kernels
867
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008682004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000869
Miklos Szeredie5183742005-02-02 11:14:04 +0000870 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000871
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008722003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000873
874 * Added major+minor version to library API, and minor version to
875 kernel API
876
David McNab7a19caf2003-12-13 02:05:46 +00008772003-12-13 David McNab <david@rebirthing.co.nz>
878
879 * Implemented fsync support in examples/example.py
880
881 * Implemented 'fsync' and 'statfs' methods in python
882 interface
883
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008842003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000885
Miklos Szeredie5183742005-02-02 11:14:04 +0000886 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000887
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +0000888 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000889
David McNab8bf62632003-12-11 22:49:22 +00008902003-12-12 David McNab <david@rebirthing.co.nz>
891
892 * Added distutils support to the python module, as per standard
893 python development practice
894
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008952003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000896
897 * Add file locking for mount/unmount (based on patch by Valient
898 Gough)
899
9002003-12-11 David McNab <david@rebirthing.co.nz>
901
902 * Python filesystem - was broken with python2.3, now fixed:
903 - changed PyTuple_* calls to PySequence_*, because os.lstat
904 is no longer returning a pure tuple
905 - changed PyInt_Check() calls to also call PyLong_Check,
906 to cover for cases (eg os.lstat) where longs are returned
907 - Added support for file 'release' handling, which IMO is
908 essential since this signals to a FS that writes to a file
909 are complete (and therefore the file can now be disposed of
910 meaningfully at the python filesystem's discretion)
911 - Added '__init__' handler to base Fuse class, which allows
912 your Python class to know the mountpoint and mount args,
913 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +0000914
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000915 * General:
916 - added 'mount.fuse' script (in util/ dir), which is meant to be
917 symlinked from /sbin, and which allows FUSE filesystems to
918 be mounted with the 'mount' command, and listed in fstab;
919 also, mount arguments get passed to your filesystem
920
921
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009222003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +0000923
924 * Fix kernel version detection (again). Bugreport by Peter Levart
925
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009262003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +0000927
928 * Applied read combining patch by Michael Grigoriev (tested by
929 Valient Gough and Vincent Wagelaar)
930
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009312003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +0000932
933 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
934 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +0000935
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009362003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +0000937
938 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +0000939
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009402003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +0000941
942 * kernel version detection fix
943
944 * fusermount now uses "lazy" umount option
945
946 * fusermount can use modprobe with module-init-tools
947
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009482003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +0000949
950 * Integrated caching patch by Michael Grigoriev
951
Miklos Szeredida4e4862003-09-08 11:14:11 +0000952 * Added "Filesystems" file with descriptions of projects using
953 FUSE
954
Miklos Szeredi02ceb112003-09-08 13:52:25 +0000955 * Added patch by Michael Grigoriev to allow compliation of FUSE
956 kernel module for 2.6 kernels
957
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009582003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +0000959
960 * And another spec-file fix by Achim Settelmeier
961
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009622003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +0000963
964 * Spec-file fix by Achim Settelmeier
965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009662003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000967
Miklos Szerediac361172004-11-02 19:14:14 +0000968 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009702003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +0000971
972 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
973
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009742003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +0000975
976 * Updated fuse.spec file (Achim Settelmeier)
977
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009782003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +0000979
980 * Version 1.0 released
981
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009822003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +0000983
984 * SuSE compilation fix by Juan-Mariano de Goyeneche
985
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009862002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +0000987
988 * The release() VFS call is now exported to the FUSE interface
989
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009902002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +0000991
992 * 64 bit file offset fixes in the fuse kernel module
993
994 * Added function 'fuse_exit()' which can be used to exit the main
995 loop
996
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009972002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +0000998
999 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1000 an incompatible interface change.
1001
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010022002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001003
1004 * Portablility fix (bug reported by C. Chris Erway)
1005
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010062002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001007
1008 * Use Mark Glines' fd passing method for default operation instead
1009 of old reexec
1010
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010112002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001012
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001013 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1014
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010152002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001016
Miklos Szeredi60c23522002-10-24 09:19:43 +00001017 * fix incompatiblity with Red Hat kernels, with help from Nathan
1018 Thompson-Amato.
1019
Mark Glines65ba2192002-04-18 14:41:48 +000010202002-04-18 Mark Glines <mark@glines.org>
1021
1022 * added an alternative to fuse_mount(), called
1023 fuse_mount_ioslave(), which does not need to reexec the
1024 FUSE program.
1025 * added a small helper util needed by fuse_mount_ioslave().
1026
Mark Glines220635a2002-03-17 07:01:14 +000010272002-03-16 Mark Glines <mark@glines.org>
1028
1029 * use struct fuse_statfs everywhere possible to avoid problems
1030 with the headerfiles changing struct statfs member sizes
1031
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010322002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001033
1034 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1035
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010362002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001037
1038 * RPM support by Achim Settelmeier
1039
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010402002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001041
Miklos Szerediddc862a2002-01-09 13:46:10 +00001042 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001043
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010442002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001045
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001046 * Revaidate all path components not just the last, this means a
1047 very small performance penalty for being more up-to-date.
1048
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010492002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001050
1051 * Update and fix python interface
1052
Mark Glinesd84b39a2002-01-07 16:32:02 +000010532002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001054
Mark Glinesd84b39a2002-01-07 16:32:02 +00001055 * Added statfs() support to kernel, lib, examples, and perl!
1056
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010572001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001058
1059 * Better cross compilation support
1060
1061 * Ported to Compaq IPAQ
1062
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010632001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001064
Miklos Szeredife25def2001-12-20 15:38:05 +00001065 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001066 patch from Matt Ryan)
1067
Miklos Szeredife25def2001-12-20 15:38:05 +00001068 * Added flags to fusermount and to kernel interface to control
1069 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001070
Miklos Szeredife25def2001-12-20 15:38:05 +00001071 * Integrated fuse_set_operations() into fuse_new()
1072
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010732001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001074
1075 * Applied header protection + extern "C" patch by Roland
1076 Bauerschmidt
1077
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010782001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001079
Miklos Szeredie5183742005-02-02 11:14:04 +00001080 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001081
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010822001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001083
1084 * Cleaned up way of mounting simple filesystems.
1085
1086 * fuse_main() helper function added
1087
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010882001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001089
Miklos Szeredife25def2001-12-20 15:38:05 +00001090 * Optimized read/write operations, so that minimal copying of data
1091 is done
1092
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010932001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001094
1095 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001096
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010972001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001098
1099 * Fixed vfsmount reference leak in fuse_follow_link
1100
1101 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1102 userspace is ignored
1103
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011042001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001105
Miklos Szeredife25def2001-12-20 15:38:05 +00001106 * Started ChangeLog