Commit a0349ec0 authored by Jan Kara's avatar Jan Kara Committed by Jens Axboe

ncpfs: Convert to separately allocated bdi

Allocate struct backing_dev_info separately instead of embedding it
inside the superblock. This unifies handling of bdi among users.

CC: Petr Vandrovec <petr@vandrovec.name>
Acked-by: default avatarPetr Vandrovec <petr@vandrovec.name>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 0546c537
...@@ -554,12 +554,11 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent) ...@@ -554,12 +554,11 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
sb->s_magic = NCP_SUPER_MAGIC; sb->s_magic = NCP_SUPER_MAGIC;
sb->s_op = &ncp_sops; sb->s_op = &ncp_sops;
sb->s_d_op = &ncp_dentry_operations; sb->s_d_op = &ncp_dentry_operations;
sb->s_bdi = &server->bdi;
server = NCP_SBP(sb); server = NCP_SBP(sb);
memset(server, 0, sizeof(*server)); memset(server, 0, sizeof(*server));
error = bdi_setup_and_register(&server->bdi, "ncpfs"); error = super_setup_bdi(sb);
if (error) if (error)
goto out_fput; goto out_fput;
...@@ -568,7 +567,7 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent) ...@@ -568,7 +567,7 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
if (data.info_fd != -1) { if (data.info_fd != -1) {
struct socket *info_sock = sockfd_lookup(data.info_fd, &error); struct socket *info_sock = sockfd_lookup(data.info_fd, &error);
if (!info_sock) if (!info_sock)
goto out_bdi; goto out_fput;
server->info_sock = info_sock; server->info_sock = info_sock;
error = -EBADFD; error = -EBADFD;
if (info_sock->type != SOCK_STREAM) if (info_sock->type != SOCK_STREAM)
...@@ -746,8 +745,6 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent) ...@@ -746,8 +745,6 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
out_fput2: out_fput2:
if (server->info_sock) if (server->info_sock)
sockfd_put(server->info_sock); sockfd_put(server->info_sock);
out_bdi:
bdi_destroy(&server->bdi);
out_fput: out_fput:
sockfd_put(sock); sockfd_put(sock);
out: out:
...@@ -788,7 +785,6 @@ static void ncp_put_super(struct super_block *sb) ...@@ -788,7 +785,6 @@ static void ncp_put_super(struct super_block *sb)
kill_pid(server->m.wdog_pid, SIGTERM, 1); kill_pid(server->m.wdog_pid, SIGTERM, 1);
put_pid(server->m.wdog_pid); put_pid(server->m.wdog_pid);
bdi_destroy(&server->bdi);
kfree(server->priv.data); kfree(server->priv.data);
kfree(server->auth.object_name); kfree(server->auth.object_name);
vfree(server->rxbuf); vfree(server->rxbuf);
......
...@@ -143,7 +143,6 @@ struct ncp_server { ...@@ -143,7 +143,6 @@ struct ncp_server {
size_t len; size_t len;
__u8 data[128]; __u8 data[128];
} unexpected_packet; } unexpected_packet;
struct backing_dev_info bdi;
}; };
extern void ncp_tcp_rcv_proc(struct work_struct *work); extern void ncp_tcp_rcv_proc(struct work_struct *work);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment