.. | .. |
---|
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 | |
---|