orangefs: do not invalidate attributes on inode create
authorMartin Brandenburg <martin@omnibond.com>
Wed, 1 Aug 2018 18:12:34 +0000 (18:12 +0000)
committerMike Marshall <hubcap@omnibond.com>
Fri, 3 May 2019 18:32:37 +0000 (14:32 -0400)
When an inode is created, we fetch attributes from the server.  There is
no need to turn around and invalidate them.

No need to initialize attributes after the getattr either.  Either it'll
be exactly the same, or it'll be something else and wrong.

Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
fs/orangefs/inode.c
fs/orangefs/namei.c

index b47765ea687083ee7b88f3f8dae2fae39ffc9a9a..a18205dbd27ef8932ce5c449adbd5ce573262796 100644 (file)
@@ -460,12 +460,6 @@ struct inode *orangefs_new_inode(struct super_block *sb, struct inode *dir,
                goto out_iput;
 
        orangefs_init_iops(inode);
-
-       inode->i_mode = mode;
-       inode->i_uid = current_fsuid();
-       inode->i_gid = current_fsgid();
-       inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode);
-       inode->i_size = PAGE_SIZE;
        inode->i_rdev = dev;
 
        error = insert_inode_locked4(inode, hash, orangefs_test_inode, ref);
index c8676c9962498f416f40cd4ec45d05715008ce85..87584d79ca7afa95908e25f737bef3c03d877976 100644 (file)
@@ -76,8 +76,6 @@ static int orangefs_create(struct inode *dir,
 
        d_instantiate_new(dentry, inode);
        orangefs_set_timeout(dentry);
-       ORANGEFS_I(inode)->getattr_time = jiffies - 1;
-       ORANGEFS_I(inode)->getattr_mask = STATX_BASIC_STATS;
 
        gossip_debug(GOSSIP_NAME_DEBUG,
                     "%s: dentry instantiated for %pd\n",
@@ -291,8 +289,6 @@ static int orangefs_symlink(struct inode *dir,
 
        d_instantiate_new(dentry, inode);
        orangefs_set_timeout(dentry);
-       ORANGEFS_I(inode)->getattr_time = jiffies - 1;
-       ORANGEFS_I(inode)->getattr_mask = STATX_BASIC_STATS;
 
        gossip_debug(GOSSIP_NAME_DEBUG,
                     "Inode (Symlink) %pU -> %pd\n",
@@ -360,8 +356,6 @@ static int orangefs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode
 
        d_instantiate_new(dentry, inode);
        orangefs_set_timeout(dentry);
-       ORANGEFS_I(inode)->getattr_time = jiffies - 1;
-       ORANGEFS_I(inode)->getattr_mask = STATX_BASIC_STATS;
 
        gossip_debug(GOSSIP_NAME_DEBUG,
                     "Inode (Directory) %pU -> %pd\n",