[GFS2] Align all labels against LH side

This makes everything consistent.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
Steven Whitehouse 2006-09-04 12:04:26 -04:00
parent 75d3b817a0
commit a91ea69ffd
19 changed files with 129 additions and 245 deletions

View file

@ -65,9 +65,8 @@ int gfs2_acl_validate_set(struct gfs2_inode *ip, int access,
error = 0; error = 0;
} }
out: out:
posix_acl_release(acl); posix_acl_release(acl);
return error; return error;
} }
@ -132,18 +131,16 @@ static int acl_get(struct gfs2_inode *ip, int access, struct posix_acl **acl,
error = PTR_ERR(*acl); error = PTR_ERR(*acl);
} }
out_kfree: out_kfree:
if (error || !data) if (error || !data)
kfree(er.er_data); kfree(er.er_data);
else { else {
*data = er.er_data; *data = er.er_data;
*len = er.er_data_len; *len = er.er_data_len;
} }
out:
out:
if (error || el == &el_this) if (error || el == &el_this)
brelse(el->el_bh); brelse(el->el_bh);
return error; return error;
} }
@ -270,7 +267,7 @@ int gfs2_acl_create(struct gfs2_inode *dip, struct gfs2_inode *ip)
} else } else
munge_mode(ip, mode); munge_mode(ip, mode);
out: out:
posix_acl_release(acl); posix_acl_release(acl);
kfree(er.er_data); kfree(er.er_data);
return error; 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); error = gfs2_ea_acl_chmod(ip, &el, attr, data);
} }
out: out:
posix_acl_release(acl); posix_acl_release(acl);
brelse(el.el_bh); brelse(el.el_bh);
kfree(data); kfree(data);
return error; return error;
} }

View file

@ -170,12 +170,10 @@ int gfs2_unstuff_dinode(struct gfs2_inode *ip, struct page *page)
gfs2_dinode_out(&ip->i_di, dibh->b_data); gfs2_dinode_out(&ip->i_di, dibh->b_data);
out_brelse: out_brelse:
brelse(dibh); brelse(dibh);
out:
out:
up_write(&ip->i_rw_mutex); up_write(&ip->i_rw_mutex);
return error; return error;
} }
@ -642,9 +640,8 @@ static int recursive_scan(struct gfs2_inode *ip, struct buffer_head *dibh,
break; break;
} }
out: out:
brelse(bh); brelse(bh);
return error; return error;
} }
@ -788,15 +785,12 @@ static int do_strip(struct gfs2_inode *ip, struct buffer_head *dibh,
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_rg_gunlock: out_rg_gunlock:
gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs); gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs);
out_rlist:
out_rlist:
gfs2_rlist_free(&rlist); gfs2_rlist_free(&rlist);
out:
out:
gfs2_glock_dq_uninit(&ip->i_alloc.al_ri_gh); gfs2_glock_dq_uninit(&ip->i_alloc.al_ri_gh);
return error; 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); gfs2_dinode_out(&ip->i_di, dibh->b_data);
brelse(dibh); brelse(dibh);
out_end_trans: out_end_trans:
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_ipres:
out_ipres:
gfs2_inplace_release(ip); gfs2_inplace_release(ip);
out_gunlock_q:
out_gunlock_q:
gfs2_quota_unlock(ip); gfs2_quota_unlock(ip);
out:
out:
gfs2_alloc_put(ip); gfs2_alloc_put(ip);
return error; return error;
} }
@ -998,9 +988,8 @@ static int trunc_start(struct gfs2_inode *ip, uint64_t size)
brelse(dibh); brelse(dibh);
out: out:
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
return error; return error;
} }
@ -1035,7 +1024,7 @@ static int trunc_dealloc(struct gfs2_inode *ip, uint64_t size)
gfs2_quota_unhold(ip); gfs2_quota_unhold(ip);
out: out:
gfs2_alloc_put(ip); gfs2_alloc_put(ip);
return error; return error;
} }
@ -1070,11 +1059,9 @@ static int trunc_end(struct gfs2_inode *ip)
gfs2_dinode_out(&ip->i_di, dibh->b_data); gfs2_dinode_out(&ip->i_di, dibh->b_data);
brelse(dibh); brelse(dibh);
out: out:
up_write(&ip->i_rw_mutex); up_write(&ip->i_rw_mutex);
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
return error; return error;
} }

