mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 14:44:10 +08:00
[GFS2] Align all labels against LH side
This makes everything consistent. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
parent
75d3b817a0
commit
a91ea69ffd
@ -65,9 +65,8 @@ int gfs2_acl_validate_set(struct gfs2_inode *ip, int access,
|
||||
error = 0;
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
posix_acl_release(acl);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -132,18 +131,16 @@ static int acl_get(struct gfs2_inode *ip, int access, struct posix_acl **acl,
|
||||
error = PTR_ERR(*acl);
|
||||
}
|
||||
|
||||
out_kfree:
|
||||
out_kfree:
|
||||
if (error || !data)
|
||||
kfree(er.er_data);
|
||||
else {
|
||||
*data = er.er_data;
|
||||
*len = er.er_data_len;
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
if (error || el == &el_this)
|
||||
brelse(el->el_bh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -270,7 +267,7 @@ int gfs2_acl_create(struct gfs2_inode *dip, struct gfs2_inode *ip)
|
||||
} else
|
||||
munge_mode(ip, mode);
|
||||
|
||||
out:
|
||||
out:
|
||||
posix_acl_release(acl);
|
||||
kfree(er.er_data);
|
||||
return error;
|
||||
@ -303,11 +300,10 @@ int gfs2_acl_chmod(struct gfs2_inode *ip, struct iattr *attr)
|
||||
error = gfs2_ea_acl_chmod(ip, &el, attr, data);
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
posix_acl_release(acl);
|
||||
brelse(el.el_bh);
|
||||
kfree(data);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -170,12 +170,10 @@ int gfs2_unstuff_dinode(struct gfs2_inode *ip, struct page *page)
|
||||
|
||||
gfs2_dinode_out(&ip->i_di, dibh->b_data);
|
||||
|
||||
out_brelse:
|
||||
out_brelse:
|
||||
brelse(dibh);
|
||||
|
||||
out:
|
||||
out:
|
||||
up_write(&ip->i_rw_mutex);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -642,9 +640,8 @@ static int recursive_scan(struct gfs2_inode *ip, struct buffer_head *dibh,
|
||||
break;
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
brelse(bh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -788,15 +785,12 @@ static int do_strip(struct gfs2_inode *ip, struct buffer_head *dibh,
|
||||
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_rg_gunlock:
|
||||
out_rg_gunlock:
|
||||
gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs);
|
||||
|
||||
out_rlist:
|
||||
out_rlist:
|
||||
gfs2_rlist_free(&rlist);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_glock_dq_uninit(&ip->i_alloc.al_ri_gh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -868,18 +862,14 @@ static int do_grow(struct gfs2_inode *ip, uint64_t size)
|
||||
gfs2_dinode_out(&ip->i_di, dibh->b_data);
|
||||
brelse(dibh);
|
||||
|
||||
out_end_trans:
|
||||
out_end_trans:
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_ipres:
|
||||
out_ipres:
|
||||
gfs2_inplace_release(ip);
|
||||
|
||||
out_gunlock_q:
|
||||
out_gunlock_q:
|
||||
gfs2_quota_unlock(ip);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_alloc_put(ip);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -998,9 +988,8 @@ static int trunc_start(struct gfs2_inode *ip, uint64_t size)
|
||||
|
||||
brelse(dibh);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -1035,7 +1024,7 @@ static int trunc_dealloc(struct gfs2_inode *ip, uint64_t size)
|
||||
|
||||
gfs2_quota_unhold(ip);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_alloc_put(ip);
|
||||
return error;
|
||||
}
|
||||
@ -1070,11 +1059,9 @@ static int trunc_end(struct gfs2_inode *ip)
|
||||
gfs2_dinode_out(&ip->i_di, dibh->b_data);
|
||||
brelse(dibh);
|
||||
|
||||
out:
|
||||
out:
|
||||
up_write(&ip->i_rw_mutex);
|
||||
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -1134,9 +1134,8 @@ static int dir_double_exhash(struct gfs2_inode *dip)
|
||||
|
||||
return error;
|
||||
|
||||
fail:
|
||||
fail:
|
||||
kfree(buf);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -1890,23 +1889,18 @@ static int leaf_dealloc(struct gfs2_inode *dip, uint32_t index, uint32_t len,
|
||||
gfs2_dinode_out(&dip->i_di, dibh->b_data);
|
||||
brelse(dibh);
|
||||
|
||||
out_end_trans:
|
||||
out_end_trans:
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_rg_gunlock:
|
||||
out_rg_gunlock:
|
||||
gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs);
|
||||
|
||||
out_rlist:
|
||||
out_rlist:
|
||||
gfs2_rlist_free(&rlist);
|
||||
gfs2_glock_dq_uninit(&dip->i_alloc.al_ri_gh);
|
||||
|
||||
out_qs:
|
||||
out_qs:
|
||||
gfs2_quota_unhold(dip);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_alloc_put(dip);
|
||||
kfree(ht);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -107,7 +107,7 @@ static int ea_foreach_i(struct gfs2_inode *ip, struct buffer_head *bh,
|
||||
|
||||
return error;
|
||||
|
||||
fail:
|
||||
fail:
|
||||
gfs2_consist_inode(ip);
|
||||
return -EIO;
|
||||
}
|
||||
@ -152,9 +152,8 @@ static int ea_foreach(struct gfs2_inode *ip, ea_call_t ea_call, void *data)
|
||||
if (error)
|
||||
break;
|
||||
}
|
||||
out:
|
||||
out:
|
||||
brelse(bh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -319,9 +318,8 @@ static int ea_dealloc_unstuffed(struct gfs2_inode *ip, struct buffer_head *bh,
|
||||
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_gunlock:
|
||||
out_gunlock:
|
||||
gfs2_glock_dq_uninit(&rg_gh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -348,12 +346,10 @@ static int ea_remove_unstuffed(struct gfs2_inode *ip, struct buffer_head *bh,
|
||||
|
||||
gfs2_glock_dq_uninit(&al->al_ri_gh);
|
||||
|
||||
out_quota:
|
||||
out_quota:
|
||||
gfs2_quota_unhold(ip);
|
||||
|
||||
out_alloc:
|
||||
out_alloc:
|
||||
gfs2_alloc_put(ip);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -506,9 +502,8 @@ static int ea_get_unstuffed(struct gfs2_inode *ip, struct gfs2_ea_header *ea,
|
||||
brelse(bh[x]);
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
kfree(bh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -747,18 +742,14 @@ static int ea_alloc_skeleton(struct gfs2_inode *ip, struct gfs2_ea_request *er,
|
||||
brelse(dibh);
|
||||
}
|
||||
|
||||
out_end_trans:
|
||||
out_end_trans:
|
||||
gfs2_trans_end(GFS2_SB(&ip->i_inode));
|
||||
|
||||
out_ipres:
|
||||
out_ipres:
|
||||
gfs2_inplace_release(ip);
|
||||
|
||||
out_gunlock_q:
|
||||
out_gunlock_q:
|
||||
gfs2_quota_unlock(ip);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_alloc_put(ip);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -884,9 +875,8 @@ static int ea_set_simple_noalloc(struct gfs2_inode *ip, struct buffer_head *bh,
|
||||
gfs2_trans_add_bh(ip->i_gl, dibh, 1);
|
||||
gfs2_dinode_out(&ip->i_di, dibh->b_data);
|
||||
brelse(dibh);
|
||||
out:
|
||||
out:
|
||||
gfs2_trans_end(GFS2_SB(&ip->i_inode));
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -1025,9 +1015,8 @@ static int ea_set_block(struct gfs2_inode *ip, struct gfs2_ea_request *er,
|
||||
if (private)
|
||||
ea_set_remove_stuffed(ip, (struct gfs2_ea_location *)private);
|
||||
|
||||
out:
|
||||
out:
|
||||
brelse(indbh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -1285,15 +1274,13 @@ static int ea_acl_chmod_unstuffed(struct gfs2_inode *ip,
|
||||
brelse(bh[x]);
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
kfree(bh);
|
||||
|
||||
return error;
|
||||
|
||||
fail:
|
||||
fail:
|
||||
gfs2_trans_end(sdp);
|
||||
kfree(bh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -1442,15 +1429,12 @@ static int ea_dealloc_indirect(struct gfs2_inode *ip)
|
||||
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_gunlock:
|
||||
out_gunlock:
|
||||
gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs);
|
||||
|
||||
out_rlist_free:
|
||||
out_rlist_free:
|
||||
gfs2_rlist_free(&rlist);
|
||||
|
||||
out:
|
||||
out:
|
||||
brelse(indbh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -1494,9 +1478,8 @@ static int ea_dealloc_block(struct gfs2_inode *ip)
|
||||
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_gunlock:
|
||||
out_gunlock:
|
||||
gfs2_glock_dq_uninit(&al->al_rgd_gh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -1534,15 +1517,12 @@ int gfs2_ea_dealloc(struct gfs2_inode *ip)
|
||||
|
||||
error = ea_dealloc_block(ip);
|
||||
|
||||
out_rindex:
|
||||
out_rindex:
|
||||
gfs2_glock_dq_uninit(&al->al_ri_gh);
|
||||
|
||||
out_quota:
|
||||
out_quota:
|
||||
gfs2_quota_unhold(ip);
|
||||
|
||||
out_alloc:
|
||||
out_alloc:
|
||||
gfs2_alloc_put(ip);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -2179,9 +2179,8 @@ static int dump_glock(struct gfs2_glock *gl)
|
||||
|
||||
error = 0;
|
||||
|
||||
out:
|
||||
out:
|
||||
spin_unlock(&gl->gl_spin);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,7 @@ int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent)
|
||||
sdp->sd_args.ar_localcaching = 1;
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -437,7 +437,7 @@ static int hold_null_lock(struct gdlm_lock *lp)
|
||||
gdlm_delete_lp(lpn);
|
||||
lpn = NULL;
|
||||
}
|
||||
out:
|
||||
out:
|
||||
lp->hold_null = lpn;
|
||||
return error;
|
||||
}
|
||||
|
@ -164,13 +164,13 @@ static int gdlm_mount(char *table_name, char *host_data,
|
||||
lockstruct->ls_lvb_size = GDLM_LVB_SIZE;
|
||||
return 0;
|
||||
|
||||
out_kobj:
|
||||
out_kobj:
|
||||
gdlm_kobject_release(ls);
|
||||
out_thread:
|
||||
out_thread:
|
||||
gdlm_release_threads(ls);
|
||||
out_free:
|
||||
out_free:
|
||||
kfree(ls);
|
||||
out:
|
||||
out:
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -194,7 +194,7 @@ static void gdlm_unmount(lm_lockspace_t *lockspace)
|
||||
rv = gdlm_release_all_locks(ls);
|
||||
if (rv)
|
||||
log_info("gdlm_unmount: %d stray locks freed", rv);
|
||||
out:
|
||||
out:
|
||||
kfree(ls);
|
||||
}
|
||||
|
||||
|
@ -206,7 +206,7 @@ static void process_complete(struct gdlm_lock *lp)
|
||||
if (lp->lksb.sb_flags & DLM_SBF_DEMOTED)
|
||||
set_bit(LFL_NOCACHE, &lp->flags);
|
||||
|
||||
out:
|
||||
out:
|
||||
/*
|
||||
* This is an internal lock_dlm lock
|
||||
*/
|
||||
|
@ -756,7 +756,7 @@ void gfs2_meta_ra(struct gfs2_glock *gl, uint64_t dblock, uint32_t extlen)
|
||||
break;
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
brelse(first_bh);
|
||||
}
|
||||
|
||||
|
@ -203,11 +203,11 @@ int gfs2_mount_args(struct gfs2_sbd *sdp, char *data_arg, int remount)
|
||||
|
||||
return error;
|
||||
|
||||
need_value:
|
||||
need_value:
|
||||
fs_info(sdp, "need value for option %s\n", o);
|
||||
return -EINVAL;
|
||||
|
||||
cant_remount:
|
||||
cant_remount:
|
||||
fs_info(sdp, "can't remount with option %s\n", o);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -81,31 +81,27 @@ static int gfs2_drevalidate(struct dentry *dentry, struct nameidata *nd)
|
||||
goto fail_gunlock;
|
||||
}
|
||||
|
||||
valid_gunlock:
|
||||
valid_gunlock:
|
||||
gfs2_glock_dq_uninit(&d_gh);
|
||||
|
||||
valid:
|
||||
valid:
|
||||
dput(parent);
|
||||
return 1;
|
||||
|
||||
invalid_gunlock:
|
||||
invalid_gunlock:
|
||||
gfs2_glock_dq_uninit(&d_gh);
|
||||
|
||||
invalid:
|
||||
invalid:
|
||||
if (inode && S_ISDIR(inode->i_mode)) {
|
||||
if (have_submounts(dentry))
|
||||
goto valid;
|
||||
shrink_dcache_parent(dentry);
|
||||
}
|
||||
d_drop(dentry);
|
||||
|
||||
dput(parent);
|
||||
return 0;
|
||||
|
||||
fail_gunlock:
|
||||
fail_gunlock:
|
||||
gfs2_glock_dq_uninit(&d_gh);
|
||||
|
||||
fail:
|
||||
fail:
|
||||
dput(parent);
|
||||
return 0;
|
||||
}
|
||||
|
@ -345,9 +345,8 @@ static int readdir_bad(struct file *file, void *dirent, filldir_t filldir)
|
||||
|
||||
file->f_pos = offset;
|
||||
|
||||
out:
|
||||
out:
|
||||
kfree(fdb);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -173,9 +173,8 @@ static int init_names(struct gfs2_sbd *sdp, int silent)
|
||||
snprintf(sdp->sd_proto_name, GFS2_FSNAME_LEN, "%s", proto);
|
||||
snprintf(sdp->sd_table_name, GFS2_FSNAME_LEN, "%s", table);
|
||||
|
||||
out:
|
||||
out:
|
||||
kfree(sb);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -246,22 +245,17 @@ static int init_locking(struct gfs2_sbd *sdp, struct gfs2_holder *mount_gh,
|
||||
|
||||
fail_trans:
|
||||
gfs2_glock_put(sdp->sd_trans_gl);
|
||||
|
||||
fail_rename:
|
||||
gfs2_glock_put(sdp->sd_rename_gl);
|
||||
|
||||
fail_live:
|
||||
gfs2_glock_dq_uninit(&sdp->sd_live_gh);
|
||||
|
||||
fail_mount:
|
||||
gfs2_glock_dq_uninit(mount_gh);
|
||||
|
||||
fail:
|
||||
while (sdp->sd_glockd_num--)
|
||||
kthread_stop(sdp->sd_glockd_process[sdp->sd_glockd_num]);
|
||||
|
||||
kthread_stop(sdp->sd_scand_process);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -451,25 +445,20 @@ static int init_journal(struct gfs2_sbd *sdp, int undo)
|
||||
|
||||
return 0;
|
||||
|
||||
fail_recoverd:
|
||||
fail_recoverd:
|
||||
kthread_stop(sdp->sd_recoverd_process);
|
||||
|
||||
fail_jinode_gh:
|
||||
fail_jinode_gh:
|
||||
if (!sdp->sd_args.ar_spectator)
|
||||
gfs2_glock_dq_uninit(&sdp->sd_jinode_gh);
|
||||
|
||||
fail_journal_gh:
|
||||
fail_journal_gh:
|
||||
if (!sdp->sd_args.ar_spectator)
|
||||
gfs2_glock_dq_uninit(&sdp->sd_journal_gh);
|
||||
|
||||
fail_jindex:
|
||||
fail_jindex:
|
||||
gfs2_jindex_free(sdp);
|
||||
if (jindex)
|
||||
gfs2_glock_dq_uninit(&ji_gh);
|
||||
|
||||
fail:
|
||||
fail:
|
||||
iput(sdp->sd_jindex);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -534,14 +523,11 @@ static int init_inodes(struct gfs2_sbd *sdp, int undo)
|
||||
|
||||
fail_qinode:
|
||||
iput(sdp->sd_quota_inode);
|
||||
|
||||
fail_rindex:
|
||||
gfs2_clear_rgrpd(sdp);
|
||||
iput(sdp->sd_rindex);
|
||||
|
||||
fail_statfs:
|
||||
iput(sdp->sd_statfs_inode);
|
||||
|
||||
fail_inum:
|
||||
iput(sdp->sd_inum_inode);
|
||||
fail_journal:
|
||||
@ -628,27 +614,19 @@ static int init_per_node(struct gfs2_sbd *sdp, int undo)
|
||||
|
||||
return 0;
|
||||
|
||||
fail_qc_gh:
|
||||
fail_qc_gh:
|
||||
gfs2_glock_dq_uninit(&sdp->sd_qc_gh);
|
||||
|
||||
fail_ut_gh:
|
||||
|
||||
fail_ut_gh:
|
||||
gfs2_glock_dq_uninit(&sdp->sd_sc_gh);
|
||||
|
||||
fail_ir_gh:
|
||||
fail_ir_gh:
|
||||
gfs2_glock_dq_uninit(&sdp->sd_ir_gh);
|
||||
|
||||
fail_qc_i:
|
||||
fail_qc_i:
|
||||
iput(sdp->sd_qc_inode);
|
||||
|
||||
fail_ut_i:
|
||||
|
||||
fail_ut_i:
|
||||
iput(sdp->sd_sc_inode);
|
||||
|
||||
fail_ir_i:
|
||||
fail_ir_i:
|
||||
iput(sdp->sd_ir_inode);
|
||||
|
||||
fail:
|
||||
fail:
|
||||
if (pn)
|
||||
iput(pn);
|
||||
return error;
|
||||
@ -781,34 +759,26 @@ static int fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
||||
return 0;
|
||||
|
||||
fail_threads:
|
||||
fail_threads:
|
||||
init_threads(sdp, UNDO);
|
||||
|
||||
fail_per_node:
|
||||
fail_per_node:
|
||||
init_per_node(sdp, UNDO);
|
||||
|
||||
fail_inodes:
|
||||
fail_inodes:
|
||||
init_inodes(sdp, UNDO);
|
||||
|
||||
fail_sb:
|
||||
fail_sb:
|
||||
init_sb(sdp, 0, UNDO);
|
||||
|
||||
fail_locking:
|
||||
fail_locking:
|
||||
init_locking(sdp, &mount_gh, UNDO);
|
||||
|
||||
fail_lm:
|
||||
fail_lm:
|
||||
gfs2_gl_hash_clear(sdp, WAIT);
|
||||
gfs2_lm_unmount(sdp);
|
||||
while (invalidate_inodes(sb))
|
||||
yield();
|
||||
|
||||
fail_sys:
|
||||
fail_sys:
|
||||
gfs2_sys_fs_del(sdp);
|
||||
|
||||
fail:
|
||||
fail:
|
||||
vfree(sdp);
|
||||
sb->s_fs_info = NULL;
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -852,6 +822,7 @@ static int fill_super_meta(struct super_block *sb, struct super_block *new,
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
static int set_bdev_super(struct super_block *s, void *data)
|
||||
{
|
||||
s->s_bdev = data;
|
||||
|
@ -228,32 +228,25 @@ static int gfs2_link(struct dentry *old_dentry, struct inode *dir,
|
||||
|
||||
out_end_trans:
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_ipres:
|
||||
if (alloc_required)
|
||||
gfs2_inplace_release(dip);
|
||||
|
||||
out_gunlock_q:
|
||||
if (alloc_required)
|
||||
gfs2_quota_unlock(dip);
|
||||
|
||||
out_alloc:
|
||||
if (alloc_required)
|
||||
gfs2_alloc_put(dip);
|
||||
|
||||
out_gunlock:
|
||||
gfs2_glock_dq_m(2, ghs);
|
||||
|
||||
out:
|
||||
gfs2_holder_uninit(ghs);
|
||||
gfs2_holder_uninit(ghs + 1);
|
||||
|
||||
if (!error) {
|
||||
atomic_inc(&inode->i_count);
|
||||
d_instantiate(dentry, inode);
|
||||
mark_inode_dirty(inode);
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -491,13 +484,11 @@ static int gfs2_rmdir(struct inode *dir, struct dentry *dentry)
|
||||
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_gunlock:
|
||||
out_gunlock:
|
||||
gfs2_glock_dq_m(2, ghs);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_holder_uninit(ghs);
|
||||
gfs2_holder_uninit(ghs + 1);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -966,15 +957,12 @@ static int setattr_chown(struct inode *inode, struct iattr *attr)
|
||||
gfs2_quota_change(ip, ip->i_di.di_blocks, nuid, ngid);
|
||||
}
|
||||
|
||||
out_end_trans:
|
||||
out_end_trans:
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_gunlock_q:
|
||||
out_gunlock_q:
|
||||
gfs2_quota_unlock(ip);
|
||||
|
||||
out_alloc:
|
||||
out_alloc:
|
||||
gfs2_alloc_put(ip);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -1017,12 +1005,10 @@ static int gfs2_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
else
|
||||
error = gfs2_setattr_simple(ip, attr);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_glock_dq_uninit(&i_gh);
|
||||
|
||||
if (!error)
|
||||
mark_inode_dirty(inode);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -115,18 +115,14 @@ static int alloc_page_backing(struct gfs2_inode *ip, struct page *page)
|
||||
|
||||
gfs2_assert_warn(sdp, al->al_alloced);
|
||||
|
||||
out_trans:
|
||||
out_trans:
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_ipres:
|
||||
out_ipres:
|
||||
gfs2_inplace_release(ip);
|
||||
|
||||
out_gunlock_q:
|
||||
out_gunlock_q:
|
||||
gfs2_quota_unlock(ip);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_alloc_put(ip);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -105,7 +105,7 @@ static int qd_alloc(struct gfs2_sbd *sdp, int user, uint32_t id,
|
||||
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
fail:
|
||||
kfree(qd);
|
||||
return error;
|
||||
}
|
||||
@ -199,7 +199,7 @@ static int slot_get(struct gfs2_quota_data *qd)
|
||||
|
||||
goto fail;
|
||||
|
||||
found:
|
||||
found:
|
||||
for (b = 0; b < 8; b++)
|
||||
if (!(byte & (1 << b)))
|
||||
break;
|
||||
@ -214,7 +214,7 @@ static int slot_get(struct gfs2_quota_data *qd)
|
||||
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
fail:
|
||||
qd->qd_slot_count--;
|
||||
spin_unlock(&sdp->sd_quota_spin);
|
||||
return -ENOSPC;
|
||||
@ -283,10 +283,9 @@ static int bh_get(struct gfs2_quota_data *qd)
|
||||
|
||||
return 0;
|
||||
|
||||
fail_brelse:
|
||||
fail_brelse:
|
||||
brelse(bh);
|
||||
|
||||
fail:
|
||||
fail:
|
||||
qd->qd_bh_count--;
|
||||
mutex_unlock(&sdp->sd_quota_mutex);
|
||||
return error;
|
||||
@ -425,10 +424,9 @@ static int qdsb_get(struct gfs2_sbd *sdp, int user, uint32_t id, int create,
|
||||
|
||||
return 0;
|
||||
|
||||
fail_slot:
|
||||
fail_slot:
|
||||
slot_put(*qdp);
|
||||
|
||||
fail:
|
||||
fail:
|
||||
qd_put(*qdp);
|
||||
return error;
|
||||
}
|
||||
@ -482,10 +480,9 @@ int gfs2_quota_hold(struct gfs2_inode *ip, uint32_t uid, uint32_t gid)
|
||||
qd++;
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
if (error)
|
||||
gfs2_quota_unhold(ip);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -728,26 +725,21 @@ static int do_sync(unsigned int num_qd, struct gfs2_quota_data **qda)
|
||||
|
||||
error = 0;
|
||||
|
||||
out_end_trans:
|
||||
out_end_trans:
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_ipres:
|
||||
out_ipres:
|
||||
if (nalloc)
|
||||
gfs2_inplace_release(ip);
|
||||
|
||||
out_alloc:
|
||||
out_alloc:
|
||||
if (nalloc)
|
||||
gfs2_alloc_put(ip);
|
||||
|
||||
out_gunlock:
|
||||
out_gunlock:
|
||||
gfs2_glock_dq_uninit(&i_gh);
|
||||
|
||||
out:
|
||||
out:
|
||||
while (qx--)
|
||||
gfs2_glock_dq_uninit(&ghs[qx]);
|
||||
kfree(ghs);
|
||||
gfs2_log_flush(ip->i_gl->gl_sbd, ip->i_gl);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -764,7 +756,7 @@ static int do_glock(struct gfs2_quota_data *qd, int force_refresh,
|
||||
struct gfs2_quota_lvb *qlvb;
|
||||
|
||||
file_ra_state_init(&ra_state, sdp->sd_quota_inode->i_mapping);
|
||||
restart:
|
||||
restart:
|
||||
error = gfs2_glock_nq_init(qd->qd_gl, LM_ST_SHARED, 0, q_gh);
|
||||
if (error)
|
||||
return error;
|
||||
@ -812,12 +804,10 @@ static int do_glock(struct gfs2_quota_data *qd, int force_refresh,
|
||||
|
||||
return 0;
|
||||
|
||||
fail_gunlock:
|
||||
fail_gunlock:
|
||||
gfs2_glock_dq_uninit(&i_gh);
|
||||
|
||||
fail:
|
||||
fail:
|
||||
gfs2_glock_dq_uninit(q_gh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -919,7 +909,7 @@ void gfs2_quota_unlock(struct gfs2_inode *ip)
|
||||
qd_unlock(qda[x]);
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_quota_unhold(ip);
|
||||
}
|
||||
|
||||
@ -1098,9 +1088,8 @@ int gfs2_quota_read(struct gfs2_sbd *sdp, int user, uint32_t id,
|
||||
|
||||
gfs2_glock_dq_uninit(&q_gh);
|
||||
|
||||
out:
|
||||
out:
|
||||
qd_put(qd);
|
||||
|
||||
return error;
|
||||
}
|
||||
#endif /* 0 */
|
||||
@ -1202,7 +1191,7 @@ int gfs2_quota_init(struct gfs2_sbd *sdp)
|
||||
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
fail:
|
||||
gfs2_quota_cleanup(sdp);
|
||||
return error;
|
||||
}
|
||||
|
@ -535,7 +535,7 @@ int gfs2_make_fs_rw(struct gfs2_sbd *sdp)
|
||||
|
||||
error = gfs2_quota_init(sdp);
|
||||
if (error)
|
||||
goto fail_unlinked;
|
||||
goto fail;
|
||||
|
||||
set_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags);
|
||||
|
||||
@ -543,9 +543,7 @@ int gfs2_make_fs_rw(struct gfs2_sbd *sdp)
|
||||
|
||||
return 0;
|
||||
|
||||
fail_unlinked:
|
||||
|
||||
fail:
|
||||
fail:
|
||||
t_gh.gh_flags |= GL_NOCACHE;
|
||||
gfs2_glock_dq_uninit(&t_gh);
|
||||
|
||||
@ -625,12 +623,10 @@ int gfs2_statfs_init(struct gfs2_sbd *sdp)
|
||||
brelse(l_bh);
|
||||
}
|
||||
|
||||
out_m_bh:
|
||||
out_m_bh:
|
||||
brelse(m_bh);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_glock_dq_uninit(&gh);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -715,15 +711,12 @@ int gfs2_statfs_sync(struct gfs2_sbd *sdp)
|
||||
|
||||
gfs2_trans_end(sdp);
|
||||
|
||||
out_bh2:
|
||||
out_bh2:
|
||||
brelse(l_bh);
|
||||
|
||||
out_bh:
|
||||
out_bh:
|
||||
brelse(m_bh);
|
||||
|
||||
out:
|
||||
out:
|
||||
gfs2_glock_dq_uninit(&gh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -853,9 +846,8 @@ int gfs2_statfs_slow(struct gfs2_sbd *sdp, struct gfs2_statfs_change *sc)
|
||||
|
||||
gfs2_glock_dq_uninit(&ri_gh);
|
||||
|
||||
out:
|
||||
out:
|
||||
kfree(gha);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
@ -924,7 +916,7 @@ static int gfs2_lock_fs_check_clean(struct gfs2_sbd *sdp,
|
||||
if (error)
|
||||
gfs2_glock_dq_uninit(t_gh);
|
||||
|
||||
out:
|
||||
out:
|
||||
while (!list_empty(&list)) {
|
||||
lfcc = list_entry(list.next, struct lfcc, list);
|
||||
list_del(&lfcc->list);
|
||||
@ -932,7 +924,6 @@ static int gfs2_lock_fs_check_clean(struct gfs2_sbd *sdp,
|
||||
kfree(lfcc);
|
||||
}
|
||||
gfs2_glock_dq_uninit(&ji_gh);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -543,15 +543,15 @@ int gfs2_sys_fs_add(struct gfs2_sbd *sdp)
|
||||
|
||||
return 0;
|
||||
|
||||
fail_args:
|
||||
fail_args:
|
||||
sysfs_remove_group(&sdp->sd_kobj, &args_group);
|
||||
fail_counters:
|
||||
fail_counters:
|
||||
sysfs_remove_group(&sdp->sd_kobj, &counters_group);
|
||||
fail_lockstruct:
|
||||
fail_lockstruct:
|
||||
sysfs_remove_group(&sdp->sd_kobj, &lockstruct_group);
|
||||
fail_reg:
|
||||
fail_reg:
|
||||
kobject_unregister(&sdp->sd_kobj);
|
||||
fail:
|
||||
fail:
|
||||
return error;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user