Support for other filesystems

17 views
Skip to first unread message

alby

unread,
Feb 8, 2011, 7:35:39 AM2/8/11
to minix3
Hello everyone,

I just wanted to ask if support for other filesystems is planned.

I am especially interested in the BFS filesystem that is used in Haiku
OS. What are the chances of it being supported in the future versions?

Thanks

alby

Michael Rodriguez

unread,
Feb 8, 2011, 5:18:31 PM2/8/11
to min...@googlegroups.com
Supporting other file systems would be nice, I personally would like
to port JFS. I'm not a developer and I don't speak for the developers,
but porting other file systems should be paramount as this point. I
think MINIX currently has MFS (MINIX file system), and ext2. So yeah,
I think porting BFS wouldn't be such a bad idea. But I'm unaware the
chances of support for it.

> --
> You received this message because you are subscribed to the Google Groups "minix3" group.
> To post to this group, send email to min...@googlegroups.com.
> To unsubscribe from this group, send email to minix3+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/minix3?hl=en.
>
>

D.C. van Moolenbroek

unread,
Feb 9, 2011, 7:55:01 AM2/9/11
to minix3
Hi,

Nothing is planned there; I'm afraid we just don't have time to work
on things like that ourselves. Obviously we very much welcome external
contributions.

Regards,
David

abhinav

unread,
Feb 9, 2011, 4:29:53 PM2/9/11
to minix3
Hi,
I am a final year engineering student. I was interested in
learning about file systems and was planning to work on a project
related to it. I was referring to the Minix3 book and also "Practical
File System Design:The Be File System" by Dominic Giampaolo.

I was wondering what kind of work will be required in order to support
BeFS on Minix , like porting BeFS code or writing an abstraction
API ? Also, how much effort in terms of time would be required to do
this ( I have only about 2 months left in the semester )?

Niek Linnenbank

unread,
Feb 9, 2011, 4:47:18 PM2/9/11
to min...@googlegroups.com
Good to hear people are interested in writing new filesystems for MINIX!
In my opinion, BeFS would indeed be nice to have. However I think it'll be
more interesting to have a filesystem like FAT32 ported to MINIX,
as it's much used on USB-sticks (and work is being done to implement USB afaik).

Additionally I think that FAT32 is a relatively simple filesystem so it's also an
excellent candidate for a learning experience.

--
You received this message because you are subscribed to the Google Groups "minix3" group.
To post to this group, send email to min...@googlegroups.com.
To unsubscribe from this group, send email to minix3+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/minix3?hl=en.

Abhinav Upadhyay

unread,
Feb 9, 2011, 5:44:37 PM2/9/11
to min...@googlegroups.com
Porting FAT32 to MINIX seems really a nice idea and I think it would suit my purpose  as a student project as well. 

Now, I wanted to ask something about it. Porting a normal package usually means modifying the makefiles, configurations, and some amount of code of the package. But in case of porting FAT32 , I think, it would mean implementing it from scratch. Am I correct ? 

I would like some pointers regarding this, so that I may start in the right direction.

Thanks & Regards
Abhinav Upadhyay
(abh...@hover.in)

alby

unread,
Feb 9, 2011, 7:03:31 PM2/9/11
to minix3
Good to know that there are people interested in the BFS filesystem.
It is really an excellent filesystem, which is a relational database
at the same time.
You may already know that a BFS driver has been ported to Linux
already (and of course is open source). If I am not mistaken, there is
a BFS driver for Windows too.
Looking at previous implementations of the filesystem driver will
serve as inspiration and help for creating a Minix version.

Apart from that, I am reasonably confident that Axel Dörfler, who
developed the BFS version for Haiku OS (where BFS is the native
filesystem) and currently maintains it, would be willing to help
anyone interested. BTW, his email is axeld at (remove-this) pinc-
software >dot<(remove-this) de.
After BFS's creator Dominic Giampaolo (who now works for Steve Jobs),
Alex Dörfler is now THE man with real expertise on the BFS filesystem.

Anyone willing to take up this BFS project for Minix?



On Feb 9, 10:29 pm, abhinav <abhinav.jackspar...@gmail.com> wrote:
> Hi,
>       I am a final year engineering student. I was interested in
> learning about file systems and was planning to work on a project
> related to it. I was referring to the Minix3 book and also "Practical
> File System Design:The Be File System" by .
>
> I was wondering what kind of work will be required in order to support
> BeFS on Minix , like porting BeFS code or writing an abstraction
> API   ? Also, how much effort in terms of time would be required to do
> this ( I have only about 2 months left in the semester )?
>
> On Feb 9, 5:55 pm, "D.C. van Moolenbroek" <sat...@xise.nl> wrote:
>
>
>
> > Hi,
>
> > Nothing is planned there; I'm afraid we just don't have time to work
> > on things like that ourselves. Obviously we very much welcome external
> > contributions.
>
> > Regards,
> > David
>
> > On Feb 8, 1:35 pm, alby <alb...@gmail.com> wrote:
>
> > > Hello everyone,
>
> > > I just wanted to ask if support for other filesystems is planned.
>
> > > I am especially interested in the BFS filesystem that is used in Haiku
> > > OS. What are the chances of it being supported in the future versions?
>
> > > Thanks
>
> > > alby- Hide quoted text -
>
> - Show quoted text -