View file

@ -1134,9 +1134,8 @@ static int dir_double_exhash(struct gfs2_inode *dip)
return error; return error;
fail: fail:
kfree(buf); kfree(buf);
return error; 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); gfs2_dinode_out(&dip->i_di, dibh->b_data);
brelse(dibh); brelse(dibh);
out_end_trans: out_end_trans:
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_rg_gunlock:
out_rg_gunlock:
gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs); gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs);
out_rlist:
out_rlist:
gfs2_rlist_free(&rlist); gfs2_rlist_free(&rlist);
gfs2_glock_dq_uninit(&dip->i_alloc.al_ri_gh); gfs2_glock_dq_uninit(&dip->i_alloc.al_ri_gh);
out_qs:
out_qs:
gfs2_quota_unhold(dip); gfs2_quota_unhold(dip);
out:
out:
gfs2_alloc_put(dip); gfs2_alloc_put(dip);
kfree(ht); kfree(ht);
return error; return error;
} }

View file

@ -107,7 +107,7 @@ static int ea_foreach_i(struct gfs2_inode *ip, struct buffer_head *bh,
return error; return error;
fail: fail:
gfs2_consist_inode(ip); gfs2_consist_inode(ip);
return -EIO; return -EIO;
} }
@ -152,9 +152,8 @@ static int ea_foreach(struct gfs2_inode *ip, ea_call_t ea_call, void *data)
if (error) if (error)
break; break;
} }
out: out:
brelse(bh); brelse(bh);
return error; return error;
} }
@ -319,9 +318,8 @@ static int ea_dealloc_unstuffed(struct gfs2_inode *ip, struct buffer_head *bh,
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_gunlock: out_gunlock:
gfs2_glock_dq_uninit(&rg_gh); gfs2_glock_dq_uninit(&rg_gh);
return error; 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); gfs2_glock_dq_uninit(&al->al_ri_gh);
out_quota: out_quota:
gfs2_quota_unhold(ip); gfs2_quota_unhold(ip);
out_alloc:
out_alloc:
gfs2_alloc_put(ip); gfs2_alloc_put(ip);
return error; return error;
} }
@ -506,9 +502,8 @@ static int ea_get_unstuffed(struct gfs2_inode *ip, struct gfs2_ea_header *ea,
brelse(bh[x]); brelse(bh[x]);
} }
out: out:
kfree(bh); kfree(bh);
return error; return error;
} }
@ -747,18 +742,14 @@ static int ea_alloc_skeleton(struct gfs2_inode *ip, struct gfs2_ea_request *er,
brelse(dibh); brelse(dibh);
} }
out_end_trans: out_end_trans:
gfs2_trans_end(GFS2_SB(&ip->i_inode)); gfs2_trans_end(GFS2_SB(&ip->i_inode));
out_ipres:
out_ipres:
gfs2_inplace_release(ip); gfs2_inplace_release(ip);
out_gunlock_q:
out_gunlock_q:
gfs2_quota_unlock(ip); gfs2_quota_unlock(ip);
out:
out:
gfs2_alloc_put(ip); gfs2_alloc_put(ip);
return error; 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_trans_add_bh(ip->i_gl, dibh, 1);
gfs2_dinode_out(&ip->i_di, dibh->b_data); gfs2_dinode_out(&ip->i_di, dibh->b_data);
brelse(dibh); brelse(dibh);
out: out:
gfs2_trans_end(GFS2_SB(&ip->i_inode)); gfs2_trans_end(GFS2_SB(&ip->i_inode));
return error; return error;
} }
@ -1025,9 +1015,8 @@ static int ea_set_block(struct gfs2_inode *ip, struct gfs2_ea_request *er,
if (private) if (private)
ea_set_remove_stuffed(ip, (struct gfs2_ea_location *)private); ea_set_remove_stuffed(ip, (struct gfs2_ea_location *)private);
out: out:
brelse(indbh); brelse(indbh);
return error; return error;
} }
@ -1285,15 +1274,13 @@ static int ea_acl_chmod_unstuffed(struct gfs2_inode *ip,
brelse(bh[x]); brelse(bh[x]);
} }
out: out:
kfree(bh); kfree(bh);
return error; return error;
fail: fail:
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
kfree(bh); kfree(bh);
return error; return error;
} }
@ -1442,15 +1429,12 @@ static int ea_dealloc_indirect(struct gfs2_inode *ip)
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_gunlock: out_gunlock:
gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs); gfs2_glock_dq_m(rlist.rl_rgrps, rlist.rl_ghs);
out_rlist_free:
out_rlist_free:
gfs2_rlist_free(&rlist); gfs2_rlist_free(&rlist);
out:
out:
brelse(indbh); brelse(indbh);
return error; return error;
} }
@ -1494,9 +1478,8 @@ static int ea_dealloc_block(struct gfs2_inode *ip)
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_gunlock: out_gunlock:
gfs2_glock_dq_uninit(&al->al_rgd_gh); gfs2_glock_dq_uninit(&al->al_rgd_gh);
return error; return error;
} }
@ -1534,15 +1517,12 @@ int gfs2_ea_dealloc(struct gfs2_inode *ip)
error = ea_dealloc_block(ip); error = ea_dealloc_block(ip);
out_rindex: out_rindex:
gfs2_glock_dq_uninit(&al->al_ri_gh); gfs2_glock_dq_uninit(&al->al_ri_gh);
out_quota:
out_quota:
gfs2_quota_unhold(ip); gfs2_quota_unhold(ip);
out_alloc:
out_alloc:
gfs2_alloc_put(ip); gfs2_alloc_put(ip);
return error; return error;
} }

