From: John Richard Moser <nigelenki@comcast.net>
To: Robert Hancock <hancockr@shaw.ca>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Aligning file system data
Date: Wed, 30 Mar 2005 00:30:56 -0500 [thread overview]
Message-ID: <424A3990.9070002@comcast.net> (raw)
In-Reply-To: <424A3002.0@shaw.ca>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Well then, the verdict is reached.
My original design is based around storing related data in the same
block so that the track cache allows me to evade doing reads while I
poke around.
The design will stay the same; but the dependency on the track cache
will dissappear. I'll simply consider 32KiB or 64KiB to be a nice block
size, 64KiB being the biggest, and leverage the design on the kernel
reading whole blocks into main memory to play with at a time.
Back to designing my file system. . . .
The only lasting regrets I have is that I don't have a good, fast way to
do on-disk locking for a cluster file system. This would make my FS a
complete solution. . . .
It doesn't matter, finishing the design is a while off anyway. I still
have to define several extended journal transaction types to support
fault tolerant dynamic resizing (grow, shrink) while running. I don't
see how to grow left; shrinking from the left is easy enough. Wait,
suddenly I see how to grow left: Superblock at the end, and a bit of
magic. . . .
Robert Hancock wrote:
> John Richard Moser wrote:
>
>> How likely is it that I can actually align stuff to 31.5KiB on the
>> physical disk, i.e. have each block be a track?
>
>
> I don't think this is very likely. Even being able to find out what the
> physical disk arrangement is, or whether it is consistent in terms of
> track size, etc. seems unlikely.
>
>>
>> Rather than leveraging the track cache, would it be less expensive for
>> me to simply read in blocks totaling about 16 or 32KiB all at once?
>
>
> For block sizes that small I think that the kernel should be smart
> enough to do this itself, there is no need to concern with such low
> level details in the application.
>
>> How much more latency is involved in (B) than in (C)? Does crossing a
>> track boundary incur anything expensive?
>
>
> Given that both the disk and the kernel will likely read far more than
> 32KB ahead I can't see much difference other than the overhead inside
> your application..
>
- --
All content of all messages exchanged herein are left in the
Public Domain, unless otherwise explicitly stated.
Creative brains are a valuable, limited resource. They shouldn't be
wasted on re-inventing the wheel when there are so many fascinating
new problems waiting out there.
-- Eric Steven Raymond
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD4DBQFCSjmPhDd4aOud5P8RAgB7AJiWq4Qiyfk1G0SJa+5ZCtJ//WH8AJ9ysogo
3z6+FLvkNgyU/k0o9HBf1w==
=OPXo
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2005-03-30 5:31 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3ND9P-2LV-1@gated-at.bofh.it>
2005-03-30 4:50 ` Aligning file system data Robert Hancock
2005-03-30 5:30 ` John Richard Moser [this message]
2005-03-30 4:32 John Richard Moser
2005-03-30 5:37 ` Bernd Eckenfels
2005-03-30 5:40 ` Barry K. Nathan
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=424A3990.9070002@comcast.net \
--to=nigelenki@comcast.net \
--cc=hancockr@shaw.ca \
--cc=linux-kernel@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 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.