aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorLines
2016-07-23Updated ChangeLogNikolaus Rath-3690/+116
Started from most recent FUSE 2.9.7 ChangeLog, and added FUSE 3.0 changes based on inspection of total diff to master.
2016-07-23Include test suite in tarballNikolaus Rath-3/+5
2016-07-21add error checking to setuid calls (#66)Alex Richman-3/+21
2016-06-20libfuse/fuse_daemonize: wait until daemon child process is ready (#55)Hendrik Brueckner-0/+14
Mounting a FUSE file system remotely using SSH in combination with pseudo-terminal allocation (-t), results in "Transport endpoint is not connected" errors when trying to access the file system contents. For example: # ssh -t root@localhost "cmsfs-fuse /dev/disk/by-path/ccw-0.0.0190 /CMSFS" Connection to localhost closed. # ls /CMSFS ls: cannot access '/CMSFS': Transport endpoint is not connected The cmsfs-fuse main program (which can also be any other FUSE file system) calls into the fuse_main() libfuse library function. The fuse_main() function later calls fuse_daemonize() to fork the daemon process to handle the FUSE file system I/O. The fuse_daemonize() function calls fork() as usual. The child proceeds with setsid() and then redirecting its file descriptors to /dev/null etc. The parent process, simply exits. The child's functions and the parent's exit creates a subtle race. This is seen with an SSH connection. The SSH command above calls cmsfs-fuse on an allocated pseudo-terminal device (-t option). If the parent exits, SSH receives the command completion and closes the connection, that means, it closes the master side of the pseudo-terminal. This causes a HUP signal being sent to the process group on the pseudo-terminal. At this point in time, the child might not have completed the setsid() call and, hence, becomes terminated. Note that fuse daemon sets up its signal handlers after fuse_daemonize() has completed. Even if the child has the chance to disassociate from its parent process group to become it's own process group with setsid(), the child still has the pseudo-terminal opened as stdin, stdout, and stderr. So the pseudo-terminal still behave as controlling terminal and might cause a SIGHUP at closing the the master side. To solve the problem, the parent has to wait until the child (the fuse daemon process) has completed its processing, that means, has become its own process group with setsid() and closed any file descriptors pointing to the pseudo-terminal. Closes: #27 Reported-by: Ofer Baruch <oferba@il.ibm.com> Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
2016-06-05Automatically run CI tests with clangNikolaus Rath-1/+8
Fixes: #51
2016-06-05Inlined calculate_dirent*_size functionsNikolaus Rath-22/+7
2016-06-05Don't use IFTODT macro.Nikolaus Rath-7/+2
IFTODT is provided by libc to convert from mode_t (as included in e.g. struct fstat) to d_type (unsigned char element of struct dirent, as returned by e.g. readdir). However, fuse actually uses a different struct fuse_dirent with a "type" field of type uint32. In other words, the semantics of (struct fuse_dirent).type are not necessarily the same as those of (struct dirent).d_type.
2016-06-05Inlined fuse_add_direntNikolaus Rath-45/+39
2016-06-04Merge branch 'add-dirent-strlen3' of git://github.com/trapexit/libfuse into ↵Nikolaus Rath-27/+64
trapexit-add-dirent-strlen3
2016-05-13Add 'traceback' as suspicious test output pattern.Nikolaus Rath-1/+1
2016-05-13Added Travis integrationNikolaus Rath-0/+20
2016-05-13Merge remote-tracking branch 'origin/master'Nikolaus Rath-1/+1
2016-05-13Merge branch 'ioctl-test'Nikolaus Rath-83/+43
2016-05-13Add ioctl tests.Nikolaus Rath-0/+24
2016-05-13Fix ioctl exampleNikolaus Rath-83/+19
Fixes issue #39.
2016-05-12remove double calculation of filename length and dirent sizeAntonio SJ Musumeci-27/+64
2016-05-11lib/fuse_lowlevel.c: fix small typo in fuse_ll_help (#44)David Sheets-1/+1
s/disable remove file locking/disable remote file locking/
2016-04-27Fixup commit 482a49c.Nikolaus Rath-1/+1
2016-04-27Merge remote-tracking branch 'origin/master'Nikolaus Rath-17/+17
2016-04-23Remove leading _ on header guards to comply with reserved identifier ↵Sam Stuewe-15/+15
requirements (#29) Remove leading _ on header guards to comply with reserved identifier requirements
2016-04-02Merge pull request #35 from 1ace/masterNikolaus Rath-1/+1
Fix spelling mistake in comment
2016-04-02Fix spelling mistakeEric Engestrom-1/+1
2016-03-29Added test_fselNikolaus Rath-2/+17
2016-03-29Added unit tests for fusexmp and helloNikolaus Rath-0/+306
2016-03-29Added basic unit tests.Nikolaus Rath-26/+190
Fixes issue #33.
2016-03-29Integrate tests with autotoolsNikolaus Rath-12/+11
2016-03-29Whitespace cleanup.Nikolaus Rath-27/+25
Applied (whitespace-cleanup) to each file. Having whitespace changes in the VCS is ugly, but it ensures that in the future committers can run this function to *avoid* commiting any whitespace.
2016-03-29Added .dir-locals.el to customize emacs settingsNikolaus Rath-0/+25
2016-03-29Inlined fuse_chan_fdNikolaus Rath-21/+8
2016-03-29Inlined fuse_chan_{send, recv}Nikolaus Rath-81/+60
2016-03-23Merge pull request #24 from jblumsch/doc-statfs-frsizeNikolaus Rath-1/+1
doc fix: The f_frsize field is not ignored by the statfs operation
2016-03-11cuse_lowlevel.setup(): fix double free of local variable 'args'Winfried Koehler-7/+9
Signed-off-by: Winfried Koehler <w_scan@gmx-topmail.de>
2016-03-09fuse.h doc fix: The f_frsize field is not ignored by the statfs operation.Jan Blumschein-1/+1
Apparently f_frsize has been passed on transparently since 2b4781100812d42e704c39c51303cd28ad3f9aa6 (Nov 28, 2005).
2016-03-01Improve description of issue #15.Nikolaus Rath-8/+10
2016-02-02Fix description of bug #15.Nikolaus Rath-9/+19
2016-02-01Document bug #15.Nikolaus Rath-2/+12
2016-01-28Include documentation in tarball.Nikolaus Rath-3/+6
2016-01-28Remove "credits" section, we now have an AUTHORS file.Nikolaus Rath-12/+0
2016-01-14Removed placeholder README file and switch automake to foreign flavor.Nikolaus Rath-4/+1
The GNU flavor merely requires to existence of some files (including README, but we prefer README.md), so there seems to be little point in using it.
2016-01-14Removed hopelessly outdated files.Nikolaus Rath-427/+1
2016-01-14Update makeconf.shNikolaus Rath-26/+7
Describe why manual copying of config.rpath is necessary, and fail with a more helpful message if it can't be found. Remove code for systems without autoreconf - it's apparently not used by anyone since it has been broken for quite some time (there is no `kernel` directory anymore).
2016-01-14Update maintainer and contributor listNikolaus Rath-6/+49
2016-01-14Extend write_buf documentationNikolaus Rath-0/+5
2016-01-14Initialize padding to zero.Nikolaus Rath-0/+1
This should prevent some valgrind warnings.
2015-12-21Updated homepage URL and added download location.Nikolaus Rath-1/+5
2015-12-20Migrated README to README.md for Markdown rendering on GitHub.Nikolaus Rath-379/+100
2015-09-29Merge branch 'clone_fd'Miklos Szeredi-13/+113
2015-08-14Merge git://git.code.sf.net/u/xophmeister/fuseMiklos Szeredi-0/+14
2015-08-12Canonicalised whitespace and added ChangeLog entryChristopher Harrison-1/+6
2015-08-12libfuse: fix warning mount.c:receive_fd()Miklos Szeredi-1/+6
Reported by Albert Berger