View file

@ -2179,9 +2179,8 @@ static int dump_glock(struct gfs2_glock *gl)
error = 0; error = 0;
out: out:
spin_unlock(&gl->gl_spin); spin_unlock(&gl->gl_spin);
return error; return error;
} }

View file

@ -76,7 +76,7 @@ int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent)
sdp->sd_args.ar_localcaching = 1; sdp->sd_args.ar_localcaching = 1;
} }
out: out:
return error; return error;
} }

View file

@ -437,7 +437,7 @@ static int hold_null_lock(struct gdlm_lock *lp)
gdlm_delete_lp(lpn); gdlm_delete_lp(lpn);
lpn = NULL; lpn = NULL;
} }
out: out:
lp->hold_null = lpn; lp->hold_null = lpn;
return error; return error;
} }

View file

@ -164,13 +164,13 @@ static int gdlm_mount(char *table_name, char *host_data,
lockstruct->ls_lvb_size = GDLM_LVB_SIZE; lockstruct->ls_lvb_size = GDLM_LVB_SIZE;
return 0; return 0;
out_kobj: out_kobj:
gdlm_kobject_release(ls); gdlm_kobject_release(ls);
out_thread: out_thread:
gdlm_release_threads(ls); gdlm_release_threads(ls);
out_free: out_free:
kfree(ls); kfree(ls);
out: out:
return error; return error;
} }
@ -194,7 +194,7 @@ static void gdlm_unmount(lm_lockspace_t *lockspace)
rv = gdlm_release_all_locks(ls); rv = gdlm_release_all_locks(ls);
if (rv) if (rv)
log_info("gdlm_unmount: %d stray locks freed", rv); log_info("gdlm_unmount: %d stray locks freed", rv);
out: out:
kfree(ls); kfree(ls);
} }

View file

