lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 16 Dec 2017 08:49:46 -0500 From: Jeff Layton <jlayton@...nel.org> To: linux-fsdevel@...r.kernel.org Cc: linux-kernel@...r.kernel.org, viro@...iv.linux.org.uk, linux-nfs@...r.kernel.org, bfields@...ldses.org, neilb@...e.de, jack@...e.de, linux-ext4@...r.kernel.org, tytso@....edu, adilger.kernel@...ger.ca, linux-xfs@...r.kernel.org, darrick.wong@...cle.com, david@...morbit.com, linux-btrfs@...r.kernel.org, clm@...com, jbacik@...com, dsterba@...e.com, linux-integrity@...r.kernel.org, zohar@...ux.vnet.ibm.com, dmitry.kasatkin@...il.com, linux-afs@...ts.infradead.org, dhowells@...hat.com Subject: Re: [PATCH v2 05/19] afs: convert to new i_version API On Sat, 2017-12-16 at 08:46 -0500, Jeff Layton wrote: > From: Jeff Layton <jlayton@...hat.com> > > For AFS, it's generally treated as an opaque value, so we use the > *_raw variants of the API here. > > Note that AFS has quite a different definition for this counter. AFS > only increments it on changes to the data, not for the metadata. We'll > need to reconcile that somehow if we ever want to present this to > userspace via statx. > > Signed-off-by: Jeff Layton <jlayton@...hat.com> > --- > fs/afs/fsclient.c | 2 +- > fs/afs/inode.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c > index b90ef39ae914..67ed9bb5fe31 100644 > --- a/fs/afs/fsclient.c > +++ b/fs/afs/fsclient.c > @@ -124,7 +124,7 @@ static void xdr_decode_AFSFetchStatus(const __be32 **_bp, > vnode->vfs_inode.i_ctime.tv_sec = status->mtime_client; > vnode->vfs_inode.i_mtime = vnode->vfs_inode.i_ctime; > vnode->vfs_inode.i_atime = vnode->vfs_inode.i_ctime; > - vnode->vfs_inode.i_version = data_version; > + inode_set_iversion_raw(&vnode->vfs_inode, data_version); > } > > expected_version = status->data_version; > diff --git a/fs/afs/inode.c b/fs/afs/inode.c > index 3415eb7484f6..af9577210a46 100644 > --- a/fs/afs/inode.c > +++ b/fs/afs/inode.c > @@ -89,7 +89,7 @@ static int afs_inode_map_status(struct afs_vnode *vnode, struct key *key) > inode->i_atime = inode->i_mtime = inode->i_ctime; > inode->i_blocks = 0; > inode->i_generation = vnode->fid.unique; > - inode->i_version = vnode->status.data_version; > + inode_set_iversion_raw(inode, vnode->status.data_version); > inode->i_mapping->a_ops = &afs_fs_aops; > > read_sequnlock_excl(&vnode->cb_lock); > @@ -218,7 +218,7 @@ struct inode *afs_iget_autocell(struct inode *dir, const char *dev_name, > inode->i_ctime.tv_nsec = 0; > inode->i_atime = inode->i_mtime = inode->i_ctime; > inode->i_blocks = 0; > - inode->i_version = 0; > + inode_set_iversion_raw(inode, 0); > inode->i_generation = 0; > > set_bit(AFS_VNODE_PSEUDODIR, &vnode->flags); TBH, we could just remove the i_version handling here. Nothing ever looks at the i_version field in AFS inodes. -- Jeff Layton <jlayton@...nel.org>
Powered by blists - more mailing lists