From 379a204568e6149cf2e637ac2636f9516f3d8124 Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Tue, 28 Oct 2008 15:21:40 -0400 Subject: [PATCH] --- yaml --- r: 118136 b: refs/heads/master c: ae05f269400533cbb32bfba131ab528d78dffd16 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/nfs/inode.c | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 6d5008cf0ff4..6f642bf208c4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2a9e1cfa23fb62da37739af81127dab5af095d99 +refs/heads/master: ae05f269400533cbb32bfba131ab528d78dffd16 diff --git a/trunk/fs/nfs/inode.c b/trunk/fs/nfs/inode.c index dc52793ff8f8..d22eb383e1cf 100644 --- a/trunk/fs/nfs/inode.c +++ b/trunk/fs/nfs/inode.c @@ -908,21 +908,16 @@ static int nfs_size_need_update(const struct inode *inode, const struct nfs_fatt return nfs_size_to_loff_t(fattr->size) > i_size_read(inode); } -static unsigned long nfs_attr_generation_counter; +static atomic_long_t nfs_attr_generation_counter; static unsigned long nfs_read_attr_generation_counter(void) { - smp_rmb(); - return nfs_attr_generation_counter; + return atomic_long_read(&nfs_attr_generation_counter); } unsigned long nfs_inc_attr_generation_counter(void) { - unsigned long ret; - smp_rmb(); - ret = ++nfs_attr_generation_counter; - smp_wmb(); - return ret; + return atomic_long_inc_return(&nfs_attr_generation_counter); } void nfs_fattr_init(struct nfs_fattr *fattr)