All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Denk <wd@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] fs: fat: fix bug when write size is less than a sector size
Date: Thu, 18 Jul 2013 10:24:45 +0200	[thread overview]
Message-ID: <20130718082445.2BBA0380DF1@gemini.denx.de> (raw)
In-Reply-To: <1374134870-10154-1-git-send-email-josh.wu@atmel.com>

Dear Josh Wu,

In message <1374134870-10154-1-git-send-email-josh.wu@atmel.com> you wrote:
> Tested in at91sam9x5ek and sama5d3x-ek in mmc fat.
> 
> Signed-off-by: Josh Wu <josh.wu@atmel.com>
> ---
> When I debugging this issue, I also find the thread talking about this:
>   http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/158698
> But finally no patch is send for this bug. So I send this and cc all the
> people in that thread. Hope it can be merged in 2013.07.

Definitely not.  This needs thurough testing before it can go
mainline.


> -	__u32 startsect;
> +	__u32 startsect, nr_sectors;
>  
>  	if (clustnum > 0)
>  		startsect = mydata->data_begin +
> @@ -571,7 +571,11 @@ set_cluster(fsdata *mydata, __u32 clustnum, __u8 *buffer,
>  
>  	debug("clustnum: %d, startsect: %d\n", clustnum, startsect);
>  
> -	if (disk_write(startsect, size / mydata->sect_size, buffer) < 0) {
> +	nr_sectors = size / mydata->sect_size;
> +	if (nr_sectors == 0)
> +		nr_sectors = 1;

Why would this be needed?  The case of a partial write is covered
further down below in the code, in the "if (size % mydata->sect_size)"
part...



Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I still miss my ex-wife, but my aim is getting better.

  reply	other threads:[~2013-07-18  8:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-18  8:07 [U-Boot] [PATCH] fs: fat: fix bug when write size is less than a sector size Josh Wu
2013-07-18  8:24 ` Wolfgang Denk [this message]
2013-07-19  9:43   ` Josh Wu
2013-07-19 11:20     ` Wolfgang Denk
2013-07-23 10:16       ` Josh Wu

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=20130718082445.2BBA0380DF1@gemini.denx.de \
    --to=wd@denx.de \
    --cc=u-boot@lists.denx.de \
    /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.