blob: b17a3b28a00e8badfa48f3fa2c8e6f88b3afd602 [file] [log] [blame]
Miklos Szeredia7169412005-02-10 07:35:05 +000012005-02-10 Miklos Szeredi <miklos@szeredi.hu>
2
3 * fusermount: set umask, otherwise /etc/mtab will have
4 unpredictable permission. Spotted by Jindrich Kolorenc
5
6 * fusermount: set owner and group of /etc/mtab to original values
7 on unmount
8
Miklos Szeredib92d9782005-02-07 16:10:49 +000092005-02-07 Miklos Szeredi <miklos@szeredi.hu>
10
11 * Cleaned up directory reading (temporary file is not used)
12
Miklos Szerediff30a6c2005-02-02 10:53:59 +0000132005-02-02 Miklos Szeredi <miklos@szeredi.hu>
14
Miklos Szeredi7ed2e5d2005-02-02 13:31:14 +000015 * Released 2.2
16
172005-02-02 Miklos Szeredi <miklos@szeredi.hu>
18
Miklos Szerediff30a6c2005-02-02 10:53:59 +000019 * Fix possible race when operation is interrupted
20
Miklos Szeredi7a983952005-01-28 09:58:19 +0000212005-01-28 Miklos Szeredi <miklos@szeredi.hu>
22
Miklos Szeredie5183742005-02-02 11:14:04 +000023 * Fix compilation on 2.6.7
Miklos Szeredi7a983952005-01-28 09:58:19 +000024
Miklos Szeredied6b5dd2005-01-26 17:07:59 +0000252005-01-26 Miklos Szeredi <miklos@szeredi.hu>
26
Miklos Szeredid48d5f72005-01-26 20:43:41 +000027 * Released 2.2-pre6
28
292005-01-26 Miklos Szeredi <miklos@szeredi.hu>
30
Miklos Szeredied6b5dd2005-01-26 17:07:59 +000031 * Fix bug in link() operation which caused the wrong path to be
32 passed as the first argument. Found by Anton Altaparmakov
33
Miklos Szeredi01fd89c2005-01-21 11:18:35 +0000342005-01-21 Miklos Szeredi <miklos@szeredi.hu>
35
36 * LIB: fix double reply in readdir operation
37
Miklos Szeredi773d4ae2005-01-21 16:09:08 +000038 * fusermount: fix uid checking bug. Patch by Adam Connell
39
Miklos Szeredi1e1cddf2005-02-02 10:15:36 +000040 * KERNEL: fix compile on various RedHat patched 2.4 kernels.
Miklos Szeredi57762852005-01-21 16:46:58 +000041 Patch by Keshava Gowda
42
Miklos Szeredi64074142005-01-20 08:48:11 +0000432005-01-20 Miklos Szeredi <miklos@szeredi.hu>
44
Miklos Szeredi092b50b2005-01-20 18:05:07 +000045 * KERNEL: provide correct llseek semantics for fuse device (fixes
46 a bug on Progeny 2.4.20 kernel). Reported by Valient Gough
47
482005-01-20 Miklos Szeredi <miklos@szeredi.hu>
49
Miklos Szeredi64074142005-01-20 08:48:11 +000050 * Released 2.2-pre5 (matches kernel 2.6.11-rc1-mm2)
51
Miklos Szeredi1adb2272005-01-18 21:19:58 +0000522005-01-18 Miklos Szeredi <miklos@szeredi.hu>
53
54 * KERNEL ABI: remove GETDIR operation, and add OPENDIR, READDIR
55 and RELEASEDIR. This ends the ugly hack of passing a file
56 descriptor to the kernel, and actually makes the code simpler.
57
Miklos Szeredi7db35c02005-01-17 09:46:28 +0000582005-01-17 Miklos Szeredi <miklos@szeredi.hu>
59
Miklos Szeredic2e960e2005-01-17 13:05:21 +000060 * Released 2.2-pre4
61
622005-01-17 Miklos Szeredi <miklos@szeredi.hu>
63
Miklos Szeredi7db35c02005-01-17 09:46:28 +000064 * fusermount: remove capability setting, which was the cause of
65 problems for some users. It seems that FS related capabilities
Miklos Szeredie5183742005-02-02 11:14:04 +000066 are removed by setfsuid(), so this isn't even needed.
Miklos Szeredi7db35c02005-01-17 09:46:28 +000067
Miklos Szeredidbe0f652005-01-15 14:32:56 +0000682005-01-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +000069
Miklos Szeredidbe0f652005-01-15 14:32:56 +000070 * fix compilation on 2.4 kernels (reported by Valient Gough)
71
72 * fix failure to unmount bug (found by David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +000073
Miklos Szeredi5ef2a9b2005-01-15 09:42:01 +000074 * fusermount: improve parsing of /etc/fuse.conf
75
762005-01-13 Miklos Szeredi <miklos@szeredi.hu>
77
Miklos Szeredi9ed69ba2005-01-13 12:11:49 +000078 * Remove 'mount_max' and 'user_allow_other' module options. These
79 are now checked by fusermount, and can be set in /etc/fuse.conf
80
81 * KERNEL: change check for fsid == 0 to capable(CAP_DAC_OVERRIDE)
82
Miklos Szeredi81394522005-01-11 14:24:18 +0000832005-01-11 Miklos Szeredi <miklos@szeredi.hu>
84
85 * KERNEL: fix possible inode allocation problem, where
86 sizeof(struct inode) is not aligned (found by Mike Waychison)
87
88 * KERNEL: use new follow_link/put_link methods
89
90 * KERNEL: cosmetic fixes
91
Miklos Szeredic6ee9fd2005-01-10 09:53:04 +0000922005-01-10 Miklos Szeredi <miklos@szeredi.hu>
93
94 * Released 2.2-pre3
95
962005-01-10 Miklos Szeredi <miklos@szeredi.hu>
97
98 * Add missing code that was accidently left out
99
Miklos Szeredi8c7da232005-01-09 12:27:41 +00001002005-01-09 Miklos Szeredi <miklos@szeredi.hu>
101
Miklos Szeredi8d775f72005-01-09 20:22:53 +0000102 * Released 2.2-pre2
103
1042005-01-09 Miklos Szeredi <miklos@szeredi.hu>
105
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +0000106 * Change "uid" mount option to "user_id" to avoid confusion with a
107 mount option "uid" commonly used by many filesystems
108
1092005-01-09 Miklos Szeredi <miklos@szeredi.hu>
110
Miklos Szeredi8c7da232005-01-09 12:27:41 +0000111 * Released 2.2-pre1
112
1132005-01-09 Miklos Szeredi <miklos@szeredi.hu>
114
115 * If FUSE is configured in the kernel, don't build it by default
116
Miklos Szeredi2a927272005-01-07 11:14:15 +00001172005-01-07 Miklos Szeredi <miklos@szeredi.hu>
118
119 * Compile fix by Christian Magnusson
120
Miklos Szeredib6220192005-01-05 16:19:10 +00001212005-01-05 Miklos Szeredi <miklos@szeredi.hu>
122
123 * Fix compilation for 2.6.{0-5} kernels
124
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001252005-01-04 Miklos Szeredi <miklos@szeredi.hu>
126
127 * KERNEL: if request is interrupted, still keep reference to used
128 inode(s) and file, so that FORGET and RELEASE are not sent until
129 userspace finishes the request.
130
Miklos Szeredi3f0005f2005-01-04 19:24:31 +0000131 * remove /{sys,proc}/fs/fuse/version, and instead add an INIT
132 request with the same information, which is more flexible,
133 simpler, works on embedded systems.
134
Miklos Szeredi0f62d722005-01-04 12:45:54 +00001352004-12-16 Miklos Szeredi <miklos@szeredi.hu>
136
137 * KERNEL ABI: update interface to make it independent of type
138 sizes. This will help on 64 bit architectures which can run
139 legacy 32 bit applications.
140
141 * KERNEL ABI: add "len" field to request headers. This will allow
142 sending/receiving requests in multiple chunks.
143
144 * KERNEL: handle file type change more intelligently
145
146 * LIB: "-o debug" option should disable backgrounding (fix by
147 Fabien Reygrobellet)
148
Miklos Szeredi0fcfa032004-12-13 15:22:28 +00001492004-12-13 Miklos Szeredi <miklos@szeredi.hu>
150
151 * KERNEL: invalidate dentry/attributes if interrupted request
152 could leave filesystem in an unknown state.
153
Miklos Szeredie56818b2004-12-12 11:45:24 +00001542004-12-12 Miklos Szeredi <miklos@szeredi.hu>
155
156 * KERNEL: lots of cleanups related to avoiding possible deadlocks.
157 These will cause some regressions, but stability is considered
158 more important. If any of these features turns out to be
159 important, it can be readded with the deadlock problems addressed.
Miklos Szeredie5183742005-02-02 11:14:04 +0000160
Miklos Szeredie56818b2004-12-12 11:45:24 +0000161 * Make all requests interruptible (only with SIGKILL currently).
162 This can be used to break any deadlock produced by the userspace
163 filesystem accessing it's own exported files. The RELEASE request
164 is special, because if it's interrupted before sending it to
165 userspace it is still sent, but the reply is not awaited.
166
167 * If request is interrupted before being sent to userspace, and if
168 it hasn't yet got any side effects, it is always restarted,
169 regardless of the SA_RESTART flag. This makes these interruptions
170 transparent to the process.
171
172 * Remove shared-writable mmap support, which was prone to an
173 out-of-memory deadlock situation
174
175 * Remove INVALIDATE userspace initiated request
176
177 * Make readpages() synchronous. Asynchronous requests are
178 deadlock prone, since they cannot be interrupted.
179
180 * Add readv/writev support to fuse device operations
181
182 * Remove some printks, which userspace FS can use for a DoS
183 against syslog
184
185 * Remove 'large_read' mount option from 2.6 in kernel, check it in
186 fusermount instead
187
188 * LIB: improve compatibility with a fuse.h header installed in
189 ${prefix}/include which in turn includes the real header.
190
191 * LIB: improve compatibility by defining fuse_main() (which is now
192 not used), so old configure scripts find it.
193
Miklos Szeredi0adcc6f2004-12-10 11:55:25 +00001942004-12-10 Miklos Szeredi <miklos@szeredi.hu>
195
196 * When mounting on a subdirectory of / don't duplicate slashes at
197 the beggining of path (spotted by David Shaw)
198
Miklos Szeredi80a0c3c2004-12-09 17:30:59 +00001992004-12-09 Miklos Szeredi <miklos@szeredi.hu>
200
201 * Fix bug causing garbage in mount options (spotted by David Shaw)
202
Miklos Szeredid59bb9d2004-12-07 10:04:24 +00002032004-12-07 Miklos Szeredi <miklos@szeredi.hu>
204
205 * Add 'writepage' flag to 'fuse_file_info'.
206
207 * More comments in fuse.h
208
Miklos Szeredif458b8c2004-12-07 16:46:42 +0000209 * Get rid of double underscores
210
Miklos Szeredi799993c2004-12-04 21:20:05 +00002112004-12-04 Miklos Szeredi <miklos@szeredi.hu>
212
213 * Add -D_FILE_OFFSET_BITS=64 to cflags provided by pkg-config
214
215 * helper.c: add -ho option, which only displays the options not
216 the usage header. This can be used by filesystems which have
217 their own options.
218
Miklos Szeredi0b6a0ad2004-12-04 00:40:50 +00002192004-12-03 Miklos Szeredi <miklos@szeredi.hu>
220
221 * Add source compatibility to 2.1 and 1.1 APIs. To select betwen
222 versions simply define FUSE_USE_VERSION to 22, 21 or 11 before
223 including the fuse header
224
225 * Add binary compatibility to 2.1 version of library with symbol
226 versioning
227
Miklos Szeredi3c7d41b2005-01-09 20:05:27 +00002282004-12-03 Miklos Szeredi <miklos@szeredi.hu>
229
230 * Released 2.1
231
Miklos Szeredi039322d2004-12-01 18:39:12 +00002322004-12-01 Miklos Szeredi <miklos@szeredi.hu>
233
234 * kernel: clean up writing functions
235
236 * kernel: no allocation on write in direct_io mode
237
Miklos Szeredib9b94cd2004-12-01 18:56:39 +0000238 * move linux/fuse.h to fuse_kernel.h
239
Miklos Szeredi83a07442004-11-30 18:25:20 +00002402004-11-30 Miklos Szeredi <miklos@szeredi.hu>
241
242 * kernel: clean up reading functions
243
Miklos Szeredi2defe5e2004-11-29 16:53:44 +00002442004-11-29 Miklos Szeredi <miklos@szeredi.hu>
245
246 * kernel: make readpage() uninterruptible
247
Miklos Szeredi96dfad72004-11-30 00:00:02 +0000248 * kernel: check readonly filesystem flag in fuse_permission
249
250 * lib: don't die if version file not found and new style device
251 exists
252
253 * lib: add '-r' option, which is short for '-o ro'
254
255 * fusermount: simplify device opening
256
Miklos Szeredi2defe5e2004-11-29 16:53:44 +0000257 * kernel: when direct_io is turend on, copy data directly to
258 destination without itermediate buffer. More efficient and safer,
259 since no allocation is done.
260
261 * fusermount: fix warning if fuse module is not loaded
Miklos Szeredi162bcbb2004-11-29 23:43:44 +0000262
263 * kernel: use /dev/fuse on 2.4 too
Miklos Szeredie5183742005-02-02 11:14:04 +0000264
Miklos Szeredifb28c5e2004-11-26 12:15:06 +00002652004-11-26 Miklos Szeredi <miklos@szeredi.hu>
266
267 * libfuse API change: open, read, write, flush, fsync and release
268 are passed a 'struct fuse_file_info' pointer containing the open
269 flags (open and release), and the file handle. Verion changed to
270 3.0.
271
Miklos Szeredia25d4c22004-11-23 22:32:16 +00002722004-11-23 Miklos Szeredi <miklos@szeredi.hu>
273
274 * More cleanups in the kernel
275
276 * The 10,229 charater device number has been assigned for FUSE
277
278 * Version file checking fix (reported by Christian Magnusson)
279
280 * fusermount: opening the fuse device now doesn't need /sys.
281
282 * Optimize reading by controlling the maximum readahead based on
283 the 'max_read' mount option
284
285 * fixes for UCLIBC (Christian Magnusson)
286
Miklos Szeredi13ed4822004-11-20 11:12:21 +00002872004-11-19 Miklos Szeredi <miklos@szeredi.hu>
288
289 * Cleaned up kernel in preparation for merge into mainline:
290
291 * Use /sys/fs/fuse/version instead of /proc/fs/fuse/version
292
293 * Use real device (/dev/fuse) instead of /proc/fs/fuse/dev
294
295 * __user annotations for sparse
296
297 * allocate individual pages instead of kmalloc in fuse_readdir,
298 fuse_read and fuse_write.
299
300 * Fix NFS export in case "use_ino" mount option is given
301
Miklos Szeredif3845c42004-11-20 11:18:34 +0000302 * Make libfuse and fusermount compatible with future versions
303
304 * fusermount: properly add mount options to /etc/mtab
305
3062004-11-15 Miklos Szeredi <miklos@szeredi.hu>
307
308 * fusermount: do not resolve last component of mountpoint on if it
309 is '.' or '..'. This new path resolvation is now done on mount as
310 well as unmount. This enables relative paths to work on unmount.
311
312 * fusermount: parse common mount options like "ro", "rw", etc...
313
314 * Allow module params to be changed through sysfs
315
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +00003162004-11-14 Miklos Szeredi <miklos@szeredi.hu>
317
318 * Released 2.1-pre1
319
3202004-11-14 Miklos Szeredi <miklos@szeredi.hu>
321
322 * Fix bug in fuse_readpages() causing Oops in certain situations.
323 Bug found by Vincenzo Ciancia.
324
325 * Fix compilation with kernels versions > 2.6.9.
326
Miklos Szeredi3a6ea062004-11-11 10:33:58 +00003272004-11-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000328
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000329 * Check kernel interface version in fusermount to prevent
330 strangeness in case of mismatch.
Miklos Szeredi51ec1032004-11-10 11:52:26 +0000331
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000332 * No need to allocate fuse_conn until actual mount happens
333
334 * Fix potential race between umount and fuse_invalidate
335
336 * Check superblock of proc file in addition to inode number
337
Miklos Szeredi08ddb8e2004-11-14 09:19:51 +0000338 * Fix race between request_send_noreply() and fuse_dev_release()
Miklos Szeredi3d60e762004-11-11 14:44:04 +0000339
Miklos Szeredi51ec1032004-11-10 11:52:26 +00003402004-11-10 Miklos Szeredi <miklos@szeredi.hu>
341
342 * Separate configure for the kernel directory
343
Miklos Szeredi3a6ea062004-11-11 10:33:58 +0000344 * Don't allow write to return more than 'count'
345
346 * Extend kernel interface for future use
347
Miklos Szeredi51ec1032004-11-10 11:52:26 +00003482004-11-09 Miklos Szeredi <miklos@szeredi.hu>
349
350 * Fix 'makeconf.sh' to use autoreconf if available
351
Miklos Szeredi8fb48fe2004-11-08 14:48:52 +00003522004-11-08 Miklos Szeredi <miklos@szeredi.hu>
353
Miklos Szeredid507c732004-11-08 17:32:25 +0000354 * Add ino argument to 'fuse_dirfil_t'. NOTE: This breaks source
355 compatibility with earlier versions. To compile earier versions
356 just add '-DFUSE_DIRFIL_COMPAT' compile flag or fix the source.
357 Do not use the "use_ino" mount flag with filesystems compiled with
358 FUSE_DIRFIL_COMPAT.
Miklos Szeredidb1c3652004-11-08 21:11:53 +0000359
360 * Add pkg-config support. To compile a FUSE based filesystem you
361 can do "gcc -Wall `pkg-config --cflags --libs fuse` myfs.c -o myfs"
362 or similar. Note, that the PKG_CONFIG_PATH environment variable
363 usually needs to be set to "/usr/local/lib/pkgconfig".
364
365 * fuse.h is now installed in ${prefix}/include/fuse/
Miklos Szeredie5183742005-02-02 11:14:04 +0000366
Miklos Szeredia13d9002004-11-02 17:32:03 +00003672004-11-02 Miklos Szeredi <miklos@szeredi.hu>
368
369 * Added "use_ino" mount option. This enables the filesystems to
370 set the st_ino field on files
371
Miklos Szeredib1ab8b52004-11-01 10:57:41 +00003722004-11-01 Miklos Szeredi <miklos@szeredi.hu>
373
374 * Fix compile problems with ancient (<=2.4.18) kernels (reported
375 by Jeremy Smith)
376
Miklos Szeredi874e3c12004-11-01 23:15:20 +0000377 * Add "allow_root" mount option. Patch by Yaroslav Rastrigin
378
379 * Clear the 'exited' flag when mail loop is finished
380
Miklos Szeredie989f0d2004-10-28 20:24:58 +00003812004-10-28 Miklos Szeredi <miklos@szeredi.hu>
382
383 * Make xattr functions work under 2.6 (bug found by Vincenzo
384 Ciancia)
385
Miklos Szeredi95a2bfc2004-10-26 21:32:13 +00003862004-10-26 Miklos Szeredi <miklos@szeredi.hu>
387
388 * Reset request in fuse_flush() (bugreport by David Shaw)
389
Miklos Szeredi5dc8a802004-10-21 09:35:10 +00003902004-10-21 Miklos Szeredi <miklos@szeredi.hu>
391
Miklos Szeredi0e70aa72004-10-21 16:24:29 +0000392 * fuse_main() now does not exit on error, rather it returns an
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000393 error code
394
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000395 * Exported __fuse_setup() and __fuse_teardown() functions, which
Miklos Szeredi5dc8a802004-10-21 09:35:10 +0000396 make it easier to implement a custom event loop.
397
Miklos Szeredifb97a1b2004-10-21 09:59:13 +0000398 * Use daemon() call to background the filesystem after mounting.
399 This function closes the standard input, output and error and
400 changes the current working directory to "/".
401
Miklos Szeredi127d49b2004-10-14 13:33:39 +00004022004-10-14 Miklos Szeredi <miklos@szeredi.hu>
403
404 * Released 1.9
405
Miklos Szeredid45baf42004-10-10 07:56:12 +00004062004-10-09 Miklos Szeredi <miklos@szeredi.hu>
407
408 * Don't allow fuse_flush() to be interrupted (bug found by David
409 Shaw)
410
Miklos Szeredi1f18db52004-09-27 06:54:49 +00004112004-09-27 Miklos Szeredi <miklos@szeredi.hu>
412
413 * Add PID to fuse_context. Patch by Steven James
414
Miklos Szeredi1eea0322004-09-27 18:50:11 +0000415 * Change file handle type to 'unsigned long' in kernel interface
416
Miklos Szeredid169f312004-09-22 08:48:26 +00004172004-09-22 Miklos Szeredi <miklos@szeredi.hu>
418
419 * A slight API change: fuse_get_context() doesn't need the "fuse"
420 pointer, but the returned context contains it instead. The
421 fuse_get() function is not needed anymore, so it's removed.
Miklos Szeredi21d587e2004-09-22 16:47:40 +0000422
423 * Fix mounting and umounting FUSE filesystem under another FUSE
424 filesystem by non-root (bug spotted by Valient Gough)
Miklos Szeredie5183742005-02-02 11:14:04 +0000425
Miklos Szeredic2309912004-09-21 13:40:38 +00004262004-09-21 Miklos Szeredi <miklos@szeredi.hu>
427
428 * Fix deadlock in case of memory allocation failure. Patch by
429 Christian Magnusson
Miklos Szeredie5183742005-02-02 11:14:04 +0000430
Miklos Szeredib2cf9562004-09-16 08:42:40 +00004312004-09-16 Miklos Szeredi <miklos@szeredi.hu>
432
433 * Check memory allocation failures in libfuse
Miklos Szeredie5183742005-02-02 11:14:04 +0000434
Miklos Szeredi65afea12004-09-14 07:13:45 +00004352004-09-14 Miklos Szeredi <miklos@szeredi.hu>
436
437 * Check temporary file creation failure in do_getdir(). Bug
438 spotted by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000439
Miklos Szeredi1bf53ee2004-09-13 11:47:59 +00004402004-09-13 Miklos Szeredi <miklos@szeredi.hu>
441
442 * Allow "large_read" option for 2.6 kernels but warn of deprecation
Miklos Szeredi09045c32004-09-13 12:00:49 +0000443
444 * Make requests non-interruptible so race with FORGET is avoided.
445 This is only a temporary solution
Miklos Szeredi442d9652004-09-13 14:56:57 +0000446
447 * Support compiling FUSE kernel module on 2.4.x UML kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000448
Miklos Szeredi8b2d3332004-09-09 08:44:01 +00004492004-09-09 Miklos Szeredi <miklos@szeredi.hu>
450
451 * Fix bug in case two FORGETs for the same node are executed in
452 the wrong order. Bug spotted and endured for months by Franco
453 Broi, and logfile for solution provided by Terje Oseberg
454
Miklos Szeredi12085102004-09-02 18:13:57 +00004552004-09-01 Miklos Szeredi <miklos@szeredi.hu>
456
457 * Add -D_REENTRANT to the compile flags
458
459 * Add documentation of fuse internals by Terje Oseberg
Miklos Szeredie5183742005-02-02 11:14:04 +0000460
Miklos Szeredi22ea3dc2004-08-16 13:29:11 +00004612004-08-16 Miklos Szeredi <miklos@szeredi.hu>
462
463 * Change release method to be non-interruptible. Fixes bug
464 causing missing release() call when program which has opened files
465 is killed (reported by Franco Broi and David Shaw)
Miklos Szeredie5183742005-02-02 11:14:04 +0000466
Miklos Szeredi891b8742004-07-29 09:27:49 +00004672004-07-29 Miklos Szeredi <miklos@szeredi.hu>
468
469 * Add fuse_invalidate() to library API
470
Miklos Szeredi94ed76a2004-07-26 19:38:45 +00004712004-07-26 Miklos Szeredi <miklos@szeredi.hu>
472
473 * Check permissions in setattr if 'default_permissions' flag is
474 set. Bug spotted by Damjan Lango
475
Miklos Szeredid66d3942004-07-24 13:47:44 +00004762004-07-24 Miklos Szeredi <miklos@szeredi.hu>
477
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000478 * 'large_read' mount option removed for 2.6 kernels, since the
479 default (dynamic read size) is better
480
481 * Extend kernel API with file handles. A file handle is returned
482 by open, and passed to read, write, flush, fsync and release.
483 This is currently only used for debug output in the library.
Miklos Szeredie5183742005-02-02 11:14:04 +0000484
Miklos Szeredi209f5d02004-07-24 19:56:16 +0000485 * Security changes:
486
487 * Change the current directory to the mountpoint before checking
488 the permissions and mount filesystem on "."
489
490 * By default don't modprobe the fuse module for non-root. The old
491 behavior can be restored with the '--enable-auto-modprobe' flag of
492 ./configure
493
494 * By default don't allow shared writable mappings for non-root.
495 The old behavior can be restored with the 'user_mmap=1' module
496 parameter
Miklos Szeredid66d3942004-07-24 13:47:44 +0000497
Miklos Szeredibd7661b2004-07-23 17:16:29 +00004982004-07-23 Miklos Szeredi <miklos@szeredi.hu>
499
500 * Clean up mount option passing to fusermount and to fuse_new()
501 BEWARE: this changes the userspace API slightly, and the command
502 line usage of programs using fuse_main()
Miklos Szeredie5183742005-02-02 11:14:04 +0000503
Miklos Szeredi58865372004-07-20 14:22:26 +00005042004-07-20 Miklos Szeredi <miklos@szeredi.hu>
505
506 * Optimize reading under 2.6 kernels by issuing multiple page
507 asynchronous read requests
Miklos Szeredie5183742005-02-02 11:14:04 +0000508
Miklos Szeredi84ba0f42004-07-18 11:32:59 +00005092004-07-18 Miklos Szeredi <miklos@szeredi.hu>
510
511 * Only use redirty_page_for_writepage() for kernels >= 2.6.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000512
Miklos Szeredi069c9502004-07-16 16:17:02 +00005132004-07-16 Miklos Szeredi <miklos@szeredi.hu>
514
515 * Separate directory entry and inode attribute validity timer
516
517 * New write semaphore to stop page writeback during truncate
518
519 * Fsync now waits for all writes to complete before sending the
520 request
521
522 * Optimization: if a page is completely written by
523 fuse_commit_write(), clear the dirty flag and set the uptodate
524 flag for that page
525
Miklos Szeredie7d5d7d2004-07-16 18:27:50 +0000526 * Some memory cleanup at exit
527
Miklos Szeredi2529ca22004-07-13 15:36:52 +00005282004-07-13 Miklos Szeredi <miklos@szeredi.hu>
529
530 * Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
Miklos Szerediad83d072004-07-13 20:23:03 +0000531 disable the "hide if open" behavior of unlink/rename.
532
533 * If temporary buffer allocation fails in raw read, fall back to a
534 smaller buffer
Miklos Szeredie5183742005-02-02 11:14:04 +0000535
Miklos Szeredi73798f92004-07-12 15:55:11 +00005362004-07-12 Miklos Szeredi <miklos@szeredi.hu>
537
538 * Fix bug in do_open() in libfuse: open count was incremented
539 after the reply is sent so it could race with unlink/forget and
540 cause an abort.
Miklos Szeredie5183742005-02-02 11:14:04 +0000541
Miklos Szeredi015fe702004-07-12 11:52:24 +00005422004-07-08 Miklos Szeredi <miklos@szeredi.hu>
543
544 * When performing create or remove operation, refresh the parent's
545 attributes on next revalidate, as i_nlink (and maybe size/time)
546 could be inacurate.
547
548 * Use redirty_page_for_writepage() in fuse_writepage() for skipped
549 pages (2.6 only)
550
551 * Set set_page_dirty address space operation (2.6 only)
552
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005532004-07-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi25385bb2004-07-06 22:27:36 +0000554
555 * Minor fix in read: print debug info even if read size is zero
556
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005572004-07-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi58615e02004-07-04 21:21:08 +0000558
559 * Fix race between truncate and writepage (fsx-linux now runs
560 without error)
561
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005622004-07-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000563
564 * Fix kernel hang on mkfifo under 2.4 kernels (spotted and patch
565 by Mattias Wadman)
566
567 * Added option for direct read/write (-r)
568
569 * Fix revalidate time setting for newly created inodes
570
Miklos Szerediacb4d362004-07-02 16:20:45 +0000571 * Remove uid==0 check for '-x' option in fusermount (kernel checks
572 this)
573
574 * fuse_main() only installs handlers for signals (out of INT, HUP,
575 TERM, PIPE), for which no handler has yet been installed
576
577 * Add module option 'user_allow_other' which if set to non-zero
578 will allow non root user to specify the 'allow_other' mount option
579 ('-x' option of fusermount)
580
Miklos Szeredi014d7d22004-07-02 21:22:37 +0000581 * Fix deadlock between page writeback completion and truncate
582 (bug found by Valient Gough with the fsx-linux utility)
583
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005842004-07-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediad051c32004-07-02 09:22:50 +0000585
586 * Change passing fuse include dir to 2.6 kernel make system more
Miklos Szerediacb4d362004-07-02 16:20:45 +0000587 robust (fixes compile problems seen on SuSE 9.1 with updated 2.6
588 kernel)
Miklos Szerediad051c32004-07-02 09:22:50 +0000589
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00005902004-06-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi556d03d2004-06-30 11:13:41 +0000591
592 * Acquire inode->i_sem before open and release methods to prevent
593 concurrent rename or unlink operations.
594
Miklos Szeredi65cf7c72004-06-30 11:34:56 +0000595 * Make __fuse_read_cmd() read only one command. This allows
596 multiplexing the fuse file descriptor with other event sources
597 using select() or poll() (patch by Jeff Harris)
598
599 * Export 'exited' flag with __fuse_exited() (patch by Jeff Harris)
600
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006012004-06-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi71e9f862004-06-28 16:52:16 +0000602
603 * Fix file offset wrap around at 4G when doing large reads
604
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006052004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000606
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000607 * Fix memory leak in open (Valient Gough)
608
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006092004-06-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a31cca2004-06-26 21:11:25 +0000610
Miklos Szeredi1ea9c962004-06-24 21:00:00 +0000611 * Add "close after delete" support to libfuse (patch by Valient
612 Gough)
613
614 * Cancel all worker threads before exit in multithreaded mode
615
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006162004-06-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie79dc7e2004-06-23 05:57:30 +0000617
618 * Fix locking bugs
Miklos Szeredib3210582004-06-23 13:54:33 +0000619
620 * Don't send reply to RELEASE
Miklos Szeredicb264512004-06-23 18:52:50 +0000621
622 * Work with newer libtool (1.5a)
623
624 * Check for st_atim member of struct stat
Miklos Szeredie5183742005-02-02 11:14:04 +0000625
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006262004-06-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid3dd2d52004-06-22 18:46:02 +0000627
628 * No request allocation needed on inode and file release
Miklos Szeredie5183742005-02-02 11:14:04 +0000629
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006302004-06-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2778f6c2004-06-21 09:45:30 +0000631
632 * Fix possible inode leak in userspace in case of unfinished
633 lookup/mknod/mkdir/symlink/link operation.
Miklos Szeredie5183742005-02-02 11:14:04 +0000634
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006352004-06-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredied62d862004-06-20 08:57:39 +0000636
637 * Fix some races and cleanups in fuse_read_super()
Miklos Szeredie5183742005-02-02 11:14:04 +0000638
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006392004-06-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7eafcce2004-06-19 22:42:38 +0000640
641 * Requests are allocated at open time
Miklos Szeredie5183742005-02-02 11:14:04 +0000642
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006432004-06-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi203afbf2004-06-03 13:21:08 +0000644
645 * Build shared library as well as static (using libtool)
646
647 * Change FUSE_MINOR_VERSION from 1 to 0. I know it's illegal but
648 there has not been a release with the previous minor number, and I
649 hope nobody is using it for anything.
Miklos Szerediff875352004-06-03 13:52:40 +0000650
651 * Change fuse_main(), so that default behavior is to go into
652 background if mount is successful. '-f' and '-d' options disable
653 backgrounding. This fixes the "Why does my FUSE daemon hang?"
654 newbie complaint.
Miklos Szeredi63b8c1c2004-06-03 14:45:04 +0000655
656 * Cache ENOSYS (function not implemented) errors on *xattr, flush
657 and fsync
Miklos Szeredi152f29e2004-06-03 17:52:32 +0000658
659 * Don't call getdir method from open() only from first readdir().
660 Open is sometimes just used to store the current directory
661 (e.g. find)
Miklos Szeredie5183742005-02-02 11:14:04 +0000662
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006632004-05-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie2e4ac22004-05-18 08:45:28 +0000664
665 * Added flush() call
Miklos Szeredie5183742005-02-02 11:14:04 +0000666
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006672004-05-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi689f5632004-05-04 08:49:16 +0000668
669 * Extended attributes support for 2.4 (patch by Cody Pisto)
Miklos Szeredie5183742005-02-02 11:14:04 +0000670
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006712004-04-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid30a0f22004-04-20 08:25:43 +0000672
673 * Fixed parser with modversions (Mattias Wadman)
Miklos Szeredie5183742005-02-02 11:14:04 +0000674
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006752004-04-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8ec48ec2004-04-19 10:24:41 +0000676
677 * Added mount option parser to 2.4 build
Miklos Szeredie5183742005-02-02 11:14:04 +0000678
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006792004-04-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi87f30a92004-04-13 10:49:54 +0000680
681 * Replaced binary mount data with text options
682
683 * Show FUSE specific mount options in /proc/mounts
684
685 * Check in fuse.h whether _FILE_OFFSET_BITS is set to 64
686
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006872004-04-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic26c14d2004-04-09 17:48:32 +0000688
689 * Check some limits so userspace won't get too big requests
690
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006912004-04-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2ac5e2a2004-04-05 11:24:24 +0000692
693 * Kill compile warning
694
695 * Upgraded user-mount patch for 2.6.5
696
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00006972004-04-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi851948c2004-04-02 14:58:22 +0000698
699 * Add detection of user-mode-linux to configure
700
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007012004-03-31 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi03cebae2004-03-31 10:19:18 +0000702
703 * fixed zero size case for getxattr and listxattr
704
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007052004-03-30 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi98667e22004-03-30 07:24:29 +0000706
707 * new fusermount flag '-z': lazy unmount, default is not lazy
708
Miklos Szeredi3ed84232004-03-30 15:17:26 +0000709 * Extended attributes operations added (getxattr, setxattr,
710 listxattr, removexattr)
711
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007122004-03-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi77f39942004-03-25 11:17:52 +0000713
714 * If filesystem doesn't define a statfs operation, then an
715 all-zero default statfs is returned instead of ENOSYS
716
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007172004-03-24 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4df9cf22004-03-24 09:19:27 +0000718
719 * Add FS_BINARY_MOUNTDATA filesystem flag for kernels > 2.6.4
720
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007212004-03-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000722
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000723 * Fix for uClinux (Christian Magnusson)
724
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007252004-03-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi8af63ae2004-03-09 10:54:17 +0000726
Miklos Szeredi18c1e4d2004-03-02 16:18:30 +0000727 * fuse_main() adds "-n progname" to the fusermount command line
Miklos Szeredie5183742005-02-02 11:14:04 +0000728
Miklos Szeredi254d5ed2004-03-02 11:11:24 +0000729 * More kernel interface changes:
730
731 * Lookup/getattr return cache timeout values
732
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007332004-02-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie970f302004-02-25 08:39:42 +0000734
735 * Clean up option parsing in fuse_main()
736
Miklos Szeredi33c319c2004-02-25 09:19:29 +0000737 * Added fuse_get() function which returns the fuse object created
738 by fuse_main()
739
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007402004-02-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib5958612004-02-20 14:10:49 +0000741
Miklos Szeredic40748a2004-02-20 16:38:45 +0000742 * removed old way of mounting (fusermount mountpoint program)
743
Miklos Szeredib5958612004-02-20 14:10:49 +0000744 * more kernel interface changes:
745
746 * added nanosecond precision to file times
747
Miklos Szeredic40748a2004-02-20 16:38:45 +0000748 * removed interface version from mount data
749
750 * added /proc/fs/fuse/version which contains MAJOR.MINOR
751
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007522004-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi18e75e42004-02-19 14:23:27 +0000753
754 * statfs library API changed to match other methods. Since this
755 is not backward compatible FUSE_MAJOR_VERSION is changed to 2
756
Miklos Szeredi76f65782004-02-19 16:55:40 +0000757 * kernel interface changes follow:
758
759 * statfs changed to 64 bits, added 'bavail' field
760
761 * add generation number to lookup result
762
763 * optimized mknod/mkdir/symlink/link (no separate lookup is
764 needed)
765
766 * rdev size increased to 32 bits for mknod
767
768 * kernel interface version changed to 3.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000769
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007702004-02-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa39e902004-02-18 13:29:36 +0000771
772 * user-mount upgraded for 2.6.3 kernel
Miklos Szeredie5183742005-02-02 11:14:04 +0000773
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007742004-02-17 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi69cc79a2004-02-17 08:57:29 +0000775
776 * Added user-mount.2.6.2-rc3.patch
777
778 * Add FS_SAFE flag to fuse filesystem
779
780 * fusermount should allow (un)mounting for non-root even if not
781 suid-root
Miklos Szeredie5183742005-02-02 11:14:04 +0000782
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007832004-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4c7f7622004-02-12 13:41:30 +0000784
785 * Remove MS_PERMISSION mount flag (that means something else now)
Miklos Szeredie5183742005-02-02 11:14:04 +0000786
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007872004-02-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi9a2b08d2004-02-10 09:36:07 +0000788
789 * Added check for i_size_read/write functions to configure.in
790 (patch by Valient Gough)
791
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00007922004-02-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi377b2ea2004-02-06 09:48:51 +0000793
794 * Fixed writing >= 2G files
Miklos Szeredif58cc612004-02-06 13:52:00 +0000795
796 * Check file size on open (with generic_file_open())
Miklos Szeredid1199f82004-02-06 15:29:22 +0000797
798 * Readpage calls flush_dcache_page() after storing data
799
800 * Use i_size_read/write for accessing inode->i_size
Miklos Szeredi89b86af2004-02-06 17:02:08 +0000801
802 * Make loopback mount of a fuse file work
Miklos Szeredie5183742005-02-02 11:14:04 +0000803
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008042004-02-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi88124792004-02-04 11:06:17 +0000805
806 * Released 1.1
Miklos Szeredie5183742005-02-02 11:14:04 +0000807
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008082004-01-29 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi72f6a932004-01-29 11:29:18 +0000809
810 * Properly check if the inode exists in fuse_invalidate
Miklos Szeredie5183742005-02-02 11:14:04 +0000811
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008122004-01-27 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediedf26632004-01-27 14:54:47 +0000813
814 * Added -q option for fusermount
815
816 * fuse_unmount() now uses -q option of fusermount, so no error is
817 printed if the cause of the program exit is that the filesystem
818 has already been unmounted
819
Miklos Szeredif4f8b892004-01-27 17:04:59 +0000820 * Fix i_nlink correctness after rmdir/unlink
821
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008222004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000823
Miklos Szeredib1158392004-01-26 14:43:12 +0000824 * Released 1.1-pre2
825
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008262004-01-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredib1158392004-01-26 14:43:12 +0000827
Miklos Szeredi307242f2004-01-26 11:28:44 +0000828 * Fix typo (thanks Marcos Dione)
Miklos Szeredib1158392004-01-26 14:43:12 +0000829
830 * Compile fixes for 2.4 kernels
Miklos Szeredie5183742005-02-02 11:14:04 +0000831
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008322004-01-23 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000833
834 * Fix CONFIG_MODVERSIONS compile on 2.6
Miklos Szeredie5183742005-02-02 11:14:04 +0000835
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008362004-01-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi307242f2004-01-26 11:28:44 +0000837
838 * Write all pending data before a RELEASE operation
839
840 * Suppress 'Bad file descriptor' warning on exit
841
842 * Replaced fusermount option '-d xxx' with '-n xxx' so it doesn't
Miklos Szeredib1158392004-01-26 14:43:12 +0000843 get confused with '-d' of fuse_main() (sorry about this change)
Miklos Szeredi307242f2004-01-26 11:28:44 +0000844
Miklos Szeredib1158392004-01-26 14:43:12 +0000845 * New fusermount option '-l' which enables big reads. Big reads
846 are now disabled by default.
Miklos Szeredi307242f2004-01-26 11:28:44 +0000847
848 * fuse_main() can accept fusermount arguments after a '--'
849
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008502004-01-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie815c032004-01-19 18:20:49 +0000851
852 * Support for exporting filesystem over NFS (see README.NFS)
853
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008542004-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7c35cf92004-01-14 16:56:49 +0000855
856 * Support non-blocking writepage on 2.6. This makes FUSE behave
857 much more nicely in low-memory situations
858
859 * Fix 32-bit dev handling in getattr and mknod for 2.6 kernels.
860 (Note: the mknod method does not yet use 32bit device number)
Miklos Szeredie5183742005-02-02 11:14:04 +0000861
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008622004-01-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie8663f32004-01-13 15:33:12 +0000863
864 * Code cleanups
865
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008662004-01-07 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b7abe32004-01-07 16:49:12 +0000867
868 * Released 1.1-pre1
869
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008702004-01-06 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif85ab242004-01-07 12:16:45 +0000871
872 * Integrated 2.6 kernel support patch by Michael Grigoriev
873
874 * Improvements and cleanups for 2.6 kernels
875
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008762004-01-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000877
Miklos Szeredie5183742005-02-02 11:14:04 +0000878 * Added -d option to fusermount
Miklos Szeredi7ffb8cf2004-01-05 15:07:12 +0000879
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008802003-12-15 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi2f3d9402003-12-15 12:11:33 +0000881
882 * Added major+minor version to library API, and minor version to
883 kernel API
884
David McNab7a19caf2003-12-13 02:05:46 +00008852003-12-13 David McNab <david@rebirthing.co.nz>
886
887 * Implemented fsync support in examples/example.py
888
889 * Implemented 'fsync' and 'statfs' methods in python
890 interface
891
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00008922003-12-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000893
Miklos Szeredie5183742005-02-02 11:14:04 +0000894 * Make it compile on 2.4.19.
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000895
Miklos Szeredi5e43f2c2003-12-12 14:06:41 +0000896 * Add fsync operation (write file failed on xemacs & vi)
Miklos Szeredie4cf7332003-12-12 11:53:31 +0000897
David McNab8bf62632003-12-11 22:49:22 +00008982003-12-12 David McNab <david@rebirthing.co.nz>
899
900 * Added distutils support to the python module, as per standard
901 python development practice
902
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009032003-12-11 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000904
905 * Add file locking for mount/unmount (based on patch by Valient
906 Gough)
907
9082003-12-11 David McNab <david@rebirthing.co.nz>
909
910 * Python filesystem - was broken with python2.3, now fixed:
911 - changed PyTuple_* calls to PySequence_*, because os.lstat
912 is no longer returning a pure tuple
913 - changed PyInt_Check() calls to also call PyLong_Check,
914 to cover for cases (eg os.lstat) where longs are returned
915 - Added support for file 'release' handling, which IMO is
916 essential since this signals to a FS that writes to a file
917 are complete (and therefore the file can now be disposed of
918 meaningfully at the python filesystem's discretion)
919 - Added '__init__' handler to base Fuse class, which allows
920 your Python class to know the mountpoint and mount args,
921 as attributes myfs.mountpoint, myfs.optlist, myfs.optdict
Miklos Szeredie5183742005-02-02 11:14:04 +0000922
Miklos Szeredi874d95d2003-12-11 14:27:57 +0000923 * General:
924 - added 'mount.fuse' script (in util/ dir), which is meant to be
925 symlinked from /sbin, and which allows FUSE filesystems to
926 be mounted with the 'mount' command, and listed in fstab;
927 also, mount arguments get passed to your filesystem
928
929
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009302003-11-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif27ec7d2003-11-04 13:46:32 +0000931
932 * Fix kernel version detection (again). Bugreport by Peter Levart
933
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009342003-11-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi36ca5562003-11-03 19:32:14 +0000935
936 * Applied read combining patch by Michael Grigoriev (tested by
937 Valient Gough and Vincent Wagelaar)
938
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009392003-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif08ace02003-10-22 11:11:57 +0000940
941 * Mtab handling fix in fusermount by "Valient Gough" (SF patch
942 #766443)
Miklos Szeredie5183742005-02-02 11:14:04 +0000943
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009442003-10-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0e535082003-10-13 10:08:06 +0000945
946 * Error code fixes in kernel module
Miklos Szeredie5183742005-02-02 11:14:04 +0000947
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009482003-10-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi27af48b2003-10-04 17:31:38 +0000949
950 * kernel version detection fix
951
952 * fusermount now uses "lazy" umount option
953
954 * fusermount can use modprobe with module-init-tools
955
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009562003-09-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredida4e4862003-09-08 11:14:11 +0000957
958 * Integrated caching patch by Michael Grigoriev
959
Miklos Szeredida4e4862003-09-08 11:14:11 +0000960 * Added "Filesystems" file with descriptions of projects using
961 FUSE
962
Miklos Szeredi02ceb112003-09-08 13:52:25 +0000963 * Added patch by Michael Grigoriev to allow compliation of FUSE
964 kernel module for 2.6 kernels
965
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009662003-06-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi84838472003-06-02 06:12:27 +0000967
968 * And another spec-file fix by Achim Settelmeier
969
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009702003-05-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi21c282b2003-05-26 07:12:57 +0000971
972 * Spec-file fix by Achim Settelmeier
973
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009742003-03-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000975
Miklos Szerediac361172004-11-02 19:14:14 +0000976 * Fix umount oops (found by Samuli Kärkkäinen)
Miklos Szeredi79b461a2003-03-10 09:35:34 +0000977
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009782003-03-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +0000979
980 * Merge of fuse_redhat.spec and fuse.spec by Achim Settelmeier
981
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009822003-03-04 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredia9b2f262003-03-04 09:37:20 +0000983
984 * Updated fuse.spec file (Achim Settelmeier)
985
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009862003-02-19 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic0226bb2003-02-19 16:05:06 +0000987
988 * Version 1.0 released
989
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009902003-02-12 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredifa84e0d2003-02-13 09:53:33 +0000991
992 * SuSE compilation fix by Juan-Mariano de Goyeneche
993
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009942002-12-10 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredic8ba2372002-12-10 12:26:00 +0000995
996 * The release() VFS call is now exported to the FUSE interface
997
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +00009982002-12-05 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi0f48a262002-12-05 14:23:01 +0000999
1000 * 64 bit file offset fixes in the fuse kernel module
1001
1002 * Added function 'fuse_exit()' which can be used to exit the main
1003 loop
1004
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010052002-12-03 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5f054812002-12-03 18:45:21 +00001006
1007 * Added _FILE_OFFSET_BITS=64 define to fuse.h. Note, that this is
1008 an incompatible interface change.
1009
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010102002-10-28 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi6bf8b682002-10-28 08:49:39 +00001011
1012 * Portablility fix (bug reported by C. Chris Erway)
1013
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010142002-10-25 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredid6e9f882002-10-25 11:40:14 +00001015
1016 * Use Mark Glines' fd passing method for default operation instead
1017 of old reexec
1018
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010192002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi60c23522002-10-24 09:19:43 +00001020
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001021 * fix "Stale NFS file handle" bug caused by changes in 2.4.19
1022
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010232002-10-22 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi5e5d61f2002-10-24 11:50:33 +00001024
Miklos Szeredi60c23522002-10-24 09:19:43 +00001025 * fix incompatiblity with Red Hat kernels, with help from Nathan
1026 Thompson-Amato.
1027
Mark Glines65ba2192002-04-18 14:41:48 +000010282002-04-18 Mark Glines <mark@glines.org>
1029
1030 * added an alternative to fuse_mount(), called
1031 fuse_mount_ioslave(), which does not need to reexec the
1032 FUSE program.
1033 * added a small helper util needed by fuse_mount_ioslave().
1034
Mark Glines220635a2002-03-17 07:01:14 +000010352002-03-16 Mark Glines <mark@glines.org>
1036
1037 * use struct fuse_statfs everywhere possible to avoid problems
1038 with the headerfiles changing struct statfs member sizes
1039
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010402002-03-01 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi081f3c22002-03-01 07:47:35 +00001041
1042 * Another RPM spec file for RedHat >= 7 by Ian Pilcher
1043
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010442002-01-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredif782fc42002-01-14 08:48:46 +00001045
1046 * RPM support by Achim Settelmeier
1047
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010482002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001049
Miklos Szerediddc862a2002-01-09 13:46:10 +00001050 * Version 0.95 released
Miklos Szeredie5183742005-02-02 11:14:04 +00001051
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010522002-01-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szerediddc862a2002-01-09 13:46:10 +00001053
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001054 * Revaidate all path components not just the last, this means a
1055 very small performance penalty for being more up-to-date.
1056
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010572002-01-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi4b2bef42002-01-09 12:23:27 +00001058
1059 * Update and fix python interface
1060
Mark Glinesd84b39a2002-01-07 16:32:02 +000010612002-01-07 Mark Glines <mark@glines.org>
Miklos Szeredie5183742005-02-02 11:14:04 +00001062
Mark Glinesd84b39a2002-01-07 16:32:02 +00001063 * Added statfs() support to kernel, lib, examples, and perl!
1064
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010652001-12-26 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi46a46dc2002-01-08 09:55:14 +00001066
1067 * Better cross compilation support
1068
1069 * Ported to Compaq IPAQ
1070
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010712001-12-20 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001072
Miklos Szeredife25def2001-12-20 15:38:05 +00001073 * Added function fuse_get_context() to library API (inspired by
Miklos Szeredie5183742005-02-02 11:14:04 +00001074 patch from Matt Ryan)
1075
Miklos Szeredife25def2001-12-20 15:38:05 +00001076 * Added flags to fusermount and to kernel interface to control
1077 permission checking
Miklos Szeredi8cffdb92001-11-09 14:49:18 +00001078
Miklos Szeredife25def2001-12-20 15:38:05 +00001079 * Integrated fuse_set_operations() into fuse_new()
1080
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010812001-12-08 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001082
1083 * Applied header protection + extern "C" patch by Roland
1084 Bauerschmidt
1085
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010862001-12-02 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001087
Miklos Szeredie5183742005-02-02 11:14:04 +00001088 * Added perl bindings by Mark Glines
Miklos Szeredife25def2001-12-20 15:38:05 +00001089
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010902001-11-21 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001091
1092 * Cleaned up way of mounting simple filesystems.
1093
1094 * fuse_main() helper function added
1095
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000010962001-11-18 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredie5183742005-02-02 11:14:04 +00001097
Miklos Szeredife25def2001-12-20 15:38:05 +00001098 * Optimized read/write operations, so that minimal copying of data
1099 is done
1100
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011012001-11-14 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredife25def2001-12-20 15:38:05 +00001102
1103 * Python bindings by Jeff Epler added
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001104
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011052001-11-13 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001106
1107 * Fixed vfsmount reference leak in fuse_follow_link
1108
1109 * FS blocksize is set to PAGE_CACHE_SIZE, blksize attribute from
1110 userspace is ignored
1111
Miklos Szeredi2e6b6f22004-07-07 19:19:53 +000011122001-11-09 Miklos Szeredi <miklos@szeredi.hu>
Miklos Szeredi838c14f2001-11-14 08:16:20 +00001113
Miklos Szeredife25def2001-12-20 15:38:05 +00001114 * Started ChangeLog