Skip to content

Commit

Permalink
Revert "ovl: get_write_access() in truncate"
Browse files Browse the repository at this point in the history
This reverts commit 03bea60.

Commit 4d0c5ba ("vfs: do get_write_access() on upper layer of
overlayfs") makes the writecount checks inside overlayfs superfluous, the
file is already copied up and write access acquired on the upper inode when
ovl_setattr is called with ATTR_SIZE.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
  • Loading branch information
Miklos Szeredi committed Dec 16, 2016
1 parent 2d8f290 commit 31c3a70
Showing 1 changed file with 0 additions and 21 deletions.
21 changes: 0 additions & 21 deletions fs/overlayfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,27 +64,10 @@ int ovl_setattr(struct dentry *dentry, struct iattr *attr)
if (err)
goto out;

if (attr->ia_valid & ATTR_SIZE) {
struct inode *realinode = d_inode(ovl_dentry_real(dentry));

err = -ETXTBSY;
if (atomic_read(&realinode->i_writecount) < 0)
goto out_drop_write;
}

err = ovl_copy_up(dentry);
if (!err) {
struct inode *winode = NULL;

upperdentry = ovl_dentry_upper(dentry);

if (attr->ia_valid & ATTR_SIZE) {
winode = d_inode(upperdentry);
err = get_write_access(winode);
if (err)
goto out_drop_write;
}

if (attr->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
attr->ia_valid &= ~ATTR_MODE;

Expand All @@ -95,11 +78,7 @@ int ovl_setattr(struct dentry *dentry, struct iattr *attr)
if (!err)
ovl_copyattr(upperdentry->d_inode, dentry->d_inode);
inode_unlock(upperdentry->d_inode);

if (winode)
put_write_access(winode);
}
out_drop_write:
ovl_drop_write(dentry);
out:
return err;
Expand Down

0 comments on commit 31c3a70

Please sign in to comment.