uint src_len,
int continued)
{
+ const char *item_name = "EFI?";
xfs_efi_log_format_t *src_f, *f = NULL;
uint dst_len;
xfs_extent_t *ex;
goto error;
}
- printf(_("EFI: #regs: %d num_extents: %d id: 0x%llx\n"),
- f->efi_size, f->efi_nextents, (unsigned long long)f->efi_id);
+ switch (f->efi_type) {
+ case XFS_LI_EFI: item_name = "EFI"; break;
+ case XFS_LI_EFI_RT: item_name = "EFI_RT"; break;
+ }
+
+ printf(_("%s: #regs: %d num_extents: %u id: 0x%llx\n"),
+ item_name, f->efi_size, f->efi_nextents,
+ (unsigned long long)f->efi_id);
if (continued) {
printf(_("EFI free extent data skipped (CONTINUE set, no space)\n"));
ex = f->efi_extents;
for (i=0; i < f->efi_nextents; i++) {
- printf("(s: 0x%llx, l: %d) ",
+ printf("(s: 0x%llx, l: %u) ",
(unsigned long long)ex->ext_start, ex->ext_len);
if (i % 4 == 3) printf("\n");
ex++;
xlog_recover_print_efi(
struct xlog_recover_item *item)
{
+ const char *item_name = "EFI?";
xfs_efi_log_format_t *f, *src_f;
xfs_extent_t *ex;
int i;
return;
}
- printf(_(" EFI: #regs:%d num_extents:%d id:0x%llx\n"),
- f->efi_size, f->efi_nextents, (unsigned long long)f->efi_id);
+ switch (f->efi_type) {
+ case XFS_LI_EFI: item_name = "EFI"; break;
+ case XFS_LI_EFI_RT: item_name = "EFI_RT"; break;
+ }
+
+ printf(_(" %s: #regs:%d num_extents:%u id:0x%llx\n"),
+ item_name, f->efi_size, f->efi_nextents,
+ (unsigned long long)f->efi_id);
ex = f->efi_extents;
printf(" ");
for (i=0; i< f->efi_nextents; i++) {
- printf("(s: 0x%llx, l: %d) ",
+ printf("(s: 0x%llx, l: %u) ",
(unsigned long long)ex->ext_start, ex->ext_len);
if (i % 4 == 3)
printf("\n");
int
xlog_print_trans_efd(char **ptr, uint len)
{
- xfs_efd_log_format_t *f;
- xfs_efd_log_format_t lbuf;
+ const char *item_name = "EFD?";
+ xfs_efd_log_format_t *f;
+ xfs_efd_log_format_t lbuf;
+
/* size without extents at end */
uint core_size = sizeof(xfs_efd_log_format_t);
*/
memmove(&lbuf, *ptr, min(core_size, len));
f = &lbuf;
+
+ switch (f->efd_type) {
+ case XFS_LI_EFD: item_name = "EFD"; break;
+ case XFS_LI_EFD_RT: item_name = "EFD_RT"; break;
+ }
+
*ptr += len;
if (len >= core_size) {
- printf(_("EFD: #regs: %d num_extents: %d id: 0x%llx\n"),
- f->efd_size, f->efd_nextents,
- (unsigned long long)f->efd_efi_id);
+ printf(_("%s: #regs: %d num_extents: %d id: 0x%llx\n"),
+ item_name, f->efd_size, f->efd_nextents,
+ (unsigned long long)f->efd_efi_id);
/* don't print extents as they are not used */
xlog_recover_print_efd(
struct xlog_recover_item *item)
{
+ const char *item_name = "EFD?";
xfs_efd_log_format_t *f;
f = (xfs_efd_log_format_t *)item->ri_buf[0].i_addr;
+
+ switch (f->efd_type) {
+ case XFS_LI_EFD: item_name = "EFD"; break;
+ case XFS_LI_EFD_RT: item_name = "EFD_RT"; break;
+ }
+
/*
* An xfs_efd_log_format structure contains a variable length array
* as the last field.
* Each element is of size xfs_extent_32_t or xfs_extent_64_t.
* However, the extents are never used and won't be printed.
*/
- printf(_(" EFD: #regs: %d num_extents: %d id: 0x%llx\n"),
- f->efd_size, f->efd_nextents,
- (unsigned long long)f->efd_efi_id);
+ printf(_(" %s: #regs: %d num_extents: %d id: 0x%llx\n"),
+ item_name, f->efd_size, f->efd_nextents,
+ (unsigned long long)f->efd_efi_id);
}
/* Reverse Mapping Update Items */