public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: KaiGai Kohei <kaigai@kaigai.gr.jp>
To: linux-mtd@lists.infradead.org
Cc: jmorris@redhat.com, sds@tycho.nsa.gov, russell@coker.com.au,
	"KaiGai Kohei" <kaigai@ak.jp.nec.com>,
	lorenzo@gnu.org, "David Woodhouse" <dwmw2@infradead.org>,
	"Jörn Engel" <joern@wohnheim.fh-wedel.de>
Subject: Re: [PATCH] XATTR support on JFFS2 (version. 5)
Date: Fri, 12 May 2006 08:16:08 +0900	[thread overview]
Message-ID: <4463C5B8.1070708@kaigai.gr.jp> (raw)
In-Reply-To: <4460BEEE.2070704@ak.jp.nec.com>

Hi,

I'll push two patches into jffs2-xattr-2.6.git tree.
The one of them is obvious. It fixes a typo in comments.

I want any comments for another one before commiting into tree.

There is a possibility that jffs2_setup_xattr_datum() returns
-EEXIST, if a xattr_datum which has same xid and newer version
number is already registered.

The pre-patched implementation ignores this error code and
doesn't care. Theredore, total process of FS-mounting failed.
This patch fixes this problem, When we found such a obsolete
node, it will be dealt as a DIRTY_SPACE() and FS-mounting
will be continued.

It works correctly, and I belive this solution is right.

Thanks,

The broken-out patches are available at here:
http://www.kaigai.gr.jp/index.php?FrontPage#vd16984
01. jffs2-xattr-v5.2-01-fix-duplicate-xdatum.patch
02. jffs2-xattr-v5.2-02-fix_obvious_typo.patch

diff --git a/fs/jffs2/summary.c b/fs/jffs2/summary.c
index 5cde227..d7884e3 100644
--- a/fs/jffs2/summary.c
+++ b/fs/jffs2/summary.c
@@ -508,8 +508,14 @@ static int jffs2_sum_process_sum_data(st
                                 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);
                                 }

KaiGai Kohei wrote:
> Hi,
> 
> Some fixes and updates on the todo list are already
> pushed to git://git.infradead.org/jffs2-xattr-2.6.git .
> 
> The broken-out patches are available at here:
> http://www.kaigai.gr.jp/index.php?FrontPage#vd169842
> 
> 01. jffs2-xattr-v5.1-01-remove_typedef_kernel.patch
> 02. jffs2-xattr-v5.1-02-remove_typedef_utils.patch
> 03. jffs2-xattr-v5.1-03-append_README.Locking.patch
> 04. jffs2-xattr-v5.1-04-remove_ilist_from_ic.patch
> 05. jffs2-xattr-v5.1-05-update_xattr_gc.patch
> 06. jffs2-xattr-v5.1-06-add_list.h.patch
> 07. jffs2-xattr-v5.1-07-unify_file_header.patch
> 08. jffs2-xattr-v5.1-08-remove_senseless_comment.patch
> 09. jffs2-xattr-v5.1-09-remove__KERNEL__.patch
> 10. jffs2-xattr-v5.1-10-remove_pointer_cast.patch
> 
> I hope to merge the second patch 
> (jffs2-xattr-v5.1-02-remove_typedef_utils.patch),
> because this patch is for mtd-utils.git, not jffs2-xattr-2.6.git.
> 
> P.S.
> Thanks David for your introduction about git on infradead.org.
> 
> David Woodhouse wrote:
> 
>> On Mon, 2006-05-08 at 11:03 +0900, KaiGai Kohei wrote:
>>
>>> [Current TODO list]
>>> * Fix the declaration of jffs2_acl_header and so on by using 'struct'
>>>   instead of 'typedef' in kernel space.
>>> - Fix the declaration of jffs2_acl_header and so on by using 'struct'
>>>   instead of 'typedef' in user space header.
>>> * Add documentation about xattr_sem into README.Locking.
>>> * Call jffs2_garbage_collect_xattr_datum/ref() from gc.c directly
>>>   instead of jffs2_garbage_collect_xattr()
>>> - Use unidirection list beween inode_chache and xattr_ref, instead of
>>>   list_head.
>>> - Add '#include <linux/list.h>' into xattr.h.
>>> - Unify each file header part with any jffs2 files.
>>> - Remove a senseless comment. ("/* forward refence */")
>>> - Remove unneccesary pointer casts.
>>> - Remove unneccesary '#ifdef __KERNEL__' on acl.h
>>>
>>> *: It has already prepared, but I've not publicated yet.
>>> -: It has not prepated yet. I should work from now. 
>>
>>
>>
>> That's an excellent summary; thanks. It does serve to show that we've
>> mostly picked on cosmetic details so far though :)
>>
>> If you have patches committed into a git tree, you should be able to
>> just 'git-push ssh://git.infradead.org/home/git/jffs2-xattr-2.6.git' to
>> make it available.
-- 
KaiGai Kohei <kaigai@kaigai.gr.jp>

  reply	other threads:[~2006-05-11 23:17 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-06  6:51 [PATCH] XATTR support on JFFS2 (version. 5) KaiGai Kohei
2006-05-06 12:07 ` David Woodhouse
2006-05-06 12:38   ` David Woodhouse
2006-05-06 16:47     ` KaiGai Kohei
2006-05-06 17:53       ` David Woodhouse
2006-05-07  0:22         ` KaiGai Kohei
2006-05-07  0:29           ` David Woodhouse
2006-05-07 10:19         ` Artem B. Bityutskiy
2006-05-07 13:25       ` Artem B. Bityutskiy
2006-05-07 13:29         ` David Woodhouse
2006-05-07 12:46 ` Artem B. Bityutskiy
2006-05-07 13:12   ` Artem B. Bityutskiy
2006-05-07 13:18   ` David Woodhouse
2006-05-08  1:01     ` KaiGai Kohei
2006-05-07 17:16 ` Jörn Engel
2006-05-08  2:03   ` KaiGai Kohei
2006-05-08 12:49     ` David Woodhouse
2006-05-09 16:10       ` KaiGai Kohei
2006-05-11 23:16         ` KaiGai Kohei [this message]
2006-05-11 23:31           ` David Woodhouse
2006-05-12 15:20             ` KaiGai Kohei
2006-05-12 15:32               ` Jörn Engel
2006-05-12 15:38               ` David Woodhouse
2006-05-13  6:37                 ` KaiGai Kohei
2006-05-13 10:46                   ` David Woodhouse
2006-05-10 13:28       ` Jörn Engel
2006-05-10 10:03 ` Artem B. Bityutskiy
2006-05-10 11:06   ` David Woodhouse
2006-05-10 11:22     ` Artem B. Bityutskiy
2006-05-10 12:03     ` KaiGai Kohei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4463C5B8.1070708@kaigai.gr.jp \
    --to=kaigai@kaigai.gr.jp \
    --cc=dwmw2@infradead.org \
    --cc=jmorris@redhat.com \
    --cc=joern@wohnheim.fh-wedel.de \
    --cc=kaigai@ak.jp.nec.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=lorenzo@gnu.org \
    --cc=russell@coker.com.au \
    --cc=sds@tycho.nsa.gov \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox