linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Bill Davidsen <davidsen@tmr.com>
Cc: Yury Umanets <umka@namesys.com>, Daniel Egger <degger@fhm.edu>,
	Hans Reiser <reiser@namesys.com>,
	Nikita Danilov <Nikita@namesys.com>,
	Linux Kernel Mailinglist <linux-kernel@vger.kernel.org>,
	reiserfs mailing list <reiserfs-list@namesys.com>
Subject: Re: Reiser4 status: benchmarked vs. V3 (and ext3)
Date: Fri, 15 Aug 2003 16:53:22 +0100	[thread overview]
Message-ID: <1060962802.32490.164.camel@hades.cambridge.redhat.com> (raw)
In-Reply-To: <Pine.LNX.3.96.1030815111741.20604A-100000@gatekeeper.tmr.com>

On Fri, 2003-08-15 at 15:32 -0400, Bill Davidsen wrote:
> On Thu, 14 Aug 2003, David Woodhouse wrote:
> 
> > The raw hardware driver provides only raw read/write/erase
> > functionality; no caching is appropriate. 
> 
> Okay, that's the model I have in mind as the driver, assuming you included
> seek in that list.

No seek -- offsets are passed to the read/write methods, like
pread()/pwrite(). 

We have read(), which reads from the flash hardware, erase() which
resets an eraseblock to all 0xFF, and write() which performs an bitwise
AND operation between the contents of the flash and the buffer provided
(you can only clear bits on flash, you can't set them except by erasing;
qv.).

> > If you want to teach a file system about flash and wear levelling, you
> > end up ditching the pretence that it's a block device entirely and
> > working directly with the flash hardware driver. 
> 
> I don't think that's right. A file system may very well be *optimized* for
> performance on a certain class of device, but that doesn't make it device
> dependent. For example some early SysV filesystems had the directory in
> the middle of the platters to minimize seek distance when the partition
> was only partially filled. I'd bet I could run JFFS2 on a normal drive,
> and I know I can run FAT, ext2, etc on a CF. Now if Linux only knew how to
> read SysV.4 drives I could save some critical old data from the 90's, but
> that's another issue...

CF != flash. For the purpose of this discussion, 'CF' and 'normal drive'
are identical concepts. They are block devices; not MTD devices. JFFS2
does not work on them (without trickery) since JFFS2 is not written to
use block devices.

Conversely, you cannot use FAT/ext/etc on real flash without some kind
of 'translation layer' to make it pretend to be a block device.

CF just happens to have that translation layer built in to its hardware
rather than doing it in software -- so as far as the computer is
concerned, CF _is_ an IDE hard drive.

> > Either that or use a translation layer which does it _all_ for the file
> > system and then just use a standard file system on that simulated block
> > device.
> 
> That sounds like a loopback mount, sort of. At least a feature which could
> be added fairly easily, like crypto mounts.

No, it's nothing like a loopback mount. It's a pseudo-filesystem. Three
sane implementations of such a thing are already in the kernel, and one
hopelessly trivial readonly one.

-- 
dwmw2


  reply	other threads:[~2003-08-15 15:53 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-23 21:02 Reiser4 status: benchmarked vs. V3 (and ext3) Hans Reiser
2003-07-24  4:26 ` Tupshin Harper
2003-07-24  4:31   ` Shawn
2003-07-24  4:56     ` Tupshin Harper
2003-07-24  5:21       ` Shawn
2003-07-24  5:33         ` Shawn
2003-07-24 11:10         ` Nikita Danilov
2003-07-24 15:10           ` Tupshin Harper
2003-07-24 15:26             ` Larry McVoy
2003-07-24 15:32               ` Tupshin Harper
2003-07-24 15:54                 ` Larry McVoy
2003-07-24 15:32               ` Shawn
2003-07-27 12:28           ` Hans Reiser
2003-07-27 12:45             ` Tomas Szepe
2003-07-27 14:01               ` Hans Reiser
2003-07-27 15:04               ` Gene Heskett
2003-07-24 15:59 ` Daniel Egger
2003-07-24 17:07   ` Nikita Danilov
2003-07-24 21:10     ` Tupshin Harper
2003-07-25 12:57       ` Nikita Danilov
2003-07-25  0:39     ` Daniel Egger
2003-07-25 13:02       ` Nikita Danilov
2003-07-25 14:20         ` Daniel Egger
2003-07-25 14:39           ` Yury Umanets
2003-07-26  1:08             ` Daniel Egger
2003-07-26  7:19               ` Yury Umanets
2003-07-26 14:13                 ` Daniel Egger
2003-07-26 14:54                   ` Yury Umanets
2003-07-26 15:21                     ` Daniel Egger
2003-07-27  3:28                       ` Valdis.Kletnieks
2003-07-27 10:30                       ` Yury Umanets
2003-07-27 11:05                         ` Daniel Egger
2003-07-27 11:46                           ` Yury Umanets
2003-08-08 14:01                         ` David Woodhouse
2003-08-08 14:28                           ` Bernd Eckenfels
2003-08-08 23:58                             ` David Woodhouse
2003-08-09  0:29                               ` Bernd Eckenfels
2003-08-09  0:38                                 ` David Woodhouse
2003-07-27 13:31                     ` Hans Reiser
2003-07-27 14:13                       ` Yury Umanets
2003-07-27 13:28                   ` Hans Reiser
2003-07-27 14:10                     ` Daniel Egger
2003-07-27 14:15                       ` Yury Umanets
2003-08-13 20:12                         ` Bill Davidsen
2003-08-14  5:04                           ` Yury Umanets
2003-08-14 14:10                             ` David Woodhouse
2003-08-15 11:15                               ` Yury Umanets
2003-08-15 15:28                               ` Bill Davidsen
2003-08-15 15:53                                 ` David Woodhouse [this message]
2003-08-14 13:58                           ` David Woodhouse
2003-07-27 15:30                       ` Bernd Eckenfels
2003-07-27 15:49                         ` Alan Cox
2003-08-08 13:23                           ` David Woodhouse
2003-07-28 11:30                       ` Hans Reiser
2003-07-26 17:14                 ` Jussi Laako
2003-07-27 13:35                   ` Hans Reiser
2003-08-08 14:08                   ` David Woodhouse
2003-07-27 12:59           ` Hans Reiser
2003-07-27 14:16             ` Daniel Egger
2003-07-27 15:32               ` Bernd Eckenfels
2003-08-08 14:29                 ` David Woodhouse
2003-07-28 12:44               ` Hans Reiser
2003-07-28 13:06                 ` Daniel Egger
2003-07-28 13:29                   ` Hans Reiser
2003-07-28 13:48                   ` Hans Reiser
2003-07-27 12:38   ` Hans Reiser
2003-07-26  8:33 ` Andrew Morton
2003-07-27 13:24   ` Hans Reiser

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=1060962802.32490.164.camel@hades.cambridge.redhat.com \
    --to=dwmw2@infradead.org \
    --cc=Nikita@namesys.com \
    --cc=davidsen@tmr.com \
    --cc=degger@fhm.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=reiser@namesys.com \
    --cc=reiserfs-list@namesys.com \
    --cc=umka@namesys.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 NNTP newsgroup(s).