ANDROID: Remove FUSE Passthrough delta
Mainline recently implemented their own version of FUSE Passthrough, causing large merge-conflicts en-route to v6.9-rc1. Until we can figure out what the differences between the two implementation are and whether or not Android still needs an out-of-tree variant, let's remove all of the delta. Bug: 333497409 Signed-off-by: Lee Jones <joneslee@google.com> Change-Id: I6e6695df1b92ae932d2ae7e355a64f38dd3a1d77
This commit is contained in:
@@ -1 +0,0 @@
|
||||
balsini@google.com
|
||||
+4
-23
@@ -910,7 +910,6 @@ void fuse_conn_init(struct fuse_conn *fc, struct fuse_mount *fm,
|
||||
memset(fc, 0, sizeof(*fc));
|
||||
spin_lock_init(&fc->lock);
|
||||
spin_lock_init(&fc->bg_lock);
|
||||
spin_lock_init(&fc->passthrough_req_lock);
|
||||
init_rwsem(&fc->killsb);
|
||||
refcount_set(&fc->count, 1);
|
||||
atomic_set(&fc->dev_count, 1);
|
||||
@@ -919,7 +918,6 @@ void fuse_conn_init(struct fuse_conn *fc, struct fuse_mount *fm,
|
||||
INIT_LIST_HEAD(&fc->bg_queue);
|
||||
INIT_LIST_HEAD(&fc->entry);
|
||||
INIT_LIST_HEAD(&fc->devices);
|
||||
idr_init(&fc->passthrough_req);
|
||||
atomic_set(&fc->num_waiting, 0);
|
||||
fc->max_background = FUSE_DEFAULT_MAX_BACKGROUND;
|
||||
fc->congestion_threshold = FUSE_DEFAULT_CONGESTION_THRESHOLD;
|
||||
@@ -1232,7 +1230,10 @@ static void process_init_reply(struct fuse_mount *fm, struct fuse_args *args,
|
||||
process_init_limits(fc, arg);
|
||||
|
||||
if (arg->minor >= 6) {
|
||||
u64 flags = arg->flags | (u64) arg->flags2 << 32;
|
||||
u64 flags = arg->flags;
|
||||
|
||||
if (flags & FUSE_INIT_EXT)
|
||||
flags |= (u64) arg->flags2 << 32;
|
||||
|
||||
ra_pages = arg->max_readahead / PAGE_SIZE;
|
||||
if (flags & FUSE_ASYNC_READ)
|
||||
@@ -1301,12 +1302,6 @@ static void process_init_reply(struct fuse_mount *fm, struct fuse_args *args,
|
||||
fc->handle_killpriv_v2 = 1;
|
||||
fm->sb->s_flags |= SB_NOSEC;
|
||||
}
|
||||
if (flags & FUSE_PASSTHROUGH) {
|
||||
fc->passthrough = 1;
|
||||
/* Prevent further stacking */
|
||||
fm->sb->s_stack_depth =
|
||||
FILESYSTEM_MAX_STACK_DEPTH;
|
||||
}
|
||||
if (flags & FUSE_SETXATTR_EXT)
|
||||
fc->setxattr_ext = 1;
|
||||
if (flags & FUSE_SECURITY_CTX)
|
||||
@@ -1394,8 +1389,6 @@ void fuse_send_init(struct fuse_mount *fm)
|
||||
if (IS_ENABLED(CONFIG_FUSE_PASSTHROUGH))
|
||||
flags |= FUSE_PASSTHROUGH;
|
||||
|
||||
flags |= FUSE_PASSTHROUGH;
|
||||
|
||||
ia->in.flags = flags;
|
||||
ia->in.flags2 = flags >> 32;
|
||||
|
||||
@@ -1419,21 +1412,9 @@ void fuse_send_init(struct fuse_mount *fm)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fuse_send_init);
|
||||
|
||||
static int free_fuse_passthrough(int id, void *p, void *data)
|
||||
{
|
||||
struct fuse_passthrough *passthrough = (struct fuse_passthrough *)p;
|
||||
|
||||
fuse_passthrough_release(passthrough);
|
||||
kfree(p);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fuse_free_conn(struct fuse_conn *fc)
|
||||
{
|
||||
WARN_ON(!list_empty(&fc->devices));
|
||||
idr_for_each(&fc->passthrough_req, free_fuse_passthrough, NULL);
|
||||
idr_destroy(&fc->passthrough_req);
|
||||
kfree(fc);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fuse_free_conn);
|
||||
|
||||
+3
-5
@@ -1035,7 +1035,7 @@ static struct virtio_driver virtio_fs_driver = {
|
||||
#endif
|
||||
};
|
||||
|
||||
static void virtio_fs_wake_forget_and_unlock(struct fuse_iqueue *fiq, bool sync)
|
||||
static void virtio_fs_wake_forget_and_unlock(struct fuse_iqueue *fiq)
|
||||
__releases(fiq->lock)
|
||||
{
|
||||
struct fuse_forget_link *link;
|
||||
@@ -1070,8 +1070,7 @@ __releases(fiq->lock)
|
||||
kfree(link);
|
||||
}
|
||||
|
||||
static void virtio_fs_wake_interrupt_and_unlock(struct fuse_iqueue *fiq,
|
||||
bool sync)
|
||||
static void virtio_fs_wake_interrupt_and_unlock(struct fuse_iqueue *fiq)
|
||||
__releases(fiq->lock)
|
||||
{
|
||||
/*
|
||||
@@ -1286,8 +1285,7 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void virtio_fs_wake_pending_and_unlock(struct fuse_iqueue *fiq,
|
||||
bool sync)
|
||||
static void virtio_fs_wake_pending_and_unlock(struct fuse_iqueue *fiq)
|
||||
__releases(fiq->lock)
|
||||
{
|
||||
unsigned int queue_id = VQ_REQUEST; /* TODO multiqueue */
|
||||
|
||||
Reference in New Issue
Block a user