forked from luck/tmp_suning_uos_patched
orangefs: use new orangefs_inode_getattr to get size in write and llseek
Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
parent
075cca50b6
commit
e2f7f0d798
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue
Block a user