The description of this flag says "Don't sync attributes with the server".
In other words: always use the attributes cached in the kernel and don't
send network or local messages to refresh the attributes.

Signed-off-by: Miklos Szeredi <[email protected]>
Cc: Jan Harkes <[email protected]>
---
 fs/coda/inode.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/coda/inode.c b/fs/coda/inode.c
index 6058df380cc0..734672b2cbdc 100644
--- a/fs/coda/inode.c
+++ b/fs/coda/inode.c
@@ -255,7 +255,10 @@ static void coda_evict_inode(struct inode *inode)
 int coda_getattr(const struct path *path, struct kstat *stat,
                 u32 request_mask, unsigned int flags)
 {
-       int err = coda_revalidate_inode(d_inode(path->dentry));
+       int err = 0;
+
+       if (!(flags & AT_STATX_DONT_SYNC))
+               err = coda_revalidate_inode(d_inode(path->dentry));
        if (!err)
                generic_fillattr(d_inode(path->dentry), stat);
        return err;
-- 
2.5.5

Reply via email to