@ -206,7 +206,7 @@ static void process_complete(struct gdlm_lock *lp)
if (lp->lksb.sb_flags & DLM_SBF_DEMOTED) if (lp->lksb.sb_flags & DLM_SBF_DEMOTED)
set_bit(LFL_NOCACHE, &lp->flags); set_bit(LFL_NOCACHE, &lp->flags);
out: out:
/* /*
* This is an internal lock_dlm lock * This is an internal lock_dlm lock
*/ */

View file

@ -756,7 +756,7 @@ void gfs2_meta_ra(struct gfs2_glock *gl, uint64_t dblock, uint32_t extlen)
break; break;
} }
out: out:
brelse(first_bh); brelse(first_bh);
} }

View file

@ -203,11 +203,11 @@ int gfs2_mount_args(struct gfs2_sbd *sdp, char *data_arg, int remount)
return error; return error;
need_value: need_value:
fs_info(sdp, "need value for option %s\n", o); fs_info(sdp, "need value for option %s\n", o);
return -EINVAL; return -EINVAL;
cant_remount: cant_remount:
fs_info(sdp, "can't remount with option %s\n", o); fs_info(sdp, "can't remount with option %s\n", o);
return -EINVAL; return -EINVAL;
} }

View file

@ -81,31 +81,27 @@ static int gfs2_drevalidate(struct dentry *dentry, struct nameidata *nd)
goto fail_gunlock; goto fail_gunlock;
} }
valid_gunlock: valid_gunlock:
gfs2_glock_dq_uninit(&d_gh); gfs2_glock_dq_uninit(&d_gh);
valid:
valid:
dput(parent); dput(parent);
return 1; return 1;
invalid_gunlock: invalid_gunlock:
gfs2_glock_dq_uninit(&d_gh); gfs2_glock_dq_uninit(&d_gh);
invalid:
invalid:
if (inode && S_ISDIR(inode->i_mode)) { if (inode && S_ISDIR(inode->i_mode)) {
if (have_submounts(dentry)) if (have_submounts(dentry))
goto valid; goto valid;
shrink_dcache_parent(dentry); shrink_dcache_parent(dentry);
} }
d_drop(dentry); d_drop(dentry);
dput(parent); dput(parent);
return 0; return 0;
fail_gunlock: fail_gunlock:
gfs2_glock_dq_uninit(&d_gh); gfs2_glock_dq_uninit(&d_gh);
fail:
fail:
dput(parent); dput(parent);
return 0; return 0;
} }

View file

@ -345,9 +345,8 @@ static int readdir_bad(struct file *file, void *dirent, filldir_t filldir)
file->f_pos = offset; file->f_pos = offset;
out: out:
kfree(fdb); kfree(fdb);
return error; return error;
} }

View file

