Loading fs/gfs2/xattr.c +11 −10 Original line number Diff line number Diff line Loading @@ -1296,6 +1296,7 @@ static int ea_acl_chmod_unstuffed(struct gfs2_inode *ip, int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data) { struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); struct gfs2_ea_location el; struct buffer_head *dibh; int error; Loading @@ -1305,16 +1306,17 @@ int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data) return error; if (GFS2_EA_IS_STUFFED(el.el_ea)) { error = gfs2_trans_begin(GFS2_SB(&ip->i_inode), RES_DINODE + RES_EATTR, 0); if (error) return error; error = gfs2_trans_begin(sdp, RES_DINODE + RES_EATTR, 0); if (error == 0) { gfs2_trans_add_bh(ip->i_gl, el.el_bh, 1); memcpy(GFS2_EA2DATA(el.el_ea), data, GFS2_EA_DATA_LEN(el.el_ea)); } else } } else { error = ea_acl_chmod_unstuffed(ip, el.el_ea, data); } brelse(el.el_bh); if (error) return error; Loading @@ -1327,8 +1329,7 @@ int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data) brelse(dibh); } gfs2_trans_end(GFS2_SB(&ip->i_inode)); gfs2_trans_end(sdp); return error; } Loading Loading
fs/gfs2/xattr.c +11 −10 Original line number Diff line number Diff line Loading @@ -1296,6 +1296,7 @@ static int ea_acl_chmod_unstuffed(struct gfs2_inode *ip, int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data) { struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); struct gfs2_ea_location el; struct buffer_head *dibh; int error; Loading @@ -1305,16 +1306,17 @@ int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data) return error; if (GFS2_EA_IS_STUFFED(el.el_ea)) { error = gfs2_trans_begin(GFS2_SB(&ip->i_inode), RES_DINODE + RES_EATTR, 0); if (error) return error; error = gfs2_trans_begin(sdp, RES_DINODE + RES_EATTR, 0); if (error == 0) { gfs2_trans_add_bh(ip->i_gl, el.el_bh, 1); memcpy(GFS2_EA2DATA(el.el_ea), data, GFS2_EA_DATA_LEN(el.el_ea)); } else } } else { error = ea_acl_chmod_unstuffed(ip, el.el_ea, data); } brelse(el.el_bh); if (error) return error; Loading @@ -1327,8 +1329,7 @@ int gfs2_xattr_acl_chmod(struct gfs2_inode *ip, struct iattr *attr, char *data) brelse(dibh); } gfs2_trans_end(GFS2_SB(&ip->i_inode)); gfs2_trans_end(sdp); return error; } Loading