Loading fs/gfs2/bmap.c +2 −1 Original line number Diff line number Diff line Loading @@ -2194,7 +2194,8 @@ int gfs2_setattr_size(struct inode *inode, u64 newsize) ret = do_shrink(inode, newsize); out: gfs2_rsqa_delete(ip, NULL); gfs2_rs_delete(ip, NULL); gfs2_qa_put(ip); return ret; } Loading fs/gfs2/file.c +4 −2 Original line number Diff line number Diff line Loading @@ -701,8 +701,10 @@ static int gfs2_release(struct inode *inode, struct file *file) kfree(file->private_data); file->private_data = NULL; if (file->f_mode & FMODE_WRITE) gfs2_rsqa_delete(ip, &inode->i_writecount); if (file->f_mode & FMODE_WRITE) { gfs2_rs_delete(ip, &inode->i_writecount); gfs2_qa_put(ip); } return 0; } Loading fs/gfs2/inode.c +2 −1 Original line number Diff line number Diff line Loading @@ -781,7 +781,8 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, glock_clear_object(ip->i_gl, ip); gfs2_glock_put(ip->i_gl); } gfs2_rsqa_delete(ip, NULL); gfs2_rs_delete(ip, NULL); gfs2_qa_put(ip); fail_free_acls: posix_acl_release(default_acl); posix_acl_release(acl); Loading fs/gfs2/rgrp.c +2 −3 Original line number Diff line number Diff line Loading @@ -662,18 +662,17 @@ void gfs2_rs_deltree(struct gfs2_blkreserv *rs) } /** * gfs2_rsqa_delete - delete a multi-block reservation and quota allocation * gfs2_rs_delete - delete a multi-block reservation * @ip: The inode for this reservation * @wcount: The inode's write count, or NULL * */ void gfs2_rsqa_delete(struct gfs2_inode *ip, atomic_t *wcount) void gfs2_rs_delete(struct gfs2_inode *ip, atomic_t *wcount) { down_write(&ip->i_rw_mutex); if ((wcount == NULL) || (atomic_read(wcount) <= 1)) gfs2_rs_deltree(&ip->i_res); up_write(&ip->i_rw_mutex); gfs2_qa_put(ip); } /** Loading fs/gfs2/rgrp.h +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ extern int gfs2_alloc_blocks(struct gfs2_inode *ip, u64 *bn, unsigned int *n, bool dinode, u64 *generation); extern void gfs2_rs_deltree(struct gfs2_blkreserv *rs); extern void gfs2_rsqa_delete(struct gfs2_inode *ip, atomic_t *wcount); extern void gfs2_rs_delete(struct gfs2_inode *ip, atomic_t *wcount); extern void __gfs2_free_blocks(struct gfs2_inode *ip, struct gfs2_rgrpd *rgd, u64 bstart, u32 blen, int meta); extern void gfs2_free_meta(struct gfs2_inode *ip, struct gfs2_rgrpd *rgd, Loading Loading
fs/gfs2/bmap.c +2 −1 Original line number Diff line number Diff line Loading @@ -2194,7 +2194,8 @@ int gfs2_setattr_size(struct inode *inode, u64 newsize) ret = do_shrink(inode, newsize); out: gfs2_rsqa_delete(ip, NULL); gfs2_rs_delete(ip, NULL); gfs2_qa_put(ip); return ret; } Loading
fs/gfs2/file.c +4 −2 Original line number Diff line number Diff line Loading @@ -701,8 +701,10 @@ static int gfs2_release(struct inode *inode, struct file *file) kfree(file->private_data); file->private_data = NULL; if (file->f_mode & FMODE_WRITE) gfs2_rsqa_delete(ip, &inode->i_writecount); if (file->f_mode & FMODE_WRITE) { gfs2_rs_delete(ip, &inode->i_writecount); gfs2_qa_put(ip); } return 0; } Loading
fs/gfs2/inode.c +2 −1 Original line number Diff line number Diff line Loading @@ -781,7 +781,8 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, glock_clear_object(ip->i_gl, ip); gfs2_glock_put(ip->i_gl); } gfs2_rsqa_delete(ip, NULL); gfs2_rs_delete(ip, NULL); gfs2_qa_put(ip); fail_free_acls: posix_acl_release(default_acl); posix_acl_release(acl); Loading
fs/gfs2/rgrp.c +2 −3 Original line number Diff line number Diff line Loading @@ -662,18 +662,17 @@ void gfs2_rs_deltree(struct gfs2_blkreserv *rs) } /** * gfs2_rsqa_delete - delete a multi-block reservation and quota allocation * gfs2_rs_delete - delete a multi-block reservation * @ip: The inode for this reservation * @wcount: The inode's write count, or NULL * */ void gfs2_rsqa_delete(struct gfs2_inode *ip, atomic_t *wcount) void gfs2_rs_delete(struct gfs2_inode *ip, atomic_t *wcount) { down_write(&ip->i_rw_mutex); if ((wcount == NULL) || (atomic_read(wcount) <= 1)) gfs2_rs_deltree(&ip->i_res); up_write(&ip->i_rw_mutex); gfs2_qa_put(ip); } /** Loading
fs/gfs2/rgrp.h +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ extern int gfs2_alloc_blocks(struct gfs2_inode *ip, u64 *bn, unsigned int *n, bool dinode, u64 *generation); extern void gfs2_rs_deltree(struct gfs2_blkreserv *rs); extern void gfs2_rsqa_delete(struct gfs2_inode *ip, atomic_t *wcount); extern void gfs2_rs_delete(struct gfs2_inode *ip, atomic_t *wcount); extern void __gfs2_free_blocks(struct gfs2_inode *ip, struct gfs2_rgrpd *rgd, u64 bstart, u32 blen, int meta); extern void gfs2_free_meta(struct gfs2_inode *ip, struct gfs2_rgrpd *rgd, Loading