linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kai Bankett <chaosman@ontika.net>
To: linux-fsdevel@vger.kernel.org
Subject: QNX EFS Driver
Date: Thu, 22 Mar 2012 19:24:35 +0100	[thread overview]
Message-ID: <4F6B6E63.8060200@ontika.net> (raw)

Hi together,

I did not lazily put my legs up ... (in case someone got that impression)
Had to reverse engineer another QNX filesystem first. (for what I want 
to achieve with all that QNX stuff)
However, at that stage I greatly could need some inspiration by you on 
how to improve driver quality. (not the nicest peace of code I ever 
wrote ...)

The QNX EFS Filesystem is used in flash devices and created during the 
build process. The EFS file is the flashed onto the flash chips in 
embedded designs.

Due to the fact that the QNX EFS Filesystem is not using any fixed 
blocks and just some fixed structures, I started fighting against the 
buffer head blocksize.
I think I could pretty up the code a lot if there's any way to read N 
Bytes from a device at position X.
Already started to look around, but could not really find something 
giving me direct position access to a device.

Well, maybe there's a even better way to solve things? (so feedback 
very, very welcome)

But first here's the patch (as it currently is):
http://a6.ontika.net/patches/efs-patch-v3.gz

At least I would be extremly thankful if someone could point me some 
direction on how to better solve the chunkreading in qnxefs_file_read().
It's currently buffer_head based with a blocksize of 512kb. The QNX EFS 
- at least the files I got hold of - uses 16384 byte Blocks in 262144 
byte logical units.
So a file is split into chunks of up to 0x4000 size, but that chunks can 
vary in size. (in case of the end of a logical unit, file end etc.)

Hope I am not boring you too much with all my QNX stuff ;)

Thanks,

Kai

             reply	other threads:[~2012-03-22 18:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-22 18:24 Kai Bankett [this message]
2012-03-23 13:28 ` QNX EFS Driver Matthew Wilcox

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=4F6B6E63.8060200@ontika.net \
    --to=chaosman@ontika.net \
    --cc=linux-fsdevel@vger.kernel.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 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).