@ -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_proto_name, GFS2_FSNAME_LEN, "%s", proto);
snprintf(sdp->sd_table_name, GFS2_FSNAME_LEN, "%s", table); snprintf(sdp->sd_table_name, GFS2_FSNAME_LEN, "%s", table);
out: out:
kfree(sb); kfree(sb);
return error; return error;
} }
@ -246,22 +245,17 @@ static int init_locking(struct gfs2_sbd *sdp, struct gfs2_holder *mount_gh,
fail_trans: fail_trans:
gfs2_glock_put(sdp->sd_trans_gl); gfs2_glock_put(sdp->sd_trans_gl);
fail_rename: fail_rename:
gfs2_glock_put(sdp->sd_rename_gl); gfs2_glock_put(sdp->sd_rename_gl);
fail_live: fail_live:
gfs2_glock_dq_uninit(&sdp->sd_live_gh); gfs2_glock_dq_uninit(&sdp->sd_live_gh);
fail_mount: fail_mount:
gfs2_glock_dq_uninit(mount_gh); gfs2_glock_dq_uninit(mount_gh);
fail: fail:
while (sdp->sd_glockd_num--) while (sdp->sd_glockd_num--)
kthread_stop(sdp->sd_glockd_process[sdp->sd_glockd_num]); kthread_stop(sdp->sd_glockd_process[sdp->sd_glockd_num]);
kthread_stop(sdp->sd_scand_process); kthread_stop(sdp->sd_scand_process);
return error; return error;
} }
@ -451,25 +445,20 @@ static int init_journal(struct gfs2_sbd *sdp, int undo)
return 0; return 0;
fail_recoverd: fail_recoverd:
kthread_stop(sdp->sd_recoverd_process); kthread_stop(sdp->sd_recoverd_process);
fail_jinode_gh:
fail_jinode_gh:
if (!sdp->sd_args.ar_spectator) if (!sdp->sd_args.ar_spectator)
gfs2_glock_dq_uninit(&sdp->sd_jinode_gh); gfs2_glock_dq_uninit(&sdp->sd_jinode_gh);
fail_journal_gh:
fail_journal_gh:
if (!sdp->sd_args.ar_spectator) if (!sdp->sd_args.ar_spectator)
gfs2_glock_dq_uninit(&sdp->sd_journal_gh); gfs2_glock_dq_uninit(&sdp->sd_journal_gh);
fail_jindex:
fail_jindex:
gfs2_jindex_free(sdp); gfs2_jindex_free(sdp);
if (jindex) if (jindex)
gfs2_glock_dq_uninit(&ji_gh); gfs2_glock_dq_uninit(&ji_gh);
fail:
fail:
iput(sdp->sd_jindex); iput(sdp->sd_jindex);
return error; return error;
} }
@ -534,14 +523,11 @@ static int init_inodes(struct gfs2_sbd *sdp, int undo)
fail_qinode: fail_qinode:
iput(sdp->sd_quota_inode); iput(sdp->sd_quota_inode);
fail_rindex: fail_rindex:
gfs2_clear_rgrpd(sdp); gfs2_clear_rgrpd(sdp);
iput(sdp->sd_rindex); iput(sdp->sd_rindex);
fail_statfs: fail_statfs:
iput(sdp->sd_statfs_inode); iput(sdp->sd_statfs_inode);
fail_inum: fail_inum:
iput(sdp->sd_inum_inode); iput(sdp->sd_inum_inode);
fail_journal: fail_journal:
@ -628,27 +614,19 @@ static int init_per_node(struct gfs2_sbd *sdp, int undo)
return 0; return 0;
fail_qc_gh: fail_qc_gh:
gfs2_glock_dq_uninit(&sdp->sd_qc_gh); gfs2_glock_dq_uninit(&sdp->sd_qc_gh);
fail_ut_gh:
fail_ut_gh:
gfs2_glock_dq_uninit(&sdp->sd_sc_gh); gfs2_glock_dq_uninit(&sdp->sd_sc_gh);
fail_ir_gh:
fail_ir_gh:
gfs2_glock_dq_uninit(&sdp->sd_ir_gh); gfs2_glock_dq_uninit(&sdp->sd_ir_gh);
fail_qc_i:
fail_qc_i:
iput(sdp->sd_qc_inode); iput(sdp->sd_qc_inode);
fail_ut_i:
fail_ut_i:
iput(sdp->sd_sc_inode); iput(sdp->sd_sc_inode);
fail_ir_i:
fail_ir_i:
iput(sdp->sd_ir_inode); iput(sdp->sd_ir_inode);
fail:
fail:
if (pn) if (pn)
iput(pn); iput(pn);
return error; return error;
@ -781,34 +759,26 @@ static int fill_super(struct super_block *sb, void *data, int silent)
return 0; return 0;
fail_threads: fail_threads:
init_threads(sdp, UNDO); init_threads(sdp, UNDO);
fail_per_node:
fail_per_node:
init_per_node(sdp, UNDO); init_per_node(sdp, UNDO);
fail_inodes:
fail_inodes:
init_inodes(sdp, UNDO); init_inodes(sdp, UNDO);
fail_sb:
fail_sb:
init_sb(sdp, 0, UNDO); init_sb(sdp, 0, UNDO);
fail_locking:
fail_locking:
init_locking(sdp, &mount_gh, UNDO); init_locking(sdp, &mount_gh, UNDO);
fail_lm:
fail_lm:
gfs2_gl_hash_clear(sdp, WAIT); gfs2_gl_hash_clear(sdp, WAIT);
gfs2_lm_unmount(sdp); gfs2_lm_unmount(sdp);
while (invalidate_inodes(sb)) while (invalidate_inodes(sb))
yield(); yield();
fail_sys:
fail_sys:
gfs2_sys_fs_del(sdp); gfs2_sys_fs_del(sdp);
fail:
fail:
vfree(sdp); vfree(sdp);
sb->s_fs_info = NULL; sb->s_fs_info = NULL;
return error; return error;
} }
@ -852,6 +822,7 @@ static int fill_super_meta(struct super_block *sb, struct super_block *new,
return error; return error;
} }
static int set_bdev_super(struct super_block *s, void *data) static int set_bdev_super(struct super_block *s, void *data)
{ {
s->s_bdev = data; s->s_bdev = data;

View file

@ -228,32 +228,25 @@ static int gfs2_link(struct dentry *old_dentry, struct inode *dir,
out_end_trans: out_end_trans:
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_ipres: out_ipres:
if (alloc_required) if (alloc_required)
gfs2_inplace_release(dip); gfs2_inplace_release(dip);
out_gunlock_q: out_gunlock_q:
if (alloc_required) if (alloc_required)
gfs2_quota_unlock(dip); gfs2_quota_unlock(dip);
out_alloc: out_alloc:
if (alloc_required) if (alloc_required)
gfs2_alloc_put(dip); gfs2_alloc_put(dip);
out_gunlock: out_gunlock:
gfs2_glock_dq_m(2, ghs); gfs2_glock_dq_m(2, ghs);
out: out:
gfs2_holder_uninit(ghs); gfs2_holder_uninit(ghs);
gfs2_holder_uninit(ghs + 1); gfs2_holder_uninit(ghs + 1);
if (!error) { if (!error) {
atomic_inc(&inode->i_count); atomic_inc(&inode->i_count);
d_instantiate(dentry, inode); d_instantiate(dentry, inode);
mark_inode_dirty(inode); mark_inode_dirty(inode);
} }
return error; return error;
} }
@ -491,13 +484,11 @@ static int gfs2_rmdir(struct inode *dir, struct dentry *dentry)
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_gunlock: out_gunlock:
gfs2_glock_dq_m(2, ghs); gfs2_glock_dq_m(2, ghs);
out:
out:
gfs2_holder_uninit(ghs); gfs2_holder_uninit(ghs);
gfs2_holder_uninit(ghs + 1); gfs2_holder_uninit(ghs + 1);
return error; 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); gfs2_quota_change(ip, ip->i_di.di_blocks, nuid, ngid);
} }
out_end_trans: out_end_trans:
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_gunlock_q:
out_gunlock_q:
gfs2_quota_unlock(ip); gfs2_quota_unlock(ip);
out_alloc:
out_alloc:
gfs2_alloc_put(ip); gfs2_alloc_put(ip);
return error; return error;
} }
@ -1017,12 +1005,10 @@ static int gfs2_setattr(struct dentry *dentry, struct iattr *attr)
else else
error = gfs2_setattr_simple(ip, attr); error = gfs2_setattr_simple(ip, attr);
out: out:
gfs2_glock_dq_uninit(&i_gh); gfs2_glock_dq_uninit(&i_gh);
if (!error) if (!error)
mark_inode_dirty(inode); mark_inode_dirty(inode);
return error; return error;
} }

