aboutsummaryrefslogtreecommitdiffstats
path: root/example/notify_inval_inode.c
AgeCommit message (Collapse)AuthorLines
2024-08-01Fix FUSE_USE_VERSION in example/Bernd Schubert-1/+1
This is an addition to commit a8f1ae35af66, which introduced the 312 API, but didn't set the right API version in all examples. Signed-off-by: Bernd Schubert <bschubert@ddn.com>
2024-06-25Fix wrong use of the EBADFD errnoCismonX-2/+2
should use EBADF instead
2024-06-04Add support for no_interrupt (#956)yangyun50-0/+8
The function fuse_session_process_buf_int() would do much things for FUSE_INTERRUPT requests, even there are no FUSE_INTERRUPT requests: 1. check every non-FUSE_INTERRUPT request and add these requests to the linked list(se->list) under a big lock(se->lock). 2. the function fuse_free_req() frees every request and remove them from the linked list(se->list) under a bing lock(se->lock). These operations are not meaningful when there are no FUSE_INTERRUPT requests, and have a great impact on the performance of fuse filesystem because the big lock for each request. In some cases, FUSE_INTERRUPT requests are infrequent, even none at all. Besides, the user-defined filesystem may do nothing for FUSE_INTERRUPT requests. And the kernel side has the option "no_interrupt" in struct fuse_conn. This kernel option can be enabled by return ENOSYS in libfuse for the reply of FUSE_INTERRUPT request. But I don't find the code to enable the "no_interrupt" kernel option in libfuse. So add the no_interrupt support, and when this operaion is enabled: 1. remove the useless locking operaions and list operations. 2. return ENOSYS for the reply of FUSE_INTERRUPT request to inform the kernel to disable FUSE_INTERRUPT request.
2024-04-20example/: Convert all fuse_session_loop_mt users to 3.12 API (#931)Bernd Schubert-4/+7
Convert all the remaining users of fuse_session_loop_mt() to the new 3.12 config api.
2024-03-20Fix example/fix-notify_inval_inode.c (#908)Bernd Schubert-5/+27
Similar issue as fixed in commit 3c7ba570 "examples/notify_store_retrieve: Add a clean shutdown". Basically a clean shutdown was missing, but even with clean shutdown it does not work, as kernel side releases inodes before sending FUSE_DESTROY - the intervaled thread then gets -ENOENT. Co-authored-by: Bernd Schubert <bschubert@ddn.com>
2020-09-09Updated example code to work with new API (#547)AKowshik-3/+7
2020-03-13State GPL version in comment (#485)Dr. David Alan Gilbert-1/+1
IN a bunch of comments we say 'under the terms of the GNU GPL', make it clear this is GPLv2 (as LICENSE says). Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2020-01-30examples: mark ops variables constant (#496)zsugabubus-1/+1
2019-03-08Document fuse_fsync_in.fsync_flags and remove magic numbers (#375)Alan Somers-5/+1
2017-09-25Removed unneccessary #include <config.h> from examplesNikolaus Rath-2/+0
Fixes: #208.
2017-07-08Added public fuse_lib_help(), bumped minor versionNikolaus Rath-1/+1
2016-10-28Clean-up doxygen documentationNikolaus Rath-3/+2
Fixes: #81.
2016-10-15Make --help output more suitable for end-userNikolaus Rath-2/+1
We now only list options that are potentially useful for an end-user (and unlikely to accidentally break a file system). The full list of FUSE options has been moved to the documentation of the fuse_new() and fuse_session_new() functions.
2016-10-15Unify handling of fuse_conn_info optionsNikolaus Rath-1/+0
Instead of using command line options to modify struct fuse_conn_info before and after calling the init() handler, we now give the file system explicit control over this.
2016-10-13Make -o clone_fd into a parameter of session_loop_mt().Nikolaus Rath-1/+1
This option really affects the behavior of the session loop, not the low-level interface. Therefore, it does not belong in the fuse_session object.
2016-10-10Fix race condition in notify_* examplesNikolaus Rath-10/+17
The fix in commit cf4159156b was incomplete. While some false positives are caused by sleep() in the file system taking longer than expected, there was also a race condition where the file system would run before the contents are initialized properly.
2016-10-09Use NULL as option processor where possible.Nikolaus Rath-9/+1
2016-10-09Don't confuse lookup count for mountpoint and fileNikolaus Rath-2/+4
I think this is the reason for a sporadic test failure, where fuse_lowlevel_notify_store() fails.
2016-10-09Renamed timefsN examples to fuse_notify_*Nikolaus Rath-0/+373
This should make it more obvious at first glance what the different examples do.