Integrated File System Introduction
Journaled integrated file system objects
Some integrated file system object types can be journaled using OS/400 journaling support. The object types supported are stream files, directories, and symbolic links. The "root" (/), QOpenSys, and UDFS are the only file systems that support journaling of these object types. Integrated file system objects can be journaled using either the traditional system interface (CL commands or APIs) or by using iSeries Navigator. You can Start journaling and End journaling through iSeries Navigator, as well as display journaling information.
- Memory mapped stream files and stream files that are used by the Integrated xSeries Server for iSeries (IXS) for virtual drive storage space can not be journaled.
Following is a list that summarizes journaling support in the integrated file system:
- You can use both generic commands and APIs to perform journal operations on the supported object types. These interfaces generally accept object identification in the form of a path name, file ID, or both.
- Some journal operation commands, including Start Journaling, End Journaling, and Apply Journaled Changes, may be performed on entire subtrees of integrated file system objects. You can optionally use the include and exclude lists that may use wild card patterns for object names. For example, you could use the Start Journaling command to specify to start on all objects in the tree "/MyCompany" that match the pattern "*.data" but that excludes any objects matching the patterns "A*.data" and "B*.data".
- Journaling support on directories includes directory operations such as adding links, removing links, creating objects, renaming objects, and moving objects within the directory.
Journaled directories support an attribute that can be set to cause new objects in the subtree to inherit the current journaling state of the directory. When this attribute is turned on for a journaled directory, all stream files, directories, and symbolic links that are created or linked into the directory (by adding a hard link or by renaming or moving the object) will automatically have journaling started by the system.
- If you end journaling for an object, and then rename that object in the same directory it currently resides in, journaling is not started for the object, even if the directory has the inherit current journaling state attribute on.
- Object names and complete path names are contained within several journal entries of integrated file system objects. Object names and path names are National Language Support (NLS)-enabled.
- If the system ends abnormally, system initial program load (IPL) recovery is provided for journaled integrated file system objects.
- The maximum write limit supported by the write() and writev() APIs is 2 gigabytes-1. The maximum journal entry size if RCVSIZOPT (*MAXOPT2) is specified is 4,000,000,000. Otherwise, the maximum journal entry size is 15, 761,440 bytes. If you journal your stream file and have any writes which exceed 15, 761,440 bytes, you will want to use the *MAXOPT2 support to prevent any errors from occurring.
For more detailed information on journaling integrated file system objects, refer to Journal management in the iSeries Information Center.
For more information about the layout of various journal entries, there is a C language include file, qp0ljrnl.h, shipped in member QSYSINC/H (QP0LJRNL), that contains details of the integrated file system journal entry specific data content and formats.
For a complete list of all journal entries deposited for integrated file system objects, refer to the Journal code finder in the iSeries Information Center.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]