Creating mkfs for my custom filesystem

Sankar P sankar.curiosity at gmail.com
Fri Mar 29 06:14:49 EDT 2013


On Fri, Mar 29, 2013 at 3:28 PM, Tobias Boege <tobias at gambas-buch.de> wrote:
> On Fri, 29 Mar 2013, Sankar P wrote:
>> Hi,
>>
>> I am trying to write a simple filesystem to learn the basics of it.
>>
>> I have decided on a simple layout for my filesystem where the first
>> block will be the super block and   will contain the version
>> information etc. The second block will contain the list of inodes.
>> Third block onwards will be data blocks. Each file can grow only up to
>> a single block size. Thrid block will represent the first file, fourth
>> block for the second file and so on. Directories will not be
>> supported.
>>
>> Now I want to create a mkfs for my filesystem as mentioned above. But
>> I am not able to find out how to do the mkfs for my filesystem such
>> that the generic mkfs utility will understand my filesystem. What APIs
>> should I be using ?
>>
>> Any help is appreciated. Thanks.
>
> According to my copy of the mkfs sources, you just have to create a program
> named "mkfs.ID" where ID identifies your filesystem. Then put that program
> in a location that the generic mkfs can find, i.e. under $PATH (mkfs seems
> to make some additions to PATH but you should figure this out yourself).
>
> Finally, calling "mkfs -t ID" makes mkfs search for a program named
> "mkfs.ID" - simple concatenation.
>

oh okay. But how do I create the superblock ? What are the APIs
available to do these block level operations from a user space
application (my mkfs program ) ?

Thanks.


--
Sankar P
http://psankar.blogspot.com



More information about the Kernelnewbies mailing list