[Ocfs2-announce] OCFS2 1.4.2-1 and OCFS2 Tools 1.4.2-1 released

Sunil Mushran sunil.mushran at oracle.com
Tue Jun 16 16:38:25 PDT 2009


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 at 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/



More information about the Ocfs2-announce mailing list