diff --git a/fs/exfat/inode.c b/fs/exfat/inode.c index d724de8f57bf..7292c43e9efd 100644 --- a/fs/exfat/inode.c +++ b/fs/exfat/inode.c @@ -19,6 +19,7 @@ int __exfat_write_inode(struct inode *inode, int sync) { + int ret; unsigned long long on_disk_size; struct exfat_dentry *ep, *ep2; struct exfat_entry_set_cache es; @@ -43,7 +44,8 @@ int __exfat_write_inode(struct inode *inode, int sync) exfat_set_volume_dirty(sb); /* get the directory entry of given file or directory */ - if (exfat_get_dentry_set(&es, sb, &(ei->dir), ei->entry, ES_ALL_ENTRIES)) + ret = exfat_get_dentry_set(&es, sb, &(ei->dir), ei->entry, ES_ALL_ENTRIES); + if (ret) return -EIO; ep = exfat_get_dentry_cached(&es, ES_IDX_FILE); ep2 = exfat_get_dentry_cached(&es, ES_IDX_STREAM);