Push to branch refs/heads/master:
59347a3118f1f9d45d790b6ed4864da9b36b4a34 -->
  2b3987217b9a93a64ad6f845a4568c20efec154f

 fs/wrapfs/dentry.c |  6 +++---
 fs/wrapfs/file.c   |  6 +++---
 fs/wrapfs/inode.c  |  6 +++---
 fs/wrapfs/lookup.c | 22 ++++++++++------------
 fs/wrapfs/main.c   |  6 +++---
 fs/wrapfs/mmap.c   |  6 +++---
 fs/wrapfs/super.c  |  6 +++---
 fs/wrapfs/wrapfs.h |  6 +++---
 8 files changed, 31 insertions(+), 33 deletions(-)

commit 2b3987217b9a93a64ad6f845a4568c20efec154f
Author: Erez Zadok <e...@cs.sunysb.edu>
Date:   Sat Feb 18 19:11:23 2017 -0500

    Wrapfs: ->iget fixes
    
    Change where we igrab/iput to ensure we always hold a valid lower_inode.
    Return ENOMEM (not EACCES) if iget5_locked returns NULL.
    
    Signed-off-by: Erez Zadok <e...@cs.sunysb.edu>

commit 7e42e764c910c2d71cd79838cbf41a45b9c60ff0
Author: Erez Zadok <e...@cs.sunysb.edu>
Date:   Sat Feb 18 15:22:38 2017 -0500

    Wrapfs: update copyrights for 2017
    
    Signed-off-by: Erez Zadok <e...@cs.sunysb.edu>

diff --git a/fs/wrapfs/dentry.c b/fs/wrapfs/dentry.c
index 1c48ee4..5887dcf 100644
--- a/fs/wrapfs/dentry.c
+++ b/fs/wrapfs/dentry.c
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 1998-2015 Erez Zadok
+ * Copyright (c) 1998-2017 Erez Zadok
  * Copyright (c) 2009     Shrikar Archak
- * Copyright (c) 2003-2015 Stony Brook University
- * Copyright (c) 2003-2015 The Research Foundation of SUNY
+ * Copyright (c) 2003-2017 Stony Brook University
+ * Copyright (c) 2003-2017 The Research Foundation of SUNY
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
diff --git a/fs/wrapfs/file.c b/fs/wrapfs/file.c
index 05a98ae..23f2b4a 100644
--- a/fs/wrapfs/file.c
+++ b/fs/wrapfs/file.c
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 1998-2015 Erez Zadok
+ * Copyright (c) 1998-2017 Erez Zadok
  * Copyright (c) 2009     Shrikar Archak
- * Copyright (c) 2003-2015 Stony Brook University
- * Copyright (c) 2003-2015 The Research Foundation of SUNY
+ * Copyright (c) 2003-2017 Stony Brook University
+ * Copyright (c) 2003-2017 The Research Foundation of SUNY
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
diff --git a/fs/wrapfs/inode.c b/fs/wrapfs/inode.c
index d277315..98c51a2 100644
--- a/fs/wrapfs/inode.c
+++ b/fs/wrapfs/inode.c
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 1998-2015 Erez Zadok
+ * Copyright (c) 1998-2017 Erez Zadok
  * Copyright (c) 2009     Shrikar Archak
- * Copyright (c) 2003-2015 Stony Brook University
- * Copyright (c) 2003-2015 The Research Foundation of SUNY
+ * Copyright (c) 2003-2017 Stony Brook University
+ * Copyright (c) 2003-2017 The Research Foundation of SUNY
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
diff --git a/fs/wrapfs/lookup.c b/fs/wrapfs/lookup.c
index 95d2dba..8549996 100644
--- a/fs/wrapfs/lookup.c
+++ b/fs/wrapfs/lookup.c
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 1998-2015 Erez Zadok
+ * Copyright (c) 1998-2017 Erez Zadok
  * Copyright (c) 2009     Shrikar Archak
