diff options
author | KaiGai Kohei <kaigai@ak.jp.nec.com> | 2006-06-23 20:14:13 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2006-06-27 11:18:02 -0400 |
commit | 8a13695cbe4e8311b363f9bd25162904b984ca74 (patch) | |
tree | 2ff6ecca99d5b6185e1b3df0f3ab1447a3fdff9b /fs/jffs2/scan.c | |
parent | a1ae76e96a18edf4b8a4d4e102762060c26d1c6a (diff) |
[JFFS2][XATTR] rid unnecessary writing of delete marker.
In the followinf situation, an explicit delete marker is not
necessary, because we can certainlly detect those obsolete
xattr_datum or xattr_ref on next mounting.
- When to delete xattr_datum node.
- When to delete xattr_ref node on removing inode.
- When to delete xattr_ref node on updating xattr.
This patch rids writing delete marker in those situations.
Signed-off-by: KaiGai Kohei <kaigai@ak.jp.nec.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'fs/jffs2/scan.c')
-rw-r--r-- | fs/jffs2/scan.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c index 79638f56c5ea..2bfdc33752d3 100644 --- a/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c | |||
@@ -332,10 +332,8 @@ static int jffs2_scan_xattr_node(struct jffs2_sb_info *c, struct jffs2_erasebloc | |||
332 | xid = je32_to_cpu(rx->xid); | 332 | xid = je32_to_cpu(rx->xid); |
333 | version = je32_to_cpu(rx->version); | 333 | version = je32_to_cpu(rx->version); |
334 | 334 | ||
335 | totlen = sizeof(struct jffs2_raw_xattr); | 335 | totlen = PAD(sizeof(struct jffs2_raw_xattr) |
336 | if (version != XDATUM_DELETE_MARKER) | 336 | + rx->name_len + 1 + je16_to_cpu(rx->value_len)); |
337 | totlen += rx->name_len + 1 + je16_to_cpu(rx->value_len); | ||
338 | totlen = PAD(totlen); | ||
339 | if (totlen != je32_to_cpu(rx->totlen)) { | 337 | if (totlen != je32_to_cpu(rx->totlen)) { |
340 | JFFS2_WARNING("node length mismatch at %#08x, read=%u, calc=%u\n", | 338 | JFFS2_WARNING("node length mismatch at %#08x, read=%u, calc=%u\n", |
341 | ofs, je32_to_cpu(rx->totlen), totlen); | 339 | ofs, je32_to_cpu(rx->totlen), totlen); |