lower_dentry = lower_path.dentry;
lower_parent_dentry = lock_parent(lower_dentry);
- err = mnt_want_write(lower_path.mnt);
- if (err)
- goto out_unlock;
-
err = vfs_create(lower_parent_dentry->d_inode, lower_dentry, mode,
want_excl);
if (err)
fsstack_copy_inode_size(dir, lower_parent_dentry->d_inode);
out:
- mnt_drop_write(lower_path.mnt);
-out_unlock:
unlock_dir(lower_parent_dentry);
wrapfs_put_lower_path(dentry, &lower_path);
return err;
lower_new_dentry = lower_new_path.dentry;
lower_dir_dentry = lock_parent(lower_new_dentry);
- err = mnt_want_write(lower_new_path.mnt);
- if (err)
- goto out_unlock;
-
err = vfs_link(lower_old_dentry, lower_dir_dentry->d_inode,
lower_new_dentry);
if (err || !lower_new_dentry->d_inode)
wrapfs_lower_inode(old_dentry->d_inode)->i_nlink);
i_size_write(new_dentry->d_inode, file_size_save);
out:
- mnt_drop_write(lower_new_path.mnt);
-out_unlock:
unlock_dir(lower_dir_dentry);
wrapfs_put_lower_path(old_dentry, &lower_old_path);
wrapfs_put_lower_path(new_dentry, &lower_new_path);
dget(lower_dentry);
lower_dir_dentry = lock_parent(lower_dentry);
- err = mnt_want_write(lower_path.mnt);
- if (err)
- goto out_unlock;
err = vfs_unlink(lower_dir_inode, lower_dentry);
/*
dentry->d_inode->i_ctime = dir->i_ctime;
d_drop(dentry); /* this is needed, else LTP fails (VFS won't do it) */
out:
- mnt_drop_write(lower_path.mnt);
-out_unlock:
unlock_dir(lower_dir_dentry);
dput(lower_dentry);
wrapfs_put_lower_path(dentry, &lower_path);
lower_dentry = lower_path.dentry;
lower_parent_dentry = lock_parent(lower_dentry);
- err = mnt_want_write(lower_path.mnt);
- if (err)
- goto out_unlock;
err = vfs_symlink(lower_parent_dentry->d_inode, lower_dentry, symname);
if (err)
goto out;
fsstack_copy_inode_size(dir, lower_parent_dentry->d_inode);
out:
- mnt_drop_write(lower_path.mnt);
-out_unlock:
unlock_dir(lower_parent_dentry);
wrapfs_put_lower_path(dentry, &lower_path);
return err;
lower_dentry = lower_path.dentry;
lower_parent_dentry = lock_parent(lower_dentry);
- err = mnt_want_write(lower_path.mnt);
- if (err)
- goto out_unlock;
err = vfs_mkdir(lower_parent_dentry->d_inode, lower_dentry, mode);
if (err)
goto out;
set_nlink(dir, wrapfs_lower_inode(dir)->i_nlink);
out:
- mnt_drop_write(lower_path.mnt);
-out_unlock:
unlock_dir(lower_parent_dentry);
wrapfs_put_lower_path(dentry, &lower_path);
return err;
lower_dentry = lower_path.dentry;
lower_dir_dentry = lock_parent(lower_dentry);
- err = mnt_want_write(lower_path.mnt);
- if (err)
- goto out_unlock;
err = vfs_rmdir(lower_dir_dentry->d_inode, lower_dentry);
if (err)
goto out;
set_nlink(dir, lower_dir_dentry->d_inode->i_nlink);
out:
- mnt_drop_write(lower_path.mnt);
-out_unlock:
unlock_dir(lower_dir_dentry);
wrapfs_put_lower_path(dentry, &lower_path);
return err;
lower_dentry = lower_path.dentry;
lower_parent_dentry = lock_parent(lower_dentry);
- err = mnt_want_write(lower_path.mnt);
- if (err)
- goto out_unlock;
err = vfs_mknod(lower_parent_dentry->d_inode, lower_dentry, mode, dev);
if (err)
goto out;
fsstack_copy_inode_size(dir, lower_parent_dentry->d_inode);
out:
- mnt_drop_write(lower_path.mnt);
-out_unlock:
unlock_dir(lower_parent_dentry);
wrapfs_put_lower_path(dentry, &lower_path);
return err;
goto out;
}
- err = mnt_want_write(lower_old_path.mnt);
- if (err)
- goto out;
- err = mnt_want_write(lower_new_path.mnt);
- if (err)
- goto out_drop_old_write;
-
err = vfs_rename(lower_old_dir_dentry->d_inode, lower_old_dentry,
lower_new_dir_dentry->d_inode, lower_new_dentry);
if (err)
- goto out_err;
+ goto out;
fsstack_copy_attr_all(new_dir, lower_new_dir_dentry->d_inode);
fsstack_copy_inode_size(new_dir, lower_new_dir_dentry->d_inode);
lower_old_dir_dentry->d_inode);
}
-out_err:
- mnt_drop_write(lower_new_path.mnt);
-out_drop_old_write:
- mnt_drop_write(lower_old_path.mnt);
out:
unlock_rename(lower_old_dir_dentry, lower_new_dir_dentry);
dput(lower_old_dir_dentry);