Merge "snapuserd: Return void from RespondIOError." into main
diff --git a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_core.h b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_core.h
index cf38875..7cffc1c 100644
--- a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_core.h
+++ b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_core.h
@@ -134,7 +134,7 @@
bool ReadUnalignedSector(sector_t sector, size_t size);
int ReadUnalignedSector(sector_t sector, size_t size,
std::vector<std::pair<sector_t, const CowOperation*>>::iterator& it);
- bool RespondIOError();
+ void RespondIOError();
// Processing COW operations
bool ProcessCowOp(const CowOperation* cow_op);
diff --git a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_dm_user.cpp b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_dm_user.cpp
index c505c32..0eb2a14 100644
--- a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_dm_user.cpp
+++ b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_dm_user.cpp
@@ -392,10 +392,7 @@
// Just return the header if it is an error
if (header->type == DM_USER_RESP_ERROR) {
- if (!RespondIOError()) {
- return false;
- }
-
+ RespondIOError();
io_error = true;
break;
}
@@ -537,7 +534,7 @@
if (ret < 0) {
SNAP_LOG(ERROR) << "ReadUnalignedSector failed for sector: " << sector
<< " size: " << size << " it->sector: " << it->first;
- return RespondIOError();
+ return false;
}
remaining_size -= ret;
@@ -565,7 +562,7 @@
CHECK(diff_size <= BLOCK_SZ);
if (remaining_size < diff_size) {
if (!ReadDataFromBaseDevice(sector, remaining_size)) {
- return RespondIOError();
+ return false;
}
total_bytes_read += remaining_size;
@@ -574,7 +571,7 @@
}
} else {
if (!ReadDataFromBaseDevice(sector, diff_size)) {
- return RespondIOError();
+ return false;
}
total_bytes_read += diff_size;
@@ -596,7 +593,7 @@
return true;
}
-bool Worker::RespondIOError() {
+void Worker::RespondIOError() {
struct dm_user_header* header = bufsink_.GetHeaderPtr();
header->type = DM_USER_RESP_ERROR;
// This is an issue with the dm-user interface. There
@@ -610,13 +607,7 @@
// TODO: Fix the interface
CHECK(header_response_);
- if (!WriteDmUserPayload(0)) {
- return false;
- }
-
- // There is no need to process further as we have already seen
- // an I/O error
- return true;
+ WriteDmUserPayload(0);
}
bool Worker::DmuserReadRequest() {
@@ -624,7 +615,7 @@
// Unaligned I/O request
if (!IsBlockAligned(header->sector << SECTOR_SHIFT)) {
- return ReadUnalignedSector(header->sector, header->len);
+ return ReadUnalignedSector(header->sector, header->len) != -1;
}
return ReadAlignedSector(header->sector, header->len);