From: KaiGai Kohei <kaigai@ak.jp.nec.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: linux-mtd@lists.infradead.org
Subject: Re: JFFS2/xattr problems.
Date: Sun, 21 May 2006 20:19:05 +0900 [thread overview]
Message-ID: <44704CA9.8010604@ak.jp.nec.com> (raw)
In-Reply-To: <1148150486.3875.251.camel@pmac.infradead.org>
Hello, David.
David Woodhouse wrote:
> I created a user xattr on JFFS2, then attempted to remove it. On NAND
> flash I get the following BUG():
>
> jffs2_flash_writev(): Non-contiguous write to 004ca000
> wbuf was previously 004ca000-004ca040
> ------------[ cut here ]------------
> kernel BUG at /root/jffs2/wbuf.c:672!
>
> Call Trace:
> [<c8222aad>] jffs2_flash_writev+0x616/0x6ac [jffs2]
> [<c823eadb>] nand_read_ecc+0x29/0x2f [nand] [<c823eadb>] nand_read_ecc+0x29/0x2f [nand]
> [<c8221a6a>] jffs2_flash_read+0x8a/0x22b [jffs2] [<c8222b8b>] jffs2_flash_write+0x48/0x51 [jffs2]
> [<c822364d>] delete_xattr_datum_node+0xcc/0x144 [jffs2] [<c8223dea>] delete_xattr_datum+0x2c/0x3c [jffs2]
> [<c8223ed2>] delete_xattr_ref+0x32/0x3b [jffs2] [<c8224e37>] do_jffs2_setxattr+0x1a9/0x5aa [jffs2]
> [<c01c1462>] _atomic_dec_and_lock+0x22/0x2c [<c82254fc>] jffs2_user_setxattr+0x3c/0x47 [jffs2]
> [<c016e9e8>] generic_removexattr+0x37/0x3d [<c016ef78>] vfs_removexattr+0x78/0xc8
>
> What is delete_xattr_datum_node() trying to do? It seems to be writing
> for a second time to an area of flash which has _already_ been written.
> You can't do that.
delete_xattr_datum_node() try to write invalid data to ensure the target
node was already deleted. I was worried about that a xdatum already removed
may be reused as a effective xdatum on next mounting.
But it's purely design problem that should be changed.
Alternatively, I plan to write a delete marker on new node allocated by
jffs2_reserve_space() when xdatum is removed.
I intend to be dealt with a xdatum with 0xffffffff of version number
as a delete marker for xdatum. This node will be ignored on next mounting.
There is a same issue on deletion of xattr_ref, I also plan to implement
with same method.
Some days will be necessary to change it.
Would you wait for a while?
> Also, just 'cp -av /lib/libc.so.6 /mnt/jffs2' is failing to set the
> POSIX ACL, with -EINVAL. This happens because posix_acl_equiv_mode()
> returns zero, because the ACL is entirely equivalent to normal modes. So
> the 'value' passed to do_jffs2_setxattr() is NULL, which should _delete_
> the corresponding xattr.
>
> But because the xattr is not found, the code returns -EINVAL. Shouldn't
> that error be -ENOATTR? And shouldn't the ACL code then convert it to a
> more appropriate return value?
I agree, I'll fix it.
Thanks,
--
KaiGai Kohei <kaigai@kaigai.gr.jp>
next prev parent reply other threads:[~2006-05-21 11:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-20 18:41 JFFS2/xattr problems David Woodhouse
2006-05-21 3:22 ` David Woodhouse
2006-05-21 11:24 ` KaiGai Kohei
2006-05-21 11:19 ` KaiGai Kohei [this message]
2006-05-21 12:41 ` David Woodhouse
2006-06-12 2:17 ` KaiGai Kohei
2006-06-12 8:03 ` David Woodhouse
2006-06-12 9:43 ` KaiGai Kohei
2006-06-12 9:53 ` David Woodhouse
2006-06-12 18:06 ` Jörn Engel
2006-06-13 13:36 ` KaiGai Kohei
2006-06-13 14:13 ` Jörn Engel
2006-06-14 21:58 ` Theodore Tso
2006-06-15 11:47 ` Jörn Engel
2006-06-15 15:24 ` Theodore Tso
2006-06-13 13:30 ` KaiGai Kohei
2006-06-24 5:58 ` KaiGai Kohei
2006-06-24 12:44 ` David Woodhouse
2006-06-26 15:45 ` David Woodhouse
2006-06-27 2:43 ` KaiGai Kohei
2006-06-29 6:02 ` 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=44704CA9.8010604@ak.jp.nec.com \
--to=kaigai@ak.jp.nec.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
/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