Loading fs/gfs2/dir.c +8 −32 Original line number Diff line number Diff line Loading @@ -365,22 +365,15 @@ static __be64 *gfs2_dir_get_hash_table(struct gfs2_inode *ip) ret = gfs2_dir_read_data(ip, hc, hsize); if (ret < 0) { if (is_vmalloc_addr(hc)) vfree(hc); else kfree(hc); kvfree(hc); return ERR_PTR(ret); } spin_lock(&inode->i_lock); if (ip->i_hash_cache) { if (is_vmalloc_addr(hc)) vfree(hc); if (ip->i_hash_cache) kvfree(hc); else kfree(hc); } else { ip->i_hash_cache = hc; } spin_unlock(&inode->i_lock); return ip->i_hash_cache; Loading @@ -396,10 +389,7 @@ void gfs2_dir_hash_inval(struct gfs2_inode *ip) { __be64 *hc = ip->i_hash_cache; ip->i_hash_cache = NULL; if (is_vmalloc_addr(hc)) vfree(hc); else kfree(hc); kvfree(hc); } static inline int gfs2_dirent_sentinel(const struct gfs2_dirent *dent) Loading Loading @@ -1168,10 +1158,7 @@ static int dir_double_exhash(struct gfs2_inode *dip) gfs2_dinode_out(dip, dibh->b_data); brelse(dibh); out_kfree: if (is_vmalloc_addr(hc2)) vfree(hc2); else kfree(hc2); kvfree(hc2); return error; } Loading Loading @@ -1302,14 +1289,6 @@ static void *gfs2_alloc_sort_buffer(unsigned size) return ptr; } static void gfs2_free_sort_buffer(void *ptr) { if (is_vmalloc_addr(ptr)) vfree(ptr); else kfree(ptr); } static int gfs2_dir_read_leaf(struct inode *inode, struct dir_context *ctx, int *copied, unsigned *depth, u64 leaf_no) Loading Loading @@ -1393,7 +1372,7 @@ static int gfs2_dir_read_leaf(struct inode *inode, struct dir_context *ctx, out_free: for(i = 0; i < leaf; i++) brelse(larr[i]); gfs2_free_sort_buffer(larr); kvfree(larr); out: return error; } Loading Loading @@ -2004,10 +1983,7 @@ static int leaf_dealloc(struct gfs2_inode *dip, u32 index, u32 len, gfs2_rlist_free(&rlist); gfs2_quota_unhold(dip); out: if (is_vmalloc_addr(ht)) vfree(ht); else kfree(ht); kvfree(ht); return error; } Loading fs/gfs2/quota.c +2 −7 Original line number Diff line number Diff line Loading @@ -1360,14 +1360,9 @@ void gfs2_quota_cleanup(struct gfs2_sbd *sdp) gfs2_assert_warn(sdp, !atomic_read(&sdp->sd_quota_count)); if (sdp->sd_quota_bitmap) { if (is_vmalloc_addr(sdp->sd_quota_bitmap)) vfree(sdp->sd_quota_bitmap); else kfree(sdp->sd_quota_bitmap); kvfree(sdp->sd_quota_bitmap); sdp->sd_quota_bitmap = NULL; } } static void quotad_error(struct gfs2_sbd *sdp, const char *msg, int error) { Loading Loading
fs/gfs2/dir.c +8 −32 Original line number Diff line number Diff line Loading @@ -365,22 +365,15 @@ static __be64 *gfs2_dir_get_hash_table(struct gfs2_inode *ip) ret = gfs2_dir_read_data(ip, hc, hsize); if (ret < 0) { if (is_vmalloc_addr(hc)) vfree(hc); else kfree(hc); kvfree(hc); return ERR_PTR(ret); } spin_lock(&inode->i_lock); if (ip->i_hash_cache) { if (is_vmalloc_addr(hc)) vfree(hc); if (ip->i_hash_cache) kvfree(hc); else kfree(hc); } else { ip->i_hash_cache = hc; } spin_unlock(&inode->i_lock); return ip->i_hash_cache; Loading @@ -396,10 +389,7 @@ void gfs2_dir_hash_inval(struct gfs2_inode *ip) { __be64 *hc = ip->i_hash_cache; ip->i_hash_cache = NULL; if (is_vmalloc_addr(hc)) vfree(hc); else kfree(hc); kvfree(hc); } static inline int gfs2_dirent_sentinel(const struct gfs2_dirent *dent) Loading Loading @@ -1168,10 +1158,7 @@ static int dir_double_exhash(struct gfs2_inode *dip) gfs2_dinode_out(dip, dibh->b_data); brelse(dibh); out_kfree: if (is_vmalloc_addr(hc2)) vfree(hc2); else kfree(hc2); kvfree(hc2); return error; } Loading Loading @@ -1302,14 +1289,6 @@ static void *gfs2_alloc_sort_buffer(unsigned size) return ptr; } static void gfs2_free_sort_buffer(void *ptr) { if (is_vmalloc_addr(ptr)) vfree(ptr); else kfree(ptr); } static int gfs2_dir_read_leaf(struct inode *inode, struct dir_context *ctx, int *copied, unsigned *depth, u64 leaf_no) Loading Loading @@ -1393,7 +1372,7 @@ static int gfs2_dir_read_leaf(struct inode *inode, struct dir_context *ctx, out_free: for(i = 0; i < leaf; i++) brelse(larr[i]); gfs2_free_sort_buffer(larr); kvfree(larr); out: return error; } Loading Loading @@ -2004,10 +1983,7 @@ static int leaf_dealloc(struct gfs2_inode *dip, u32 index, u32 len, gfs2_rlist_free(&rlist); gfs2_quota_unhold(dip); out: if (is_vmalloc_addr(ht)) vfree(ht); else kfree(ht); kvfree(ht); return error; } Loading
fs/gfs2/quota.c +2 −7 Original line number Diff line number Diff line Loading @@ -1360,14 +1360,9 @@ void gfs2_quota_cleanup(struct gfs2_sbd *sdp) gfs2_assert_warn(sdp, !atomic_read(&sdp->sd_quota_count)); if (sdp->sd_quota_bitmap) { if (is_vmalloc_addr(sdp->sd_quota_bitmap)) vfree(sdp->sd_quota_bitmap); else kfree(sdp->sd_quota_bitmap); kvfree(sdp->sd_quota_bitmap); sdp->sd_quota_bitmap = NULL; } } static void quotad_error(struct gfs2_sbd *sdp, const char *msg, int error) { Loading