Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Mar 2012 12:45:13 +0100
From:      Attilio Rao <attilio@freebsd.org>
To:        Efstratios Karatzas <gpf.kira@gmail.com>
Cc:        freebsd-hackers@freebsd.org, Gleb Kurtsou <gleb.kurtsou@gmail.com>, kib@freebsd.org, gleb@freebsd.org
Subject:   Re: NTFS GSoC Project Idea
Message-ID:  <CAJ-FndCvM%2BuSEfELGLKvJFvy952Z8x7orcY4a6dTc3_4NDt0kw@mail.gmail.com>
In-Reply-To: <CAHywV0iSb9Om4FPYCmXLZiRgCdnQj0MEe_7EuNwqf45=E=o2cw@mail.gmail.com>
References:  <CAHywV0grxaU9f4HopELdc9hcfZgdUUBmRdvHsT46N%2Bfny_1e6Q@mail.gmail.com> <20120327200631.GA48486@reks> <CAHywV0iSb9Om4FPYCmXLZiRgCdnQj0MEe_7EuNwqf45=E=o2cw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2012/3/27, Efstratios Karatzas <gpf.kira@gmail.com>:
> On Tue, Mar 27, 2012 at 11:06 PM, Gleb Kurtsou
> <gleb.kurtsou@gmail.com>wrote:
>
>> On (26/03/2012 21:13), Efstratios Karatzas wrote:
>> > Greetings,
>> >
>> > I am a FreeBSD GSoC 2010 student, looking to participate in this years
>> > GSoC. The project that I wish to work on is the FreeBSD NTFS driver.
>> >
>> > I 've already discussed my project idea with Attilio@ who suggested
>> that I
>> > forward my proposal to the hackers mailing list in order to get more
>> > feedback and see if there's anyone interested in mentoring a NTFS
>> project.
>> >
>> > The current draft of the technical part of my proposal(pdf & plain text)
>> > can be found here:
>> >
>> > http://cgi.di.uoa.gr/~std06101/ntfs/ntfs_proposal.tar
>> >
>> > The project idea focuses on mp-safing the NTFS driver as well as adding
>> > extra write support. I've tried to merge the two conflicting NTFS
>> > project
>> > ideas in the ideas wiki page, into one. One of them suggesting that work
>> > should be done on the current driver (mp-safe it etc) and the other one
>> > suggesting that we port Apple's NTFS driver from scratch. The concept is
>> > that we keep most of our vnode/vfs code (i.e. ntfs_vfsops.c,
>> ntfs_vnops.c)
>> > and rework existing infrastructure as needed as well as implement new
>> > features using Apple's driver as a guide.
>>
>> I'm not sure I follow your idea, but I'd suggest sticking to a single
>> project: either improve FreeBSD NTFS or do the port. FreeBSD and Darwin
>> ntfs implementations are completely unrelated thus porting features from
>> Darwin won't be easy.
>>
>> > This way, we avoid the major
>> > changes in Apple's VFS (is there any documentation to be found?) and
>> > port
>> > code that won't break current functionality.
>>
>> I bet "major changes in Apple's VFS" are easier to deal with than
>> "merging" two unrelated file systems. XNU VFS is based on FreeBSD 5 VFS
>> and they still share a lot in common, e.g. vnode operations themselves
>> are nearly the same, e.g. extended attributes, locking, buffer cache are
>> different.
>>
>> Take a look at HFS+ port. It's unmaintained and outdated but page
>> contains link to CVS repository snapshot.
>> http://people.freebsd.org/~yar/hfs/
>>
>> > I tried to keep this e-mail brief so If you wish to know more, please
>> refer
>> > to the proposal.
>> >
>> > Thank you
>> >
>> > --
>> >
>> > Efstratios "GPF" Karatzas
>>
>
> Since the FreeBSD wiki has two conflicting NTFS ideas, I thought of
> submitting two proposals: one to work on the current driver and one to port
> Apple's driver and let the FreeBSD team choose, should they wish to pick
> one of them. Attilio suggested that perhaps a merge of those two ideas was
> better than two separate proposals and this was my attempt to merge those
> ideas; I hear what you say though.

What I specifically had in mind is:
- make NTFS mpsafe
- bugbusting
- surf in Apple implementation/history, check for bugfixes there and
import in the FreeBSD implementation

Unfortunately our idea page is not as updated as you want it to be,
thus it happens to find duplicate ideas list, not well merged, etc.

Attilio


-- 
Peace can only be achieved by understanding - A. Einstein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-FndCvM%2BuSEfELGLKvJFvy952Z8x7orcY4a6dTc3_4NDt0kw>