Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: ext2/3/4: delete unneeded includes of module.h ext{3,4}: Fix potential race when setversion ioctl updates inode udf: Mark LVID buffer as uptodate before marking it dirty ext3: Don't warn from writepage when readonly inode is spotted after error jbd: Remove j_barrier mutex reiserfs: Force inode evictions before umount to avoid crash reiserfs: Fix quota mount option parsing udf: Treat symlink component of type 2 as / udf: Fix deadlock when converting file from in-ICB one to normal one udf: Cleanup calling convention of inode_getblk() ext2: Fix error handling on inode bitmap corruption ext3: Fix error handling on inode bitmap corruption ext3: replace ll_rw_block with other functions ext3: NULL dereference in ext3_evict_inode() jbd: clear revoked flag on buffers before a new transaction started ext3: call ext3_mark_recovery_complete() when recovery is really needed
This commit is contained in:
commit
ac69e09280
35 changed files with 200 additions and 110 deletions
|
@ -2059,9 +2059,10 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
|
|||
EXT3_SB(sb)->s_mount_state |= EXT3_ORPHAN_FS;
|
||||
ext3_orphan_cleanup(sb, es);
|
||||
EXT3_SB(sb)->s_mount_state &= ~EXT3_ORPHAN_FS;
|
||||
if (needs_recovery)
|
||||
if (needs_recovery) {
|
||||
ext3_mark_recovery_complete(sb, es);
|
||||
ext3_msg(sb, KERN_INFO, "recovery complete");
|
||||
ext3_mark_recovery_complete(sb, es);
|
||||
}
|
||||
ext3_msg(sb, KERN_INFO, "mounted filesystem with %s data mode",
|
||||
test_opt(sb,DATA_FLAGS) == EXT3_MOUNT_JOURNAL_DATA ? "journal":
|
||||
test_opt(sb,DATA_FLAGS) == EXT3_MOUNT_ORDERED_DATA ? "ordered":
|
||||
|
@ -2229,11 +2230,11 @@ static journal_t *ext3_get_dev_journal(struct super_block *sb,
|
|||
goto out_bdev;
|
||||
}
|
||||
journal->j_private = sb;
|
||||
ll_rw_block(READ, 1, &journal->j_sb_buffer);
|
||||
wait_on_buffer(journal->j_sb_buffer);
|
||||
if (!buffer_uptodate(journal->j_sb_buffer)) {
|
||||
ext3_msg(sb, KERN_ERR, "I/O error on journal device");
|
||||
goto out_journal;
|
||||
if (!bh_uptodate_or_lock(journal->j_sb_buffer)) {
|
||||
if (bh_submit_read(journal->j_sb_buffer)) {
|
||||
ext3_msg(sb, KERN_ERR, "I/O error on journal device");
|
||||
goto out_journal;
|
||||
}
|
||||
}
|
||||
if (be32_to_cpu(journal->j_superblock->s_nr_users) != 1) {
|
||||
ext3_msg(sb, KERN_ERR,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue