diff options
author | Artem B. Bityuckiy <dedekind@infradead.org> | 2005-03-20 12:46:23 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@mtd.linutronix.de> | 2005-05-23 07:02:39 -0400 |
commit | 437316d9b5ea142ca7ab9ef131c28506c407d1d6 (patch) | |
tree | 1edf9fa6fc996bb873fad59b0019d3a985ded794 | |
parent | a42163d7c331c2532551f675d6616a00e1e87fe9 (diff) |
[JFFS2] Forbid to free inode_cache objects if its nlink isn't zero.
Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | fs/jffs2/erase.c | 4 | ||||
-rw-r--r-- | 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 @@ | |||
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: erase.c,v 1.72 2005/02/27 23:01:32 dwmw2 Exp $ | 10 | * $Id: erase.c,v 1.74 2005/03/20 17:46:20 dedekind Exp $ |
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
@@ -277,7 +277,7 @@ static inline void jffs2_remove_node_refs_from_ino_list(struct jffs2_sb_info *c, | |||
277 | printk("\n"); | 277 | printk("\n"); |
278 | }); | 278 | }); |
279 | 279 | ||
280 | if (ic->nodes == (void *)ic) | 280 | if (ic->nodes == (void *)ic && ic->nlink == 0) |
281 | jffs2_del_ino_cache(c, ic); | 281 | jffs2_del_ino_cache(c, ic); |
282 | } | 282 | } |
283 | 283 | ||
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 @@ | |||
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.119 2005/02/28 08:21:05 dedekind Exp $ | 10 | * $Id: nodemgmt.c,v 1.120 2005/03/20 17:46:20 dedekind Exp $ |
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
@@ -594,7 +594,7 @@ void jffs2_mark_node_obsolete(struct jffs2_sb_info *c, struct jffs2_raw_node_ref | |||
594 | *p = ref->next_in_ino; | 594 | *p = ref->next_in_ino; |
595 | ref->next_in_ino = NULL; | 595 | ref->next_in_ino = NULL; |
596 | 596 | ||
597 | if (ic->nodes == (void *)ic) | 597 | if (ic->nodes == (void *)ic && ic->nlink == 0) |
598 | jffs2_del_ino_cache(c, ic); | 598 | jffs2_del_ino_cache(c, ic); |
599 | 599 | ||
600 | spin_unlock(&c->erase_completion_lock); | 600 | spin_unlock(&c->erase_completion_lock); |