Develop a VFS driver in Linux

Closed Posted Mar 11, 2013 Paid on delivery
Closed Paid on delivery

The project consists on developing a Linux VFS filesystem module.

The driver has to read a configuration file with the next format:

[VFS]

SourceFolder = /share/NAS/Source

IndexFolder = /share/NAS/Index

DataFile = /share/NAS/Data/[url removed, login to view]

ExcludedProcess = ExcludedProgram

The driver has to intercept all the file system operations over SourceFolder, unless the process who try to access to those files is the excluded process. Every time any other process try to access to a file stored inside the SourceFolder the driver has to do the next actions:

- Read function:

o Check if there is a equivalent file inside the Indexfolder. For example if someone try to read the file “/share/NAS/Source/Folder1/SubFolder1/File2”, check if exists the file “/share/NAS/Index/Folder1/SubFolder1/File2”.

o If the index file exist:

? This index file will contain the offsets where is stored the real content of File2 in the DataFile. The format of the index file is a header and one offset of 64bit for each 16KB.

? The driver has to read the desired buffer from the DataFile based in the index file and return a buffer with the required content.

o If the index file does not exist, return the required content from the source file.

- Write, Delete and Rename functions:

o If the index file exist, block the writing action returning an access denied error.

o If the index file does not exist, let do the writing action.

The code has to be written in C language.

Additionally to the development of the driver, you have to develop a testing tool, a program to test the excluded process and write a document describing in detail how to compile, install and test the project in 32 and 64 bit OS.

You should thoroughly test all the code before delivery and of course, deliver them without compilation errors or warnings.

We will test the program with Ubuntu 12.10 and we use Eclipse Juno as IDE.

C Programming Linux Software Architecture

Project ID: #4322864

About the project

9 proposals Remote project Active Apr 17, 2013

9 freelancers are bidding on average $689 for this job

stream18

Nice project, I have experience doing linux kernel modules (both drivers and stackable filesystems) so I think it's going to be interesting working on this if you agree.

$800 USD in 14 days
(23 Reviews)
7.3
edsiper

please check my private message for proposal details

$1200 USD in 8 days
(6 Reviews)
6.5
DavidLou

Hi Carza, I would like you to know what you think of my ideas for this project.

$750 USD in 21 days
(23 Reviews)
5.8
SoftwareParadise

ready to do

$600 USD in 26 days
(1 Review)
0.0
PaulIonkin

Hello, I'm highly experienced Linux / C server-side developer (12 years in this area). I've created a number of successful VFS filesystem projects in the past (will send you references to my related OpenSource proje More

$800 USD in 20 days
(0 Reviews)
0.0
backtrack85

I am an experienced C programmer and I can do the job

$700 USD in 20 days
(0 Reviews)
0.0
veltrod

Hi, Veltrod Software services is a global software consulting company specialized in providing Mobile applications, Social media frameworks and eCommerce solutions. Leveraging best-in-class people, processes, and te More

$850 USD in 25 days
(0 Reviews)
0.0
techtitanic

It's an easy task for us. We have gone through the project requirements and may start working on it immediately. Please check PM for complete details.Thanx.

$999 USD in 30 days
(0 Reviews)
0.0
PankajCh

I am an expert Linux device driver developer. I have gone through the requirements and can deliver A+ quality driver. Please review my message.

$700 USD in 14 days
(0 Reviews)
0.0
daicb

Dear Carza I am a DAICB sales agent. We have at our disposal highly trained professionals ready to serve and bring your ideas to reality with the highest efficiency and quality. Our company takes care to ensure the qua More

$500 USD in 20 days
(0 Reviews)
0.0
Rujanist

Experienced system Linux programmer.

$500 USD in 7 days
(0 Reviews)
0.0