orangefs: skip inode writeout if nothing to write
authorMartin Brandenburg <martin@omnibond.com>
Thu, 22 Feb 2018 18:15:56 +0000 (18:15 +0000)
committerMike Marshall <hubcap@omnibond.com>
Fri, 3 May 2019 18:32:38 +0000 (14:32 -0400)
Would happen if an inode is dirty but whatever happened is not something
that can be written out to OrangeFS.

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

index d6093a468db989b2a982e7dda512ca7a513ad802..d4b7ae763186ce5da4606b33251386e5fb7318a2 100644 (file)
@@ -431,6 +431,11 @@ int orangefs_inode_setattr(struct inode *inode)
        copy_attributes_from_inode(inode,
            &new_op->upcall.req.setattr.attributes);
        orangefs_inode->attr_valid = 0;
+       if (!new_op->upcall.req.setattr.attributes.mask) {
+               spin_unlock(&inode->i_lock);
+               op_release(new_op);
+               return 0;
+       }
        spin_unlock(&inode->i_lock);
 
        ret = service_operation(new_op, __func__,