From 437316d9b5ea142ca7ab9ef131c28506c407d1d6 Mon Sep 17 00:00:00 2001 From: "Artem B. Bityuckiy" Date: Sun, 20 Mar 2005 17:46:23 +0000 Subject: [PATCH] [JFFS2] Forbid to free inode_cache objects if its nlink isn't zero. Signed-off-by: Artem B. Bityuckiy Signed-off-by: Thomas Gleixner --- fs/jffs2/erase.c | 4 ++-- fs/jffs2/nodemgmt.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/jffs2/erase.c b/fs/jffs2/erase.c index d1ae565352a6..bed6e1b8d824 100644 --- a/fs/jffs2/erase.c +++ b/fs/jffs2/erase.c @@ -7,7 +7,7 @@ * * For licensing information, see the file 'LICENCE' in this directory. * - * $Id: erase.c,v 1.72 2005/02/27 23:01:32 dwmw2 Exp $ + * $Id: erase.c,v 1.74 2005/03/20 17:46:20 dedekind Exp $ * */ @@ -277,7 +277,7 @@ static inline void jffs2_remove_node_refs_from_ino_list(struct jffs2_sb_info *c, printk("\n"); }); - if (ic->nodes == (void *)ic) + if (ic->nodes == (void *)ic && ic->nlink == 0) jffs2_del_ino_cache(c, ic); } diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c index 456adf020f22..a8e198231230 100644 --- a/fs/jffs2/nodemgmt.c +++ b/fs/jffs2/nodemgmt.c @@ -7,7 +7,7 @@ * * For licensing information, see the file 'LICENCE' in this directory. * - * $Id: nodemgmt.c,v 1.119 2005/02/28 08:21:05 dedekind Exp $ + * $Id: nodemgmt.c,v 1.120 2005/03/20 17:46:20 dedekind Exp $ * */ @@ -594,7 +594,7 @@ void jffs2_mark_node_obsolete(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *p = ref->next_in_ino; ref->next_in_ino = NULL; - if (ic->nodes == (void *)ic) + if (ic->nodes == (void *)ic && ic->nlink == 0) jffs2_del_ino_cache(c, ic); spin_unlock(&c->erase_completion_lock); -- 2.39.5