From 7b262251361cadae5cce3038c43e22e4fa4c0efb Mon Sep 17 00:00:00 2001 From: KaiGai Kohei Date: Sat, 13 May 2006 15:21:38 +0900 Subject: [PATCH] --- yaml --- r: 27821 b: refs/heads/master c: c8708a9275928cc8e77bd443cd12565dda0a3ded h: refs/heads/master i: 27819: c8a9a6b1582c08ad852c5577d63b680954278813 v: v3 --- [refs] | 2 +- trunk/fs/jffs2/summary.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 77bc0e909df4..d8bbfba5ea8f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dea80134dc4d54df52c0c59b0ba2bb5aa999bf30 +refs/heads/master: c8708a9275928cc8e77bd443cd12565dda0a3ded diff --git a/trunk/fs/jffs2/summary.c b/trunk/fs/jffs2/summary.c index 831a42c13059..9763d73c0da1 100644 --- a/trunk/fs/jffs2/summary.c +++ b/trunk/fs/jffs2/summary.c @@ -508,8 +508,14 @@ static int jffs2_sum_process_sum_data(struct jffs2_sb_info *c, struct jffs2_eras xd = jffs2_setup_xattr_datum(c, je32_to_cpu(spx->xid), je32_to_cpu(spx->version)); if (IS_ERR(xd)) { - JFFS2_NOTICE("allocation of xattr_datum failed\n"); jffs2_free_raw_node_ref(raw); + if (PTR_ERR(xd) == -EEXIST) { + /* a newer version of xd exists */ + DIRTY_SPACE(je32_to_cpu(spx->totlen)); + sp += JFFS2_SUMMARY_XATTR_SIZE; + break; + } + JFFS2_NOTICE("allocation of xattr_datum failed\n"); kfree(summary); return PTR_ERR(xd); }