|
@@ -431,8 +431,12 @@ int ore_check_io(struct ore_io_state *ios, ore_on_dev_error on_dev_error)
|
|
|
if (likely(!ret))
|
|
|
continue;
|
|
|
|
|
|
- if (OSD_ERR_PRI_CLEAR_PAGES == osi.osd_err_pri) {
|
|
|
- /* start read offset passed endof file */
|
|
|
+ if ((OSD_ERR_PRI_CLEAR_PAGES == osi.osd_err_pri) &&
|
|
|
+ per_dev->bio) {
|
|
|
+ /* start read offset passed endof file.
|
|
|
+ * Note: if we do not have bio it means read-attributes
|
|
|
+ * In this case we should return error to caller.
|
|
|
+ */
|
|
|
_clear_bio(per_dev->bio);
|
|
|
ORE_DBGMSG("start read offset passed end of file "
|
|
|
"offset=0x%llx, length=0x%llx\n",
|