linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Amit Gud <gud@cis.ksu.edu>
To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: val_henson@linux.intel.com, riel@surriel.com, zab@zabbo.net,
	arjan@infradead.org, suparna@in.ibm.com, brandon@ifup.org,
	karunasagark@gmail.com, gud@ksu.edu
Subject: [RFC][PATCH] ChunkFS: fs fission for faster fsck
Date: Mon, 23 Apr 2007 06:21:34 -0500 (CDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0704230544450.1682@camaro.cis.ksu.edu> (raw)

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1990 bytes --]


This is an initial implementation of ChunkFS technique, briefly discussed
at: http://lwn.net/Articles/190222 and 
http://cis.ksu.edu/~gud/docs/chunkfs-hotdep-val-arjan-gud-zach.pdf

This implementation is done within ext2 driver. Every chunk is an 
independent ext2 file system. The knowledge about chunks is kept within 
ext2 and 'continuation inodes', which are used to allow files and 
directories span across multiple chunks, are managed within ext2.

At mount time, super blocks for all the chunks are created and linked with 
the global super_blocks list maintained by VFS. This allows independent 
behavior or individual chunks and also helps writebacks to happen 
seamlessly.

Apart from this, chunkfs code in ext2 effectively only provides knowledge of:

- what inode's which block number to look for, for a given file's logical 
block number
- in which chunk to allocate next inode / block
- number of inodes to scan when a directory is being read

To maintain the ext2's inode number uniqueness property, 8 msb bits of 
inode number are used to indicate the chunk number in which it resides.

As said, this is a preliminary implementation and lots of changes are 
expected before this code is even sanely usable. Some known issues and 
obvious optimizations are listed in the TODO file in the chunkfs patch.

http://cis.ksu.edu/~gud/patches/chunkfs-v0.0.8.patch
- one big patch
- applies to 2.6.18

Attached - ext2-chunkfs-diff.patch.gz
- since the code is a spin-off of ext2, this patch explains better what
   has changed from the ext2.

git://cislinux.cis.ksu.edu/chunkfs-tools
- mkfs, and fsck for chunkfs.

http://cis.ksu.edu/~gud/patches/config-chunkfs-2.6.18-uml
- config file used; tested mostly on UML with loopback file systems.

NOTE: No xattrs and xips yet, CONFIG_EXT2_FS_XATTR and CONFIG_EXT2_FS_XIP 
should be "no" for clean compile.


Please comment, suggest, criticize. Patches most welcome.


Best,
AG
--
May the source be with you.
http://www.cis.ksu.edu/~gud

[-- Attachment #2: Type: APPLICATION/octet-stream, Size: 41382 bytes --]

             reply	other threads:[~2007-04-23 11:35 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-23 11:21 Amit Gud [this message]
     [not found] ` <17965.6084 1.900376.524639@gargle.gargle.HOWL>
2007-04-23 16:28 ` [RFC][PATCH] ChunkFS: fs fission for faster fsck Suparna Bhattacharya
2007-04-23 15:25   ` Amit Gud
2007-04-23 16:32   ` Suparna Bhattacharya
2007-04-24 11:44 ` Nikita Danilov
2007-04-24 18:27   ` David Lang
2007-04-24 19:34     ` Nikita Danilov
2007-04-24 19:26       ` David Lang
2007-04-25 11:34         ` Nikita Danilov
2007-04-25 16:39           ` David Lang
2007-04-25 22:47           ` Valerie Henson
2007-04-26 14:14             ` Jeff Dike
2007-04-26 15:53               ` Amit Gud
2007-04-26 16:05                 ` Jeff Dike
2007-04-26 16:56                   ` Amit Gud
2007-04-27  4:58                   ` Valerie Henson
2007-04-27 15:06                     ` Jeff Dike
2007-05-01 17:26                       ` Valerie Henson
2007-04-26 16:11                 ` Alan Cox
2007-04-26 16:44                   ` Amit Gud
2007-04-24 21:53       ` Amit Gud
2007-04-25 10:54         ` David Chinner
2007-04-25 11:38           ` Andreas Dilger
2007-04-25 17:52             ` Amit Gud
2007-04-25 23:06             ` Valerie Henson
2007-04-25 23:03           ` Valerie Henson
2007-04-26  0:47             ` David Chinner
2007-04-26 22:21               ` Jörn Engel
2007-04-26  8:47             ` Jan Kara
2007-04-27  5:07               ` Valerie Henson
2007-04-27 10:53                 ` Jörn Engel
2007-04-28  6:50                   ` Valerie Henson
2007-04-28 10:03                     ` Jörn Engel
2007-04-25 22:43       ` Valerie Henson

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=Pine.LNX.4.64.0704230544450.1682@camaro.cis.ksu.edu \
    --to=gud@cis.ksu.edu \
    --cc=arjan@infradead.org \
    --cc=brandon@ifup.org \
    --cc=gud@ksu.edu \
    --cc=karunasagark@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riel@surriel.com \
    --cc=suparna@in.ibm.com \
    --cc=val_henson@linux.intel.com \
    --cc=zab@zabbo.net \
    /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).