Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e2f7f0d7 authored by Martin Brandenburg's avatar Martin Brandenburg Committed by Mike Marshall
Browse files

orangefs: use new orangefs_inode_getattr to get size in write and llseek

parent 075cca50
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -455,11 +455,12 @@ static ssize_t orangefs_file_write_iter(struct kiocb *iocb, struct iov_iter *ite

	/* Make sure generic_write_checks sees an up to date inode size. */
	if (file->f_flags & O_APPEND) {
		rc = orangefs_inode_old_getattr(file->f_mapping->host,
					 ORANGEFS_ATTR_SYS_SIZE, 0);
		rc = orangefs_inode_getattr(file->f_mapping->host, 0, 1);
		if (rc == -ESTALE)
			rc = -EIO;
		if (rc) {
			gossip_err("%s: orangefs_inode_old_getattr failed, rc:%zd:.\n",
				   __func__, rc);
			gossip_err("%s: orangefs_inode_getattr failed, "
			    "rc:%zd:.\n", __func__, rc);
			goto out;
		}
	}
@@ -670,8 +671,9 @@ static loff_t orangefs_file_llseek(struct file *file, loff_t offset, int origin)
		 * NOTE: We are only interested in file size here,
		 * so we set mask accordingly.
		 */
		ret = orangefs_inode_old_getattr(inode,
		    ORANGEFS_ATTR_SYS_SIZE, 0);
		ret = orangefs_inode_getattr(file->f_mapping->host, 0, 1);
		if (ret == -ESTALE)
			ret = -EIO;
		if (ret) {
			gossip_debug(GOSSIP_FILE_DEBUG,
				     "%s:%s:%d calling make bad inode\n",