From: Artem Bityutskiy <dedekind1@gmail.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: Mike Frysinger <vapier.adi@gmail.com>,
Kevin Cernekee <cernekee@gmail.com>,
b35362@freescale.com, linux-mtd@lists.infradead.org,
David Woodhouse <dwmw2@infradead.org>,
Matthew Creech <mlcreech@gmail.com>
Subject: Re: [RFC 0/5] fix data+OOB writes, add ioctl
Date: Mon, 22 Aug 2011 13:02:40 +0300 [thread overview]
Message-ID: <1314007366.2644.101.camel@sauron> (raw)
In-Reply-To: <1313625029-19546-1-git-send-email-computersforpeace@gmail.com>
Hi,
On Wed, 2011-08-17 at 16:50 -0700, Brian Norris wrote:
> First off, these fixes are motivated by a number of things:
>
> 1) Broken "noecc" writes; `nandwrite -n -o' does not work on my
> hardware, at least, without these patches
I think Ivan complained about this at some point - he said he has images
with crafted ECC codes to test his BCH library, but he could not flash
them properly. So yes, this is worth fixing.
> Perhaps something should be done about the MTDFILEMODE ioctl, since it
> seems to cause some confusing overlap, at least to me. I see two
> different RAW modes:
>
> * MTD_MODE_RAW, which belongs to the mode field in `struct
> mtd_file_info'. It can be set by the ioctl MTDFILEMODE
> * MTD_OOB_RAW, which belongs to the mode field in `struct
> mtd_oob_ops'. It is set indirectly by other operations.
>
> Does MTD_MODE_RAW imply MTD_OOB_RAW when OOB operations are involved?
I would make sure these 2 set of macros have different prefixes.
Probably re-naming the internal ones is easier, but I'd anyway re-named
the external ones - indeed they are about access mode for a specific
file descriptor, so I'd use the "MTD_FILE_MODE_" prefix. But not sure,
you can invent something else. In any case, it is cleaner to have
different prefixes for different name-spaces.
> Does MTD_MODE_RAW imply that no ECC is applied to data?
Not sure, but judging from how it is used - no.
> Is the MTD file mode persistent?
It is stored in the file descriptor (file->private_data), so the
life-time of the mode is equivalent to the life-time for the file
descriptor, AFAICS.
> If so, then it may conflict with a
> "per-operation" mode in our new MEMWRITEDATAOOB
Good point. Frankly, I find this stateful model with modes horrible. But
we have what we have. I guess we will need to carefully document which
ioctl's are affected by the MTD mode, and which are not (in the header
file which we expose to the user-space).
I think MEMWRITEDATAOOB should ignore the mode.
My quick look at the code suggests me that the RAW/NORMAL file modes is
about read/write operations - in normal mode we read/write from/to only
the main area, in raw mode we consider the main area and OOB as one
continuous region and read/write from/to this region.
And MEMWRITEDATAOOB is about accession only OOB, so the modes should not
affect it.
> Maybe the "something" to be done would just be some better
> documentation. Or something more drastic if there's an actual conflict.
To me it looks like (a) re-naming and (be) some more comments in the
header files is enough.
> Speaking of documentation, what is this supposed to mean (from struct
> nand_chip, in include/linux/mtd/nand.h)?
Sorry, do not know off the top of my head.
--
Best Regards,
Artem Bityutskiy
next prev parent reply other threads:[~2011-08-22 10:00 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-17 23:50 [RFC 0/5] fix data+OOB writes, add ioctl Brian Norris
2011-08-17 23:50 ` [RFC 1/5] mtd: support MTD_MODE_RAW for writing OOB Brian Norris
2011-08-22 8:35 ` Artem Bityutskiy
2011-08-22 20:08 ` Brian Norris
2011-08-23 4:47 ` Artem Bityutskiy
2011-08-23 5:25 ` Jason Liu
2011-08-23 19:57 ` Brian Norris
2011-08-17 23:50 ` [RFC 2/5] mtd: support MTD_MODE_RAW for reading OOB Brian Norris
2011-08-22 8:38 ` Artem Bityutskiy
2011-08-17 23:50 ` [RFC 3/5] mtd: do not assume oobsize is power of 2 Brian Norris
2011-08-22 8:46 ` Artem Bityutskiy
2011-08-22 20:21 ` Brian Norris
2011-08-17 23:50 ` [RFC 4/5] mtd: move mtd_oob_mode_t to shared kernel/user space Brian Norris
2011-08-22 8:50 ` Artem Bityutskiy
2011-08-22 21:43 ` Brian Norris
2011-08-23 5:30 ` Artem Bityutskiy
2011-08-23 17:24 ` Brian Norris
2011-08-17 23:50 ` [RFC 5/5] mtd: add MEMWRITEDATAOOB ioctl Brian Norris
2011-08-22 8:56 ` Artem Bityutskiy
2011-08-23 0:04 ` Brian Norris
2011-08-23 6:05 ` Artem Bityutskiy
2011-08-23 6:06 ` Artem Bityutskiy
2011-08-23 6:11 ` Artem Bityutskiy
2011-08-22 10:02 ` Artem Bityutskiy [this message]
2011-08-22 12:04 ` [RFC 0/5] fix data+OOB writes, add ioctl Ivan Djelic
2011-08-22 12:16 ` Artem Bityutskiy
2011-08-23 6:48 ` Ricard Wanderlof
2011-08-23 16:47 ` Brian Norris
2011-08-24 15:36 ` Ricard Wanderlof
2011-08-24 18:01 ` Brian Norris
2011-08-25 7:21 ` Artem Bityutskiy
2011-08-25 9:33 ` Ricard Wanderlof
2011-08-25 17:54 ` Brian Norris
2011-08-26 12:41 ` Ricard Wanderlof
2011-08-22 23:42 ` Brian Norris
2011-08-23 6:01 ` Artem Bityutskiy
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=1314007366.2644.101.camel@sauron \
--to=dedekind1@gmail.com \
--cc=b35362@freescale.com \
--cc=cernekee@gmail.com \
--cc=computersforpeace@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=mlcreech@gmail.com \
--cc=vapier.adi@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.