westdb2
writes:
IBM has posted the newest beta version of their enterprise
filesystem, JFS
For Linux. Probably not ready for the data center yet but
getting there fast.
IBM's Journaled File System (JFS) for Linux beta 3 version 0.3.0 Team members Steve Best sbest@us.ibm.com Dave Kleikamp shaggy@us.ibm.com Ben Rafanello benr@us.ibm.com Barry Arndt barndt@us.ibm.com Release April 30, 2001 beta 3 (version 0.3.0) This is our thirtieth release of IBM's Enterprise JFS technology port to Linux. Beta 1 was release 0.1.0 on 12/8/2000, Beta 2 was release 0.2.0 on 3/7/2001 and Beta 3 was release 0.3.0 on 4/30/2001. The first drop on February 2, 2000 (jfs-0.0.1.tar.gz) had the following functionality (enough to allow other developers to evaluate and potentially contribute to this project): - MKFS functional and able to format an existing or newly created partition for JFS. - mount/unmount functional - able to view the self(.) and parent (..) directories entries. The second drop on February 28, 2000 (jfs-0.0.2.tar.gz) had fixes for MKFS and the following utilities logredo, xchkdmp, xpeek are functional. The file system was able to mkdir, create files and directories were working (and rm, rmdir). The third drop on March 24, 2000 (jfs-0.0.3.tar.gz) provided read and write capability for the file system. Also, support for hard and soft links are functional. The fourth drop on March 29,2000 (jfs-0.0.4.tar.gz) provided rename capability for the file system and fixes for write problems. The fifth drop on April 6, 2000 (jfs-0.0.5.tar.gz) provided mknod capability for the file system. The sixth drop on April 21, 2000 (jfs-0.0.6.tar.gz) provided fixes for the file system and utilities. The seventh drop on May 11, 2000 (jfs-0.0.7.tar.gz) provided changes to the file system to be able to work on the development kernel 2.3.99-pre6. Drop 7 contains fixes for the file system to be built within the kernel. The eighth drop on June 20, 2000 (jfs-0.0.8.tar.gz) provided fixes for the file system and changes to the file system to be able to work on the development kernel 2.4.0-test1-ac21. In the utility area: fsck and logdump are functional. The ninth drop on July 13, 2000 (jfs-0.0.9.tar.gz) has the meta-data of the file system using the page cache. In the utility area: fixes for fsck.jfs and xpeek are included. The tenth drop on August 11, 2000 provided fixes for the file system and changes to the file system to be able to work on the development kernel 2.4.0-test5. In the utility area: fixes for fsck.jfs are included. The utility portion of extendfs has been ported (still need to port the file system portion for extendfs). Man pages have been written for the utilities. The compiler warnings have been removed from all of the utilities. The eleventh drop on September 1, 2000 provided fixes for the file system and changes to the file system to be able to work on the development kernel 2.4.0-test7. The utility portion of defrag has been ported (still need to port the file system portion for defrag). The twelfth drop on September 15, 2000 (jfs-0.0.12.tar.gz) provided the Transaction Manager Log I/O routines. The thirteenth drop on September 29, 2000 (jfs-0.0.13.tar.gz) provided case-sensitive support. In the utility area: fsck.jfs has the support for block/character special files. Note: The JFS partition must be formatted/reformatted using mkfs.jfs created by drop 13 for case-sensitive to work. The fourteenth drop on October 4, 2000 (jfs-0.0.14.tar.gz) included a fix to the file system for not mounting a JFS partition if the size of the partition is > 4G on 2.2.x series of the kernel. The fifteenth drop on October 9, 2000 (jfs-0.0.15.tar.gz) included the Transaction Manager routines (Initialize, Begin, Locks, End). The file system has fixes and changes to the file system to be able to work on the development kernel 2.4.0-test9. The utility xchklog has been ported. The sixteenth drop on October 27, 2000 (jfs-0.0.16.tar.gz) included the Transaction Manager routines (Commit, Buffer Management, Abort). The file system and utilities have fixes included. The seventeenth drop on November 10, 2000 (jfs-0.0.17.tar.gz) has the transaction sub operations back into the file system operations. The file system is now journaling appropriate file system operations. The file system is temporary doing synchronous logging (which slows down operations that are logged) to make sure that the transaction processing is right. Asynchronous logging will be added shortly. The file system has fixes and changes to the file system to be able to work on the development kernel 2.4.0-test10. The eighteenth drop on November 15, 2000 (jfs-0.0.18.tar.gz) included fixes to the file system. The nineteenth drop on December 4, 2000 (jfs-0.0.19.tar.gz) is now doing asynchronous logging. The file system has fixes and changes to the file system to be able to work on the development kernel 2.4.0-test11. The twentieth drop on December 8, 2000 (jfs-0.1.0.tar.gz beta) included fixes to the file system. The twenty-first drop on December 14, 2000 (jfs-0.1.1.tar.gz) included a fsck fix to handle sparse files correctly. The file system has fixes and changes to the file system to be able to work on the development kernel 2.4.0-test12 and 2.2.18 kernel. The twenty-second drop on January 5, 2001 (jfs-0.1.2.tar.gz) included fixes to the file system. The file system has changes to able to work on the 2.4.0 kernel. The twenty-third drop on January 12, 2001 (jfs-0.1.3.tar.gz) included fixes to the file system. Fsck now supports fifo correctly. The twenty-fourth drop on January 26, 2001 (jfs-0.1.4.tar.gz) included fixes to the file system. The new feature in the file system is "Lazy Commit" which increases performance while going asynchronous logging. The main makefile for the utilities now has an install option. The twenty-fifth drop on February 7, 2001 (jfs-0.1.5.tar.gz) included fixes to the file system. The twenty-sixth drop on February 26, 2001 (jfs-0.1.6.tar.gz) included fixes to the file system. The log manager no longer uses the page cache for log pages, this eliminates dead-locks that were occurring in the log manager. The file system has general work done to remove SMP dead-lock problems. Fsck now supports default values passed by fstab correctly. The twenty-seventh drop on March 07, 2001 (beta 2) (jfs-0.2.0.tar.gz) included fixes to the file system. This drop contains jfsprogs.spec that can be used to create RPM for the JFS utilities. The file system has general work done to remove SMP and UP hang related problems. The file system performance has been increased by changes to extent inode cache. The twenty-eighth drop on March 21, 2001 (jfs-0.2.1.tar.gz) included fixes to the file system. The file system has been changed to use standard types. The twenty-ninth drop on April 02, 2001 (jfs-0.2.2.tar.gz) included fixes to the file system. The utilities have been changed to use standard types. The thirtieth drop on April 30, 2001 (jfs-0.3.0.tar.gz) includes fixes to the file system. The rest of the utilities have been changed to use standard types. Both the file system and the utilities have been changed to use endian macros, so that JFS will now store the meta-data as little endian when running on all architectures, with this change you must re-formatted all of the JFS partitions using the new mkfs.jfs included in this drop, if you are running on a big-endian system. Drop 30 has the temporary restriction that the block size must be 4K. MKFS.jfs defaults the block size to 4K. JFS has a common source tree that can be built on 2.2.16 - 2.2.19 and 2.4.0 - 2.4.3. We will continue with the port and make incremental drops as we have more function working. There is a anonymous cvs access available for the JFS tree. The steps below are what is needed to pull the JFS cvs tree from the oss.software.ibm.com server. id anoncvs password anoncvs CVSROOT should be set to :pserver:anoncvs@oss.software.ibm.com:/usr/cvs/jfs cvs checkout linux-2.2.12 The reference source code is available in the fs/jfs/ref and fs/jfs/ref_utils sub directories. The header files for the reference source code are available in the include/linux/jfs/ref. The reference source code is now available in the jfsref.tar.gz file. The code included in the define statement, #ifdef _STILL_TO_PORT, indicates the source has not been ported yet. The following files in the kernel source tree have been changed so JFS can be built. The source tar ball now contains each of the files below with the extension of the kernel level it is associated with. As an example, there are now three Config.in files named Config.in-2.2.16, Config.in-2.2.18 and Config.in-2.4.0. If you use the tar ball to build JFS you must rename each of the kernel files to the file names listed below. The standard kernel from www.kernel.org is the source of the kernel files that are included in the jfs tar files. In sub dir fs Config.in, Makefile, filesystem.c In sub dir fs/nls Config.in In sub dir arch/i386 defconfig In sub dir Documentation Configure.help In sub dir Documentation/filesystems 00-INDEX In sub dir include/linux fs.h In sub dir linux MAINTAINERS In sub dir linux/kernel/ksyms.c Please backup the above files before the JFS patch file is added to the kernel source tree. There are three new header files in the sub dir include/linux named jfs_fs.h, jfs_fs_i.h,and jfs_fs_sb.h. All other JFS files are located in the include/linux/jfs or fs/jfs sub dirs. Our development team has used the Linux kernel levels 2.2.16-2.2.19 and 2.4.0 - 2.4.3 kernels with gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) for our port so far. A goal of the JFS team is to have JFS run on all architectures that Linux supports, there is no architecture specific code in JFS. JFS has been run on the following architectures (x86, PowerPC, Alpha, s/390, ARM) so far. To make JFS build, during the "make config" step of building the kernel answer y to the Prompt for development and/or incomplete code/drivers in the Code maturity level options section. In the Filesystems section use the m for the answer to JFS filesystem support (experimental) (CONFIG_JFS_FS) [Y/m/n?] Note: If you are use JFS on the 2.2.x series of the kernel you must rebuild the kernel and run that rebuilt kernel for JFS to build/run. The reason for this change is that JFS needs to export symbols. Build in /usr/src/linux with the command: make modules make modules_install If you rebuild jfs.o after having mounted and unmounted a partition, "modprobe -r jfs" will unload the old module. For the file system debugging messages are being written to /var/log/messages. To use the jfsprogs.spec located in sub dir linux/fs/jfs/utils/SPECS you need to update the version of JFS in the spec file, also the corresponding jfs-x.x.x-patch.tar.gz file must be in the SOURCES directory of your system. Now it's time to begin the build. First, change into the directory holding jfsprogs.spec file: cd /usr/src/linux/fs/jfs/SPECS Next, start the build with a rpm -b command: rpm -ba jfsprogs.spec The a following the -b option directs RPM to perform all phases of the build process. The second way to build the utilities for JFS (mkfs, xpeek, logredo, xchkdmp, fsck, logdump, xchklog). Build in /usr/src/linux/fs/jfs/utils with the command: make make install One of results of this build is a program called mkfs.jfs. To format a JFS partition use the following command. mkfs -t jfs device-name will result in the specified device being formatted. ****************************************************************************************** ** ** ********** Like all new file systems please only use this code on a test system. ********* ** ** ** ** ****************************************************************************************** If you used any previous release of JFS, please format your JFS partition with the new mkfs.jfs. JFS today: - Utilities: Function in drop 1 - MKFS.JFS builds on 2.2.12 - MKFS successfully formats a new partition for JFS Function and Fixes in drop 2 - MKFS supports all parameters now - MKFS has fixes from release pre-alpha 0.0.1 mkfs.jfs results in segmentation fault if no arguments are specified mkfs.jfs hangs on invocation - XPEEK, utility to PEEK and POKE JFS on-disk data/structures Function and Fixes in drop 5 - MKFS.jfs has a fix to support -l option correctly. Function and Fixes in drop 6 - libfs has compiler warning fixes and a bug fix Function in drop 8 - fsck.jfs successfully checks and repairs a jfs partition - logdump, utility that dumps the contents of the journal log. Function and Fixes in drop 9 IBM's Journaled File System (JFS) for Linux beta 3 version 0.3.0 Team members Steve Best sbest@us.ibm.com Dave Kleikamp shaggy@us.ibm.com Ben Rafanello benr@us.ibm.com Barry Arndt barndt@us.ibm.com Release April 30, 2001 beta 3 (version 0.3.0) This is our thirtieth release of IBM's Enterprise JFS technology port to Linux. Beta 1 was release 0.1.0 on 12/8/2000, Beta 2 was release 0.2.0 on 3/7/2001 and Beta 3 was release 0.3.0 on 4/30/2001. The first drop on February 2, 2000 (jfs-0.0.1.tar.gz) had the following functionality (enough to allow other developers to evaluate and potentially contribute to this project): - MKFS functional and able to format an existing or newly created partition for JFS. - mount/unmount functional - able to view the self(.) and parent (..) directories entries. The second drop on February 28, 2000 (jfs-0.0.2.tar.gz) had fixes for MKFS and the following utilities logredo, xchkdmp, xpeek are functional. The file system was able to mkdir, create files and directories were working (and rm, rmdir). The third drop on March 24, 2000 (jfs-0.0.3.tar.gz) provided read and write capability for the file system. Also, support for hard and soft links are functional. The fourth drop on March 29,2000 (jfs-0.0.4.tar.gz) provided rename capability for the file system and fixes for write problems. The fifth drop on April 6, 2000 (jfs-0.0.5.tar.gz) provided mknod capability for the file system. The sixth drop on April 21, 2000 (jfs-0.0.6.tar.gz) provided fixes for the file system and utilities. The seventh drop on May 11, 2000 (jfs-0.0.7.tar.gz) provided changes to the file system to be able to work on the development kernel 2.3.99-pre6. Drop 7 contains fixes for the file system to be built within the kernel. The eighth drop on June 20, 2000 (jfs-0.0.8.tar.gz) provided fixes for the file system and changes to the file system to be able to work on the development kernel 2.4.0-test1-ac21. In the utility area: fsck and logdump are functional. The ninth drop on July 13, 2000 (jfs-0.0.9.tar.gz) has the meta-data of the file system using the page cache. In the utility area: fixes for fsck.jfs and xpeek are included. The tenth drop on August 11, 2000 provided fixes for the file system and changes to the file system to be able to work on the development kernel 2.4.0-test5. In the utility area: fixes for fsck.jfs are included. The utility portion of extendfs has been ported (still need to port the file system portion for extendfs). Man pages have been written for the utilities. The compiler warnings have been removed from all of the utilities. The eleventh drop on September 1, 2000 provided fixes for the file system and changes to the file system to be able to work on the development kernel 2.4.0-test7. The utility portion of defrag has been ported (still need to port the file system portion for defrag). The twelfth drop on September 15, 2000 (jfs-0.0.12.tar.gz) provided the Transaction Manager Log I/O routines. The thirteenth drop on September 29, 2000 (jfs-0.0.13.tar.gz) provided case-sensitive support. In the utility area: fsck.jfs has the support for block/character special files. Note: The JFS partition must be formatted/reformatted using mkfs.jfs created by drop 13 for case-sensitive to work. The fourteenth drop on October 4, 2000 (jfs-0.0.14.tar.gz) included a fix to the file system for not mounting a JFS partition if the size of the partition is > 4G on 2.2.x series of the kernel. The fifteenth drop on October 9, 2000 (jfs-0.0.15.tar.gz) included the Transaction Manager routines (Initialize, Begin, Locks, End). The file system has fixes and changes to the file system to be able to work on the development kernel 2.4.0-test9. The utility xchklog has been ported. The sixteenth drop on October 27, 2000 (jfs-0.0.16.tar.gz) included the Transaction Manager routines (Commit, Buffer Management, Abort). The file system and utilities have fixes included. The seventeenth drop on November 10, 2000 (jfs-0.0.17.tar.gz) has the transaction sub operations back into the file system operations. The file system is now journaling appropriate file system operations. The file system is temporary doing synchronous logging (which slows down operations that are logged) to make sure that the transaction processing is right. Asynchronous logging will be added shortly. The file system has fixes and changes to the file system to be able to work on the development kernel 2.4.0-test10. The eighteenth drop on November 15, 2000 (jfs-0.0.18.tar.gz) included fixes to the file system. The nineteenth drop on December 4, 2000 (jfs-0.0.19.tar.gz) is now doing asynchronous logging. The file system has fixes and changes to the file system to be able to work on the development kernel 2.4.0-test11. The twentieth drop on December 8, 2000 (jfs-0.1.0.tar.gz beta) included fixes to the file system. The twenty-first drop on December 14, 2000 (jfs-0.1.1.tar.gz) included a fsck fix to handle sparse files correctly. The file system has fixes and changes to the file system to be able to work on the development kernel 2.4.0-test12 and 2.2.18 kernel. The twenty-second drop on January 5, 2001 (jfs-0.1.2.tar.gz) included fixes to the file system. The file system has changes to able to work on the 2.4.0 kernel. The twenty-third drop on January 12, 2001 (jfs-0.1.3.tar.gz) included fixes to the file system. Fsck now supports fifo correctly. The twenty-fourth drop on January 26, 2001 (jfs-0.1.4.tar.gz) included fixes to the file system. The new feature in the file system is "Lazy Commit" which increases performance while going asynchronous logging. The main makefile for the utilities now has an install option. The twenty-fifth drop on February 7, 2001 (jfs-0.1.5.tar.gz) included fixes to the file system. The twenty-sixth drop on February 26, 2001 (jfs-0.1.6.tar.gz) included fixes to the file system. The log manager no longer uses the page cache for log pages, this eliminates dead-locks that were occurring in the log manager. The file system has general work done to remove SMP dead-lock problems. Fsck now supports default values passed by fstab correctly. The twenty-seventh drop on March 07, 2001 (beta 2) (jfs-0.2.0.tar.gz) included fixes to the file system. This drop contains jfsprogs.spec that can be used to create RPM for the JFS utilities. The file system has general work done to remove SMP and UP hang related problems. The file system performance has been increased by changes to extent inode cache. The twenty-eighth drop on March 21, 2001 (jfs-0.2.1.tar.gz) included fixes to the file system. The file system has been changed to use standard types. The twenty-ninth drop on April 02, 2001 (jfs-0.2.2.tar.gz) included fixes to the file system. The utilities have been changed to use standard types. The thirtieth drop on April 30, 2001 (jfs-0.3.0.tar.gz) includes fixes to the file system. The rest of the utilities have been changed to use standard types. Both the file system and the utilities have been changed to use endian macros, so that JFS will now store the meta-data as little endian when running on all architectures, with this change you must re-formatted all of the JFS partitions using the new mkfs.jfs included in this drop, if you are running on a big-endian system. Drop 30 has the temporary restriction that the block size must be 4K. MKFS.jfs defaults the block size to 4K. JFS has a common source tree that can be built on 2.2.16 - 2.2.19 and 2.4.0 - 2.4.3. We will continue with the port and make incremental drops as we have more function working. There is a anonymous cvs access available for the JFS tree. The steps below are what is needed to pull the JFS cvs tree from the oss.software.ibm.com server. id anoncvs password anoncvs CVSROOT should be set to :pserver:anoncvs@oss.software.ibm.com:/usr/cvs/jfs cvs checkout linux-2.2.12 The reference source code is available in the fs/jfs/ref and fs/jfs/ref_utils sub directories. The header files for the reference source code are available in the include/linux/jfs/ref. The reference source code is now available in the jfsref.tar.gz file. The code included in the define statement, #ifdef _STILL_TO_PORT, indicates the source has not been ported yet. The following files in the kernel source tree have been changed so JFS can be built. The source tar ball now contains each of the files below with the extension of the kernel level it is associated with. As an example, there are now three Config.in files named Config.in-2.2.16, Config.in-2.2.18 and Config.in-2.4.0. If you use the tar ball to build JFS you must rename each of the kernel files to the file names listed below. The standard kernel from www.kernel.org is the source of the kernel files that are included in the jfs tar files. In sub dir fs Config.in, Makefile, filesystem.c In sub dir fs/nls Config.in In sub dir arch/i386 defconfig In sub dir Documentation Configure.help In sub dir Documentation/filesystems 00-INDEX In sub dir include/linux fs.h In sub dir linux MAINTAINERS In sub dir linux/kernel/ksyms.c Please backup the above files before the JFS patch file is added to the kernel source tree. There are three new header files in the sub dir include/linux named jfs_fs.h, jfs_fs_i.h,and jfs_fs_sb.h. All other JFS files are located in the include/linux/jfs or fs/jfs sub dirs. Our development team has used the Linux kernel levels 2.2.16-2.2.19 and 2.4.0 - 2.4.3 kernels with gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) for our port so far. A goal of the JFS team is to have JFS run on all architectures that Linux supports, there is no architecture specific code in JFS. JFS has been run on the following architectures (x86, PowerPC, Alpha, s/390, ARM) so far. To make JFS build, during the "make config" step of building the kernel answer y to the Prompt for development and/or incomplete code/drivers in the Code maturity level options section. In the Filesystems section use the m for the answer to JFS filesystem support (experimental) (CONFIG_JFS_FS) [Y/m/n?] Note: If you are use JFS on the 2.2.x series of the kernel you must rebuild the kernel and run that rebuilt kernel for JFS to build/run. The reason for this change is that JFS needs to export symbols. Build in /usr/src/linux with the command: make modules make modules_install If you rebuild jfs.o after having mounted and unmounted a partition, "modprobe -r jfs" will unload the old module. For the file system debugging messages are being written to /var/log/messages. To use the jfsprogs.spec located in sub dir linux/fs/jfs/utils/SPECS you need to update the version of JFS in the spec file, also the corresponding jfs-x.x.x-patch.tar.gz file must be in the SOURCES directory of your system. Now it's time to begin the build. First, change into the directory holding jfsprogs.spec file: cd /usr/src/linux/fs/jfs/SPECS Next, start the build with a rpm -b command: rpm -ba jfsprogs.spec The a following the -b option directs RPM to perform all phases of the build process. The second way to build the utilities for JFS (mkfs, xpeek, logredo, xchkdmp, fsck, logdump, xchklog). Build in /usr/src/linux/fs/jfs/utils with the command: make make install One of results of this build is a program called mkfs.jfs. To format a JFS partition use the following command. mkfs -t jfs device-name will result in the specified device being formatted. ****************************************************************************************** ** ** ********** Like all new file systems please only use this code on a test system. ********* ** ** ** ** ****************************************************************************************** If you used any previous release of JFS, please format your JFS partition with the new mkfs.jfs. JFS today: - Utilities: Function in drop 1 - MKFS.JFS builds on 2.2.12 - MKFS successfully formats a new partition for JFS Function and Fixes in drop 2 - MKFS supports all parameters now - MKFS has fixes from release pre-alpha 0.0.1 mkfs.jfs results in segmentation fault if no arguments are specified mkfs.jfs hangs on invocation - XPEEK, utility to PEEK and POKE JFS on-disk data/structures Function and Fixes in drop 5 - MKFS.jfs has a fix to support -l option correctly. Function and Fixes in drop 6 - libfs has compiler warning fixes and a bug fix Function in drop 8 - fsck.jfs successfully checks and repairs a jfs partition - logdump, utility that dumps the contents of the journal log. Function and Fixes in drop 9 - fixes for fsck.jfs and xpeek have been done. Function and Fixes in drop 10 - fixes for fsck.jfs - man pages for utilities - extendfs utility part has been ported (still need to port FS portion) - compiler warnings have been removed. Function and Fixes in drop 11 - defrag utility part has been ported (still need to port FS portion) Function and Fixes in drop 13 - fsck.jfs supports block special files and character special files (Jitterbug problem #28) Function and Fixes in drop 15 - ported xchklog utility, extracts a log from fsck. Function and Fixes in drop 16 - fixes for fsck.jfs to handle case-sensitive support correctly (Jitterbug problem #36) - cleanup changes for the utilities Function and Fixes in drop 18 - cleanup changes for the utilities Function and Fixes in drop 21 - fix in fsck to handle sparse files correctly Function and Fixes in drop 23 - fix in fsck to handle fifo correctly Function and Fixes in drop 24 - man pages updates for the utilities - install option for utilities Function and Fixes in drop 26 - man page updates for fsck - fsck now supports default options passed by fstab correctly Function and Fixes in drop 27 - new jfsprogs.spec file - fix in fsck for hard links - fix for unicode conversion problem Function and Fixes in drop 29 - cleanup changes for the utilities - Code cleanup to use standard types Function and Fixes in drop 30 - added endian macros support - Code cleanup to use standard types (part 2) - mkfs now clears out the 1st 4k bytes of the partition - JFS: Function in drop 1 - builds on 2.2.12 - successfully MOUNTs & UMOUNTs - limited READ capability (i.e. LS is operational) - other system commands (i.e. DF, CHOWN, CHMOD, etc. working limited) Function and Fixes in drop 2 - Write capabilities are operational - MKDIR - CREATE file - RMDIR - RM - Problems fixed from release pre-alpha 0.0.1 using 2.2.14 jfs_imap.c:3004: `event' undeclared (first use in this function) Function and Fixes in drop 3 - WRITE a file - READ a file - Support for hard and soft links Function and Fixes in drop 4 - MV - Executables can now be started from a jfs partition - Problems while writing files have been fixed Function and Fixes in drop 5 - added support for special files (mknod) - alpha changes have been included Function and Fixes in drop 6 - Jitterbug problem 9 du output is incorrect on jfs - Jitterbug problem 11 unresolved symbol jfs_rwlock_lock on SMP build Function and Fixes in drop 7 - moved JFS upto the 2.3.x development kernel (2.3.99-pre6) - Jitterbug problem 14 can't build JFS within the kernel Function and Fixes in drop 8 - moved JFS upto the 2.4.0 development kernel (2.4.0-test1-ac21) - Jitterbug problem 17 undefined: jfs_rdwrlock_lock - PowerPC build problem Function and Fixes in drop 9 - moved JFS upto the 2.4.0 development kernel (2.4.0-test3) - moved meta-data from buffer cache to page cache - fixes for the file system are included Function and Fixes in drop 10 - moved JFS upto the 2.4.0 development kernel (2.4.0-test5) - fixes for the file system are included Function and Fixes in drop 11 - moved JFS upto the 2.4.0 development kernel (2.4.0-test7) - fixes for the file system are included - start of journaling code has been included (jfs_txnmgr.h) - WIP of log manager (jfs_logmgr.c) Function and Fixes in drop 12 - Transaction Manager Log I/O -> Write log records is functional Function and Fixes in drop 13 - case-sensitive support has been added Function and Fixes in drop 14 - JFS mount error 22 is fixed (Jitterbug problem #30) Function and Fixes in drop 15 - Following Transaction Manager routines are functional Initialize -> Initialize transaction manager Begin -> Start a transaction Locks -> Acquire/release locks End -> End a transaction - moved JFS upto the 2.4.0 development kernel (2.4.0-test9) - Fixed 2.2.x series block write problem. Function and Fixes in drop 16 - Following Transaction Manager routines are functional Commit -> Commit the transaction Buffer Management -> Update inode, directory, extent Abort -> Stop the commit from occurring - File System build problem on 2.2.x series of the kernel (Jitterbug #35) - Fixed case-sensitive bug in the filesystem (Jitterbug #36) Function and Fixes in drop 17 - Added transaction sub operations back into the file system operations. - The file system is now journaling appropriate file system operations. - moved JFS upto the 2.4.0 development kernel (2.4.0-test10) Function and Fixes in drop 18 - symlink fix - inode corruption problem Function and Fixes in drop 19 - Added asynchronous logging support back into the file system. - moved JFS upto the 2.4.0 development kernel (2.4.0-test11) - Fixes to transaction related hang problems. Function and Fixes in drop 20 - Fix to remove memory on module cleanup Function and Fixes in drop 21 - Fix so fsck doesn't report the message Secondary file/directory allocation structure(2) is not a correct redundant copy of primary structure. - Fix for setup of finish_aync_io - moved JFS upto the 2.4.0 development kernel (2.4.0-test12) - moved JFS upto the 2.2.18 kernel Function and Fixes in drop 22 - moved JFS upto the 2.4.0 kernel - Fix to do transaction processing for mknod correctly - Fix for spinlock.h needed on 2.2.18 ppc Function and Fixes in drop 23 - Fix for undefined BUG() in 2.2.x series - Fix for 2.2 kernels, struct pipe_inode_info overlays the file system dependent portion of the inode structure. Function and Fixes in drop 24 - rmmod jfs fix - Implemented "Lazy Commit" - asynchronous logging enhancement to increase performance - Removed ino_t from on-disk structures (fixes a mount problem) Function and Fixes in drop 25 - Fix for deadlocks by putting IWRITE_LOCK/UNLOCK within jfs_delete_inode - Fix to handle removing a link to an inode that isn't the last link. - Fixes to general transaction processing SMP related hangs. Function and Fixes in drop 26 - Fix for file writes on 2.2.x series of the kernel - Change to log pages, so they no longer use the page cache. - Fixes to general transaction processing SMP related dead-lock problems Function and Fixes in drop 27 - Report error on read_metapage failure in jfs_readlink - Report correct error in jfs_lookup if VFS fails to locate the inode - Fix for a buffer overrun problem in jfs_readlink when compiled for linux-2.2 - Fix to support fsync call correctly (jitterbug #57) - Fixes to general SMP related dead-lock problems - Fix to define BUG() if 2.2 and !i386 - Fixes to general UP related hangs - Changes to handling the inode extent cache increase the performance of the file system Function and Fixes in drop 28 - Added ifdef IS_KIOBUFIO so JFS will be if kiobufs is in the kernel. Kiobufs has changed the # of parameters for generic_make_request() - Make jfsFYI a module parameter insmod jfs.o jfsFYI=1 will turn on JFS FYI messages without having to recompile this option is only supported on the 2.4.x kernel level. - Defines cleanup_module() in terms of exit_jfs_fs() - Fix to jfs_read_super, if get_empty_inode returns NULL cleanup correctly - Code cleanup to use standard types Function and Fixes in drop 29 - Fix for assert(iagp->wmap[extno] & mask); (line #2875) in jfs_imap while running dbench - Fixed hang on scsi - added /proc/fs/jfs/jfsFYI (2.4.* kernels only) echo 1 > /proc/fs/jfs/jfsFYI ; Turns on very verbose output to syslog echo 0 > /proc/fs/jfs/jfsFYI ; Turns it back off Notes: - IMPORTANT: If building jfs.o as a module on 2.2.* kernels, you will have to rebuild and install the kernel to add wake_up_process to ksyms.c. Not needed on 2.4.* kernels. Function and Fixes in drop 30 - Added endian macros support - Fixed dbench hang - jfs fails SPEC SFS validation on both NFSv2/NFSv3, fix to not add null-terminator to the symlink value and accounting for it in the size. - Fixed a bug where a casting of a 32 bit block # wasn't correct when a 64 bit value is needed. xtLookup messages where display in the /var/log/messages (i.e of a message is below) xtLookup: lstart (0x80000) >= size (0x80000) Notes: release 0.3.0 requires a re-format of the JFS partition, if the system architecture is big-endian (i.e. s/390, PowerPC, etc.) - Still seeing hangs on 2.2.* SMP kernels JFS TODO list: Plans for our near term development items Drop 31 - fix jitterbug 10 rm -rf fails on a big directory - Test booting from JFS partition - bug fixes Drop 32 - get defrag capabilities operational in the FS - get extendfs capabilities operational in the FS - test EXTENDFS utility, for growing JFS partitions - test defrag utility, calls file system to defrag the file system. - Test JFS with LVM - bug fixes Drop 33 - add support for block sizes (512,1024,2048) - bug fixes Longer term work items - Integrate with LVM - Integrate with SnapFS Snapshot file system - add support to shrink the file system - add support for logfile on dedicated partition - get access control list functionality operational - get extended attributes functionality operational - add quota support Please send bugs, comments, cards and letters to linuxjfs@us.ibm.com. The JFS mailing list can be subscribed to by using the link labeled "Mail list Subscribe" at our web page http://oss.software.ibm.com/developerworks/opensource/jfs/. - fixes for fsck.jfs and xpeek have been done. Function and Fixes in drop 10 - fixes for fsck.jfs - man pages for utilities - extendfs utility part has been ported (still need to port FS portion) - compiler warnings have been removed. Function and Fixes in drop 11 - defrag utility part has been ported (still need to port FS portion) Function and Fixes in drop 13 - fsck.jfs supports block special files and character special files (Jitterbug problem #28) Function and Fixes in drop 15 - ported xchklog utility, extracts a log from fsck. Function and Fixes in drop 16 - fixes for fsck.jfs to handle case-sensitive support correctly (Jitterbug problem #36) - cleanup changes for the utilities Function and Fixes in drop 18 - cleanup changes for the utilities Function and Fixes in drop 21 - fix in fsck to handle sparse files correctly Function and Fixes in drop 23 - fix in fsck to handle fifo correctly Function and Fixes in drop 24 - man pages updates for the utilities - install option for utilities Function and Fixes in drop 26 - man page updates for fsck - fsck now supports default options passed by fstab correctly Function and Fixes in drop 27 - new jfsprogs.spec file - fix in fsck for hard links - fix for unicode conversion problem Function and Fixes in drop 29 - cleanup changes for the utilities - Code cleanup to use standard types Function and Fixes in drop 30 - added endian macros support - Code cleanup to use standard types (part 2) - mkfs now clears out the 1st 4k bytes of the partition - JFS: Function in drop 1 - builds on 2.2.12 - successfully MOUNTs & UMOUNTs - limited READ capability (i.e. LS is operational) - other system commands (i.e. DF, CHOWN, CHMOD, etc. working limited) Function and Fixes in drop 2 - Write capabilities are operational - MKDIR - CREATE file - RMDIR - RM - Problems fixed from release pre-alpha 0.0.1 using 2.2.14 jfs_imap.c:3004: `event' undeclared (first use in this function) Function and Fixes in drop 3 - WRITE a file - READ a file - Support for hard and soft links Function and Fixes in drop 4 - MV - Executables can now be started from a jfs partition - Problems while writing files have been fixed Function and Fixes in drop 5 - added support for special files (mknod) - alpha changes have been included Function and Fixes in drop 6 - Jitterbug problem 9 du output is incorrect on jfs - Jitterbug problem 11 unresolved symbol jfs_rwlock_lock on SMP build Function and Fixes in drop 7 - moved JFS upto the 2.3.x development kernel (2.3.99-pre6) - Jitterbug problem 14 can't build JFS within the kernel Function and Fixes in drop 8 - moved JFS upto the 2.4.0 development kernel (2.4.0-test1-ac21) - Jitterbug problem 17 undefined: jfs_rdwrlock_lock - PowerPC build problem Function and Fixes in drop 9 - moved JFS upto the 2.4.0 development kernel (2.4.0-test3) - moved meta-data from buffer cache to page cache - fixes for the file system are included Function and Fixes in drop 10 - moved JFS upto the 2.4.0 development kernel (2.4.0-test5) - fixes for the file system are included Function and Fixes in drop 11 - moved JFS upto the 2.4.0 development kernel (2.4.0-test7) - fixes for the file system are included - start of journaling code has been included (jfs_txnmgr.h) - WIP of log manager (jfs_logmgr.c) Function and Fixes in drop 12 - Transaction Manager Log I/O -> Write log records is functional Function and Fixes in drop 13 - case-sensitive support has been added Function and Fixes in drop 14 - JFS mount error 22 is fixed (Jitterbug problem #30) Function and Fixes in drop 15 - Following Transaction Manager routines are functional Initialize -> Initialize transaction manager Begin -> Start a transaction Locks -> Acquire/release locks End -> End a transaction - moved JFS upto the 2.4.0 development kernel (2.4.0-test9) - Fixed 2.2.x series block write problem. Function and Fixes in drop 16 - Following Transaction Manager routines are functional Commit -> Commit the transaction Buffer Management -> Update inode, directory, extent Abort -> Stop the commit from occurring - File System build problem on 2.2.x series of the kernel (Jitterbug #35) - Fixed case-sensitive bug in the filesystem (Jitterbug #36) Function and Fixes in drop 17 - Added transaction sub operations back into the file system operations. - The file system is now journaling appropriate file system operations. - moved JFS upto the 2.4.0 development kernel (2.4.0-test10) Function and Fixes in drop 18 - symlink fix - inode corruption problem Function and Fixes in drop 19 - Added asynchronous logging support back into the file system. - moved JFS upto the 2.4.0 development kernel (2.4.0-test11) - Fixes to transaction related hang problems. Function and Fixes in drop 20 - Fix to remove memory on module cleanup Function and Fixes in drop 21 - Fix so fsck doesn't report the message Secondary file/directory allocation structure(2) is not a correct redundant copy of primary structure. - Fix for setup of finish_aync_io - moved JFS upto the 2.4.0 development kernel (2.4.0-test12) - moved JFS upto the 2.2.18 kernel Function and Fixes in drop 22 - moved JFS upto the 2.4.0 kernel - Fix to do transaction processing for mknod correctly - Fix for spinlock.h needed on 2.2.18 ppc Function and Fixes in drop 23 - Fix for undefined BUG() in 2.2.x series - Fix for 2.2 kernels, struct pipe_inode_info overlays the file system dependent portion of the inode structure. Function and Fixes in drop 24 - rmmod jfs fix - Implemented "Lazy Commit" - asynchronous logging enhancement to increase performance - Removed ino_t from on-disk structures (fixes a mount problem) Function and Fixes in drop 25 - Fix for deadlocks by putting IWRITE_LOCK/UNLOCK within jfs_delete_inode - Fix to handle removing a link to an inode that isn't the last link. - Fixes to general transaction processing SMP related hangs. Function and Fixes in drop 26 - Fix for file writes on 2.2.x series of the kernel - Change to log pages, so they no longer use the page cache. - Fixes to general transaction processing SMP related dead-lock problems Function and Fixes in drop 27 - Report error on read_metapage failure in jfs_readlink - Report correct error in jfs_lookup if VFS fails to locate the inode - Fix for a buffer overrun problem in jfs_readlink when compiled for linux-2.2 - Fix to support fsync call correctly (jitterbug #57) - Fixes to general SMP related dead-lock problems - Fix to define BUG() if 2.2 and !i386 - Fixes to general UP related hangs - Changes to handling the inode extent cache increase the performance of the file system Function and Fixes in drop 28 - Added ifdef IS_KIOBUFIO so JFS will be if kiobufs is in the kernel. Kiobufs has changed the # of parameters for generic_make_request() - Make jfsFYI a module parameter insmod jfs.o jfsFYI=1 will turn on JFS FYI messages without having to recompile this option is only supported on the 2.4.x kernel level. - Defines cleanup_module() in terms of exit_jfs_fs() - Fix to jfs_read_super, if get_empty_inode returns NULL cleanup correctly - Code cleanup to use standard types Function and Fixes in drop 29 - Fix for assert(iagp->wmap[extno] & mask); (line #2875) in jfs_imap while running dbench - Fixed hang on scsi - added /proc/fs/jfs/jfsFYI (2.4.* kernels only) echo 1 > /proc/fs/jfs/jfsFYI ; Turns on very verbose output to syslog echo 0 > /proc/fs/jfs/jfsFYI ; Turns it back off Notes: - IMPORTANT: If building jfs.o as a module on 2.2.* kernels, you will have to rebuild and install the kernel to add wake_up_process to ksyms.c. Not needed on 2.4.* kernels. Function and Fixes in drop 30 - Added endian macros support - Fixed dbench hang - jfs fails SPEC SFS validation on both NFSv2/NFSv3, fix to not add null-terminator to the symlink value and accounting for it in the size. - Fixed a bug where a casting of a 32 bit block # wasn't correct when a 64 bit value is needed. xtLookup messages where display in the /var/log/messages (i.e of a message is below) xtLookup: lstart (0x80000) >= size (0x80000) Notes: release 0.3.0 requires a re-format of the JFS partition, if the system architecture is big-endian (i.e. s/390, PowerPC, etc.) - Still seeing hangs on 2.2.* SMP kernels JFS TODO list: Plans for our near term development items Drop 31 - fix jitterbug 10 rm -rf fails on a big directory - Test booting from JFS partition - bug fixes Drop 32 - get defrag capabilities operational in the FS - get extendfs capabilities operational in the FS - test EXTENDFS utility, for growing JFS partitions - test defrag utility, calls file system to defrag the file system. - Test JFS with LVM - bug fixes Drop 33 - add support for block sizes (512,1024,2048) - bug fixes Longer term work items - Integrate with LVM - Integrate with SnapFS Snapshot file system - add support to shrink the file system - add support for logfile on dedicated partition - get access control list functionality operational - get extended attributes functionality operational - add quota support Please send bugs, comments, cards and letters to linuxjfs@us.ibm.com. The JFS mailing list can be subscribed to by using the link labeled "Mail list Subscribe" at our web page http://oss.software.ibm.com/developerworks/opensource/jfs/.