Pull ext4 fixes from Ted Ts'o: "Bug fixes and regressions for ext4, the most serious of which is a potential deadlock during directory renames that was introduced during the merge window discovered by a combination of syzbot and lockdep" * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: zero i_disksize when initializing the bootloader inode ext4: make sure fs error flag setted before clear journal error ext4: commit super block if fs record error when journal record without error ext4, jbd2: add an optimized bmap for the journal inode ext4: fix WARNING in ext4_update_inline_data ext4: move where set the MAY_INLINE_DATA flag is set ext4: Fix deadlock during directory rename ext4: Fix comment about the 64BIT feature docs: ext4: modify the group desc size to 64 ext4: fix another off-by-one fsmap error on 1k block filesystems ext4: fix RENAME_WHITEOUT handling for inline directories ext4: make kobj_type structures constant ext4: fix cgroup writeback accounting with fs-layer encryption
Showing the changes to fs/jbd2 (1 of 13 files). Show all
Unified · Split
| @@ -969,10 +969,13 @@ int jbd2_journal_bmap(journal_t *journal, unsigned long blocknr, · 968 unmodified lines | |||
| 969 | { | 969 | { |
| 970 | int err = 0; | 970 | int err = 0; |
| 971 | unsigned long long ret; | 971 | unsigned long long ret; |
| 972 | sector_t block = 0; | 972 | sector_t block = blocknr; |
| 973 | 973 | ||
| 974 | if (journal->j_inode) { | 974 | if (journal->j_bmap) { |
| 975 | block = blocknr; | 975 | err = journal->j_bmap(journal, &block); |
| 976 | if (err == 0) | ||
| 977 | *retp = block; | ||
| 978 | } else if (journal->j_inode) { | ||
| 976 | ret = bmap(journal->j_inode, &block); | 979 | ret = bmap(journal->j_inode, &block); |
| 977 | 980 | ||
| 978 | if (ret || !block) { | 981 | if (ret || !block) { |