Home | Links | git | Mailing List
OSC software OSD implementation
As part of investigations into using OSDs as storage devices
direct-attached parallel file systems, systems researchers at OSC
have developed these
codes. The background for the project can be found on this
git Mirror of OSC's OSD internal svn repository. Can be found
here at open-osd.org. (See below)
Thanks to Ananth Devulapalli, the maintainer of the project at OSC, for
letting us do this.
I have also tied the project with TOMO's
tgt git-tree as a submodule, so a user that needs an OSD2
target need only clone one head and everything will sync automatically.
The git tree is here:
git-clone --recursive git://git.open-osd.org/osc-osd.git
for behind a firewall:
git-clone --recursive http://git.open-osd.org/git/trees/osc-osd.git
on the web
The tgt submodule can also be accessed at:
on the web
don't clone directly. Use the git-submodule command from within osc-osd
project to sync everything automatically. See below]
- branch: Historic git-tree
This is the dead git tree that is still available at:
web - http://git.osc.edu/?p=osd.git
It is no longer updated and won't even compile at current
state. But it has the longest available history of the project.
branch: OSC's svn Mirror
Is a branch I manually rebase-merged between the
osc-old-git and a git-branch I made with the help of the svn_fetch3.sh script.
OSC would let me have a read-only access to their GPL parts of the SVN
repository, with the help of a script I import this repository into
git. The script is incremental and is run from time-to-time to update
on OSC's progress. From today on all commits to this branch will be
made only by the svn_fetch3.sh script.
This tags the patch that adds the first version of svn_fetch3.sh script
and friends, from here on the tree branches from the original git tree
and starts the SVN import.
master - branch
At this branch I keep open-osd patches to the OSC project, as
well as the integration with the tgt submodule. Checking out
branch should give a user working results. Other branches might not
compile and/or need farther manual configuration. Here I will try to
keep a working version.
branch might advance faster then "master".
I will try to only cut master at points that compile and pass my
tests, so users have a good chance of a working set. Needless to say
that osc-old-git is frozen.
never rebase, and will only advance forward. Other then exact commits
from svn it will contain updates to the svn_fetch* scripts if needed.
rebase, with open-osd pending patches flouting above osc branch. When/if
some of the patches get accepted by Ananth or are fixed in some other
way, they will get dropped. So for users, they should "git-remote
update" plus "git-checkout -b ..." and not just "git-pull"
How to get started?
One might follow these steps:
clone --recursive git://git.open-osd.org/osc-osd.git
(Please use relatively new git version > 1.5.3.x)
- If you forgot the --recursive switch above You will need an additional step
git submodule update
The --recursive switch will auto-clone the tgt git tree and will checkout
the exact point of the tree needed at that point of the osc-osd tree.
- That's it you are ready to:
- For running the target also read osd-target/README and tgt/doc/.
But basically you should run ./up for a debug load of an OSD2 target. The backing store of the target will be at the default
- For farther instructions on how to run the Initiator please
read osd-initiator/README and so on. You might need Kernel patches or
new Linux versions, for proper bsg support.
From time to time if you want to update on osc-osd progress you
- Save a working merge point: (optional)
tag WORKS_FOR_ME master
This can later be removed
if you're happy with the new stuff. I might keep these tagged as well.
git remote update
if you are on your own
branch -f master origin/master
this will not work if
you're on master.
In that case do:
git-reset --hard origin/master
and one extra step
This will sync tgt to the
proper commit point
-- BoazHarrosh - 23 Sep 2008