|
@@ -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);
|
|
gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
|
|
ret = gfs2_glock_nq(&gh);
|
|
ret = gfs2_glock_nq(&gh);
|
|
if (ret == 0) {
|
|
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_glock_dq(&gh);
|
|
}
|
|
}
|
|
gfs2_holder_uninit(&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);
|
|
gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
|
|
ret = gfs2_glock_nq(&gh);
|
|
ret = gfs2_glock_nq(&gh);
|
|
if (ret == 0) {
|
|
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_glock_dq(&gh);
|
|
}
|
|
}
|
|
gfs2_holder_uninit(&gh);
|
|
gfs2_holder_uninit(&gh);
|