public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Vincent Catros <Vincent.Catros@elios-informatique.fr>
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] Is JFFS2 thread-safe?
Date: Thu, 27 Nov 2003 00:27:00 -0000	[thread overview]
Message-ID: <1069892845.14994.47.camel@imladris.demon.co.uk> (raw)
In-Reply-To: <001601c3b3fe$52041450$7407a8c0@figuier>

On Wed, 2003-11-26 at 10:18 +0100, Vincent Catros wrote:
> Hello,
> 
> Is JFFS2 thread safe?
> Some pieces of code make me think eCos implementation of JFFS2 was
> designed to be thread-safe while some other make me think it's not.

The core JFFS2 code is thread safe, assuming the Linux semaphore and
spinlock primitives are correctly translated into eCos mutexes and
preemption blocks. The bit that I haven't paid much attention to w.r.t.
locking is the inode cache handling in fs-ecos.c.

In fact, I suspect that is actually OK because we set the
CYG_SYNCMODE_FILE_FILESYSTEM flag and hence the fileio layer ensures
that only one file system method is invoked at a time. It would be
better to do our own locking and drop that flag though, since it makes
coordinating the locking with gcthread.c a little nicer.

Your underlying flash drivers may also need to be thread-safe, if you're
allowing concurrent calls into JFFS2 -- which I think we are; open and
close are serialised but read() and write() on two separate files can
happen simultaneously AFAICT. 

JFFS2 will assume that it's perfectly OK to have one thread reading
while another is erasing or writing -- it's the responsibility of the
flash driver to make it work.

-- 
dwmw2



-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

  reply	other threads:[~2003-11-27  0:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-26  9:15 Vincent Catros
2003-11-27  0:27 ` David Woodhouse [this message]
2003-11-27  9:12   ` [ECOS] RE : " Vincent Catros
2003-11-27  9:36     ` [ECOS] " David Woodhouse
2003-11-27 10:00       ` [ECOS] RE : " Vincent Catros
2003-11-27 10:24         ` [ECOS] " David Woodhouse
2003-11-28 11:14     ` [ECOS] " David Woodhouse
     [not found]       ` <1070018876.10048.35.camel@hades.cambridge.redhat.com>
2003-11-28 16:09         ` David Woodhouse
2003-11-29 14:54           ` Gary Thomas
2003-11-29 15:46             ` David Woodhouse
2003-11-29 15:47           ` Nick Garnett
2003-11-29 19:40             ` David Woodhouse
2003-11-27 17:02   ` Vincent Catros
2003-11-28 11:09     ` [ECOS] " David Woodhouse

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=1069892845.14994.47.camel@imladris.demon.co.uk \
    --to=dwmw2@infradead.org \
    --cc=Vincent.Catros@elios-informatique.fr \
    --cc=ecos-discuss@sources.redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).