Journaling integrated file system objects

You can journal integrated file system objects if they are in the "root"(/), QOpenSys, and user-defined file systems.

The following integrated file system objects can be journaled:
  • Stream files (*STMF)
  • Directories (*DIR)
  • Symbolic links (*SYMLNK)

When you use the SAV command to save an integrated file system object, the default is to not update the history information for the object. If you plan to apply journaled changes to the objects you are journaling, and you are not using the save-while-active function, specify to preserve the update history information about the SAV command.

If you are journaling *DIR or *STMF objects, you can reduce the number of journal entries in the journal receiver. In IBM® Navigator for i, if you ensure that Include open, close, and synchronization entries is deselected, or specify OMTJRNE(*OPNCLOSYN) on the Start Journal (STRJRN) command, you can omit entries for open operations, close operations, and force entries for the object. If you choose not to journal these entries be aware of the following:

  • You cannot use the journal to audit who has accessed the object for opens, closes, and forces.
  • If an object is journaled, it cannot be memory mapped.
  • You cannot apply journal changes to open boundaries and close boundaries using the TOJOBO and TOJOBC parameters.
  • This option is only valid for *DIR and *STMF objects.

If you are journaling symbolic links, the system does not follow the symbolic link to determine what to journal. That is, the system only journals the actual symbolic link. If you want to journal the end object, you must journal the end object directly.

If you are journaling a directory and select Journal new files and folders in IBM Navigator for i (INHERIT(*YES) on the STRJRN command), then objects created into that directory will be automatically journaled to the same journal. Therefore use caution because you can journal more objects than you realize. Also, even if this option is on, if an object is restored to the directory, it keeps the journaling attributes it had before the restore operation (when it was saved), unless it has never previously been journaled. In that case, the object will be journaled. For example, if you restore a stream file that is journaled to Journal X, but the directory you restore the stream file to is being journaled to Journal Y, the stream file will still be journaled to Journal X, even if the directory has the inherit option on.

Note: If you end journaling for an object and then rename that object in the same directory in which it currently resides, journaling is not started for the object, even if the directory has the inherit option on.

If you select Current folder and all subfolders in Navigator for i (SUBTREE(*ALL) on the STRJRN command), journaling only starts on objects that exist in the subtree when the STRJRN command is executed. To start journaling on objects that are added to the subtree after this point you have three options:

  • You can start journaling for each object after it is created.
  • You can select Journal new files and folders (INHERIT option) on the original start journal request.
  • After journaling is started you can use the Change Journaled Objects (CHGJRNOBJ) command and specify INHERIT(*YES).

If you select to journal the current folder and all subfolders, and there are object types in the subtree that are not supported for journaling, the unsupported object types are skipped over so that only object types that are supported for journaling get journaled.

Restrictions for journaling integrated file system objects are as follows:

  • You cannot journal files which are memory mapped. The Memory Map a File (mmap()) API documentation has information about memory mapping.
  • IBM i systems allocate disk space for Integrated xSeries servers as virtual disk drives. From the perspective of the IBM i system, virtual drives appear as byte stream files within the integrated file system. You cannot journal these byte stream files. See the Windows environment on IBM i topic for more information about Integrated xSeries servers.
  • Virtual volume files cannot be journaled.
  • Temporary user-defined file systems cannot be journaled.
To start journaling for integrated file system objects, do the following steps:
  1. With IBM Navigator for i, connect to the system on which the object that you want to journal is located.
  2. Expand File Systems.
  3. Select Integrated File Systems.
  4. Expand the file system with the object you want to journal.
  5. If you are journaling a directory, select the directory and the Journaling action.
  6. If you are journaling an object in a directory, expand the directory and select that object and the Journaling action.

You can also use the STRJRN command or Start Journal (QjoStartJournal) API for integrated file system objects that you want to journal.