Thread (1 message) 1 message, 1 author, 2009-12-04

Re: [RFC PATCH 4/6] networking: rework socket to fd mapping using alloc-file

From: Miklos Szeredi <miklos@szeredi.hu>
Date: 2009-12-04 07:09:42
Also in: linux-fsdevel, lkml

On Thu, 03 Dec 2009, Eric Paris wrote:
quoted hunk
@@ -391,32 +383,37 @@ static int sock_attach_fd(struct socket *sock, struct file *file, int flags)
 	dentry->d_flags &= ~DCACHE_UNHASHED;
 	d_instantiate(dentry, SOCK_INODE(sock));
 
+	file = alloc_file(sock_mnt, dentry, FMODE_READ | FMODE_WRITE,
+			  &socket_file_ops);
+	if (unlikely(!file)) {
+		rc = -ENFILE;
+		goto out_err;
+	}
+
 	sock->file = file;
-	init_file(file, sock_mnt, dentry, FMODE_READ | FMODE_WRITE,
-		  &socket_file_ops);
 	SOCK_INODE(sock)->i_fop = &socket_file_ops;
 	file->f_flags = O_RDWR | (flags & O_NONBLOCK);
-	file->f_pos = 0;
 	file->private_data = sock;
 
-	return 0;
+	return fd;
+out_err:
+	if (fd >= 0)
+		put_unused_fd(fd);
+	if (dentry)
+		dput(dentry);
Could you please use separate labels intead of conditionals here?

Thanks,
Miklos

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help