- * Copyright (c) 2003-2015 Stony Brook University
- * Copyright (c) 2003-2015 The Research Foundation of SUNY
+ * Copyright (c) 2003-2017 Stony Brook University
+ * Copyright (c) 2003-2017 The Research Foundation of SUNY
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -101,8 +101,9 @@ struct inode *wrapfs_iget(struct super_block *sb, struct 
inode *lower_inode)
 {
        struct wrapfs_inode_info *info;
        struct inode *inode; /* the new inode to return */
-       int err;
 
+       if (!igrab(lower_inode))
+               return ERR_PTR(-ESTALE);
        inode = iget5_locked(sb, /* our superblock */
                             /*
                              * hashval: we use inode number, but we can
@@ -114,22 +115,19 @@ struct inode *wrapfs_iget(struct super_block *sb, struct 
inode *lower_inode)
                             wrapfs_inode_set, /* inode init function */
                             lower_inode); /* data passed to test+set fxns */
        if (!inode) {
-               err = -EACCES;
                iput(lower_inode);
-               return ERR_PTR(err);
+               return ERR_PTR(-ENOMEM);
        }
-       /* if found a cached inode, then just return it */
-       if (!(inode->i_state & I_NEW))
+       /* if found a cached inode, then just return it (after iput) */
+       if (!(inode->i_state & I_NEW)) {
+               iput(lower_inode);
                return inode;
+       }
 
        /* initialize new inode */
        info = WRAPFS_I(inode);
 
        inode->i_ino = lower_inode->i_ino;
-       if (!igrab(lower_inode)) {
-               err = -ESTALE;
-               return ERR_PTR(err);
-       }
        wrapfs_set_lower_inode(inode, lower_inode);
 
        inode->i_version++;
diff --git a/fs/wrapfs/main.c b/fs/wrapfs/main.c
index 71d11cf..e753427 100644
--- a/fs/wrapfs/main.c
+++ b/fs/wrapfs/main.c
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 1998-2015 Erez Zadok
+ * Copyright (c) 1998-2017 Erez Zadok
  * Copyright (c) 2009     Shrikar Archak
- * Copyright (c) 2003-2015 Stony Brook University
- * Copyright (c) 2003-2015 The Research Foundation of SUNY
+ * Copyright (c) 2003-2017 Stony Brook University
+ * Copyright (c) 2003-2017 The Research Foundation of SUNY
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
diff --git a/fs/wrapfs/mmap.c b/fs/wrapfs/mmap.c
index 93744a7..17508ba 100644
--- a/fs/wrapfs/mmap.c
+++ b/fs/wrapfs/mmap.c
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 1998-2015 Erez Zadok
+ * Copyright (c) 1998-2017 Erez Zadok
  * Copyright (c) 2009     Shrikar Archak
- * Copyright (c) 2003-2015 Stony Brook University
- * Copyright (c) 2003-2015 The Research Foundation of SUNY
+ * Copyright (c) 2003-2017 Stony Brook University
+ * Copyright (c) 2003-2017 The Research Foundation of SUNY
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
diff --git a/fs/wrapfs/super.c b/fs/wrapfs/super.c
index 5c99c47..a17fef9 100644
--- a/fs/wrapfs/super.c
+++ b/fs/wrapfs/super.c
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 1998-2015 Erez Zadok
+ * Copyright (c) 1998-2017 Erez Zadok
  * Copyright (c) 2009     Shrikar Archak
- * Copyright (c) 2003-2015 Stony Brook University
- * Copyright (c) 2003-2015 The Research Foundation of SUNY
+ * Copyright (c) 2003-2017 Stony Brook University
+ * Copyright (c) 2003-2017 The Research Foundation of SUNY
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
diff --git a/fs/wrapfs/wrapfs.h b/fs/wrapfs/wrapfs.h
index 0e5e34e..bdb1b66 100644
--- a/fs/wrapfs/wrapfs.h
+++ b/fs/wrapfs/wrapfs.h
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 1998-2015 Erez Zadok
+ * Copyright (c) 1998-2017 Erez Zadok
  * Copyright (c) 2009     Shrikar Archak
- * Copyright (c) 2003-2015 Stony Brook University
- * Copyright (c) 2003-2015 The Research Foundation of SUNY
+ * Copyright (c) 2003-2017 Stony Brook University
+ * Copyright (c) 2003-2017 The Research Foundation of SUNY
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as

_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
unionfs-cvs@fsl.cs.sunysb.edu
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to