summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--payload_consumer/delta_performer.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc
index d25b829c..09b19fbe 100644
--- a/payload_consumer/delta_performer.cc
+++ b/payload_consumer/delta_performer.cc
@@ -140,22 +140,26 @@ bool DiscardPartitionTail(FileDescriptorPtr fd, uint64_t data_size) {
if (!part_size || part_size <= data_size)
return false;
- const vector<int> requests = {
- BLKSECDISCARD,
- BLKDISCARD,
+ struct blkioctl_request {
+ int number;
+ const char* name;
+ };
+ const vector<blkioctl_request> blkioctl_requests = {
+ {BLKSECDISCARD, "BLKSECDISCARD"},
+ {BLKDISCARD, "BLKDISCARD"},
#ifdef BLKZEROOUT
- BLKZEROOUT,
+ {BLKZEROOUT, "BLKZEROOUT"},
#endif
};
- for (int request : requests) {
+ for (const auto& req : blkioctl_requests) {
int error = 0;
- if (fd->BlkIoctl(request, data_size, part_size - data_size, &error) &&
+ if (fd->BlkIoctl(req.number, data_size, part_size - data_size, &error) &&
error == 0) {
return true;
}
LOG(WARNING) << "Error discarding the last "
<< (part_size - data_size) / 1024 << " KiB using ioctl("
- << request << ")";
+ << req.name << ")";
}
return false;
}