will issue O_DIRECT reads to the block device directly.
If the block device is a SCSI disk, it will instead issue READ VERIFY commands
directly to the disk.
+If media errors are found, the error report will include the disk offset, in
+bytes.
+If the media errors affect a file, the report will also include the inode
+number and file offset, in bytes.
These actions will confirm that all file data blocks can be read from storage.
.SH OPTIMIZATIONS
Optimizations supported by this program include, but are not limited to:
void *arg)
{
const char *type;
- char buf[32];
+ char buf[DESCR_BUFSZ];
uint64_t err_physical = *(uint64_t *)arg;
uint64_t err_off;
else
err_off = 0;
- snprintf(buf, 32, _("disk offset %"PRIu64),
- (uint64_t)BTOBB(map->fmr_physical + err_off));
-
+ /* Report special owners */
if (map->fmr_flags & FMR_OF_SPECIAL_OWNER) {
+ snprintf(buf, DESCR_BUFSZ, _("disk offset %"PRIu64),
+ (uint64_t)map->fmr_physical + err_off);
type = xfs_decode_special_owner(map->fmr_owner);
- str_error(ctx, buf,
-_("%s failed read verification."),
- type);
+ str_error(ctx, buf, _("media error in %s."), type);
}
/*