mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-05 19:31:57 -04:00
UPSTREAM: ANDROID: fuse-bpf: Follow mounts in lookups
Bug: 292925770 Test: fuse_test run. The following steps on Android also now pass: Create /data/123 and /data/media/0/Android/data/45 directories Mount /data/123 directory to /data/media/0/Android/data/45 directory Create 1.txt under the /data/123 directory File 1.txt should appear in /storage/emulated/0/Android/data/45 Signed-off-by: Paul Lawrence <paullawrence@google.com> (cherry picked from https://android-review.googlesource.com/q/commit:9323938705b42cb4dd863d5cf8022ba8f2282952) Merged-In: I1fe27d743ca2981e624a9aa87d9ab6deb313aadc Change-Id: I1fe27d743ca2981e624a9aa87d9ab6deb313aadc
This commit is contained in:
parent
2068b53c6a
commit
aeeb2c9cb3
1 changed files with 10 additions and 5 deletions
|
|
@ -1167,7 +1167,6 @@ int fuse_lookup_backing(struct fuse_bpf_args *fa, struct inode *dir,
|
|||
struct kstat stat;
|
||||
int err;
|
||||
|
||||
/* TODO this will not handle lookups over mount points */
|
||||
inode_lock_nested(dir_backing_inode, I_MUTEX_PARENT);
|
||||
backing_entry = lookup_one_len(entry->d_name.name, dir_backing_entry,
|
||||
strlen(entry->d_name.name));
|
||||
|
|
@ -1186,16 +1185,22 @@ int fuse_lookup_backing(struct fuse_bpf_args *fa, struct inode *dir,
|
|||
return 0;
|
||||
}
|
||||
|
||||
err = follow_down(&fuse_entry->backing_path);
|
||||
if (err)
|
||||
goto err_out;
|
||||
|
||||
err = vfs_getattr(&fuse_entry->backing_path, &stat,
|
||||
STATX_BASIC_STATS, 0);
|
||||
if (err) {
|
||||
path_put_init(&fuse_entry->backing_path);
|
||||
return err;
|
||||
}
|
||||
if (err)
|
||||
goto err_out;
|
||||
|
||||
fuse_stat_to_attr(get_fuse_conn(dir),
|
||||
backing_entry->d_inode, &stat, &feo->attr);
|
||||
return 0;
|
||||
|
||||
err_out:
|
||||
path_put_init(&fuse_entry->backing_path);
|
||||
return err;
|
||||
}
|
||||
|
||||
int fuse_handle_backing(struct fuse_entry_bpf *feb, struct inode **backing_inode,
|
||||
|
|
|
|||
Loading…
Reference in a new issue