gfs2: don't withdraw if init_threads() got interrupted
[linux-2.6-microblaze.git] / fs / gfs2 / ops_fstype.c
index ecca978..73ae5fc 100644 (file)
@@ -647,7 +647,7 @@ static int init_statfs(struct gfs2_sbd *sdp)
        struct gfs2_jdesc *jd;
        struct gfs2_inode *ip;
 
-       sdp->sd_statfs_inode = gfs2_lookup_simple(master, "statfs");
+       sdp->sd_statfs_inode = gfs2_lookup_meta(master, "statfs");
        if (IS_ERR(sdp->sd_statfs_inode)) {
                error = PTR_ERR(sdp->sd_statfs_inode);
                fs_err(sdp, "can't read in statfs inode: %d\n", error);
@@ -656,7 +656,7 @@ static int init_statfs(struct gfs2_sbd *sdp)
        if (sdp->sd_args.ar_spectator)
                goto out;
 
-       pn = gfs2_lookup_simple(master, "per_node");
+       pn = gfs2_lookup_meta(master, "per_node");
        if (IS_ERR(pn)) {
                error = PTR_ERR(pn);
                fs_err(sdp, "can't find per_node directory: %d\n", error);
@@ -673,7 +673,7 @@ static int init_statfs(struct gfs2_sbd *sdp)
                        goto free_local;
                }
                sprintf(buf, "statfs_change%u", jd->jd_jid);
-               lsi->si_sc_inode = gfs2_lookup_simple(pn, buf);
+               lsi->si_sc_inode = gfs2_lookup_meta(pn, buf);
                if (IS_ERR(lsi->si_sc_inode)) {
                        error = PTR_ERR(lsi->si_sc_inode);
                        fs_err(sdp, "can't find local \"sc\" file#%u: %d\n",
@@ -738,7 +738,7 @@ static int init_journal(struct gfs2_sbd *sdp, int undo)
        if (undo)
                goto fail_statfs;
 
-       sdp->sd_jindex = gfs2_lookup_simple(master, "jindex");
+       sdp->sd_jindex = gfs2_lookup_meta(master, "jindex");
        if (IS_ERR(sdp->sd_jindex)) {
                fs_err(sdp, "can't lookup journal index: %d\n", error);
                return PTR_ERR(sdp->sd_jindex);
@@ -887,7 +887,7 @@ static int init_inodes(struct gfs2_sbd *sdp, int undo)
                goto fail;
 
        /* Read in the resource index inode */
-       sdp->sd_rindex = gfs2_lookup_simple(master, "rindex");
+       sdp->sd_rindex = gfs2_lookup_meta(master, "rindex");
        if (IS_ERR(sdp->sd_rindex)) {
                error = PTR_ERR(sdp->sd_rindex);
                fs_err(sdp, "can't get resource index inode: %d\n", error);
@@ -896,7 +896,7 @@ static int init_inodes(struct gfs2_sbd *sdp, int undo)
        sdp->sd_rindex_uptodate = 0;
 
        /* Read in the quota inode */
-       sdp->sd_quota_inode = gfs2_lookup_simple(master, "quota");
+       sdp->sd_quota_inode = gfs2_lookup_meta(master, "quota");
        if (IS_ERR(sdp->sd_quota_inode)) {
                error = PTR_ERR(sdp->sd_quota_inode);
                fs_err(sdp, "can't get quota file inode: %d\n", error);
@@ -940,7 +940,7 @@ static int init_per_node(struct gfs2_sbd *sdp, int undo)
        if (undo)
                goto fail_qc_gh;
 
-       pn = gfs2_lookup_simple(master, "per_node");
+       pn = gfs2_lookup_meta(master, "per_node");
        if (IS_ERR(pn)) {
                error = PTR_ERR(pn);
                fs_err(sdp, "can't find per_node directory: %d\n", error);
@@ -948,7 +948,7 @@ static int init_per_node(struct gfs2_sbd *sdp, int undo)
        }
 
        sprintf(buf, "quota_change%u", sdp->sd_jdesc->jd_jid);
-       sdp->sd_qc_inode = gfs2_lookup_simple(pn, buf);
+       sdp->sd_qc_inode = gfs2_lookup_meta(pn, buf);
        if (IS_ERR(sdp->sd_qc_inode)) {
                error = PTR_ERR(sdp->sd_qc_inode);
                fs_err(sdp, "can't find local \"qc\" file: %d\n", error);
@@ -1279,10 +1279,8 @@ static int gfs2_fill_super(struct super_block *sb, struct fs_context *fc)
 
        if (!sb_rdonly(sb)) {
                error = init_threads(sdp);
-               if (error) {
-                       gfs2_withdraw_delayed(sdp);
+               if (error)
                        goto fail_per_node;
-               }
        }
 
        error = gfs2_freeze_lock_shared(sdp);