[3.13]: update/fixup overlayfs patch
authorImre Kaloz <kaloz@openwrt.org>
Mon, 20 Jan 2014 14:46:29 +0000 (14:46 +0000)
committerImre Kaloz <kaloz@openwrt.org>
Mon, 20 Jan 2014 14:46:29 +0000 (14:46 +0000)
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 39349

target/linux/generic/patches-3.13/100-overlayfs.patch

index 898413ad598e6e41d9f3d4059f854bd267062fa8..33e527f649057808eccadc0d5b01d369be6a1b1b 100644 (file)
 +              .ia_mtime = stat->mtime,
 +      };
 +
-+      return notify_change(upperdentry, &attr);
++      return notify_change(upperdentry, &attr, NULL);
 +}
 +
 +static int ovl_set_mode(struct dentry *upperdentry, umode_t mode)
 +              .ia_mode = mode,
 +      };
 +
-+      return notify_change(upperdentry, &attr);
++      return notify_change(upperdentry, &attr, NULL);
 +}
 +
 +static int ovl_copy_up_locked(struct dentry *upperdir, struct dentry *dentry,
 +      if (S_ISDIR(stat->mode))
 +              vfs_rmdir(upperdir->d_inode, newpath.dentry);
 +      else
-+              vfs_unlink(upperdir->d_inode, newpath.dentry);
++              vfs_unlink(upperdir->d_inode, newpath.dentry, NULL);
 +
 +      dput(newpath.dentry);
 +
 +}
 --- /dev/null
 +++ b/fs/overlayfs/dir.c
-@@ -0,0 +1,605 @@
+@@ -0,0 +1,606 @@
 +/*
 + *
 + * Copyright (C) 2011 Novell Inc.
 +
 +      err = vfs_setxattr(newdentry, ovl_whiteout_xattr, "y", 1, 0);
 +      if (err)
-+              vfs_unlink(upperdir->d_inode, newdentry);
++              vfs_unlink(upperdir->d_inode, newdentry, NULL);
 +
 +out_dput:
 +      dput(newdentry);
 +
 +              err = -EEXIST;
 +              if (ovl_is_whiteout(newdentry))
-+                      err = vfs_unlink(upperdir->d_inode, newdentry);
++                      err = vfs_unlink(upperdir->d_inode, newdentry, NULL);
 +
 +              revert_creds(old_cred);
 +              put_cred(override_cred);
 +              if (is_dir)
 +                      err = vfs_rmdir(upperdir->d_inode, realpath.dentry);
 +              else
-+                      err = vfs_unlink(upperdir->d_inode, realpath.dentry);
++                      err = vfs_unlink(upperdir->d_inode, realpath.dentry,
++                                       NULL);
 +              if (err)
 +                      goto out_d_drop;
 +
 +              goto out_unlock;
 +
 +      olddentry = ovl_dentry_upper(old);
-+      err = vfs_link(olddentry, upperdir->d_inode, newdentry);
++      err = vfs_link(olddentry, upperdir->d_inode, newdentry, NULL);
 +      if (!err) {
 +              if (WARN_ON(!newdentry->d_inode)) {
 +                      dput(newdentry);
 +      }
 +
 +      err = vfs_rename(old_upperdir->d_inode, olddentry,
-+                       new_upperdir->d_inode, newdentry);
++                       new_upperdir->d_inode, newdentry, NULL);
 +
 +      if (err) {
 +              if (new_create && ovl_dentry_is_opaque(new))
 +              attr->ia_valid &= ~ATTR_MODE;
 +
 +      mutex_lock(&upperdentry->d_inode->i_mutex);
-+      err = notify_change(upperdentry, attr);
++      err = notify_change(upperdentry, attr, NULL);
 +      if (!err)
 +              ovl_copyattr(upperdentry->d_inode, dentry->d_inode);
 +      mutex_unlock(&upperdentry->d_inode->i_mutex);
 +                          p->len, p->name, PTR_ERR(dentry));
 +                      continue;
 +              }
-+              ret = vfs_unlink(upperdir->d_inode, dentry);
++              ret = vfs_unlink(upperdir->d_inode, dentry, NULL);
 +              dput(dentry);
 +              if (ret)
 +                      pr_warn(