View file

@ -115,18 +115,14 @@ static int alloc_page_backing(struct gfs2_inode *ip, struct page *page)
gfs2_assert_warn(sdp, al->al_alloced); gfs2_assert_warn(sdp, al->al_alloced);
out_trans: out_trans:
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_ipres:
out_ipres:
gfs2_inplace_release(ip); gfs2_inplace_release(ip);
out_gunlock_q:
out_gunlock_q:
gfs2_quota_unlock(ip); gfs2_quota_unlock(ip);
out:
out:
gfs2_alloc_put(ip); gfs2_alloc_put(ip);
return error; return error;
} }

View file

@ -105,7 +105,7 @@ static int qd_alloc(struct gfs2_sbd *sdp, int user, uint32_t id,
return 0; return 0;
fail: fail:
kfree(qd); kfree(qd);
return error; return error;
} }
@ -199,7 +199,7 @@ static int slot_get(struct gfs2_quota_data *qd)
goto fail; goto fail;
found: found:
for (b = 0; b < 8; b++) for (b = 0; b < 8; b++)
if (!(byte & (1 << b))) if (!(byte & (1 << b)))
break; break;
@ -214,7 +214,7 @@ static int slot_get(struct gfs2_quota_data *qd)
return 0; return 0;
fail: fail:
qd->qd_slot_count--; qd->qd_slot_count--;
spin_unlock(&sdp->sd_quota_spin); spin_unlock(&sdp->sd_quota_spin);
return -ENOSPC; return -ENOSPC;
@ -283,10 +283,9 @@ static int bh_get(struct gfs2_quota_data *qd)
return 0; return 0;
fail_brelse: fail_brelse:
brelse(bh); brelse(bh);
fail:
fail:
qd->qd_bh_count--; qd->qd_bh_count--;
mutex_unlock(&sdp->sd_quota_mutex); mutex_unlock(&sdp->sd_quota_mutex);
return error; return error;
@ -425,10 +424,9 @@ static int qdsb_get(struct gfs2_sbd *sdp, int user, uint32_t id, int create,
return 0; return 0;
fail_slot: fail_slot:
slot_put(*qdp); slot_put(*qdp);
fail:
fail:
qd_put(*qdp); qd_put(*qdp);
return error; return error;
} }
@ -482,10 +480,9 @@ int gfs2_quota_hold(struct gfs2_inode *ip, uint32_t uid, uint32_t gid)
qd++; qd++;
} }
out: out:
if (error) if (error)
gfs2_quota_unhold(ip); gfs2_quota_unhold(ip);
return error; return error;
} }
@ -728,26 +725,21 @@ static int do_sync(unsigned int num_qd, struct gfs2_quota_data **qda)
error = 0; error = 0;
out_end_trans: out_end_trans:
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_ipres:
out_ipres:
if (nalloc) if (nalloc)
gfs2_inplace_release(ip); gfs2_inplace_release(ip);
out_alloc:
out_alloc:
if (nalloc) if (nalloc)
gfs2_alloc_put(ip); gfs2_alloc_put(ip);
out_gunlock:
out_gunlock:
gfs2_glock_dq_uninit(&i_gh); gfs2_glock_dq_uninit(&i_gh);
out:
out:
while (qx--) while (qx--)
gfs2_glock_dq_uninit(&ghs[qx]); gfs2_glock_dq_uninit(&ghs[qx]);
kfree(ghs); kfree(ghs);
gfs2_log_flush(ip->i_gl->gl_sbd, ip->i_gl); gfs2_log_flush(ip->i_gl->gl_sbd, ip->i_gl);
return error; return error;
} }
@ -764,7 +756,7 @@ static int do_glock(struct gfs2_quota_data *qd, int force_refresh,
struct gfs2_quota_lvb *qlvb; struct gfs2_quota_lvb *qlvb;
file_ra_state_init(&ra_state, sdp->sd_quota_inode->i_mapping); 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); error = gfs2_glock_nq_init(qd->qd_gl, LM_ST_SHARED, 0, q_gh);
if (error) if (error)
return error; return error;
@ -812,12 +804,10 @@ static int do_glock(struct gfs2_quota_data *qd, int force_refresh,
return 0; return 0;
fail_gunlock: fail_gunlock:
gfs2_glock_dq_uninit(&i_gh); gfs2_glock_dq_uninit(&i_gh);
fail:
fail:
gfs2_glock_dq_uninit(q_gh); gfs2_glock_dq_uninit(q_gh);
return error; return error;
} }
@ -919,7 +909,7 @@ void gfs2_quota_unlock(struct gfs2_inode *ip)
qd_unlock(qda[x]); qd_unlock(qda[x]);
} }
out: out:
gfs2_quota_unhold(ip); 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); gfs2_glock_dq_uninit(&q_gh);
out: out:
qd_put(qd); qd_put(qd);
return error; return error;
} }
#endif /* 0 */ #endif /* 0 */
@ -1202,7 +1191,7 @@ int gfs2_quota_init(struct gfs2_sbd *sdp)
return 0; return 0;
fail: fail:
gfs2_quota_cleanup(sdp); gfs2_quota_cleanup(sdp);
return error; return error;
} }

