aboutsummaryrefslogtreecommitdiffstats
path: root/fs/reiserfs/journal.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-11-29 20:56:07 -0800
committerSteve French <sfrench@us.ibm.com>2005-11-29 20:56:07 -0800
commit606c0dafbe88102d64c1253caed8a2c36987070f (patch)
tree23ce7b30341e71c6da8e0183d27e29167e833e26 /fs/reiserfs/journal.c
parent6ab16d249513a50bef3f1b275cea6aa8d3f51832 (diff)
parentd2ef5ebb4c4fe141a82252d4db8d8521e6765c5a (diff)
downloadkernel_samsung_smdk4412-606c0dafbe88102d64c1253caed8a2c36987070f.zip
kernel_samsung_smdk4412-606c0dafbe88102d64c1253caed8a2c36987070f.tar.gz
kernel_samsung_smdk4412-606c0dafbe88102d64c1253caed8a2c36987070f.tar.bz2
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'fs/reiserfs/journal.c')
-rw-r--r--fs/reiserfs/journal.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
index 4b15761..68b7b78 100644
--- a/fs/reiserfs/journal.c
+++ b/fs/reiserfs/journal.c
@@ -2757,6 +2757,15 @@ int journal_init(struct super_block *p_s_sb, const char *j_dev_name,
journal->j_cnode_used = 0;
journal->j_must_wait = 0;
+ if (journal->j_cnode_free == 0) {
+ reiserfs_warning(p_s_sb, "journal-2004: Journal cnode memory "
+ "allocation failed (%ld bytes). Journal is "
+ "too large for available memory. Usually "
+ "this is due to a journal that is too large.",
+ sizeof (struct reiserfs_journal_cnode) * num_cnodes);
+ goto free_and_return;
+ }
+
init_journal_hash(p_s_sb);
jl = journal->j_current_jl;
jl->j_list_bitmap = get_list_bitmap(p_s_sb, jl);