From e41ad3be0fb72c0e83bca01def6bf68537c7dfac Mon Sep 17 00:00:00 2001 From: Dmitry Rodionov Date: Wed, 20 Apr 2022 16:21:43 +0300 Subject: [PATCH] add more context to writeback error --- pageserver/src/layered_repository/ephemeral_file.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pageserver/src/layered_repository/ephemeral_file.rs b/pageserver/src/layered_repository/ephemeral_file.rs index 060d44f810..a2f8cda461 100644 --- a/pageserver/src/layered_repository/ephemeral_file.rs +++ b/pageserver/src/layered_repository/ephemeral_file.rs @@ -259,8 +259,17 @@ impl Drop for EphemeralFile { pub fn writeback(file_id: u64, blkno: u32, buf: &[u8]) -> Result<(), std::io::Error> { if let Some(file) = EPHEMERAL_FILES.read().unwrap().files.get(&file_id) { - file.write_all_at(buf, blkno as u64 * PAGE_SZ as u64)?; - Ok(()) + match file.write_all_at(buf, blkno as u64 * PAGE_SZ as u64) { + Ok(_) => Ok(()), + Err(e) => Err(std::io::Error::new( + ErrorKind::Other, + format!( + "failed to write back to ephemeral file at {} error: {}", + file.path.display(), + e + ), + )), + } } else { Err(std::io::Error::new( ErrorKind::Other,