Skip to content

Commit

Permalink
take bdi setup/destruction into cifs_mount/cifs_umount
Browse files Browse the repository at this point in the history
Acked-by: Pavel Shilovsky <[email protected]>
Reviewed-by: Jeff Layton <[email protected]>
Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
Al Viro committed Jun 24, 2011
1 parent 5629937 commit dd85446
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
12 changes: 1 addition & 11 deletions fs/cifs/cifsfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,18 +116,12 @@ cifs_read_super(struct super_block *sb, struct smb_vol *volume_info,
spin_lock_init(&cifs_sb->tlink_tree_lock);
cifs_sb->tlink_tree = RB_ROOT;

rc = bdi_setup_and_register(&cifs_sb->bdi, "cifs", BDI_CAP_MAP_COPY);
if (rc)
return rc;

cifs_sb->bdi.ra_pages = default_backing_dev_info.ra_pages;

rc = cifs_mount(sb, cifs_sb, volume_info, devname);

if (rc) {
if (!silent)
cERROR(1, "cifs_mount failed w/return code = %d", rc);
goto out_mount_failed;
return rc;
}

sb->s_magic = CIFS_MAGIC_NUMBER;
Expand Down Expand Up @@ -171,9 +165,6 @@ cifs_read_super(struct super_block *sb, struct smb_vol *volume_info,
iput(inode);

cifs_umount(sb, cifs_sb);

out_mount_failed:
bdi_destroy(&cifs_sb->bdi);
return rc;
}

Expand All @@ -199,7 +190,6 @@ cifs_put_super(struct super_block *sb)
}

unload_nls(cifs_sb->local_nls);
bdi_destroy(&cifs_sb->bdi);
kfree(cifs_sb);
}

Expand Down
10 changes: 10 additions & 0 deletions fs/cifs/connect.c
Original file line number Diff line number Diff line change
Expand Up @@ -2983,6 +2983,13 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
struct tcon_link *tlink;
#ifdef CONFIG_CIFS_DFS_UPCALL
int referral_walks_count = 0;

rc = bdi_setup_and_register(&cifs_sb->bdi, "cifs", BDI_CAP_MAP_COPY);
if (rc)
return rc;

cifs_sb->bdi.ra_pages = default_backing_dev_info.ra_pages;

try_mount_again:
/* cleanup activities if we're chasing a referral */
if (referral_walks_count) {
Expand All @@ -3007,6 +3014,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
srvTcp = cifs_get_tcp_session(volume_info);
if (IS_ERR(srvTcp)) {
rc = PTR_ERR(srvTcp);
bdi_destroy(&cifs_sb->bdi);
goto out;
}

Expand Down Expand Up @@ -3161,6 +3169,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
cifs_put_smb_ses(pSesInfo);
else
cifs_put_tcp_session(srvTcp);
bdi_destroy(&cifs_sb->bdi);
goto out;
}

Expand Down Expand Up @@ -3357,6 +3366,7 @@ cifs_umount(struct super_block *sb, struct cifs_sb_info *cifs_sb)
}
spin_unlock(&cifs_sb->tlink_tree_lock);

bdi_destroy(&cifs_sb->bdi);
return 0;
}

Expand Down

0 comments on commit dd85446

Please sign in to comment.