mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: barebox@lists.infradead.org
Subject: Re: FAT filesystem write and long names stability
Date: Wed, 7 Dec 2011 09:37:08 +0100	[thread overview]
Message-ID: <20111207083708.GK27267@pengutronix.de> (raw)
In-Reply-To: <87r50idnni.fsf@free.fr>

On Tue, Dec 06, 2011 at 11:01:37AM +0100, Robert Jarzmik wrote:
> Franck JULLIEN <franck.jullien@gmail.com> writes:
> 
> > 2011/12/5 Robert Jarzmik <robert.jarzmik@free.fr>:
> >> Franck JULLIEN <franck.jullien@gmail.com> writes:
> >>
> >>> Do you have this patch applied to your working branch ? :
> >>>
> >>> fs/fat: Initialize local variable finfo
> >> Hi Franck,
> >>
> >> I cross-checked, and indeed I do not have this fix in my branch, while it sits
> >> in next branch. I'll rebase and make another try.
> Good guess, with that patch no bug :)
> 
> >> Do you by any chance tried the "write" part of FAT ?
> > Yes I did try it and as far as I can tell it works. I wrote some test
> > files to the SD then read it back on the PC and file were there....
> > I don't think I tried to create folders.
> Ah that's the node of the story.
> I made 2 tries :
>  (1) mount the SD card, create a folder "toto", umount
>      => when checked in my laptop, no new folder is created
>  (2) mount the SD card, create a folder "toto", and copy in it a file "foo.txt",
>  umount
>      => when checked in my laptop, both the directory and the file *are* there
> 
> So I suppose that creating a directory without any file within doesn't trigger
> the write on the device.

I had a look at it and the problem seems to be the fat caching layer I
introduced. It brings the fat on disk and in memory out of sync. This
layer has been necessary since without it the performance of the fat
driver is really poor. You could try the following branch. It reverts
the fat cache layer support and instead reimplements the block caching
layer so that it can handle the access patterns of the fat driver
better.
It would be great if you could give it some testing as obviously my test
patterns didn't reveal the 'create folder' bug you described.

Sascha

The following changes since commit 3bb6ee8dd530d01724ceb7c3d5bb68bd1898726a:

  mci: add the probe parameter if any error happened during the probe (2011-12-05 22:05:09 +0100)

are available in the git repository at:
  git://git.pengutronix.de/git/barebox.git pu/block

Sascha Hauer (3):
      list: add list_last_entry function
      fat: revert fat caching mechanism
      block: reimplement caching

 common/block.c       |  274 ++++++++++++++++++++++++++++++++++++-------------
 fs/fat/ff.c          |   93 ++++-------------
 include/block.h      |   16 ++--
 include/linux/list.h |   11 ++
 4 files changed, 241 insertions(+), 153 deletions(-)
-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2011-12-07  8:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-05 17:51 Robert Jarzmik
2011-12-05 20:03 ` Franck JULLIEN
2011-12-05 20:40   ` Robert Jarzmik
2011-12-05 20:43     ` Franck JULLIEN
2011-12-06 10:01       ` Robert Jarzmik
2011-12-07  8:37         ` Sascha Hauer [this message]
2011-12-13 15:33           ` Robert Jarzmik
2011-12-15  9:28             ` Robert Jarzmik
2011-12-19 11:01               ` Sascha Hauer
2011-12-19 11:14                 ` Sascha Hauer
2011-12-19 21:03                   ` [PATCH] drivers/mci: pxa fix clockrate Robert Jarzmik

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=20111207083708.GK27267@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=robert.jarzmik@free.fr \
    /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