Push to branch refs/heads/master: 6beb78b5ab0e2994438c04442d8a3a7ebc0ddf72 --> 5adad987f145882922cfbf219a0193e3aabbbf88
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 5adad987f145882922cfbf219a0193e3aabbbf88 Author: Erez Zadok <[email protected]> Date: Sat Feb 18 19:11:24 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 <[email protected]> commit 839ce4ab6611afa553dcb2245f46d069278be14b Author: Erez Zadok <[email protected]> Date: Sat Feb 18 15:24:04 2017 -0500 Wrapfs: update copyrights for 2017 Signed-off-by: Erez Zadok <[email protected]> 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 300c868..637ed30 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 b70ee82..b664264 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/ [email protected] http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
