| .. | .. |
|---|
| 280 | 280 | |
|---|
| 281 | 281 | /* Fabricate an rmap entry for the external log device. */ |
|---|
| 282 | 282 | irec.fmr_physical = journal->j_blk_offset; |
|---|
| 283 | | - irec.fmr_length = journal->j_maxlen; |
|---|
| 283 | + irec.fmr_length = journal->j_total_len; |
|---|
| 284 | 284 | irec.fmr_owner = EXT4_FMR_OWN_LOG; |
|---|
| 285 | 285 | irec.fmr_flags = 0; |
|---|
| 286 | 286 | |
|---|
| .. | .. |
|---|
| 486 | 486 | keys[0].fmr_physical = bofs; |
|---|
| 487 | 487 | if (keys[1].fmr_physical >= eofs) |
|---|
| 488 | 488 | keys[1].fmr_physical = eofs - 1; |
|---|
| 489 | + if (keys[1].fmr_physical < keys[0].fmr_physical) |
|---|
| 490 | + return 0; |
|---|
| 489 | 491 | start_fsb = keys[0].fmr_physical; |
|---|
| 490 | 492 | end_fsb = keys[1].fmr_physical; |
|---|
| 491 | 493 | |
|---|
| .. | .. |
|---|
| 574 | 576 | if (fm->fmr_device == 0 || fm->fmr_device == UINT_MAX || |
|---|
| 575 | 577 | fm->fmr_device == new_encode_dev(sb->s_bdev->bd_dev)) |
|---|
| 576 | 578 | return true; |
|---|
| 577 | | - if (EXT4_SB(sb)->journal_bdev && |
|---|
| 578 | | - fm->fmr_device == new_encode_dev(EXT4_SB(sb)->journal_bdev->bd_dev)) |
|---|
| 579 | + if (EXT4_SB(sb)->s_journal_bdev && |
|---|
| 580 | + fm->fmr_device == new_encode_dev(EXT4_SB(sb)->s_journal_bdev->bd_dev)) |
|---|
| 579 | 581 | return true; |
|---|
| 580 | 582 | return false; |
|---|
| 581 | 583 | } |
|---|
| .. | .. |
|---|
| 629 | 631 | { |
|---|
| 630 | 632 | struct ext4_fsmap dkeys[2]; /* per-dev keys */ |
|---|
| 631 | 633 | struct ext4_getfsmap_dev handlers[EXT4_GETFSMAP_DEVS]; |
|---|
| 632 | | - struct ext4_getfsmap_info info = {0}; |
|---|
| 634 | + struct ext4_getfsmap_info info = { NULL }; |
|---|
| 633 | 635 | int i; |
|---|
| 634 | 636 | int error = 0; |
|---|
| 635 | 637 | |
|---|
| .. | .. |
|---|
| 645 | 647 | memset(handlers, 0, sizeof(handlers)); |
|---|
| 646 | 648 | handlers[0].gfd_dev = new_encode_dev(sb->s_bdev->bd_dev); |
|---|
| 647 | 649 | handlers[0].gfd_fn = ext4_getfsmap_datadev; |
|---|
| 648 | | - if (EXT4_SB(sb)->journal_bdev) { |
|---|
| 650 | + if (EXT4_SB(sb)->s_journal_bdev) { |
|---|
| 649 | 651 | handlers[1].gfd_dev = new_encode_dev( |
|---|
| 650 | | - EXT4_SB(sb)->journal_bdev->bd_dev); |
|---|
| 652 | + EXT4_SB(sb)->s_journal_bdev->bd_dev); |
|---|
| 651 | 653 | handlers[1].gfd_fn = ext4_getfsmap_logdev; |
|---|
| 652 | 654 | } |
|---|
| 653 | 655 | |
|---|