Thread (3 messages) 3 messages, 2 authors, 2016-01-21

Re: [PATCH v3] fuse: Add support for passthrough read/write

From: Jann Horn <hidden>
Date: 2016-01-20 23:38:39
Also in: linux-fsdevel, lkml

On Wed, Jan 20, 2016 at 03:20:34PM -0800, Nikhilesh Reddy wrote:
Add support for filesystem passthrough read/write of files
when enabled in userspace through the option FUSE_PASSTHROUGH.
[...]
quoted hunk ↗ jump to hunk
+	daemon_fd = (int)open_out->passthrough_fd;
+	if (daemon_fd < 0)
+		return;
+
+	passthrough_filp = fget_raw(daemon_fd);
+	if (!passthrough_filp)
+		return;
+
+	passthrough_inode = file_inode(passthrough_filp);
+	passthrough_sb = passthrough_inode->i_sb;
+	fs_stack_depth = passthrough_sb->s_stack_depth + 1;
+
+	/* If we reached the stacking limit go through regular io */
+	if (fs_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) {
+		pr_err("FUSE: maximum fs stacking depth exceeded, cannot use passthrough for this file\n");
+		return;
+	}
I think this needs an fput() in the error case to prevent a refcount leak.

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help