Closed

Develop a VFS driver in Linux

This project received 11 bids from talented freelancers with an average bid price of $764 USD.

Get free quotes for a project like this
Employer working
Project Budget
N/A
Total Bids
11
Project Description

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 [url removed, login to view] and we use Eclipse Juno as IDE.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online