From: xiaolei li <xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
To: Boris Brezillon
<boris.brezillon-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>
Cc: richard-/L3Ra7n9ekc@public.gmane.org,
linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH] mtd: Add sysfs attribute for mtd OOB available size
Date: Tue, 3 Apr 2018 10:46:58 +0800 [thread overview]
Message-ID: <1522723618.3504.7.camel@mhfsdcap03> (raw)
In-Reply-To: <20180402141505.33051c14@bbrezillon>
Hello Boris,
On Mon, 2018-04-02 at 14:15 +0200, Boris Brezillon wrote:
> Hi Xiaolei,
>
> On Mon, 2 Apr 2018 16:20:10 +0800
> Xiaolei Li <xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> wrote:
>
> > Expose mtd OOB available size by sysfs file. Then users can get available
> > OOB size by accessing /sys/class/mtd/mtdX/oobavail.
>
> May I ask why you need to expose that? I'm not against exposing new
> things through sysfs, but since this is part of the ABI, I'd like to be
> sure we actually need it.
>
That is user-space can write OOB data through ioctl MEMWRITE now.
If OOB operation mode is MTD_OPS_AUTO_OOB, user should know how many
OOB available bytes it can use. But I didn't find a way to get it. (If
there is already a method, please kindly let me know, thanks.)
One problem I know is to do Jffs2 type flash erase using MTD user-space
tool flash_erase. flash_erase tool will program "cleanmarker" into OOB
free area, but it can not get OOB available size.
Please refer this commit:
http://git.infradead.org/mtd-utils.git/commit/d7e86124d55bbcee1b82c68b82389ebcda588076
Thanks!
Xiaolei
> Regards,
>
> Boris
>
> >
> > Signed-off-by: Xiaolei Li <xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
> > ---
> > Documentation/ABI/testing/sysfs-class-mtd | 8 ++++++++
> > drivers/mtd/mtdcore.c | 10 ++++++++++
> > 2 files changed, 18 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-class-mtd b/Documentation/ABI/testing/sysfs-class-mtd
> > index f34e5923..3bc7c0a 100644
> > --- a/Documentation/ABI/testing/sysfs-class-mtd
> > +++ b/Documentation/ABI/testing/sysfs-class-mtd
> > @@ -232,3 +232,11 @@ Description:
> > of the parent (another partition or a flash device) in bytes.
> > This attribute is absent on flash devices, so it can be used
> > to distinguish them from partitions.
> > +
> > +What: /sys/class/mtd/mtdX/oobavail
> > +Date: April 2018
> > +KernelVersion: 4.16
> > +Contact: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> > +Description:
> > + Number of bytes available for a client to place data into
> > + the out of band area.
> > diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
> > index 807d17d..99d9352 100644
> > --- a/drivers/mtd/mtdcore.c
> > +++ b/drivers/mtd/mtdcore.c
> > @@ -210,6 +210,15 @@ static ssize_t mtd_oobsize_show(struct device *dev,
> > }
> > static DEVICE_ATTR(oobsize, S_IRUGO, mtd_oobsize_show, NULL);
> >
> > +static ssize_t mtd_oobavail_show(struct device *dev,
> > + struct device_attribute *attr, char *buf)
> > +{
> > + struct mtd_info *mtd = dev_get_drvdata(dev);
> > +
> > + return snprintf(buf, PAGE_SIZE, "%lu\n", (unsigned long)mtd->oobavail);
> > +}
> > +static DEVICE_ATTR(oobavail, S_IRUGO, mtd_oobavail_show, NULL);
> > +
> > static ssize_t mtd_numeraseregions_show(struct device *dev,
> > struct device_attribute *attr, char *buf)
> > {
> > @@ -327,6 +336,7 @@ static ssize_t mtd_bbtblocks_show(struct device *dev,
> > &dev_attr_writesize.attr,
> > &dev_attr_subpagesize.attr,
> > &dev_attr_oobsize.attr,
> > + &dev_attr_oobavail.attr,
> > &dev_attr_numeraseregions.attr,
> > &dev_attr_name.attr,
> > &dev_attr_ecc_strength.attr,
>
>
>
WARNING: multiple messages have this Message-ID (diff)
From: xiaolei li <xiaolei.li@mediatek.com>
To: Boris Brezillon <boris.brezillon@bootlin.com>
Cc: <richard@nod.at>, <linux-mediatek@lists.infradead.org>,
<linux-mtd@lists.infradead.org>, <srv_heupstream@mediatek.com>
Subject: Re: [PATCH] mtd: Add sysfs attribute for mtd OOB available size
Date: Tue, 3 Apr 2018 10:46:58 +0800 [thread overview]
Message-ID: <1522723618.3504.7.camel@mhfsdcap03> (raw)
In-Reply-To: <20180402141505.33051c14@bbrezillon>
Hello Boris,
On Mon, 2018-04-02 at 14:15 +0200, Boris Brezillon wrote:
> Hi Xiaolei,
>
> On Mon, 2 Apr 2018 16:20:10 +0800
> Xiaolei Li <xiaolei.li@mediatek.com> wrote:
>
> > Expose mtd OOB available size by sysfs file. Then users can get available
> > OOB size by accessing /sys/class/mtd/mtdX/oobavail.
>
> May I ask why you need to expose that? I'm not against exposing new
> things through sysfs, but since this is part of the ABI, I'd like to be
> sure we actually need it.
>
That is user-space can write OOB data through ioctl MEMWRITE now.
If OOB operation mode is MTD_OPS_AUTO_OOB, user should know how many
OOB available bytes it can use. But I didn't find a way to get it. (If
there is already a method, please kindly let me know, thanks.)
One problem I know is to do Jffs2 type flash erase using MTD user-space
tool flash_erase. flash_erase tool will program "cleanmarker" into OOB
free area, but it can not get OOB available size.
Please refer this commit:
http://git.infradead.org/mtd-utils.git/commit/d7e86124d55bbcee1b82c68b82389ebcda588076
Thanks!
Xiaolei
> Regards,
>
> Boris
>
> >
> > Signed-off-by: Xiaolei Li <xiaolei.li@mediatek.com>
> > ---
> > Documentation/ABI/testing/sysfs-class-mtd | 8 ++++++++
> > drivers/mtd/mtdcore.c | 10 ++++++++++
> > 2 files changed, 18 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-class-mtd b/Documentation/ABI/testing/sysfs-class-mtd
> > index f34e5923..3bc7c0a 100644
> > --- a/Documentation/ABI/testing/sysfs-class-mtd
> > +++ b/Documentation/ABI/testing/sysfs-class-mtd
> > @@ -232,3 +232,11 @@ Description:
> > of the parent (another partition or a flash device) in bytes.
> > This attribute is absent on flash devices, so it can be used
> > to distinguish them from partitions.
> > +
> > +What: /sys/class/mtd/mtdX/oobavail
> > +Date: April 2018
> > +KernelVersion: 4.16
> > +Contact: linux-mtd@lists.infradead.org
> > +Description:
> > + Number of bytes available for a client to place data into
> > + the out of band area.
> > diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
> > index 807d17d..99d9352 100644
> > --- a/drivers/mtd/mtdcore.c
> > +++ b/drivers/mtd/mtdcore.c
> > @@ -210,6 +210,15 @@ static ssize_t mtd_oobsize_show(struct device *dev,
> > }
> > static DEVICE_ATTR(oobsize, S_IRUGO, mtd_oobsize_show, NULL);
> >
> > +static ssize_t mtd_oobavail_show(struct device *dev,
> > + struct device_attribute *attr, char *buf)
> > +{
> > + struct mtd_info *mtd = dev_get_drvdata(dev);
> > +
> > + return snprintf(buf, PAGE_SIZE, "%lu\n", (unsigned long)mtd->oobavail);
> > +}
> > +static DEVICE_ATTR(oobavail, S_IRUGO, mtd_oobavail_show, NULL);
> > +
> > static ssize_t mtd_numeraseregions_show(struct device *dev,
> > struct device_attribute *attr, char *buf)
> > {
> > @@ -327,6 +336,7 @@ static ssize_t mtd_bbtblocks_show(struct device *dev,
> > &dev_attr_writesize.attr,
> > &dev_attr_subpagesize.attr,
> > &dev_attr_oobsize.attr,
> > + &dev_attr_oobavail.attr,
> > &dev_attr_numeraseregions.attr,
> > &dev_attr_name.attr,
> > &dev_attr_ecc_strength.attr,
>
>
>
next prev parent reply other threads:[~2018-04-03 2:46 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-02 8:20 [PATCH] Add sysfs attribute for mtd OOB available size Xiaolei Li
2018-04-02 8:20 ` Xiaolei Li
[not found] ` <1522657210-56833-1-git-send-email-xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2018-04-02 8:20 ` [PATCH] mtd: " Xiaolei Li
2018-04-02 8:20 ` Xiaolei Li
[not found] ` <1522657210-56833-2-git-send-email-xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2018-04-02 12:15 ` Boris Brezillon
2018-04-02 12:15 ` Boris Brezillon
2018-04-03 2:46 ` xiaolei li [this message]
2018-04-03 2:46 ` xiaolei li
2018-04-03 8:43 ` Boris Brezillon
2018-04-03 8:43 ` Boris Brezillon
2018-04-03 9:40 ` xiaolei li
2018-04-03 9:40 ` xiaolei li
2018-04-03 10:14 ` Boris Brezillon
2018-04-03 10:14 ` Boris Brezillon
2018-04-03 11:01 ` xiaolei li
2018-04-03 11:01 ` xiaolei li
2018-04-04 20:05 ` Boris Brezillon
2018-04-04 20:05 ` Boris Brezillon
2018-04-08 1:26 ` xiaolei li
2018-04-08 1:26 ` xiaolei li
2018-04-26 18:04 ` Boris Brezillon
2018-04-26 18:04 ` Boris Brezillon
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=1522723618.3504.7.camel@mhfsdcap03 \
--to=xiaolei.li-nus5lvnupcjwk0htik3j/w@public.gmane.org \
--cc=boris.brezillon-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org \
--cc=linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=richard-/L3Ra7n9ekc@public.gmane.org \
--cc=srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.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 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.