2247 The FreeBSD Forums - View Single Post - Help with Inode
Thread: Help with Inode
View Single Post
  #8  
Old January 5th, 2012, 13:54
GroupInode GroupInode is offline
Junior Member
 
Join Date: Oct 2011
Posts: 18
Thanks: 6
Thanked 0 Times in 0 Posts
Default

Thank you for the reply.
Well I am a beginner at UNIX and I am trying to make this project as my undergraduate project. I appreciate all the queries you listed above although I am half way through with studying the system calls.

I think the path for the system calls are two fold:
1. Filesystem Independent system calls present in /usr/src/lib/libstand
2. Filesystem Dependent system calls present in /usr/src/lib/libstand/<file_system.c>

I have read /usr/src/lib/libstand/stand.h which I think is the periphery of Platform Independence. I t has a structure called struct fs_ops which has function pointers for system calls like *open(), *stat(), *fstat() etc.
These function pointers are made to point to actual system calls from different Platform Dependent file systems like ext2fs , ufs etc.
This is done by the open system call ( by reading from the struct open_file files[] and struct fs_ops *file_system[]).
I think if we want to add thi field for a particular file system, then I should try to make changes in file system C files like ufs.c and vfs.c ( and so on ...)

Now I was thinking that modifying already implemented file systems is a messy thing as you pointed out. So, I was planning to make my own file system. This file system code will only include the necessary fs_ops (File system Operations i.e. system calls) and putting the appropriate pointers in stand.h. Am I thinking right?

I read an IBM Developer Forum for FUSE which explained how to create a File System in User Space which explained something very similar. The link is as follows:
http://www.ibm.com/developerworks/linux/library/l-fuse/

Can you please suggest if I am on the right track or not. And also can you suggest some links I can read, that might help me for the same( ie For creating or modifying the file system)
Reply With Quote
 
0