Juho Hiltunen

unread,
Feb 10, 2011, 1:15:13 AM2/10/11
to min...@googlegroups.com
Abhinav Upadhyay, Thu, Feb 10, 2011 at 12:44:37AM +0200:

> Now, I wanted to ask something about it. Porting a normal package usually means modifying the makefiles, configurations, and some amount of code of the package. But in case of porting FAT32 , I think, it would mean implementing it from scratch. Am I correct ?

You are right. Get the FAT specification from Microsoft and
implement it based in a MINIX specific way (system calls, coding
guidelines etc).

A good place to get started is http://wiki.osdev.org/FAT for
example.


--

Juho Hiltunen
jhil...@ulapland.fi
+358 (0)407730352

Antoine LECA

unread,
Feb 10, 2011, 5:44:05 AM2/10/11
to min...@googlegroups.com
Niek Linnenbank wrote:
> Good to hear people are interested in writing new filesystems for MINIX!
> In my opinion, BeFS would indeed be nice to have. However I think it'll be
> more interesting to have a filesystem like FAT32 ported to MINIX,
> as it's much used on USB-sticks (and work is being done to implement USB
> afaik).

I believe having FAT32 working is only a matter of having people
dedicating time to polish the code. I have raw code for a FAT file
system server, but
- I saw nobody interested by testing the code as it stands;
- the internals of MINIX evolve too quickly so I cannot stand up;
- I was advised to make sure the code work with GCC rather than ACK,
but I am not able to run a stable version of MINIX based on GCC on my
limited hardware base and within my limited time allocation;
- I have a couple of decisions in stand by, basically about memory
allocation: I wrote the code with the idea to use fixed-memory
allocation scheme as used historically in MINIX, but I am unsure if this
is the way to go in the future (where is going Minix anyway?)


> Additionally I think that FAT32 is a relatively simple filesystem so it's
> also an excellent candidate for a learning experience.

On the other hand, FAT is different by several key features (no unique
central index references like inodes are, misalignment of blocks wrt the
whole file system which affects the way caching is handled) so a fair
part of the way FAT differs from MFS is not reusable for others FS.


Antoine

Antoine LECA

unread,
Feb 10, 2011, 6:02:17 AM2/10/11
to min...@googlegroups.com
Abhinav Upadhyay wrote:
> Now, I wanted to ask something about it. Porting a normal package usually
> means modifying the makefiles, configurations, and some amount of code of
> the package. But in case of porting FAT32 , I think, it would mean
> implementing it from scratch. Am I correct ?

In my experience, writing a file system server, particularly one which
is served by real-hardware drivers, unlike hgfs or procfs, is highly
based on the existing code in MFS (and now ext2fs, since it followed the
same path.)

The amount of code to write is MUCH bigger than with porting a package;
for FAT, I believe I wrote from scratch about 20% (of 4400 lines), about
20% have been lifted from other packages, I rewrote 50% of existing MFS
code and only 10% are unchanged; I certainly went too far in rewriting,
but I believe it would be difficult to go below 20/20/30/30 for FAT.
Evgeniy might comment on for its part, I believe he was able to reuse a
lot more of code from MFS unchanged because ext2fs is much more alike
MFS (cf. my previous post, which will appear later in the thread);
OTOH for hgfs I think David wrote far more code from scratch.


Antoine

abhinav

unread,
Feb 10, 2011, 1:59:03 PM2/10/11
to minix3
I am going to be working on a file system project during this summer .
I believe FAT32 would have been relatively simpler but as Anotoine has
already implemented it, there is no point reinventing the wheel.

So, I am willing to work on BFS project for MINIX. Besides If MINIX
was planning to participate in GSOC-2011 then this project would be a
good candidate for GSOC . I think this project could be done through
the summer. I am also willing to show that I have the potential to do
this project by doing some smaller coding tasks in MINIX.

Niek Linnenbank

unread,
Feb 10, 2011, 2:14:00 PM2/10/11
to min...@googlegroups.com
So you mean you already have an implementation of FAT32 on MINIX?
That's very interesting. It would be great if you could share it with everyone here on the list.


--
You received this message because you are subscribed to the Google Groups "minix3" group.
To post to this group, send email to min...@googlegroups.com.
To unsubscribe from this group, send email to minix3+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/minix3?hl=en.

Evgeniy Ivanov

unread,
Feb 11, 2011, 3:32:00 PM2/11/11
to min...@googlegroups.com
I think for ext2 it's about ~15-20% of new code, 30% unchanged, 30% of
MFS was modified, 20% very minor modifications.
If someone is interested things like sloccount might help to make
accurate calculations.
But still you have to inspect all the code.

> --
> You received this message because you are subscribed to the Google Groups "minix3" group.
> To post to this group, send email to min...@googlegroups.com.
> To unsubscribe from this group, send email to minix3+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/minix3?hl=en.
>
>

--
Evgeniy Ivanov

alby

unread,
Feb 12, 2011, 6:46:20 AM2/12/11
to minix3
On Feb 10, 7:59 pm, abhinav <abhinav.jackspar...@gmail.com> wrote:

> So, I am willing to work on BFS project for  MINIX. Besides If MINIX

Wow! Great news! Go for it, Abhinav! Go!

It sure would be a GREAT contribution to Minix.

Reply all
Reply to author
Forward
0 new messages