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 4ce22e54730..753af3d86bb 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,  	gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);  	ret = gfs2_glock_nq(&gh);  	if (ret == 0) { -		ret = generic_setxattr(dentry, name, data, size, flags); +		ret = gfs2_rs_alloc(ip); +		if (ret == 0) +			ret = generic_setxattr(dentry, name, data, size, flags);  		gfs2_glock_dq(&gh);  	}  	gfs2_holder_uninit(&gh); @@ -1757,7 +1759,9 @@ static int gfs2_removexattr(struct dentry *dentry, const char *name)  	gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);  	ret = gfs2_glock_nq(&gh);  	if (ret == 0) { -		ret = generic_removexattr(dentry, name); +		ret = gfs2_rs_alloc(ip); +		if (ret == 0) +			ret = generic_removexattr(dentry, name);  		gfs2_glock_dq(&gh);  	}  	gfs2_holder_uninit(&gh);  |