From 3b0a37927f39408ed9100c8a6ceed37694b9d2d5 Mon Sep 17 00:00:00 2001 From: Sunil Mushran Date: Wed, 22 Oct 2008 13:24:29 -0700 Subject: [PATCH] --- yaml --- r: 118746 b: refs/heads/master c: ae0dff683076b2798763288c7ac2f09a18c4a998 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ocfs2/inode.c | 6 ++++++ trunk/fs/ocfs2/journal.c | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index e2d219551d27..c71c591509de 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d32647993c211901fc4819ef3327f62d1859241b +refs/heads/master: ae0dff683076b2798763288c7ac2f09a18c4a998 diff --git a/trunk/fs/ocfs2/inode.c b/trunk/fs/ocfs2/inode.c index 4903688f72a9..7aa00d511874 100644 --- a/trunk/fs/ocfs2/inode.c +++ b/trunk/fs/ocfs2/inode.c @@ -1106,6 +1106,12 @@ void ocfs2_clear_inode(struct inode *inode) oi->ip_last_trans = 0; oi->ip_dir_start_lookup = 0; oi->ip_blkno = 0ULL; + + /* + * ip_jinode is used to track txns against this inode. We ensure that + * the journal is flushed before journal shutdown. Thus it is safe to + * have inodes get cleaned up after journal shutdown. + */ jbd2_journal_release_jbd_inode(OCFS2_SB(inode->i_sb)->journal->j_journal, &oi->ip_jinode); diff --git a/trunk/fs/ocfs2/journal.c b/trunk/fs/ocfs2/journal.c index 81e40677eecb..99fe9d584f3c 100644 --- a/trunk/fs/ocfs2/journal.c +++ b/trunk/fs/ocfs2/journal.c @@ -690,6 +690,7 @@ void ocfs2_journal_shutdown(struct ocfs2_super *osb) /* Shutdown the kernel journal system */ jbd2_journal_destroy(journal->j_journal); + journal->j_journal = NULL; OCFS2_I(inode)->ip_open_count--;