linux/2.6.37: R.I.P.
[openwrt/svn-archive/archive.git] / target / linux / generic / patches-2.6.37 / 101-overlayfs_2.6.37_backport.patch
diff --git a/target/linux/generic/patches-2.6.37/101-overlayfs_2.6.37_backport.patch b/target/linux/generic/patches-2.6.37/101-overlayfs_2.6.37_backport.patch
deleted file mode 100644 (file)
index b7638c0..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
---- a/fs/overlayfs/overlayfs.c
-+++ b/fs/overlayfs/overlayfs.c
-@@ -28,13 +28,8 @@ struct ovl_fs {
- struct ovl_entry {
-       struct dentry *__upperdentry;
-       struct dentry *lowerdentry;
--      union {
--              struct {
--                      u64 version;
--                      bool opaque;
--              };
--              struct rcu_head rcu;
--      };
-+      u64 version;
-+      bool opaque;
- };
- static const char *ovl_whiteout_xattr = "trusted.overlay.whiteout";
-@@ -632,12 +627,6 @@ static const struct file_operations ovl_
- static const struct inode_operations ovl_dir_inode_operations;
--static void ovl_entry_free(struct rcu_head *head)
--{
--      struct ovl_entry *oe = container_of(head, struct ovl_entry, rcu);
--      kfree(oe);
--}
--
- static void ovl_dentry_release(struct dentry *dentry)
- {
-       struct ovl_entry *oe = dentry->d_fsdata;
-@@ -645,7 +634,7 @@ static void ovl_dentry_release(struct de
-       if (oe) {
-               dput(oe->__upperdentry);
-               dput(oe->lowerdentry);
--              call_rcu(&oe->rcu, ovl_entry_free);
-+              kfree(oe);
-       }
- }
-@@ -1338,7 +1327,7 @@ static int ovl_dir_getattr(struct vfsmou
-       return 0;
- }
--static int ovl_permission(struct inode *inode, int mask, unsigned int flags)
-+static int ovl_permission(struct inode *inode, int mask)
- {
-       struct ovl_entry *oe;
-       struct dentry *alias = NULL;
-@@ -1349,8 +1338,6 @@ static int ovl_permission(struct inode *
-       if (S_ISDIR(inode->i_mode)) {
-               oe = inode->i_private;
--      } else if (flags & IPERM_FLAG_RCU) {
--              return -ECHILD;
-       } else {
-               /*
-                * For non-directories find an alias and get the info
-@@ -1377,7 +1364,6 @@ static int ovl_permission(struct inode *
-       /* Careful in RCU walk mode */
-       realinode = ACCESS_ONCE(realdentry->d_inode);
-       if (!realinode) {
--              WARN_ON(!(flags & IPERM_FLAG_RCU));
-               return -ENOENT;
-       }
-@@ -1402,9 +1388,9 @@ static int ovl_permission(struct inode *
-       }
-       if (realinode->i_op->permission)
--              err = realinode->i_op->permission(realinode, mask, flags);
-+              err = realinode->i_op->permission(realinode, mask);
-       else
--              err = generic_permission(realinode, mask, flags,
-+              err = generic_permission(realinode, mask,
-                                        realinode->i_op->check_acl);
- out_dput:
-       dput(alias);