|
@@ -522,15 +522,12 @@ static int writeout(struct address_space *mapping, struct page *page)
|
|
remove_migration_ptes(page, page);
|
|
remove_migration_ptes(page, page);
|
|
|
|
|
|
rc = mapping->a_ops->writepage(page, &wbc);
|
|
rc = mapping->a_ops->writepage(page, &wbc);
|
|
- if (rc < 0)
|
|
|
|
- /* I/O Error writing */
|
|
|
|
- return -EIO;
|
|
|
|
|
|
|
|
if (rc != AOP_WRITEPAGE_ACTIVATE)
|
|
if (rc != AOP_WRITEPAGE_ACTIVATE)
|
|
/* unlocked. Relock */
|
|
/* unlocked. Relock */
|
|
lock_page(page);
|
|
lock_page(page);
|
|
|
|
|
|
- return -EAGAIN;
|
|
|
|
|
|
+ return (rc < 0) ? -EIO : -EAGAIN;
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|