[PATCH] Obsolete nodes that are unlinked when possible

Joakim Tjernlund joakim.tjernlund at transmode.se
Fri Mar 16 12:14:00 EDT 2007


On Fri, 2007-03-16 at 16:45 +0100, Joakim Tjernlund wrote:
> >From d3e51689869fae928f6289307452a698359302ff Mon Sep 17 00:00:00 2001
> From: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
> Date: Fri, 16 Mar 2007 16:15:45 +0100
> Subject: [PATCH] Obsolete nodes that are unlinked when possible.
> 
> 
> Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
> ---
>  fs/jffs2/write.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/jffs2/write.c b/fs/jffs2/write.c
> index 6717679..57a79a6 100644
> --- a/fs/jffs2/write.c
> +++ b/fs/jffs2/write.c
> @@ -507,8 +507,7 @@ int jffs2_do_unlink(struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f,
>  	uint32_t alloclen;
>  	int ret;
>  
> -	if (1 /* alternative branch needs testing */ ||
> -	    !jffs2_can_mark_obsolete(c)) {
> +	if (!jffs2_can_mark_obsolete(c)) {
>  		/* We can't mark stuff obsolete on the medium. We need to write a deletion dirent */
>  
>  		rd = jffs2_alloc_raw_dirent();

Ouch, I just discovered that JFFS2_SUMMARY disables
jffs2_can_mark_obsolete(c). Is this really needed for all
obsolete cases?

SUMMARY really implies that a better automatic GC is needed, since your
fs will be littered with deletion entries.

 Jocke




More information about the linux-mtd mailing list