atom feed5 messages in org.freebsd.freebsd-fsRe: JFS port for FreeBSD (jfs4bsd)
FromSent OnAttachments
Hiten PandyaJan 6, 2002 2:48 pm 
Christoph HellwigJan 7, 2002 6:07 am 
Hiten PandyaJan 7, 2002 6:41 am 
Hiten PandyaJan 7, 2002 6:45 am 
Christoph HellwigJan 7, 2002 7:46 am 
Subject:Re: JFS port for FreeBSD (jfs4bsd)
From:Christoph Hellwig (
Date:Jan 7, 2002 7:46:30 am

On Mon, Jan 07, 2002 at 02:41:58PM +0000, Hiten Pandya wrote:

1) By userspace utilities, are you refering to the 'jfsutils'?


I have had the plan to port the utilites as well, because without them the JFS will be useless on FreeBSD.

*nod* running filesystem tools under binary emulations is rather strange..

I've run native sysvfs tools under linux, but as now that I'm Linux sysvfs maintainer I'm looking into implementing free versions of it.

I beleive that most part of the jfsutils is implementation-dependent.. isn't it..?

What do you mean with 'implementation-dependent'? If you mean they work only for JFS2 (aka JFS for OS/2 or Linux) and not for JFS1 (old AIX) then yes.

2) How do I contribute my changes to the JFS Project at IBM?

Mail them to with Cc: to Maybe you could join my whining about a -patches list :)

3) Does the autoconf/automake scripts produce makefiles for the FreeBSD Platform..?

I produces portable makefiles, yes. I doesn't generate makefiles that use the features of the 4.4BSD make and it's derivates (= the usual makefiles in the freebsd tree).

As jfs is GPL I'd assume it would be a port anyway, and the ports system easily integrates auto*-based software.

I wanted some help in determining, that which files were linux dependent. As you know that the FreeBSD build system and src architecture is way different from Linux. One of the first things I will have to do is to port the super.c, which I beleive is the LKM (loadable kernel module) for Linux. If I can do that, than I can easily load the module into FreeBSD as jfs.ko. The other thing I will have to take care about is credits, which I will have to manage with the uprintf(), which will be used to print the messages straight to the currently open tty().. I am going to show exactly as:

Basic assumptions is that the jfs_* files (with exception of jfs_metpage.c) are fairly portable and the non-prefixed files are _very_ linux-specific.

You also might want to use JFS for OS/2 (source on IBM's website) and FFS as refernces as Linux has a lot of filesystem-related code in 'kernel-libraries' that needs to be copy'n pasted on FreeBSD.

The Journaled File System (JFS) Steve Best/Dave Kleikamp/Barry Arndt, IBM Licensed under the GPL

FreeBSD Port: The JFS4BSD Project

what do you think of that..?

I think that's the last of your problems :)

I have also got some issues with the task_struct *task stuff in the super.c, which I have to resolve, before compiling. The other major thing is, that I will have to make use of 'BSD Make', because that is the only way the source will go under src/sys/gnu source tree, which you might know.

The build infrastructure for the kernel part is very easy, for example I use a handwritten Makefile to build the linux module out-of-tree.

It should be less then one our of work.

I also have an issue of maintaining and merging important patches, for example: A JFS bug resolved in the linux version, will have to be somehow patched in the FreeBSD Port as well, and I have to figure that out...

The JFS/Linux core team has setup a CVS commitinfo, but currently I'm the only one who receives it. Maybe you could ask the to make it a mailinglist instead (already did that once, but that didn't have any effect..)


To Unsubscribe: send mail to with "unsubscribe freebsd-fs" in the body of the message