aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jffs2/nodemgmt.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2005-02-27 18:01:36 -0500
committerThomas Gleixner <tglx@mtd.linutronix.de>2005-05-23 06:46:14 -0400
commit67e345d17ff8c2085a54c293001ae548f7be7b21 (patch)
tree07f2829e98c22c5d1edd8832a06a11cbdde85f24 /fs/jffs2/nodemgmt.c
parent002fa30170f9500ac31fa22931c689029af7f27b (diff)
[JFFS2] Prevent ino cache removal for inodes in use
Don't remove inocache for inodes which are in read_inode() or clear_inode() until they're done. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'fs/jffs2/nodemgmt.c')
-rw-r--r--fs/jffs2/nodemgmt.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c
index 5e1e8caf54e8..f9dcac1415ac 100644
--- a/fs/jffs2/nodemgmt.c
+++ b/fs/jffs2/nodemgmt.c
@@ -7,7 +7,7 @@
7 * 7 *
8 * For licensing information, see the file 'LICENCE' in this directory. 8 * For licensing information, see the file 'LICENCE' in this directory.
9 * 9 *
10 * $Id: nodemgmt.c,v 1.117 2005/01/25 20:11:11 hammache Exp $ 10 * $Id: nodemgmt.c,v 1.118 2005/02/27 23:01:32 dwmw2 Exp $
11 * 11 *
12 */ 12 */
13 13
@@ -593,11 +593,8 @@ void jffs2_mark_node_obsolete(struct jffs2_sb_info *c, struct jffs2_raw_node_ref
593 *p = ref->next_in_ino; 593 *p = ref->next_in_ino;
594 ref->next_in_ino = NULL; 594 ref->next_in_ino = NULL;
595 595
596 if (ic->nodes == (void *)ic) { 596 if (ic->nodes == (void *)ic)
597 D1(printk(KERN_DEBUG "inocache for ino #%u is all gone now. Freeing\n", ic->ino));
598 jffs2_del_ino_cache(c, ic); 597 jffs2_del_ino_cache(c, ic);
599 jffs2_free_inode_cache(ic);
600 }
601 598
602 spin_unlock(&c->erase_completion_lock); 599 spin_unlock(&c->erase_completion_lock);
603 } 600 }