Push to branch refs/heads/master: b2125ca5ad6638a402d4261df7ded2faf15518ef --> f6a9a77b36b2f49bed4178d581c503ca8a060300
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 f6a9a77b36b2f49bed4178d581c503ca8a060300 Author: Erez Zadok <e...@cs.sunysb.edu> Date: Sat Feb 18 19:11:21 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 9feb4b5ed6f77e1f210a9232dcc0d4f4ad3f588e Author: Erez Zadok <e...@cs.sunysb.edu> Date: Sat Feb 18 15:15:30 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 332317f..3ecab8e 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 7cb82dd..950a659 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 b1b330a..9653bba 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 b31b58b..5cd337d 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 @@ -74,8 +74,9 @@ static struct inode *wrapfs_iget(struct super_block *sb, { 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 @@ -87,22 +88,19 @@ static struct inode *wrapfs_iget(struct super_block *sb, 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 a79c4c9..c42fdb9 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 dc9d252..e54dd14 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 a57b32b..2ebb83f 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