Push to branch refs/heads/master: 7cf6d8aeeeccc710abfdb0e49c9360fd4ba88221 --> 514d2996c0bca1429853eabbac7b90676a68f309
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 514d2996c0bca1429853eabbac7b90676a68f309 Author: Erez Zadok <e...@cs.sunysb.edu> 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 <e...@cs.sunysb.edu> commit f5b533c5b94f7ff54b675a5971261deddb226291 Author: Erez Zadok <e...@cs.sunysb.edu> Date: Sat Feb 18 15:32:07 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 a0f0e0d..f2b3ac1 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 1176ebe..044f96b 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 0d0f4a3..3ff578e 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 20b3037..a771fef 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 @@ -73,8 +73,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 @@ -86,22 +87,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 431059e..92128af 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 2bae28c..3a9ee1a 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