Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ae51ed7 authored by Steven Whitehouse's avatar Steven Whitehouse
Browse files

GFS2: Clean up duplicated setattr code



While preparing the last patch I noticed that the gfs2_setattr_simple
code had been duplicated into two other places. This patch updates
those to call gfs2_setattr_simple rather than open coding it.

Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent 9e55cd53
Loading
Loading
Loading
Loading
+1 −8
Original line number Original line Diff line number Diff line
@@ -1069,7 +1069,6 @@ static int setattr_chown(struct inode *inode, struct iattr *attr)
{
{
	struct gfs2_inode *ip = GFS2_I(inode);
	struct gfs2_inode *ip = GFS2_I(inode);
	struct gfs2_sbd *sdp = GFS2_SB(inode);
	struct gfs2_sbd *sdp = GFS2_SB(inode);
	struct buffer_head *dibh;
	u32 ouid, ogid, nuid, ngid;
	u32 ouid, ogid, nuid, ngid;
	int error;
	int error;


@@ -1100,16 +1099,10 @@ static int setattr_chown(struct inode *inode, struct iattr *attr)
	if (error)
	if (error)
		goto out_gunlock_q;
		goto out_gunlock_q;


	error = gfs2_meta_inode_buffer(ip, &dibh);
	error = gfs2_setattr_simple(ip, attr);
	if (error)
	if (error)
		goto out_end_trans;
		goto out_end_trans;


	setattr_copy(inode, attr);
	mark_inode_dirty(inode);
	gfs2_trans_add_bh(ip->i_gl, dibh, 1);
	gfs2_dinode_out(ip, dibh->b_data);
	brelse(dibh);

	if (ouid != NO_QUOTA_CHANGE || ogid != NO_QUOTA_CHANGE) {
	if (ouid != NO_QUOTA_CHANGE || ogid != NO_QUOTA_CHANGE) {
		u64 blocks = gfs2_get_inode_blocks(&ip->i_inode);
		u64 blocks = gfs2_get_inode_blocks(&ip->i_inode);
		gfs2_quota_change(ip, -blocks, ouid, ogid);
		gfs2_quota_change(ip, -blocks, ouid, ogid);
+1 −13
Original line number Original line Diff line number Diff line
@@ -1296,10 +1296,8 @@ fail:


int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data)
int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data)
{
{
	struct inode *inode = &ip->i_inode;
	struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
	struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
	struct gfs2_ea_location el;
	struct gfs2_ea_location el;
	struct buffer_head *dibh;
	int error;
	int error;


	error = gfs2_ea_find(ip, GFS2_EATYPE_SYS, GFS2_POSIX_ACL_ACCESS, &el);
	error = gfs2_ea_find(ip, GFS2_EATYPE_SYS, GFS2_POSIX_ACL_ACCESS, &el);
@@ -1321,17 +1319,7 @@ int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data)
	if (error)
	if (error)
		return error;
		return error;


	error = gfs2_meta_inode_buffer(ip, &dibh);
	error = gfs2_setattr_simple(ip, attr);
	if (error)
		goto out_trans_end;

	setattr_copy(inode, attr);
	mark_inode_dirty(inode);
	gfs2_trans_add_bh(ip->i_gl, dibh, 1);
	gfs2_dinode_out(ip, dibh->b_data);
	brelse(dibh);

out_trans_end:
	gfs2_trans_end(sdp);
	gfs2_trans_end(sdp);
	return error;
	return error;
}
}