|
@@ -484,7 +484,7 @@ reiserfs_xattr_set(struct inode *inode, const char *name, const void *buffer,
|
|
|
/* Resize it so we're ok to write there */
|
|
|
newattrs.ia_size = buffer_size;
|
|
|
newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME;
|
|
|
- mutex_lock(&xinode->i_mutex);
|
|
|
+ mutex_lock_nested(&xinode->i_mutex, I_MUTEX_XATTR);
|
|
|
err = notify_change(fp->f_path.dentry, &newattrs);
|
|
|
if (err)
|
|
|
goto out_filp;
|
|
@@ -1223,7 +1223,8 @@ int reiserfs_xattr_init(struct super_block *s, int mount_flags)
|
|
|
if (!IS_ERR(dentry)) {
|
|
|
if (!(mount_flags & MS_RDONLY) && !dentry->d_inode) {
|
|
|
struct inode *inode = dentry->d_parent->d_inode;
|
|
|
- mutex_lock(&inode->i_mutex);
|
|
|
+ mutex_lock_nested(&inode->i_mutex,
|
|
|
+ I_MUTEX_XATTR);
|
|
|
err = inode->i_op->mkdir(inode, dentry, 0700);
|
|
|
mutex_unlock(&inode->i_mutex);
|
|
|
if (err) {
|