View file

@ -535,7 +535,7 @@ int gfs2_make_fs_rw(struct gfs2_sbd *sdp)
error = gfs2_quota_init(sdp); error = gfs2_quota_init(sdp);
if (error) if (error)
goto fail_unlinked; goto fail;
set_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags); set_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags);
@ -543,9 +543,7 @@ int gfs2_make_fs_rw(struct gfs2_sbd *sdp)
return 0; return 0;
fail_unlinked: fail:
fail:
t_gh.gh_flags |= GL_NOCACHE; t_gh.gh_flags |= GL_NOCACHE;
gfs2_glock_dq_uninit(&t_gh); gfs2_glock_dq_uninit(&t_gh);
@ -625,12 +623,10 @@ int gfs2_statfs_init(struct gfs2_sbd *sdp)
brelse(l_bh); brelse(l_bh);
} }
out_m_bh: out_m_bh:
brelse(m_bh); brelse(m_bh);
out:
out:
gfs2_glock_dq_uninit(&gh); gfs2_glock_dq_uninit(&gh);
return 0; return 0;
} }
@ -715,15 +711,12 @@ int gfs2_statfs_sync(struct gfs2_sbd *sdp)
gfs2_trans_end(sdp); gfs2_trans_end(sdp);
out_bh2: out_bh2:
brelse(l_bh); brelse(l_bh);
out_bh:
out_bh:
brelse(m_bh); brelse(m_bh);
out:
out:
gfs2_glock_dq_uninit(&gh); gfs2_glock_dq_uninit(&gh);
return error; 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); gfs2_glock_dq_uninit(&ri_gh);
out: out:
kfree(gha); kfree(gha);
return error; return error;
} }
@ -924,7 +916,7 @@ static int gfs2_lock_fs_check_clean(struct gfs2_sbd *sdp,
if (error) if (error)
gfs2_glock_dq_uninit(t_gh); gfs2_glock_dq_uninit(t_gh);
out: out:
while (!list_empty(&list)) { while (!list_empty(&list)) {
lfcc = list_entry(list.next, struct lfcc, list); lfcc = list_entry(list.next, struct lfcc, list);
list_del(&lfcc->list); list_del(&lfcc->list);
@ -932,7 +924,6 @@ static int gfs2_lock_fs_check_clean(struct gfs2_sbd *sdp,
kfree(lfcc); kfree(lfcc);
} }
gfs2_glock_dq_uninit(&ji_gh); gfs2_glock_dq_uninit(&ji_gh);
return error; return error;
} }

View file

@ -543,15 +543,15 @@ int gfs2_sys_fs_add(struct gfs2_sbd *sdp)
return 0; return 0;
fail_args: fail_args:
sysfs_remove_group(&sdp->sd_kobj, &args_group); sysfs_remove_group(&sdp->sd_kobj, &args_group);
fail_counters: fail_counters:
sysfs_remove_group(&sdp->sd_kobj, &counters_group); sysfs_remove_group(&sdp->sd_kobj, &counters_group);
fail_lockstruct: fail_lockstruct:
sysfs_remove_group(&sdp->sd_kobj, &lockstruct_group); sysfs_remove_group(&sdp->sd_kobj, &lockstruct_group);
fail_reg: fail_reg:
kobject_unregister(&sdp->sd_kobj); kobject_unregister(&sdp->sd_kobj);
fail: fail:
return error; return error;
} }