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