Menu

Tree [8fb390] master /
 History

HTTPS access


File Date Author Commit
 dtd 2010-01-09 Sandeep K Sinha Sandeep K Sinha [11237b] Introducing OHSM_DISCARD_PA to discard any exis...
 ext4 2010-01-09 Sandeep K Sinha Sandeep K Sinha [a82a65] Intialize s_ohsm = NULL in ext4_fill_super.
 include 2010-01-09 Sandeep K Sinha Sandeep K Sinha [11237b] Introducing OHSM_DISCARD_PA to discard any exis...
 kernel 2010-01-09 Sandeep K Sinha Sandeep K Sinha [ed98f4] Fixing a compiler error in kernel/Makefile.in
 patch 2009-08-22 Manish Katiyar Manish Katiyar [c92b10] Add a new branch for ext4 development Add patch...
 sample 2010-01-09 Sandeep K Sinha Sandeep K Sinha [11237b] Introducing OHSM_DISCARD_PA to discard any exis...
 scripts 2009-08-29 Manish Katiyar Manish Katiyar [d430c0] DTD and xml file changes for ext4
 userspace 2010-01-10 Sandeep K Sinha Sandeep K Sinha [8fb390] Fixing extra while spaces and identation issues.
 .gitignore 2009-09-08 Manish Katiyar Manish Katiyar [1e65ce] asdf
 Makefile.in 2010-01-09 Sandeep K Sinha Sandeep K Sinha [9fe0d6] Pulling Manish's ohsm_next branch.
 README 2009-08-13 Manish Katiyar Manish Katiyar [6ccf2a] Create the master branch for ohsm
 config.h.in 2009-08-13 Manish Katiyar Manish Katiyar [6ccf2a] Create the master branch for ohsm
 configure 2010-01-09 Sandeep K Sinha Sandeep K Sinha [9fe0d6] Pulling Manish's ohsm_next branch.
 configure.in 2010-01-09 Sandeep K Sinha Sandeep K Sinha [9fe0d6] Pulling Manish's ohsm_next branch.
 install.sh 2009-08-13 Manish Katiyar Manish Katiyar [6ccf2a] Create the master branch for ohsm

Read Me

/**********************************************************************/ 
/*                               README                               */    
/*                                                                    */                                    
/*                 Online Hierarchical Storage Manager                */
/*                          version 1.1.1                             */
/*                                                                    */
/**********************************************************************/

OHSM is a Open Hierarchical Storage Management that includes both kernel 
and user space components.  The kernel aspect for now is composed of a 
EXT2 patch and a ohsm module.

A whitepaper describing it can be found at <http://fscops.googlecode.com/files/OHSM_Whitepaper.pdf>

The current release ohsm 1.1.1 only supports the 2.6.30 kernel.  The 
kernel needs to be patched, so you need to download a vanilla copy from 
http://www.kernel.org for example.

One option is to install it in /usr/src.  This can be done by downloading 
the tar.bz file to your home download directory, then as root copying it 
to /usr/src, then expanding it via tar -xjf linux-2.6.30.tar.bz2

For background information on basic kernel downloading and compiling see 
Robert Day's article at:
<http://linux.com/learn/linux-training/29812-the-kernel-newbie-corner-building-and-running-a-new-kernel>

Once you have the kernel downloaded and compiled you are ready to try 
and boot from it.  The ohsm compile scripts assume you are running 
from the 2.6.30 kernel you will be patching and working with.

So go ahead and reboot to the new vanilla kernel.

Once you have that working you are ready to patch in the ext2 ohsm 
changes.  As of ohsm v1.1.1 you can find the kernel patch via:
svn checkout http://fscops.googlecode.com/svn/trunk/fscops/ohsm/OHSMv1.1.1/patch/patch_ohsm_2.6.30 fscops-read-only

Patch in the ext2 patch via commands like:

# cd /usr/src/linux-2.6.30

# patch -p1 < ../fscops/patch/patch_ohsm_2.6.30
patching file linux-2.6.30/fs/ext2/balloc.c
patching file linux-2.6.30/fs/ext2/ext2.h
patching file linux-2.6.30/fs/ext2/ialloc.c
patching file linux-2.6.30/fs/ext2/inode.c
patching file linux-2.6.30/fs/ext2/namei.c
patching file linux-2.6.30/include/linux/ext2_fs.h

You are now ready to start building ohsm!

To compile it you need device-mapper-devel and libxml2-devel installed.  
This will provide libdevmapper.h and the necessary xml programs and headers.

Once you have those installed it is the standard:

./configure
make
make install

sequence

What could be simpler?