cifs: initialize ->tlink_tree in cifs_setup_cifs_sb()
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 17 Jun 2011 13:20:04 +0000 (09:20 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 24 Jun 2011 22:39:42 +0000 (18:39 -0400)
no need to wait until cifs_read_super() and we need it done
by the time cifs_mount() will be called.

Acked-by: Pavel Shilovsky <piastryyy@gmail.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/cifs/cifsfs.c
fs/cifs/connect.c

index ec19161..61c7aa8 100644 (file)
@@ -113,9 +113,6 @@ cifs_read_super(struct super_block *sb, struct smb_vol *volume_info,
 
        cifs_sb = CIFS_SB(sb);
 
-       spin_lock_init(&cifs_sb->tlink_tree_lock);
-       cifs_sb->tlink_tree = RB_ROOT;
-
        rc = cifs_mount(cifs_sb, volume_info);
 
        if (rc) {
index 3011ac8..9f09adf 100644 (file)
@@ -2663,6 +2663,9 @@ void cifs_setup_cifs_sb(struct smb_vol *pvolume_info,
 {
        INIT_DELAYED_WORK(&cifs_sb->prune_tlinks, cifs_prune_tlinks);
 
+       spin_lock_init(&cifs_sb->tlink_tree_lock);
+       cifs_sb->tlink_tree = RB_ROOT;
+
        if (pvolume_info->rsize > CIFSMaxBufSize) {
                cERROR(1, "rsize %d too large, using MaxBufSize",
                        pvolume_info->rsize);