* We need to make sure all of the "written" metapages
* actually make it to disk
*/
- down(&jfs_log_sem);
list_for_each_entry(sbi, &log->sb_list, log_list) {
filemap_fdatawrite(sbi->ipbmap->i_mapping);
filemap_fdatawrite(sbi->ipimap->i_mapping);
filemap_fdatawait(sbi->ipimap->i_mapping);
filemap_fdatawait(sbi->sb->s_bdev->bd_inode->i_mapping);
}
- up(&jfs_log_sem);
lrd.logtid = 0;
lrd.backchain = 0;
goto shutdown;
journal_found:
+ LOG_LOCK(log);
list_add(&sbi->log_list, &log->sb_list);
sbi->log = log;
+ LOG_UNLOCK(log);
up(&jfs_log_sem);
return 0;
}
}
+ LOG_LOCK(dummy_log);
list_add(&JFS_SBI(sb)->log_list, &dummy_log->sb_list);
JFS_SBI(sb)->log = dummy_log;
+ LOG_UNLOCK(dummy_log);
up(&jfs_log_sem);
return 0;
jfs_info("lmLogClose: log:0x%p", log);
down(&jfs_log_sem);
+ LOG_LOCK(log);
list_del(&sbi->log_list);
+ LOG_UNLOCK(log);
sbi->log = NULL;
/*