-
Notifications
You must be signed in to change notification settings - Fork 40
/
ChangeLog
3173 lines (1909 loc) · 93.3 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2012-01-25 Miklos Szeredi <[email protected]>
* Released 2.8.7
2012-01-02 Miklos Szeredi <[email protected]>
* Remove unnecessary mutex unlock at the end of multithreaded
event loop.
2011-12-09 Miklos Szeredi <[email protected]>
* Fix hang in wait_on_path(). Reported by Ville Silventoinen
2011-10-13 Miklos Szeredi <[email protected]>
* Reply to request with ENOMEM in case of failure to allocate
request structure. Otherwise the task issuing the request will
just freeze up until the filesystem daemon is killed. Reported by
Stephan Kulow
2011-09-13 Miklos Szeredi <[email protected]>
* Released 2.8.6
2011-08-26 Miklos Szeredi <[email protected]>
* If configured with --disable-mtab then don't call mount(8) from
libfuse to update the mtab. Reported by: James Sierp
2011-01-31 Miklos Szeredi <[email protected]>
* Always call umount with --no-canonicalize --fake options to
prevent symlink attacks at umount. util-linux >= 2.18 or a
suitably patched version is required.
* Always call mount with --no-canonicalize option to prevent
symlink attacks on mount.
* In case of failure to add to /etc/mtab use same mountpoint for
cleanup as for mounting. Reported by Marc Deslauriers
2010-11-08 Miklos Szeredi <[email protected]>
* Open /dev/null for write instead of read for redirecting stdout
and stderr
2010-10-14 Miklos Szeredi <[email protected]>
Use LTLIBICONV when linking libfuse. This fixes building against
uclibc + libiconv. Patch by Natanael Copa
2010-10-05 Miklos Szeredi <[email protected]>
* Add missing argument check in ulockmgr.c to prevent calling
ulockmgr_server with illegal arguments. This would cause an ever
growing list of ulockmgr_server processes with an endless list of
open files which finally exceeds the open file handle limit.
Patch by Markus Ammer
2010-09-28 Miklos Szeredi <[email protected]>
* Fix ambiguous symbol version for fuse_chan_new.
fuse_versionscript included fuse_chan_new in both FUSE_2.4 and
FUSE_2.6. Remove the FUSE_2.4, which is invalid.
2010-09-28 Miklos Szeredi <[email protected]>
* Released 2.8.5
2010-09-28 Miklos Szeredi <[email protected]>
* Fix option escaping for fusermount. If the "fsname=" option
contained a comma then the option parser in fusermount was
confused (Novell bugzilla #641480). Fix by escaping commas when
passing them over to fusermount. Reported by Jan Engelhardt
2010-05-10 Miklos Szeredi <[email protected]>
* Remove "chmod root" from install of fusermount. Reported by
Lucas C. Villa Real
2010-04-26 Miklos Szeredi <[email protected]>
* Released 2.8.4
2010-04-26 Miklos Szeredi <[email protected]>
* Fix checking for symlinks in umount from /tmp. Reported by Al
Viro
* Fix umounting if /tmp is a symlink. Reported by Franco Broi
2010-02-18 Miklos Szeredi <[email protected]>
* Fix definition of FUSE_OPT_END for C++. Reported by Tim
Bruylants
2010-02-03 Miklos Szeredi <[email protected]>
* Fix stack alignment for clone()
2010-02-01 Miklos Szeredi <[email protected]>
* Released 2.8.3
2010-02-01 Miklos Szeredi <[email protected]>
* Using "--no-canonicalize" with umount(8) conflicts with the race
fix, sinceit assumes the supplied path is absolute, while the race
fix relies on the path being relative to the current directory.
Reported by Tom Rindborg
2010-01-26 Miklos Szeredi <[email protected]>
* Released 2.8.2
2010-01-21 Miklos Szeredi <[email protected]>
* Fix race if two "fusermount -u" instances are run in parallel.
Reported by Dan Rosenberg
* Make sure that the path to be unmounted doesn't refer to a
symlink
2010-01-14 Miklos Szeredi <[email protected]>
* Fix compile error on FreeBSD. Patch by Jay Sullivan
2009-12-17 Miklos Szeredi <[email protected]>
* Use '--no-canonicalize' option of mount(8) (available in
util-linux-ng version 2.17 or greater) to avoid calling
readling(2) on the newly mounted filesystem before the mount
procedure is finished. This has caused a deadlock if "audit" was
enabled in the kernel. Also use '--no-canonicalize' for umount to
avoid touching the mounted filesystem.
2009-09-11 Miklos Szeredi <[email protected]>
* Released 2.8.1
2009-08-25 Miklos Szeredi <[email protected]>
* Fix missing versioned symbol fuse_get_context@FUSE_2.2
2009-08-18 Miklos Szeredi <[email protected]>
* Released 2.8.0
2009-08-18 Miklos Szeredi <[email protected]>
* Add missing fuse_session_data to versionscript
* Make sure all global symbols are prefixed with "fuse_" or "cuse_"
2009-07-16 Miklos Szeredi <[email protected]>
* Clarify how the protocol version should be negotiated between
kernel and userspace. Notably libfuse didn't correctly handle the
case when the supported major versions didn't match
* Add missing pthread link for libulockmgr. Patch by Petr Salinger
2009-07-02 Miklos Szeredi <[email protected]>
* The context is extended with a 'umask' field. The umask is sent
for mknod, mkdir and create requests by linux kernel version
2.6.31 or later, otherwise the umask is set to zero. Also
introduce a new feature flag: FUSE_CAP_DONT_MASK. If the kernel
supports this feature, then this flag will be set in conn->capable
in the ->init() method. If the filesystem sets this flag in in
conn->want, then the create modes will not be masked.
* Add low level interfaces for lookup cache and attribute
invalidation. This feature is available in linux kernels 2.6.31
or later. Patch by John Muir
* Kernel interface version is now 7.12
* fusermount: Do not silently ignore command line arguments.
Patch by Sebastian Harl
2009-06-19 Miklos Szeredi <[email protected]>
* Released 2.8.0-pre3
2009-06-19 Miklos Szeredi <[email protected]>
* Add fuse_getgroups (high level lib) and fuse_req_getgroups (low
level lib) functions to query the supplementary group IDs for the
current request. Currently this is implemented on Linux by
reading from the /proc filesystem.
2009-06-18 Miklos Szeredi <[email protected]>
* Add "noforget" option to high level lib to prevent ESTALE errors
on NFS exported filesystems. This result in paths being cached
forever, resulting in ever growing memory usage. Use with care.
* Add "no_remote_lock" option to disable remote file locking even
if the filesystem implements it. With this option locking
primitives (flock, lockf, fcntl(F_SETLK)) will still work, but
will ignore remotely locked files.
* CUSE patches from Tejun Heo:
* Unrestricted ioctl support left some debris. Clean them up:
o No reason to pass around pointer to flags. Pass flags directly.
o Clean up comment and prototype parameter names.
o fuse_lib_ioctl() didn't reply when get_path() failed. Fix it.
o Remove unused variables {in|out}_iov from fuse_lib_ioctl().
* Add fuse_reply_ioctl_iov()
* Move fuse_session, fuse_req and fuse_ll definitions to fuse_i.h
and make send_reply_iov() and fuse_setup_common() global (also in
fuse_i.h). These will be used by CUSE support.
* Restructure fuse_ll_process()
* Implement libfuse side of CUSE support. CUSE uses subset of FUSE
operations as dir operations don't make sense for CUSE where one
instance implements single character device.
CUSE support comes with its own cuse_lowevel_ops and related
initialization and helper functions. Except for initialization, it
usage is basically identical to FUSE.
This patch also adds example/cusexmp.c which can create a character
device with name and device number specified on command line. The
created device itself is pretty boring. It's a bit bucket supporting
read, write and access via ioctl.
2009-06-16 Miklos Szeredi <[email protected]>
* Add missing fuse_reply_bmap to versionscript. Debian
Bug#531329. Reported by Goswin Brederlow
2009-05-27 Miklos Szeredi <[email protected]>
* Don't call forget_node() if the lookup was negative and write()
for the reply returned ENOENT. Reported by John Haxby
2009-05-25 Miklos Szeredi <[email protected]>
* Add FUSE_CAP_EXPORT_SUPPORT to fuse_common.h
2009-05-08 Miklos Szeredi <[email protected]>
* Fix missing newlines in some printfs
* Fix 'make install-strip'. Reported by Dominick Layfield
2009-01-05 Miklos Szeredi <[email protected]>
* Released 2.8.0-pre2
2008-12-08 Miklos Szeredi <[email protected]>
* Implement poll support. Patch by Tejun Heo
* Add missing setattr flags to <fuse_lowlevel.h>.
* Only pass valid flags to ->setattr().
2008-12-05 Miklos Szeredi <[email protected]>
* Implement ioctl support. On high level interface only
"restricted" ioctls are supported (which are defined with the
_IO(), _IOR(), _IOW() or _IOWR() macros). Unrestricted ioctls
will only be allwed to CUSE (Character Device in Userspace)
servers. Patch by Tejun Heo
2008-11-28 Miklos Szeredi <[email protected]>
* If open sets fi->nonseekable, libfuse will tell the kernel that
the file is not seekable. Patch by Tejun Heo
2008-11-19 Miklos Szeredi <[email protected]>
* lowlevel lib: fix deadlock if fuse_reply_* is called from the
interrupt handling function. Reported by Tero Marttila
2008-10-16 Miklos Szeredi <[email protected]>
* Allow commas in options to be escaped with a backslash
* Add new function: fuse_opt_add_opt_escaped()
* Add missing fuse_reply_bmap() to the version script
2008-10-14 Miklos Szeredi <[email protected]>
* Pass current file flags to read and write operations
2008-07-24 Miklos Szeredi <[email protected]>
* Clean up debug output in highlevel lib
2008-07-10 Miklos Szeredi <[email protected]>
* Released 2.8.0-pre1
2008-06-27 Miklos Szeredi <[email protected]>
* Fix handling of (no)suid and (no)dev options if filesystem is
mounted from /etc/fstab or via mount(8). Reported by Jan Ondrej.
* Skip calling mount(8) if /etc/mtab doesn't exist or if it's on a
read-only filesystem. This works around issues with certain mount
implementations. Reported by Szabolcs Szakacsits.
2008-06-16 Miklos Szeredi <[email protected]>
* Remove fuse kernel module sources. Linux 2.6.27 will support
NFS exporting.
2008-06-10 Miklos Szeredi <[email protected]>
* Fix theoretical infinite loops in libfuse. Reported by Szabolcs
Szakacsits
* Fix missing <sys/param.h> include for PATH_MAX. Reported by
Szabolcs Szakacsits
2008-05-23 Miklos Szeredi <[email protected]>
* Fix mounting over symlink. Reported by Szabolcs Szakacsits
2008-05-09 Miklos Szeredi <[email protected]>
* Don't allow bigger than 4kB writes by default on 2.6.26 and
later kernels, so that filesystems not expecting this are not
broken on a kernel upgrade. Provide a 'big_writes' mount option
to enable this feature. In future API revisions this may become
the default.
2008-04-09 Miklos Szeredi <[email protected]>
* Update warning message for missing newline at end of fuse.conf
* Update debug message for successful operation to not include the
string "error:"
2008-04-08 Miklos Szeredi <[email protected]>
* Update error message for missing mountpoint parameter. Reported
by Allen Pulsifer
2008-04-04 Miklos Szeredi <[email protected]>
* Print library version information to debug output
* Highlevel lib: don't limit paths to 4095 characters
2008-03-25 Miklos Szeredi <[email protected]>
* Fix memory leaks on mount. Patch by Szabolcs Szakacsits
2008-03-19 Miklos Szeredi <[email protected]>
* Fix missing pthread_mutex_destroy in error path of
fuse_lib_opendir(). Patch by Szabolcs Szakacsits
2008-03-07 Miklos Szeredi <[email protected]>
* Add queuing on contention to per-node lock algorithm, to avoid
starvation.
* Only enable cancelation when reading a request, otherwise
cancellation could happen with a mutex held, which could hang the
process on umount
2008-02-08 Miklos Szeredi <[email protected]>
* Block SIGCHLD when executing mount and umount
* fusexmp_fh: avoid unnecessary seeking in readdir
* Update kernel interface to 7.9:
* Support receiving file handle from kernel in GETATTR request
* Allow operations with a NULL path argument, if the filesystem
supports it
* Add support atomic open(O_TRUNC)
* Support the st_blksize field in struct stat
* If the "FUSE_THREAD_STACK" environment is set, initialize the
stack size of threads by this value. Patch by Florin Malita
* Add per-node locking, instead of a global tree lock to protect
the path from changing during operations. Original patch by
Rodrigo Castro
2008-02-03 Csaba Henk <[email protected]>
* lib/mount_bsd.c:
- string formatting fixes
- exit if mounting has failed
(in FreeBSD a mount failure is not critical per se, as the daemon
still could be mounted externally, but waiting for such an event
is more confusing than fruitful)
- ditch the kvm(8) stuff and simply use forced unmount which just
won't block
- prettify option specifications
- add "-onosync_unmount" kernel option
2008-01-07 Csaba Henk <[email protected]>
* lib/mount_bsd.c:
- refine device closing in a race-free way
- add support for "-osubtype" on FreeBSD
* makeconf.sh: make it work under FreeBSD
2008-01-03 Csaba Henk <[email protected]>
* lib/mount_bsd.c: close device before unmount
(cf. lib/mount.c rev. 1.43) and fix some warnings
2007-12-23 Miklos Szeredi <[email protected]>
* Fix './configure --disable-static'. Patch from Ismail Dönmez
2007-12-17 Miklos Szeredi <[email protected]>
* Released 2.7.2
2007-12-12 Miklos Szeredi <[email protected]>
* Fix kernel module compile for 2.6.24
* Invalidate attributes of parent directory after create(), since
the modification time changes. Invalidate attributes on rename,
since some filesystems may update st_ctime. Reported by Szabolcs
Szakacsits
* Fix NFS exporting to handle 64bit node IDs
* Disable old symbol versions if __UCLIBC__ is defined. If a
symbol in a library has multiple versions, the runtime linker in
uClibc seems to randomly choose between them.
* Remove erroneous 'fuse_opt_insert_arg@FUSE_2_5' from
fuse_version_script. fuse_opt_free_args() was added in fuse-2.6.
* Close fuse device file descriptor before calling umount(),
preventing a deadlock when umount is synchronous. Reported by
Szabolcs Szakacsits
2007-11-12 Miklos Szeredi <[email protected]>
* 'fusermount -u' did not umount the filesystem if /etc/mtab was a
symlink. This bug was introduced in 2.7.1 by "Don't call
/bin/[u]mount if /etc/mtab is a symlink". Found by robertsong.
2007-10-16 Miklos Szeredi <[email protected]>
* Released 2.7.1
2007-10-16 Miklos Szeredi <[email protected]>
* Clarify licence version to be "LGPLv2" for the library
* kernel fixes:
* After mount set nlink attribute for the root inode to 1
* Fix wake up of task waiting for a reserved request
* Fix allowing setattr, listxattr and statfs for other users
2007-09-18 Miklos Szeredi <[email protected]>
* Add missing context initialization in fuse_fs_chmod(). Bug
found by "iohead"
* Fix kernel module compilation for 2.6.23. Based on patch by
Marian Marinov
2007-09-04 Philippe Elie <[email protected]>
* lib/fuse_lowlevel.c: fix a fuse_req leak in do_forget()
2007-07-31 Miklos Szeredi <[email protected]>
* Work around hotplug issue, that it calls filesystem with file
descriptors 0, 1 and 2 not open. Tracked down by Leif Johnson
2007-07-25 Miklos Szeredi <[email protected]>
* Don't call /bin/[u]mount if /etc/mtab is a symlink. Reported by
Tomas M
* Also don't touch /etc/mtab if it is within the mounted
filesystem. Suggested by Jeffrey Law
2007-07-12 Miklos Szeredi <[email protected]>
* Reset args->argc in fuse_opt_free_args(). Patch by Lucas
C. Villa Real
2007-07-02 Miklos Szeredi <[email protected]>
* Released 2.7.0
2007-07-02 Miklos Szeredi <[email protected]>
* Accept a NULL "op" for fuse_main(), etc. This is useful if
filesystem is only invoking fuse to print a help message, or
version. Fixes RedHat bugzilla #217343
2007-06-22 Miklos Szeredi <[email protected]>
* lib: fix locking when loading a filesystem module
2007-06-21 Miklos Szeredi <[email protected]>
* Add fs subtype support to mount.fuse
2007-06-20 Miklos Szeredi <[email protected]>
* Add fs subtype support to libfuse and fusermount
2007-06-19 Miklos Szeredi <[email protected]>
* kernel: sync with mainline (2.6.22)
2007-06-18 Miklos Szeredi <[email protected]>
* Send debug output to stderr instead of stdout. Patch by Jan
Engelhardt
2007-06-03 Miklos Szeredi <[email protected]>
* libulockmgr: Work around a kernel bug in recv(), causing it to
sometimes return zero even if data was available on the socket.
2007-05-29 Miklos Szeredi <[email protected]>
* lib: optimization: store parent pointer in node instead of
parent id
2007-05-25 Miklos Szeredi <[email protected]>
* lib: don't create new thread for each FORGET request. FORGET
messages sometimes caused so many threads to be created, that
process virtual memory space ran out. Reported by Chris AtLee
2007-05-24 Miklos Szeredi <[email protected]>
* lib: fix memory leak on thread creation failure in multithreaded
event loop. Found by Chris AtLee
2007-05-23 Miklos Szeredi <[email protected]>
* lowlevel lib: add fuse_reply_iov function, which is similar to
fuse_reply_buf, but accepts a vector of buffers. Patch by Roger
Willcocks
2007-05-21 Miklos Szeredi <[email protected]>
* Fix Oops or error if a regular file is created with mknod(2) on
a fuse filesystem. Kernels 2.6.18 onward are affected. Thanks to
J. Cameijo Cerdeira for the report
2007-05-11 Csaba Henk <[email protected]>
* libfuse: fix return value of fuse_loop()/fuse_loop_mt().
Error reported by Csaba Henk, fix by Miklos Szeredi
* libfuse: fix unlock in flush
* libfuse: do unlocking on RELEASE+FLUSH
2007-05-03 Miklos Szeredi <[email protected]>
* Released 2.7.0-rc1
2007-05-02 Miklos Szeredi <[email protected]>
* kernel: sync with mainline:
* Use invalidate_mapping_pages() if available
* Fix BUG when invalid file type is supplied in mount. Patch by
Timo Savola
2007-04-27 Miklos Szeredi <[email protected]>
* libfuse: call umount(8) directly instead of fusermount if
possible
* Clean up init script, make it LSB compliant
2007-04-26 Miklos Szeredi <[email protected]>
* In multithreaded loop, use a semaphore instead of SIGHUP to wake
up the main thread on umount. This is more elegant, and works
even if signals are blocked.
2007-04-25 Miklos Szeredi <[email protected]>
* Improve mounting support in libfuse:
- check non-empty mountpoint
- only fall back to fusermount when necessary
2007-04-23 Miklos Szeredi <[email protected]>
* Don't chdir to "/" in foreground mode, it causes more trouble
than it's worth
2007-04-18 Miklos Szeredi <[email protected]>
* Replace utils/mount.fuse "sh" script with a "C" program
2007-04-15 Miklos Szeredi <[email protected]>
* Add -lulockmgr to compilation comment in fusexmp_fh.c
2007-04-05 Miklos Szeredi <[email protected]>
* Check for iconv. Patch by Csaba Henk
* Add direct umounting
* Use "fusectl" as the device for the fusectl filesystem. Debian
Bug#417945. Reported by Laurent Bonnaud
2007-04-01 Csaba Henk <[email protected]>
* Fix some FreeBSD related macros.
2007-03-30 Miklos Szeredi <[email protected]>
* Add support for direct mounting by libfuse. Fall back on
calling fusermount if it doesn't work
2007-03-14 Miklos Szeredi <[email protected]>
* Released 2.7.0-pre1
2007-03-05 Miklos Szeredi <[email protected]>
* Correctly handle O_APPEND in direct IO mode. Reported by Greg
Bruno
* mount.fuse should use /bin/bash. Debian Bug#413403. Reported
by Thomas Weinbrenner
2007-02-26 Miklos Szeredi <[email protected]>
* Fix detection of installed fuse in init script. Reported and
fix suggested by Davide Canova
2007-02-05 Miklos Szeredi <[email protected]>
* Fix 2.6.9 RHEL kernels, which have compatibility mutex.h, but
don't define mutex_destroy(), bummer. Patch from Phil Schwan
2007-02-04 Miklos Szeredi <[email protected]>
* Compile fuseblk for kernels which don't have an option to turn
off the block layer (CONFIG_BLOCK). Reported by Szakacsits
Szabolcs
2007-02-03 Miklos Szeredi <[email protected]>
* Add filesystem stacking support to high level API. Filesystem
modules can be built into libfuse or loaded from shared object
(.so) files
* Add 'subdir' and 'iconv' built in modules
* lib/fuse.c: Fix locking for the reply code in create and open
2007-02-02 Miklos Szeredi <[email protected]>
* kernel: make it compile on "strange" kernels which have emulated
mutexes via <linux/mutex.h> but no i_mutex. Reported by Tomasz
Mateja
2007-01-28 Miklos Szeredi <[email protected]>
* kernel: fix BUG in control filesystem if it is umounted and
mounted again, while some fuse filesystems are present.
Bugreport from Florent Mertens
* kernel: sync with mainline, support 2.6.20
2007-01-22 Miklos Szeredi <[email protected]>
* lib/Makefile.am: actually link libfuse against libfuse_libs
2007-01-19 Miklos Szeredi <[email protected]>
* Build fix for 2.6.16 vanila and 2.6.15 FC5 kernels. Patch from
Ian Abbott
2007-01-18 Miklos Szeredi <[email protected]>
* Fix abort in fuse_new() compatibility API for opts == NULL case.
Novell bugzilla #233870. Patch from Takashi Iwai.
2007-01-13 Miklos Szeredi <[email protected]>
* Fix option parsing in mount.fuse. Patch from Jens M. Noedler
2007-01-02 Miklos Szeredi <[email protected]>
* Fix unaligned access in file desctriptor passing in libfuse,
fusermount and ulockmgr. Debian bug ID: 404904. Reported and
tested by Sebastian Fontius
2006-12-16 Miklos Szeredi <[email protected]>
* kernel: don't keep unreferenced inodes in the icache.
2006-12-15 Miklos Szeredi <[email protected]>
* fusermount: Fix detection of fuseblk. Reported by Szakacsits
Szabolcs
* lib: Fix use after free in fuse_flush(). Reported by Ron
Lindman
2006-12-10 Miklos Szeredi <[email protected]>
* mount.fuse: add "setuid=USER" option which does a "su - USER"
for the filesystem
* fusermount: use "/bin/mount -f" to add entry to /etc/mtab, and
"/bin/umount" to remove entry from /etc/mtab. This gets rid of
the ugly code dealing with mtab, as well as a possible race
between fusermount and mount trying to modify /etc/mtab at the
same time
* Fix "buffer size too small: 4" warning for users of the
fuse_loop_mt_proc() function.
2006-12-04 Miklos Szeredi <[email protected]>
* Fix warnings with gcc-4.1 on 64bit archs. Report from
Harshavardhana
* Add extra warning options, and fix resulting warnings
* Really fix fuse_teardown problem
2006-12-02 Miklos Szeredi <[email protected]>
* Add -lrt to fuse.pc (if needed) to fix static linking against
libfuse. Reported by Szakacsits Szabolcs
2006-12-01 Miklos Szeredi <[email protected]>
* Released 2.6.1
2006-11-30 Miklos Szeredi <[email protected]>
* Fix API version 21 and 22 compatibility for fuse_teardown.
Reported by Bgs
2006-11-29 Miklos Szeredi <[email protected]>
* fusermount: Print a more helpful message in case the kernel
doesn't support the 'fuseblk' filesystem type. This has been
biting ntfs-3g users. Reported by Yura Pakhuchiy
* kernel: fix build problem for "make -C ...". Reported by
Stephen Bryant
2006-11-19 Miklos Szeredi <[email protected]>
* Fix bug in certain error paths of lookup routines. The request
object was reused for sending FORGET, which is illegal. This bug
could cause an Oops in linux-2.6.18 or in fuse-2.6.0, and might
silently corrupt memory in earlier versions. Report and test
program by Russ Cox
2006-11-11 Miklos Szeredi <[email protected]>
* Print an error if an incompatible kernel interface version is
detected in INIT. This will only show if filesystem is started
with -d or -f
* Fix order of fuse_destroy()/fuse_unmount() in error cleanup of
fuse_setup_common(). Reported by Szakacsits Szabolcs
2006-11-06 Miklos Szeredi <[email protected]>
* Fix recursive locking in fuse_create(). Thanks to Takuya
Ishibashi for the bug report
2006-10-28 Miklos Szeredi <[email protected]>
* Fix automake problem. Patch from Nix
2006-10-26 Miklos Szeredi <[email protected]>
* Fix mount.fuse to use /bin/sh instead of /bin/bash, which is not
always available on embedded systems. Patch from Paul Smith
* Fix util/Makefile.am, so that failure to run update-rc.d or
device creation doesn't cause make to fail. Reported by Paul
Smith
2006-10-21 Miklos Szeredi <[email protected]>
* Released 2.6.0
2006-10-18 Miklos Szeredi <[email protected]>
* fusermount: don't try to create a lock file if /etc/mtab is a
symlink. Report and patch from Alexei Sheplyakov (debian bug
#393693)
2006-10-17 Miklos Szeredi <[email protected]>
* Minor changes, sync with mainline tree
2006-10-16 Miklos Szeredi <[email protected]>
* Released 2.6.0-rc3
2006-10-15 Miklos Szeredi <[email protected]>
* kernel: cleanups
2006-10-13 Miklos Szeredi <[email protected]>
* kernel: Fix compilation on patched 2.6.18 (fc6) and 2.6.19.
Report from David Shaw
* lib: Fix lost error on renaming a file. Report from David Shaw
* lib: Fix lost error on hiding open files (renaming to
.fuse_hiddenXXXX)
* kernel: Fix a rare hang on SMP/32bit on heavy filesystem
activity. The cause of the bug was that some calls to
i_size_write() were not protected by a lock, and hence
i_size_seqcount could become corrupted. This caused subsequent
calls to i_size_read() to spin forever. This is a long standing
bug was probably introduced in version 2.2, and thought to be
related to NFS exporting (it's not). It was reported by various
people, but Dana Henriksen has finally helped me to track it down,
so big thanks to him
* kernel: Protect against truncation of a swapfile
2006-10-10 Miklos Szeredi <[email protected]>
* kernel: Check for signature of super_operations->umount_begin().
Ubuntu kernel 2.6.17 seems to use the new signature found in
2.6.18. Thanks to Florent Mertens for the report
2006-10-08 Miklos Szeredi <[email protected]>
* Make sure inode numers wrap around at 2^32. This is needed on
dual 64bit/32bit architectures, because 32bit applications using
the non-largefile interface would otherwise break (EOVERFLOW error
would be returned by the stat() system call family)
* ulockmgr: handle the case, when a locking operation fails
because no more file desctriptors are available in
ulockmgr_server. Also work around a Linux kernel bug (known to
exist for all Linux kernel versions <= 2.6.18) which may cause
sent file descriptors to be lost in the above case
* ulockmgr: optimize file descriptor use
* restore needed cpp flags to util/Makefile.am
* Install udev rules as 99-fuse.rules instead of 60-fuse.rules
* Minor clean up of udev rules
* Add a synchronous DESTROY message to kernel interface. This is
invoked from umount, when the final instance of the filesystem is
released. It is only sent for filesystems mounted with the
'blkdev' option for security reasons.
* If the DESTROY message is received, call the filesystem's
->destroy() method. In this case it's not called from session
destruction as it would be otherwise.
2006-10-01 Miklos Szeredi <[email protected]>
* Released 2.6.0-rc2
2006-10-01 Miklos Szeredi <[email protected]>
* Add support for FLUSH+RELEASE operation for FreeBSD. Original
patch by Csaba Henk
* Add init script to insert fuse module and mount the control
filesystem. The script is installed as /etc/init.d/fuse and on
debian based systems (where update-rc.d is available) symlinks
from /etc/rc*.d/ are also installed.
* Include '#define FUSE_USE_VERSION=XX' into examples so they
become more self contained.
2006-09-30 Miklos Szeredi <[email protected]>
* API changes:
* Move lock_owner from a separate argument into fuse_file_info
* Add a flag to fuse_file_info indicating (1) a highlevel lock
operation (unlock all) was initiated by a flush, (2) a lowlevel
release operation should perform a flush as well.
* fusermount: revert modprobe change (2006-08-18) since it
doesn't work reliably with udev
* Add support for block device backed filesystems. This mode is
selected with the 'blkdev' option, which is privileged.
* Add support for the bmap (FIBMAP ioctl) operation on block
device backed filesystems. This allows swapon and lilo to work on
such filesystems.
* kernel changes:
* Drop support for kernels earlier than 2.6.9. Kernel module from
previous (2.5.x) release can be used with library from this
release
* In fuse_dentry_revalidate() use dget_parent() instead of
dereferencing d_parent, since there's no protection against parent
changing and going away
* Protect nlookup from concurrent updates
* In lookup if a directory alias exists but is unused,
then get rid of it, otherwise return -EBUSY.
* In mkdir if a directory alias exists, return success, but leave
dentry negative. In reality this could happen if a remote rename
immediately followed the mkdir.
* Don't BUG in fuse_iget() if multiple retries are needed to get a
good inode. This could happen if several lookups are racing for
the same inode.
2006-09-29 Miklos Szeredi <[email protected]>
* Fix compilation on 2.6.9. Report from Troy Ayers
2006-09-27 Miklos Szeredi <[email protected]>
* Fix Oops in fuse_readpages(). Reported by David Shaw
2006-09-24 Csaba Henk <[email protected]>
* Add support for nanosec times on FreeBSD
* Fix FreeBSD compatibility issues
2006-09-23 Miklos Szeredi <[email protected]>
* Fix one more compatibility bug. Thanks to Ricardo Correia
* Fix utimens compilation with uClibc. Patch from Jamie Guinan
2006-09-22 Miklos Szeredi <[email protected]>
* Fixed several compatibility bugs in low level interface.
Reported by Ricardo Correia
* Add workaround for ARM caching bug
2006-09-16 Miklos Szeredi <[email protected]>
* Rename new utimes() method to more logical utimens()
2006-09-14 Miklos Szeredi <[email protected]>
* Fuse tried to unlink already unlinked hidden files. Bug
reported by Milan Svoboda
2006-09-10 Miklos Szeredi <[email protected]>
* Released 2.6.0-rc1
2006-09-10 Miklos Szeredi <[email protected]>
* kernel: Fix unlock on close for kernels < 2.6.18
* Add ulockmgr library & server. This can be used for handling
file locking requests either directly from libfuse or over a
network, etc. This first version is not optimized and the number
of file descriptors it uses may get out of hand
2006-09-07 Miklos Szeredi <[email protected]>