Files
msm-5.15/include/linux
Daniel Rosenberg f5f4199c10 ANDROID: fuse-bpf v1.1
These patches extend FUSE to be able to act as a stacked filesystem. This
allows pure passthrough, where the fuse file system simply reflects the lower
filesystem, and also allows optional pre and post filtering in BPF and/or the
userspace daemon as needed. This can dramatically reduce or even eliminate
transitions to and from userspace.

See https://lwn.net/Articles/915717/

Note that this patch set has been extensively tested in
common-android13-5.10

This is a squash of these changes cherry-picked from common-android13-5.10

ANDROID: fuse-bpf: Make compile and pass test
ANDROID: fuse-bpf: set error_in to ENOENT in negative lookup
ANDROID: fuse-bpf: Add ability to run ranges of tests to fuse_test
ANDROID: fuse-bpf: Add test for lookup postfilter
ANDROID: fuse-bpf: readddir postfilter fixes
ANDROID: fix kernelci error in fs/fuse/dir.c
ANDROID: fuse-bpf: Fix RCU/reference issue
ANDROID: fuse-bpf: Always call revalidate for backing
ANDROID: fuse-bpf: Adjust backing handle funcs
ANDROID: fuse-bpf: Fix revalidate error path and backing handling
ANDROID: fuse-bpf: Fix use of get_fuse_inode
ANDROID: fuse: Don't use readdirplus w/ nodeid 0
ANDROID: fuse-bpf: Introduce readdirplus test case for fuse bpf
ANDROID: fuse-bpf: Make sure force_again flag is false by default
ANDROID: fuse-bpf: Make inodes with backing_fd reachable for regular FUSE fuse_iget
Revert "ANDROID: fuse-bpf: use target instead of parent inode to execute backing revalidate"
ANDROID: fuse-bpf: use target instead of parent inode to execute backing revalidate
ANDROID: fuse-bpf: Fix misuse of args.out_args
ANDROID: fuse-bpf: Fix non-fusebpf build
ANDROID: fuse-bpf: Use fuse_bpf_args in uapi
ANDROID: fuse-bpf: Fix read_iter
ANDROID: fuse-bpf: Use cache and refcount
ANDROID: fuse-bpf: Rename iocb_fuse to iocb_orig
ANDROID: fuse-bpf: Fix fixattr in rename
ANDROID: fuse-bpf: Fix readdir
ANDROID: fuse-bpf: Fix lseek return value for offset 0
ANDROID: fuse-bpf: fix read_iter and write_iter
ANDROID: fuse-bpf: fix special devices
ANDROID: fuse-bpf: support FUSE_LSEEK
ANDROID: fuse-bpf: Add support for FUSE_COPY_FILE_RANGE
ANDROID: fuse-bpf: Report errors to finalize
ANDROID: fuse-bpf: Avoid reusing uint64_t for file
ANDROID: fuse-bpf: Fix CONFIG_FUSE_BPF typo in FUSE_FSYNCDIR
ANDROID: fuse-bpf: Move fd operations to be synchronous
ANDROID: fuse-bpf: Invalidate if lower is unhashed
ANDROID: fuse-bpf: Move bpf earlier in fuse_permission
ANDROID: fuse-bpf: Update attributes on file write
ANDROID: fuse: allow mounting with no userspace daemon
ANDROID: fuse-bpf: Support FUSE_STATFS
ANDROID: fuse-bpf: Fix filldir
ANDROID: fuse-bpf: fix fuse_create_open_finalize
ANDROID: fuse: add bpf support for removexattr
ANDROID: fuse-bpf: Fix truncate
ANDROID: fuse-bpf: Support inotify
ANDROID: fuse-bpf: Make compile with CONFIG_FUSE but no CONFIG_FUSE_BPF
ANDROID: fuse-bpf: Fix perms on readdir
ANDROID: fuse: Fix umasking in backing
ANDROID: fs/fuse: Backing move returns EXDEV if TO not backed
ANDROID: bpf-fuse: Fix Setattr
ANDROID: fuse-bpf: Check if mkdir dentry setup
ANDROID: fuse-bpf: Close backing fds in fuse_dentry_revalidate
ANDROID: fuse-bpf: Close backing-fd on both paths
ANDROID: fuse-bpf: Partial fix for mmap'd files
ANDROID: fuse-bpf: Restore a missing const
ANDROID: Add fuse-bpf self tests
ANDROID: Add FUSE_BPF to gki_defconfig
ANDROID: fuse-bpf v1
ANDROID: fuse: Move functions in preparation for fuse-bpf

Bug: 202785178
Test: test_fuse passes on linux.
      On cuttlefish,
      atest android.scopedstorage.cts.host.ScopedStorageHostTest
      passes with fuse-bpf enabled and disabled
Change-Id: Idb099c281f9b39ff2c46fa3ebc63e508758416ee
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2023-02-17 22:10:50 +00:00
..
2021-07-21 19:54:21 -07:00
2022-11-29 16:12:51 +00:00
2021-09-20 12:43:34 +01:00
2021-08-29 14:47:42 +03:00
2022-09-23 14:07:17 +02:00
2022-08-17 14:23:11 +02:00
2022-03-18 07:53:14 +01:00
2022-10-26 12:35:12 +02:00
2022-08-31 17:29:10 +02:00
2023-02-17 22:10:50 +00:00
2022-08-10 13:23:20 +02:00
2021-08-16 10:50:32 -06:00
2021-11-19 15:38:07 +01:00
2021-08-26 16:52:03 -07:00
2021-12-14 10:57:11 +01:00
2022-07-07 17:53:26 +02:00
2021-07-20 09:20:49 -07:00
2021-09-07 21:17:28 +02:00
2021-08-26 15:32:28 -04:00
2022-08-08 12:12:20 +02:00
2021-07-27 11:00:36 +02:00
2021-09-06 07:20:56 -04:00
2022-08-04 14:37:04 +02:00
2021-07-26 15:09:44 +02:00
2021-07-27 20:11:45 +01:00
2021-07-27 20:11:44 +01:00
2021-08-05 11:46:42 +01:00
2022-11-16 16:28:57 +00:00
2021-07-27 17:05:06 +01:00
2022-08-17 14:24:08 +02:00
2021-11-18 19:15:51 +01:00
2022-07-12 16:35:08 +02:00
2022-11-29 02:07:22 +00:00
2022-03-23 11:32:17 -07:00
2021-06-29 10:53:53 -07:00
2022-11-29 02:07:22 +00:00
2021-07-01 11:06:05 -07:00
2022-06-09 10:23:32 +02:00
2022-01-31 12:35:09 +01:00
2021-09-17 13:52:17 +01:00
2021-07-06 10:37:46 -05:00
2022-07-02 16:41:17 +02:00
2021-08-18 22:08:24 +02:00
2021-10-07 16:51:57 +02:00
2022-08-08 12:12:20 +02:00
2021-08-17 17:50:51 +02:00
2022-07-12 16:35:08 +02:00
2021-08-06 13:41:48 -07:00
2022-04-24 16:57:32 +02:00
2021-08-19 09:02:55 +09:00
2021-11-21 13:44:12 +01:00
2021-07-01 11:06:03 -07:00
2021-09-08 15:32:35 -07:00
2022-09-15 11:30:05 +02:00
2022-03-23 11:32:17 -07:00
2021-08-11 06:44:24 -04:00
2022-08-22 14:29:30 +02:00
2021-11-16 14:01:21 -08:00