All, We are pleased to announce the release of OCFS2 1.4.2-1 and OCFS2 Tools 1.4.2-1 for Oracle's and Red Hat's Enterprise Linux 5 Update 2 and higher.
Oracle's Unbreakable Linux Network users who are subscribing to the "OCFS2 1.4 packages for Enterprise Linux 5" channel can upgrade to this release by running up2date. http://oss.oracle.com/pipermail/el-errata/2009-June/001044.html http://oss.oracle.com/pipermail/el-errata/2009-June/001045.html Red Hat's Enterprise Linux 5 users can download and install the relevant file system and tools packages from oss.oracle.com. http://oss.oracle.com/projects/ocfs2/files/RedHat/RHEL5/ http://oss.oracle.com/projects/ocfs2-tools/files/RedHat/RHEL5/ Novell's SUSE Linux Enterprise Server's (SLES10 SP2) latest kernel already includes elements of this release. Users should contact Novell for more information about OCFS2 on SLES10. COMPATIBILITY This release is fully compatible with OCFS2 1.4.1. Users can upgrade their nodes in a rolling manner if they so choose. This release is on-disk compatible with OCFS2 1.2.x. Users can install the software and mount the older volumes as-is. However, as 1.2 and 1.4 are not network compatible, a rolling upgrade from 1.2 is not possible. WHAT'S NEW OCFS2 1.4.2-1 has a new feature enabled, some bug fixes and a few performance improvements. The new feature is "inline-data" which has also been referred to earlier as data-in-inode, as it transparently stores small files and directories in the inode itself. When the file grows beyond the size of the inode, the file system transparently moves the data to an extent. This feature should prove useful for users that have lots of small files and directories. As this feature entails an on-disk change, it is not automatically enabled on existing volumes. One needs to use tunefs.ocfs2 to enable it. Once enabled, the file system will attempt to store the newly created files and directories in the inode itself. To enable inline-data on existing volumes, do: $ tunefs.ocfs2 -v --fs-features=inline-data /dev/sdX1 Enabling feature "inline_data" To query features enabled on a volume, do: $ tunefs.ocfs2 -Q "Features: %H %O\n" /dev/sdX1 Features: sparse inline-data unwritten To disable inline-data, do: $ tunefs.ocfs2 -v --fs-features=noinline-data /dev/sdX1 Disabling feature "inline_data" We have 12636060 clusters free, and need 13447 clusters to expand all inline data mkfs.ocfs2 now enables the inline-data feature by default. Newly formatted volumes will, by default, have sparse, unwritten extents and inline-data features enabled. The other change in mkfs' default is that it now creates 8 slots to allow that many nodes to mount the volume concurrently. Users wishing to over-ride the defaults should refer to the man page. tunefs.ocfs2 provides a new parameter --cloned-volume. No, this does _not_ clone a volume. It allows sysadmins to change the file system UUID and label on a storage-assisted mirror copy so as to allow the mirrored volumes to be mounted on the same node as the original. This should be useful for sysadmins that are using storage arrays, like EMC Clarion, to mirror the volumes. The other change in tunefs.ocfs2 is that it now runs quietly by default. Users wishing to view the progress should run in verbose mode (-v). One can add more v's to increase verbosity. BUG FIXES This release also includes some bug fixes. Some of the bugs fixed that were reported to Oracle, Novell or filed on oss.oracle.com/bugzilla are: Oracle# 7162741 ODIRECT read on a unaligned sized file makes the fs RO Oracle# 7373369 OOPS on umount saying lockres has local locks (oss bz# 914) Oracle# 8558836 ocfs2_hb_ctl segfaults during umount (oss bz# 1053) Novell# 408304 Performance regression Novell# 425491 flock() error: ocfs2_file_lock:1486 ERROR: status = -22 Novell# 485827 write() error: ocfs2_file_aio_write:2185 ERROR: status = -14 Please refer to the news sections for the complete change log. http://oss.oracle.com/projects/ocfs2/news/article_20.html http://oss.oracle.com/projects/ocfs2-tools/news/article_7.html PERFORMANCE IMPROVEMENTS This release should provide better performance. Apart from inline-data, the other changes that should contribute to better performance are: 1. Dynamic resizing of the local allocator The dynamic resizing of the local allocator allows the file system to keep the allocator active even when the fs is running low on free space. 2. Improved inode locality The inodes in a directory are located closer on disk for faster lookup. 3. Increased DLM cache The mastery cache in the DLM has been enlarged so as to significantly reduce the time taken to master lock resources in clusters comprised of nodes with 8+ cores each. OPEN ISSUES Unfortunately we have some open issues in this release. These are: 1. Oracle# 7643059 - Orphan files not getting deleted When one unlinks a file, its inode is moved to the orphan directory and deleted when it is no longer in-use across the cluster. As part of the scheme, the node that unlinks the file, informs interested nodes of the same, asking the last node to stop using that inode to recover the space allocated to it. However, this scheme fails if memory pressure forces a node to forget to delete the inode on close. This issue was introduced in OCFS2 1.4.1. While we have fixed this issue, the fix did not make it into this release. Users running into this issue can call Oracle Support and ask for an interim release with this fix. 2. OSS bz# 1127 - tunefs error: "Invalid block number while closing device" Resizing a volume may result in the above error. This is a non-fatal error. Refer to the bugzilla for the details. 3. Oracle# 8472553 - OOPS dlm_drop_lockres_ref:2298 ERROR: while dropping ref on domain:lockname (master=1) got -22 (oss bz# 1012) A few users have encountered this issue. Unfortunately, we have not been able to reproduce the issue in-house. It will be helpful if a user that is running into this enables tcpdump to capture the network traffic on port 7777. Such tcpdumps have helped us fix a number of issues over the years. LOOKING AHEAD We are aiming to release OCFS2 1.6 later this year. This release will include the features that we have worked on over the past year. These are: 1. Extended Attributes (unlimited number of attributes) 2. POSIX ACLs 3. Security Attributes 4. Metadata Checksums with ECC (inodes and directories are checksummed) 5. JBD2 Support 6. Indexed Directories (subdirs number increased from 32000 to 2147483647) 7. REFLINK (inode snapshotting) The OCFS2 development group has proposed a new system call, reflink(), that allows regular users to snapshot individual files. The system call looks very much like a hard link and is available to all users for both snapshotting and instant copying. We expect to submit this feature in the upcoming 2.6.32 mainline Linux kernel. For more on this, please refer to the following links. http://blogs.oracle.com/wim/2009/05/ocfs2_reflink.html Wim Coekaert's blog introducing reflink() via an illustrated example http://lwn.net/Articles/335380/ Joel Becker's email to Linux Kernel Mailing List for the reflink() syscall http://lwn.net/Articles/331808/ http://lwn.net/Articles/333783/ Jonathan Corbet's summary of the discussion over the proposed syscall in LWN.net FEEDBACK For any questions or comments, please do not hesitate to email us at the ocfs2-users@oss.oracle.com mailing list. The OCFS2 Team OCFS2: http://oss.oracle.com/projects/ocfs2 TOOLS: http://oss.oracle.com/projects/ocfs2-tools DOCS : http://oss.oracle.com/projects/ocfs2/documentation/ _______________________________________________ Ocfs2-users mailing list Ocfs2-users@oss.oracle.com http://oss.oracle.com/mailman/listinfo/ocfs2-users