diff options
Diffstat (limited to 'fs/gfs2/inode.c')
-rw-r--r-- | fs/gfs2/inode.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 4ce22e547308..753af3d86bbc 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c | |||
@@ -1722,7 +1722,9 @@ static int gfs2_setxattr(struct dentry *dentry, const char *name, | |||
1722 | gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh); | 1722 | gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh); |
1723 | ret = gfs2_glock_nq(&gh); | 1723 | ret = gfs2_glock_nq(&gh); |
1724 | if (ret == 0) { | 1724 | if (ret == 0) { |
1725 | ret = generic_setxattr(dentry, name, data, size, flags); | 1725 | ret = gfs2_rs_alloc(ip); |
1726 | if (ret == 0) | ||
1727 | ret = generic_setxattr(dentry, name, data, size, flags); | ||
1726 | gfs2_glock_dq(&gh); | 1728 | gfs2_glock_dq(&gh); |
1727 | } | 1729 | } |
1728 | gfs2_holder_uninit(&gh); | 1730 | gfs2_holder_uninit(&gh); |
@@ -1757,7 +1759,9 @@ static int gfs2_removexattr(struct dentry *dentry, const char *name) | |||
1757 | gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh); | 1759 | gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh); |
1758 | ret = gfs2_glock_nq(&gh); | 1760 | ret = gfs2_glock_nq(&gh); |
1759 | if (ret == 0) { | 1761 | if (ret == 0) { |
1760 | ret = generic_removexattr(dentry, name); | 1762 | ret = gfs2_rs_alloc(ip); |
1763 | if (ret == 0) | ||
1764 | ret = generic_removexattr(dentry, name); | ||
1761 | gfs2_glock_dq(&gh); | 1765 | gfs2_glock_dq(&gh); |
1762 | } | 1766 | } |
1763 | gfs2_holder_uninit(&gh); | 1767 | gfs2_holder_uninit(&gh); |