[Ocfs2-tools-commits] jlbec commits r1042 - in
branches/endian-safe: debugfs.ocfs2 documentation fsck.ocfs2
libocfs2 mkfs.ocfs2 mounted.ocfs2 o2cb_ctl ocfs2_hb_ctl
ocfs2cdsl ocfs2console tunefs.ocfs2
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Aug 12 17:35:36 CDT 2005
Author: jlbec
Date: 2005-08-12 17:35:24 -0500 (Fri, 12 Aug 2005)
New Revision: 1042
Added:
branches/endian-safe/documentation/migrate_from_ocfs.sxw
Modified:
branches/endian-safe/debugfs.ocfs2/debugfs.ocfs2.8.in
branches/endian-safe/documentation/ocfs2_faq.txt
branches/endian-safe/documentation/users_guide.sxw
branches/endian-safe/fsck.ocfs2/fsck.ocfs2.8.in
branches/endian-safe/fsck.ocfs2/fsck.ocfs2.checks.8.in
branches/endian-safe/fsck.ocfs2/pass0.c
branches/endian-safe/fsck.ocfs2/pass1.c
branches/endian-safe/libocfs2/chainalloc.c
branches/endian-safe/mkfs.ocfs2/mkfs.ocfs2.8.in
branches/endian-safe/mounted.ocfs2/mounted.ocfs2.8.in
branches/endian-safe/o2cb_ctl/o2cb_ctl.8.in
branches/endian-safe/ocfs2_hb_ctl/ocfs2_hb_ctl.8.in
branches/endian-safe/ocfs2cdsl/ocfs2cdsl.8.in
branches/endian-safe/ocfs2console/ocfs2console.8.in
branches/endian-safe/tunefs.ocfs2/tunefs.ocfs2.8.in
Log:
Sync with trunk
Modified: branches/endian-safe/debugfs.ocfs2/debugfs.ocfs2.8.in
===================================================================
--- branches/endian-safe/debugfs.ocfs2/debugfs.ocfs2.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/debugfs.ocfs2/debugfs.ocfs2.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -5,15 +5,20 @@
\fBdebugfs.ocfs2\fR [\fB\-f\fR \fIcmdfile\fR] [\fB\-V\fR] [\fB\-w\fR] [\fB\-?\fR] [\fIdevice\fR]
.SH "DESCRIPTION"
.PP
-The \fBdebugfs.ocfs2\fR is an interactive file system debugger. It can be used to examine the state of an OCFS2 filesystem. \fIdevice\fR is the special file corresponding the device containing the OCFS2 filesystem (e.g \fI/dev/hdxx\fR).
+The \fBdebugfs.ocfs2\fR is an interactive file system debugger. It can be
+used to examine the state of an OCFS2 filesystem. \fIdevice\fR is the
+special file corresponding the device containing the OCFS2 filesystem
+(e.g \fI/dev/hdxx\fR).
.SH "OPTIONS"
.TP
\fB\-f, --file\fR \fIcmdfile\fR
-Causes \fBdebugfs.ocfs2\fR to read in commands from \fIcmdfile\fR and execute them. It exits after all the commands are executed.
+Causes \fBdebugfs.ocfs2\fR to read in commands from \fIcmdfile\fR and
+execute them. It exits after all the commands are executed.
.TP
\fB\-w, --write\fR
-Specifies that the filesystem should be opened in \fIread-write\fR mode. Without this option, the filesystem is opened in the \fIread-only\fR mode.
+Specifies that the filesystem should be opened in \fIread-write\fR mode.
+Without this option, the filesystem is opened in the \fIread-only\fR mode.
.TP
\fB\-V, --version\fR
@@ -24,7 +29,19 @@
Displays help and exit.
.SH "SPECIFYING FILES"
-Many \fBdebugfs.ocfs2\fR commands take a \fIfilespec\fR as an argument to specify an inode (as opposed to a pathname) in the filesystem which is currently opened by \fBdebugfs.ocfs2\fR. The \fIfilespec\fR argument may be specified in two forms. The first form is an inode number surrounded by angle brackets, e.g., <32>. The second form is a pathname; if the pathname is prefixed by a forward slash ('/'), then it is interpreted relative to the root of the filesystem which is currently opened by \fBdebugfs.ocfs2\fR. If not, the path is interpreted relative to the current working directory as maintained by \fBdebugfs.ocfs2\fR, which can be modified using the command \fIcd\fR. If the pathname is prefixed by a double forward slash ('//'), then it is interpreted relative to the root of the system directory of the filesystem opened by \fBdebugfs.ocfs2\fR.
+Many \fBdebugfs.ocfs2\fR commands take a \fIfilespec\fR as an argument
+to specify an inode (as opposed to a pathname) in the filesystem which
+is currently opened by \fBdebugfs.ocfs2\fR. The \fIfilespec\fR argument
+may be specified in two forms. The first form is an inode number
+surrounded by angle brackets, e.g., <32>. The second form is a pathname;
+if the pathname is prefixed by a forward slash ('/'), then it is
+interpreted relative to the root of the filesystem which is currently
+opened by \fBdebugfs.ocfs2\fR. If not, the path is interpreted relative
+to the current working directory as maintained by \fBdebugfs.ocfs2\fR,
+which can be modified using the command \fIcd\fR. If the pathname is
+prefixed by a double forward slash ('//'), then it is interpreted relative
+to the root of the system directory of the filesystem opened by
+\fBdebugfs.ocfs2\fR.
.SH "COMMANDS"
This is a list of the commands which debugfs.ocfs2 supports.
@@ -51,7 +68,10 @@
.TP
\fIdump [-p] filespec outfile\fR
-Dump the contents of the inode \fIfilespec\fR to the output file \fIoutfile\fR. If the \fI-p\fR is given, set the owner, group, timestamps and permissions information on \fIoutfile\fR to match those of \fIfilespec\fR.
+Dump the contents of the inode \fIfilespec\fR to the output file
+\fIoutfile\fR. If the \fI-p\fR is given, set the owner, group,
+timestamps and permissions information on \fIoutfile\fR to match
+those of \fIfilespec\fR.
.TP
\fIextent block#\fR
@@ -67,7 +87,8 @@
.TP
\fIlcd directory\fR
-Change the current working directory of the \fBdebugfs.ocfs2\fR process to the \fIdirectory\fR on the native filesystem.
+Change the current working directory of the \fBdebugfs.ocfs2\fR process
+to the \fIdirectory\fR on the native filesystem.
.TP
\fIlogdump node#\fR
@@ -75,7 +96,8 @@
.TP
\fIls [-l] \fIfilespec\fR
-Print the listing of the files in the directory \fIfilespec\fR. The \fI-l\fR flag will list files in the long format.
+Print the listing of the files in the directory \fIfilespec\fR. The
+\fI-l\fR flag will list files in the long format.
.TP
\fIopen device\fR
@@ -87,7 +109,10 @@
.TP
\fIrdump [-v] filespec outdir\fR
-Recursively dump directory \fIfilespec\fR and all its contents (including regular files, symbolic links and other directories) into the \fIoutdir\fR which should be an existing directory on the native filesystem.
+Recursively dump directory \fIfilespec\fR and all its contents
+(including regular files, symbolic links and other directories) into
+the \fIoutdir\fR which should be an existing directory on the native
+filesystem.
.TP
\fIslotmap\fR
@@ -105,10 +130,15 @@
This tool has been modelled after \fBdebugfs\fR, a debugging tool for ext2.
.SH "SEE ALSO"
-.BR ocfs2(8)
+.BR mkfs.ocfs2(8)
+.BR fsck.ocfs2(8)
+.BR tunefs.ocfs2(8)
+.BR mounted.ocfs2(8)
+.BR ocfs2console(8)
+.BR ocfs2cdsl(8)
.SH "AUTHOR"
Oracle Corporation
.SH "COPYRIGHT"
-Copyright \(co 2004 Oracle
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Copied: branches/endian-safe/documentation/migrate_from_ocfs.sxw (from rev 1034, trunk/documentation/migrate_from_ocfs.sxw)
Property changes on: branches/endian-safe/documentation/migrate_from_ocfs.sxw
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: branches/endian-safe/documentation/ocfs2_faq.txt
===================================================================
--- branches/endian-safe/documentation/ocfs2_faq.txt 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/documentation/ocfs2_faq.txt 2005-08-12 22:35:24 UTC (rev 1042)
@@ -5,8 +5,8 @@
General
-------
-Q01 How do I get started?
-A01 a) Download and install the module and tools rpms.
+Q01 How do I get started?
+A01 a) Download and install the module and tools rpms.
b) Create cluster.conf and propagate to all nodes.
c) Configure and start the O2CB cluster service.
d) Format the volume.
@@ -16,8 +16,8 @@
Download and Install
--------------------
-Q01 How do I download the rpms?
-A01 If you are on Novell's SLES9, upgrade to SP2 and you will have the
+Q01 How do I download the rpms?
+A01 If you are on Novell's SLES9, upgrade to SP2 and you will have the
required module installed. However, you will be required to install
ocfs2-tools and ocfs2console rpms from the distribution.
If you are on Red Hat's EL4, download and install the appropriate module
@@ -25,26 +25,46 @@
module refers to one matching the kernel flavor, uniprocessor, smp or
hugemem.
-Q02 How do I install the rpms?
-A02 You can install all three rpms in one go using:
- rpm -ivh ocfs2-tools-X.i386.rpm ocfs2console-X.i386.rpm ocfs2-2.6.9-11.ELsmp-X.i686.rpm
+Q02 How do I install the rpms?
+A02 You can install all three rpms in one go using:
+ rpm -ivh ocfs2-tools-X.i386.rpm ocfs2console-X.i386.rpm
+ ocfs2-2.6.9-11.ELsmp-X.i686.rpm
If you need to upgrade, do:
rpm -Uvh ocfs2-2.6.9-11.ELsmp-Y.i686.rpm
-Q03 Do I need to install the console?
-A03 No, the console is recommended but not required.
+Q03 Do I need to install the console?
+A03 No, the console is recommended but not required.
Q04 What are the dependencies for installing ocfs2console?
-A04 ocfs2console requires e2fsprogs, glib2 2.2.3 or later, vte 0.11.10 or later,
- pygtk2 (EL4) or python-gtk (SLES9) 1.99.16 or later, python 1.99.16 or later
- and ocfs2-tools.
+A04 ocfs2console requires e2fsprogs, glib2 2.2.3 or later, vte 0.11.10 or
+ later, pygtk2 (EL4) or python-gtk (SLES9) 1.99.16 or later,
+ python 1.99.16 or later and ocfs2-tools.
+
+Q05 What modules are installed with the OCFS2 package?
+A05 a) configfs.ko
+ b) ocfs2.ko
+ c) ocfs2_dlm.ko
+ d) ocfs2_dlmfs.ko
+ e) ocfs2_nodemanager.ko
+
+Q06 What tools are installed with the tools package?
+A06 a) mkfs.ocfs2
+ b) fsck.ocfs2
+ c) tunefs.ocfs2
+ d) debugfs.ocfs2
+ e) mount.ocfs2
+ f) mounted.ocfs2
+ g) ocfs2cdsl
+ h) ocfs2_hb_ctl
+ i) o2cb_ctl
+ j) ocfs2console - installed with the console package
==============================================================================
Configure
---------
-Q01 How do I populate /etc/ocfs2/cluster.conf?
-A01 If you have installed the console, use it to create this
+Q01 How do I populate /etc/ocfs2/cluster.conf?
+A01 If you have installed the console, use it to create this
configuration file. For details, refer to the user's guide.
If you do not have the console installed, check the Appendix in the
User's guide for a sample cluster.conf and the details of all the
@@ -57,15 +77,15 @@
O2CB Cluster Service
--------------------
-Q01 How do I configure the cluster service?
-A01 # /etc/init.d/o2cb configure
+Q01 How do I configure the cluster service?
+A01 # /etc/init.d/o2cb configure
Enter 'y' if you want the service to load on boot and the name of
the cluster (as listed in /etc/ocfs2/cluster.conf).
Q02 How do I start the cluster service?
-A02 a) Load the modules as:
+A02 a) To load the modules, do:
# /etc/init.d/o2cb load
- b) Online it as:
+ b) To Online it, do:
# /etc/init.d/o2cb online [cluster_name]
If you have configured the cluster to load on boot, you could
combine the two as follows:
@@ -73,10 +93,10 @@
The cluster name is not required if you have specified the name
during configuration.
-Q03 How do I stop the cluster service?
-A03 a) Offline it as:
+Q03 How do I stop the cluster service?
+A03 a) To offline it, do:
# /etc/init.d/o2cb offline [cluster_name]
- b) Unload the modules as:
+ b) To unload the modules, do:
# /etc/init.d/o2cb unload
If you have configured the cluster to load on boot, you could
combine the two as follows:
@@ -85,7 +105,7 @@
during configuration.
Q04 How can I learn the status of the cluster?
-A04 Use the status command as follows:
+A04 To learn the status of the cluster, do:
# /etc/init.d/o2cb status
Q05 I am unable to get the cluster online. What could be wrong?
@@ -97,9 +117,9 @@
Format
------
-Q01 How do I format a volume?
-A01 You could either use the console or use mkfs.ocfs2 directly to format the
- volume. For console, refer to the user's guide.
+Q01 How do I format a volume?
+A01 You could either use the console or use mkfs.ocfs2 directly to format
+ the volume. For console, refer to the user's guide.
# mkfs.ocfs2 -L "oracle_home" /dev/sdX
The above formats the volume with default block and cluster sizes,
which are computed based upon the size of the volume.
@@ -107,7 +127,7 @@
The above formats the volume for 4 nodes with a 4K block size and a
32K cluster size.
-Q02 What does the number of node slots during format mean?
+Q02 What does the number of node slots during format refer to?
A02 The number of node slots specifies the number of nodes that can
concurrently mount the volume. This number is specified during
format and can be increased using tunefs.ocfs2. This number cannot
@@ -120,8 +140,8 @@
increased, there is no need to specify a much larger number than one
plans for mounting the volume.
-Q04 Does the number of node slots have to be the same for all volumes?
-A04 No. This number can be different for each volume.
+Q04 Does the number of node slots have to be the same for all volumes?
+A04 No. This number can be different for each volume.
Q05 What block size should I use?
A05 A block size is the smallest unit of space addressable by the file
@@ -131,16 +151,18 @@
block is never recommended.
Q06 What cluster size should I use?
-A06 A cluster size is the smallest unit of space allocated to a file to
+A06 A cluster size is the smallest unit of space allocated to a file to
hold the data. OCFS2 supports cluster sizes of 4K, 8K, 16K, 32K,
64K, 128K, 256K, 512K and 1M. For database volumes, a cluster size
of 128K or larger is recommended. For Oracle home, 32K to 64K.
-Q07 Any advantage of labeling the volumes?
-A07 As in a shared disk environment, the disk names (/dev/sdX) could
- change from boot to boot, labeling becomes a must for easy identification.
- You could also mount volumes by label using the (mount -L "label"
- command). The label is changeable using the tunefs.ocfs2 utility.
+Q07 Any advantage of labelling the volumes?
+A07 As in a shared disk environment, the disk name (/dev/sdX) for a
+ particular device be different on different nodes, labelling becomes
+ a must for easy identification.
+ You could also use labels to identify volumes during mount.
+ # mount -L "label" /dir
+ The volume label is changeable using the tunefs.ocfs2 utility.
==============================================================================
Mount
@@ -159,8 +181,8 @@
Q03 What entry to I add to /etc/fstab to mount an ocfs2 volume?
A03 Add the following:
/dev/sdX /dir ocfs2 noauto,_netdev 0 0
- The _netdev option indicates that the devices needs to be mounted after the
- network is up.
+ The _netdev option indicates that the devices needs to be mounted after
+ the network is up.
Q04 What all do I need to do to automount OCFS2 volumes on boot?
A04 a) Enable o2cb service using:
@@ -180,10 +202,10 @@
mount command reads the /etc/mtab to show the information.
Q06 What are the /config and /dlm mountpoints for?
-A06 OCFS2 comes bundled with two in-memory filesystems configfs and ocfs2_dlmfs.
- configfs is used by the ocfs2 tools to communicate to the in-kernel
- node manager the list of nodes in the cluster and to the in-kernel
- heartbeat thread the resource to heartbeat on.
+A06 OCFS2 comes bundled with two in-memory filesystems configfs and
+ ocfs2_dlmfs. configfs is used by the ocfs2 tools to communicate to the
+ in-kernel node manager the list of nodes in the cluster and to the
+ in-kernel heartbeat thread the resource to heartbeat on.
ocfs2_dlmfs is used by ocfs2 tools to communicate with the in-kernel
dlm to take and release clusterwide locks on resources.
==============================================================================
@@ -208,3 +230,128 @@
should never be on the same volume as the distribution (including the
trace logs like, alert.log).
==============================================================================
+
+Moving data from OCFS (Release 1) and OCFS2
+-------------------------------------------
+
+Q01 Can I mount OCFS volumes as OCFS2?
+A01 No. OCFS and OCFS2 are not on-disk compatible. We had to break the
+ compatibility in order to add many of the new features. At the same
+ time, we have added enough flexibility in the new disk layout so as to
+ maintain backward compatibility in the future.
+
+Q02 Can OCFS volumes and OCFS2 volumes be mounted on the same machine
+ simultaneously?
+A02 No. OCFS only works on 2.4 linux kernels (Red Hat's AS2.1/EL3 and SuSE's
+ SLES8). OCFS2, on the other hand, only works on the 2.6 kernels
+ (Red Hat's EL4 and SuSE's SLES9).
+
+Q03 Can I access my OCFS volume on 2.6 kernels (SLES9/RHEL4)?
+A03 Yes, you can access the OCFS volume on 2.6 kernels using FSCat
+ tools, fsls and fscp. These tools can access the OCFS volumes at the
+ device layer, to list and copy the files to another filesystem.
+ FSCat tools are available on oss.oracle.com.
+
+Q04 Can I in-place convert my OCFS volume to OCFS2?
+A04 No. The on-disk layout of OCFS and OCFS2 are sufficiently different
+ that it would require a third disk (as a temporary buffer) inorder to
+ in-place upgrade the volume. With that in mind, it was decided not to
+ develop such a tool but instead provide tools to copy data from OCFS
+ without one having to mount it.
+
+Q05 What is the quickest way to move data from OCFS to OCFS2?
+A05 Quickest would mean having to perform the minimal number of copies.
+ If you have the current backup on a non-OCFS volume accessible from
+ the 2.6 kernel install, then all you would need to do is to retore
+ the backup on the OCFS2 volume(s). If you do not have a backup but
+ have a setup in which the system containing the OCFS2 volumes can
+ access the disks containing the OCFS volume, you can use the FSCat
+ tools to extract data from the OCFS volume and copy onto OCFS2.
+==============================================================================
+
+Coreutils
+---------
+
+Q01 Like with OCFS (Release 1), do I need to use o_direct enabled tools
+ to perform cp, mv, tar, etc.?
+A01 No. OCFS2 does not need the o_direct enabled tools. The file system
+ allows processes to open files in both o_direct and bufferred mode
+ concurrently.
+==============================================================================
+
+PROC interface
+--------------
+
+Q01 How do I know what version number of the OCFS2?
+A01 # cat /proc/fs/ocfs2/version
+ OCFS2 1.0.0 Tue Aug 2 17:38:59 PDT 2005 (build e7bd36709a2c1cb875cf2d533a018f20)
+
+root at ca-test32:~# mounted.ocfs2 -d
+Device FS UUID Label
+/dev/sdb1 ocfs2 e70c75a0-a08c-480a-bf50-ebda4191da30 mm_v2_dbf1
+/dev/sdb2 ocfs2 f49163e8-6288-43c4-a792-e9401fde45fa mm_v2_ctrl
+/dev/sdb3 ocfs2 2d441be2-adb6-4c52-9e19-9a7c2c485dc4 mm_v2_ocfs2
+/dev/sdb5 ocfs2 8607eae9-8e4f-4495-84e8-8db0bc9da60c mm_v2_log1
+/dev/sdb6 ocfs2 acfb7b7d-a277-4741-9791-620ea9b82670 mm_v2_log2
+/dev/sdf1 ocfs2 84749537-df45-4a97-aa28-fad63760b674 ocfs2test
+/dev/sdi2 ocfs2 5c30cc8d-ee31-414c-bc6c-a8685d738262
+/dev/sdq1 ocfs2 dca2901b-241f-406e-80e9-85dd6b452d1a oracle_home
+/dev/sdcf1 ocfs2 663764bd-1eed-4b3c-aa48-a98f0be0e574 ocfs2test
+/dev/sdcf2 ocfs2 8e2d9c21-ef47-4fea-8ac5-2306cc60455e mm_v2_log2
+/dev/sdcg1 ocfs2 663764bd-1eed-4b3c-aa48-a98f0be0e574 ocfs2test
+
+
+root at ca-test32:~# mounted.ocfs2 -f
+Device FS Nodes
+/dev/sdb1 ocfs2 ca-test91
+/dev/sdb2 ocfs2 ca-test91
+/dev/sdb3 ocfs2 ca-test91
+/dev/sdb5 ocfs2 ca-test91
+/dev/sdb6 ocfs2 ca-test91, ca-test90
+/dev/sdf1 ocfs2 Not mounted
+/dev/sdi2 ocfs2 ca-test34, ca-test35
+/dev/sdq1 ocfs2 Not mounted
+/dev/sdcf1 ocfs2 Not mounted
+/dev/sdcf2 ocfs2 Not mounted
+/dev/sdcg1 ocfs2 Not mounted
+/dev/sdcg2 ocfs2 Not mounted
+/dev/sdch1 ocfs2 ca-test30
+/dev/sdci1 ocfs2 ca-test30
+/dev/sdcj1 ocfs2 ca-test31, ca-test33, ca-test32, ca-test30
+/dev/sdcj2 ocfs2 ca-test31, ca-test33, ca-test32, ca-test30
+/dev/sdck1 ocfs2 ca-test31, ca-test33, ca-test32, ca-test30
+/dev/sdck2 ocfs2 ca-test31, ca-test33, ca-test32, ca-test30
+/dev/sdcl1 ocfs2 ca-test31, ca-test33, ca-test32, ca-test30
+/dev/sdcl2 ocfs2 ca-test31, ca-test33, ca-test32, ca-test30
+
+
+
+
+root at ca-test32:/ocfs2/archives# ocfs2cdsl agent.ora
+root at ca-test32:/ocfs2/archives# ll
+total 8
+drwxr-xr-x 2 root root 4096 Aug 8 11:41 .
+drwxr-xr-x 5 root root 4096 Aug 8 11:41 ..
+lrwxrwxrwx 1 root root 50 Aug 8 11:41 agent.ora -> ../.cluster/hostname/{hostname}/archives/agent.ora
+
+
+
+
+
+
+root at ca-test32:/ocfs2/archives# cp /root/.bash_profile bash_profile
+root at ca-test32:/ocfs2/archives# ll
+total 9
+drwxr-xr-x 2 root root 4096 Aug 8 11:50 .
+drwxr-xr-x 5 root root 4096 Aug 8 11:41 ..
+lrwxrwxrwx 1 root root 50 Aug 8 11:41 agent.ora -> ../.cluster/hostname/{hostname}/archives/agent.ora
+-rw-r--r-- 1 root root 191 Aug 8 11:50 bash_profile
+root at ca-test32:/ocfs2/archives# ocfs2cdsl -c bash_profile
+root at ca-test32:/ocfs2/archives# ll
+total 8
+drwxr-xr-x 2 root root 4096 Aug 8 11:50 .
+drwxr-xr-x 5 root root 4096 Aug 8 11:41 ..
+lrwxrwxrwx 1 root root 50 Aug 8 11:41 agent.ora -> ../.cluster/hostname/{hostname}/archives/agent.ora
+lrwxrwxrwx 1 root root 53 Aug 8 11:50 bash_profile -> ../.cluster/hostname/{hostname}/archives/bash_profile
+
+
Modified: branches/endian-safe/documentation/users_guide.sxw
===================================================================
(Binary files differ)
Modified: branches/endian-safe/fsck.ocfs2/fsck.ocfs2.8.in
===================================================================
--- branches/endian-safe/fsck.ocfs2/fsck.ocfs2.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/fsck.ocfs2/fsck.ocfs2.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -1,6 +1,6 @@
.TH "fsck.ocfs2" "8" "March 2005" "Version @VERSION@" "OCFS2 Manual Pages"
.SH "NAME"
-fsck.ocfs2 \- Check an OCFS2 file system.
+fsck.ocfs2 \- Check an \fIOCFS2\fR file system.
.SH "SYNOPSIS"
\fBfsck.ocfs2\fR [ \fB\-fFGnuvVy\fR ] [ \fB\-b\fR \fIsuperblock block\fR ] [ \fB\-B\fR \fIblock size\fR ] \fIdevice\fR
.SH "DESCRIPTION"
@@ -82,12 +82,18 @@
.br
.SH "SEE ALSO"
-.BR ocfs2(8)
+.BR mkfs.ocfs2(8)
+.BR debugfs.ocfs2(8)
+.BR tunefs.ocfs2(8)
+.BR mounted.ocfs2(8)
+.BR ocfs2console(8)
+.BR ocfs2cdsl(8)
+
.SH "AUTHORS"
Oracle Corporation. This man page entry derives some text, especially the exit code summary, from
.BR e2fsck(8)
by Theodore Ts’o <tytso at mit.edu>.
.SH "COPYRIGHT"
-Copyright \(co 2004 Oracle Corporation
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Modified: branches/endian-safe/fsck.ocfs2/fsck.ocfs2.checks.8.in
===================================================================
--- branches/endian-safe/fsck.ocfs2/fsck.ocfs2.checks.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/fsck.ocfs2/fsck.ocfs2.checks.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -6,11 +6,15 @@
.SH "DESCRIPTION"
.PP
.BR fsck.ocfs2(8)
-is used to check an OCFS2 file system. It performs many consistenty checks and will offer to fix faults that it finds. This man page lists the problems it may find and describes their fixes. The problems are indexed by the error number that
+is used to check an OCFS2 file system. It performs many consistenty checks
+and will offer to fix faults that it finds. This man page lists the problems
+it may find and describes their fixes. The problems are indexed by the error
+number that
.BR fsck.ocfs2(8)
emits when it describes the problem and asks if it should be fixed.
-The prompts are constructed such that answering 'no' results in no changes to the file system. This may result in errors later on that stop
+The prompts are constructed such that answering 'no' results in no changes
+to the file system. This may result in errors later on that stop
.BR fsck.ocfs2(8)
from proceeding.
@@ -31,8 +35,8 @@
contains a generation number that doesn't match.
Answering yes implies that the generation number is correct and that the
-extent block is from a previous file system. The extent block will be ignored
-and the file that contains it will lose the data it referenced.
+extent block is from a previous file system. The extent block will be
+ignored and the file that contains it will lose the data it referenced.
.SS "EB_GEN_FIX"
Extent blocks are created with a generation number to match the generation
@@ -44,28 +48,33 @@
block is updated to match the generation number in the volume.
.SS "EXTENT_BLKNO_UNALIGNED"
-The block that marks the start of an extent should always fall on the start of a cluster. An extent was found that starts part-way into a cluster.
+The block that marks the start of an extent should always fall on the start
+of a cluster. An extent was found that starts part-way into a cluster.
Answering yes moves the start of the extent back to the start of the addressed
-cluster. This may add data to the middle of the file that contains this extent.
+cluster. This may add data to the middle of the file that contains this
+extent.
.SS "EXTENT_CLUSTERS_OVERRUN"
-An extent was found which claims to contain clusters which are beyond the end of the volume.
+An extent was found which claims to contain clusters which are beyond the
+end of the volume.
-Answering yes clamps the extent to the end of the volume. This may result in a
-reduced file size for the file that contains the extent, but it couldn't have
-addressed those final clusters anyway. One can imagine this problem arising if
-there are problems shrinking a volume.
+Answering yes clamps the extent to the end of the volume. This may result
+in a reduced file size for the file that contains the extent, but it
+couldn't have addressed those final clusters anyway. One can imagine this
+problem arising if there are problems shrinking a volume.
.SS "EXTENT_EB_INVALID"
-Deep extent trees are built by forming a tree out of extent blocks. An extent tree references an invalid extent block.
+Deep extent trees are built by forming a tree out of extent blocks. An
+extent tree references an invalid extent block.
Answering yes stops the tree from referencing the invalid extent block. This
may truncate data from the file which contains the tree.
.SS "EXTENT_LIST_DEPTH"
Extent lists contain a record of their depth in the tree. An extent list
-was found whose recorded depth doesn't match the position they have in the tree.
+was found whose recorded depth doesn't match the position they have in the
+tree.
Answering yes updates the depth field in the list to match the tree on disk.
@@ -74,21 +83,22 @@
inode or the size of the block which contains it. An extent list was found
which claims to have more entries than would fit in its container.
-Answering yes updates the count field in the exent list to match the container.
-Answering no to this question may stop further fixes from being done because
-the count value can not be trusted.
+Answering yes updates the count field in the exent list to match the
+container. Answering no to this question may stop further fixes from being
+done because the count value can not be trusted.
.SS "EXTENT_LIST_FREE"
The number of free entries in an extent list must be less than the total
-number of entries in the list. A list was found which claims to have more free entries than possible entries.
+number of entries in the list. A list was found which claims to have more
+free entries than possible entries.
Answering yes sets the number of free entries in the list equal to the total
possible entries.
.SS "EXTENT_BLKNO_RANGE"
-An extent record was found which references a block which can not be referenced
-by an extent. The referenced block is either very early in the volume, and
-thus reserved, or beyond the end of the volume.
+An extent record was found which references a block which can not be
+referenced by an extent. The referenced block is either very early in the
+volume, and thus reserved, or beyond the end of the volume.
Answering yes removes this extent record from the tree. This may remove data
from the file which owns the tree but any such data was inaccesible.
@@ -105,8 +115,8 @@
.SS "GROUP_EXPECTED_DESC"
The group descriptors that make up the global bitmap chain allocator reside
-at predictable locations on disk. A group descriptor at one of these locations
-was not linked into the global bitmap allocator.
+at predictable locations on disk. A group descriptor at one of these
+locations was not linked into the global bitmap allocator.
Answering yes will relink this group into the allocator.
@@ -127,15 +137,17 @@
.SS "GROUP_BLKNO"
Group descriptors have a field which records their block location on disk. A
-group descriptor was found at a given location but is recorded as being located
-somewhere else.
+group descriptor was found at a given location but is recorded as being
+located somewhere else.
Answering yes updates the group descriptor's recorded location to match where
it actually is found on disk.
.SS "GROUP_CHAIN"
Group descriptors are found in a number of different singly-linked chains
-in an allocator inode. A group descriptor records the chain number that it is linked in. A group descriptor was found whose chain field doesn't match the chain it was found in.
+in an allocator inode. A group descriptor records the chain number that it
+is linked in. A group descriptor was found whose chain field doesn't match
+the chain it was found in.
Answering yes sets the group descriptor's chain field to match the chain
it is found in.
@@ -171,6 +183,23 @@
Answering yes will remove the unused chain and shift the remaining chains
forward in the list.
+.SS "CHAIN_I_CLUSTERS"
+Chain allocator inodes have an i_clusters value that represents the number
+of clusters used by the allocator. An inode was found whose i_clusters
+value doesn't match the number of clusters its chains cover.
+
+Answering yes updates i_clusters in the inode to reflect what was actually
+found by walking the chain.
+
+.SS "CHAIN_I_SIZE"
+Chain allocator inodes multiply the number of bytes per cluster
+by the their i_clusters value and store it in i_size. An inode was found
+which didn't have the correct value in its i_size.
+
+Answering yes updates i_size to be the product of i_clusters and the cluster
+size. Nothing else uses this value, and previous versions of tools didn't
+calculate it properly, so don't be too worried if this error appears.
+
.SS "CHAIN_GROUP_BITS"
The inode that contains an embedded chain list has fields which record the
total number of bits covered by the chain as well as the amount free. These
@@ -183,7 +212,8 @@
The header that starts a chain tried to reference a group descriptor at
a block number that couldn't be valid.
-Answering yes will clear the reference to this invalid block and truncate the chain that it started.
+Answering yes will clear the reference to this invalid block and truncate
+the chain that it started.
.SS "CHAIN_LINK_GEN"
A reference was made to a group descriptor whose generation number doesn't
@@ -191,8 +221,8 @@
Answering yes to this question implies that the group descriptor is invalid
and the chain is truncated at the point that it referred to this invalid
-group descriptor. Answering no to this question considers the group descriptor
-as valid and its generation may be fixed.
+group descriptor. Answering no to this question considers the group
+descriptor as valid and its generation may be fixed.
.SS "CHAIN_LINK_MAGIC"
Chains are built by chain headers and group descriptors which are linked
@@ -229,7 +259,8 @@
The inode allocator did not accurately reflect the set of inodes that are
free and in use in the volume.
-Answering yes will update the inode allocator bitmaps. Each bit that doesn't match the state of its inode will be inverted.
+Answering yes will update the inode allocator bitmaps. Each bit that
+doesn't match the state of its inode will be inverted.
.SS "INODE_SUBALLOC"
Each inode records the node whose allocator is responsible for the inode. An
@@ -244,8 +275,8 @@
clusters in batches. A node's local allocator claims to reflect more bytes
than are possible for the volume's block size.
-Answering yes decreses the local allocator's size to reflect the volume's block
-size.
+Answering yes decreses the local allocator's size to reflect the volume's
+block size.
.SS "LALLOC_NZ_USED"
A given node's local allocator isn't in use but it claims to have bits
@@ -293,8 +324,9 @@
A local allocator inode was found to have problems. This gives the operator
a chance to just reset the local allocator inode.
-Answering yes clears the local allocator. No information is lost but the global
-bitmap allocator may need to be updated to reflect clusters that were reserved for the local allocator but were free.
+Answering yes clears the local allocator. No information is lost but the
+global bitmap allocator may need to be updated to reflect clusters that were
+reserved for the local allocator but were free.
.SS "DEALLOC_COUNT"
The given truncate log inode contains a count that is greater than the
@@ -318,17 +350,17 @@
allocator is updated to match what is used by the file system.
.SS "TRUNCATE_REC_WRAP"
-Clusters are recorded as 32bit values. A truncate record was found which claims
-to have enough clusters to cause this value to wrap. This could never be the case and
-is a sure sign of corruption.
+Clusters are recorded as 32bit values. A truncate record was found which
+claims to have enough clusters to cause this value to wrap. This could
+never be the case and is a sure sign of corruption.
Answering yes will clear the truncate record. This may result in previously
freed space being marked as allocated. This will be fixed up later as the
allocator is updated to match what is used by the file system.
.SS "TRUNCATE_REC_RANGE"
-A truncate record was found which claims to reference a region of clusters which
-partially extends beyond the number of clusters in the volume.
+A truncate record was found which claims to reference a region of clusters
+which partially extends beyond the number of clusters in the volume.
Answering yes will clear the truncate record. This may result in previously
freed space being marked as allocated. This will be fixed up later as the
@@ -352,7 +384,8 @@
inode is updated to match the generation number in the volume.
.SS "INODE_BLKNO"
-Inodes contain a field that must match the block that they reside in. An inode was found at a block that doesn't match the field in the inode.
+Inodes contain a field that must match the block that they reside in.
+An inode was found at a block that doesn't match the field in the inode.
Answering yes updates the field to match the inode's position on disk.
@@ -387,13 +420,16 @@
Answering yes clears the inode and so deletes the link.
.SS "LINK_SIZE"
-The size of a link on disk must match the length of its target string. A link was found whose size does not.
+The size of a link on disk must match the length of its target string.
+A link was found whose size does not.
Answering yes updates the link's size to reflect the length of its target
string.
.SS "LINK_BLOCKS"
-Links can not be sparse. There must be exactly as many blocks allocated as are needed to cover its size. A link was found which doesn't have enough blocks allocated to cover its size.
+Links can not be sparse. There must be exactly as many blocks allocated
+as are needed to cover its size. A link was found which doesn't have enough
+blocks allocated to cover its size.
Answering yes clears the link's inode and so deletes the link.
@@ -404,6 +440,17 @@
Answering yes to this question clears the directorie's inode and so
deletes the directory.
+.SS "INODE_SIZE"
+Certain inodes record the size of the data they reference in an i_size field.
+This can be the number of bytes in a file, directory, or symlink target
+which are stored in data mapped by extents of clusters. This error occurs
+when the extent lists are walked and the amount of data found does not match
+what is stored in i_size.
+
+Answering yes to this question updates the inode's i_size to match the amount
+of data referenced by the extent lists. It is vitally important that i_size
+matches the extent lists and so answering yes is strongly encouraged.
+
.SS "INODE_CLUSTERS"
Inodes contain a record of how many clusters are allocated to them. An inode
was found whose recorded number of clusters doesn't match the number of blocks
@@ -431,13 +478,14 @@
A specific cluster's use didn't match the setting of its bit in the cluster
allocator.
-Answering yes will invert the bit in the allocator to match the use of the cluster -- either allocated and in use or free.
+Answering yes will invert the bit in the allocator to match the use of the
+cluster -- either allocated and in use or free.
\" pass2.c
.SS "DIRENT_DOTTY_DUP"
-There can be only one instance of both the "." and ".." entries in a directory.
-A directory entry was found which duplicated one of these entries.
+There can be only one instance of both the "." and ".." entries in a
+directory. A directory entry was found which duplicated one of these entries.
Answering yes will remove the duplicate directory entry.
@@ -501,10 +549,13 @@
Answering yes resets the entry's type to match the target inode.
.SS "DIR_PARENT_DUP"
-Each directory can only be pointed to by one directory entry in a parent directory. A directory entry was found which was the second entry to point to a given
-directory inode.
+Each directory can only be pointed to by one directory entry in a parent
+directory. A directory entry was found which was the second entry to point
+to a given directory inode.
-Answering yes clears this entry which was the second to refer to a given directory. This reflects the policy that hard links to directories are not allowed.
+Answering yes clears this entry which was the second to refer to a given
+directory. This reflects the policy that hard links to directories are not
+allowed.
.SS "DIRENT_DUPLICATE"
File names within a directory must be unique. A file name occurred in more
@@ -515,25 +566,28 @@
the directory.
.SS "DIRENT_LENGTH"
-There are very few directory entry lengths that are valid. The lengths must be
-greater than the minimum required to record a single character directory, be
-rounded to 12 bytes, be within the amount of space remaining in a directory
-block, and be properly rounded for the size of the name of the directory entry.
-An entry was found which didn't meet these criteria.
+There are very few directory entry lengths that are valid. The lengths must
+be greater than the minimum required to record a single character directory,
+be rounded to 12 bytes, be within the amount of space remaining in a directory
+block, and be properly rounded for the size of the name of the directory
+entry. An entry was found which didn't meet these criteria.
Answering yes will try to repair the directory entry. This runs a very good
-chance of invalidating all the entries in the directory block. Orphaned inodes
-may appear in lost+found.
+chance of invalidating all the entries in the directory block. Orphaned
+inodes may appear in lost+found.
\" pass3.c
.SS "ROOT_DIR_MISSING"
-The super block contains a reference to the inode that serves as the root directory. This reference points to an inode that isn't in use.
+The super block contains a reference to the inode that serves as the root
+directory. This reference points to an inode that isn't in use.
-Answering yes will create a new inode and update the super block to refer to this inode as the root directory.
+Answering yes will create a new inode and update the super block to refer
+to this inode as the root directory.
.SS "LOSTFOUND_MISSING"
-The super block contains a reference to the inode that serves as the lost+found directory. This reference points to an inode that isn't in use.
+The super block contains a reference to the inode that serves as the
+lost+found directory. This reference points to an inode that isn't in use.
Answering yes will create a new lost+found directory in the root directory.
@@ -556,7 +610,8 @@
\" pass4.c
.SS "INODE_NOT_CONNECTED"
-Most all inodes in the system should be referenced by a directory entry. An inode was found which isn't referred to by any directory entry.
+Most all inodes in the system should be referenced by a directory entry. An
+inode was found which isn't referred to by any directory entry.
Answering yes moves this inode into the lost+found directory and
gives it a name based on its inode number.
@@ -566,7 +621,8 @@
was found whose recorded count doesn't match the number of entries that
refer to it.
-Answering yes sets the inode's count to match the number of referring directory entries.
+Answering yes sets the inode's count to match the number of referring
+directory entries.
.SS "INODE_ORPHANED"
While files are being deleted they are placed in an internal directory. If
@@ -578,10 +634,10 @@
the inode.
.SH "SEE ALSO"
-.BR ocfs2(8)
+.BR fsck.ocfs2(8)
.SH "AUTHORS"
Oracle Corporation.
.SH "COPYRIGHT"
-Copyright \(co 2004 Oracle Corporation
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Modified: branches/endian-safe/fsck.ocfs2/pass0.c
===================================================================
--- branches/endian-safe/fsck.ocfs2/pass0.c 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/fsck.ocfs2/pass0.c 2005-08-12 22:35:24 UTC (rev 1042)
@@ -245,6 +245,8 @@
cr->c_total -= bg->bg_bits;
di->id1.bitmap1.i_used -= bg->bg_bits - bg->bg_free_bits_count;
di->id1.bitmap1.i_total -= bg->bg_bits;
+ di->i_clusters -= (bg->bg_bits / cl->cl_bpc);
+ di->i_size = (uint64_t)di->i_clusters * ost->ost_fs->fs_clustersize;
ret = ocfs2_write_inode(ost->ost_fs, di->i_blkno, (char *)di);
if (ret) {
@@ -451,6 +453,7 @@
uint32_t free = 0, total = 0;
int changed = 0, trust_next_free = 1;
errcode_t ret = 0;
+ uint64_t chain_bytes;
if (memcmp(di->i_signature, OCFS2_INODE_SIGNATURE,
strlen(OCFS2_INODE_SIGNATURE))) {
@@ -543,6 +546,7 @@
};
ret = check_chain(ost, di, &cs, cr, buf1, buf2, &changed,
allowed, forbidden);
+ /* XXX what? not checking ret? */
if (cr->c_blkno != 0) {
free += cs.cs_free_bits;
@@ -597,6 +601,30 @@
}
}
+ total /= cl->cl_bpc;
+
+ if (di->i_clusters != total &&
+ prompt(ost, PY, PR_CHAIN_I_CLUSTERS,
+ "Allocator inode %"PRIu64" has %"PRIu32" clusters "
+ "represtented in its allocator chains but has an "
+ "i_clusters value of %"PRIu32". Fix this by updating "
+ "i_clusters?", di->i_blkno, total, di->i_clusters)) {
+ di->i_clusters = total;
+ changed = 1;
+ }
+
+ chain_bytes = (uint64_t)total * ost->ost_fs->fs_clustersize;
+ if (di->i_size != chain_bytes &&
+ prompt(ost, PY, PR_CHAIN_I_SIZE,
+ "Allocator inode %"PRIu64" has %"PRIu32" clusters "
+ "represtented in its allocator chain which accounts for "
+ "%"PRIu64" total bytes, but its i_size is %"PRIu64". "
+ "Fix this by updating i_size?", di->i_blkno,
+ di->id1.bitmap1.i_total, chain_bytes, di->i_size)) {
+ di->i_size = chain_bytes;
+ changed = 1;
+ }
+
if (changed) {
ret = ocfs2_write_inode(ost->ost_fs, di->i_blkno, (char *)di);
if (ret) {
@@ -781,6 +809,9 @@
di->id1.bitmap1.i_used += bg->bg_bits - bg->bg_free_bits_count;
di->id1.bitmap1.i_total += bg->bg_bits;
+ di->i_clusters += (bg->bg_bits / di->id2.i_chain.cl_bpc);
+ di->i_size = (uint64_t)di->i_clusters *
+ ost->ost_fs->fs_clustersize;
ret = ocfs2_write_inode(ost->ost_fs, di->i_blkno, (char *)di);
if (ret) {
Modified: branches/endian-safe/fsck.ocfs2/pass1.c
===================================================================
--- branches/endian-safe/fsck.ocfs2/pass1.c 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/fsck.ocfs2/pass1.c 2005-08-12 22:35:24 UTC (rev 1042)
@@ -701,22 +701,10 @@
return 0;
}
-/* XXX this is only really building up the vb data so that the caller can
- * verify the chain allocator inode's fields. I wonder if we shouldn't have
- * already done that in pass 0. */
-static int check_gd_block(ocfs2_filesys *fs, uint64_t gd_blkno, int chain_num,
- void *priv_data)
-{
- struct verifying_blocks *vb = priv_data;
- verbosef("found gd block %"PRIu64"\n", gd_blkno);
- /* XXX should arguably be verifying that pass 0 marked the group desc
- * blocks found */
- /* don't have bcount */
- vb_saw_block(vb, vb->vb_num_blocks);
- return 0;
-}
-
-
+/*
+ * this verifies i_size and i_clusters for inodes that use i_list to
+ * reference extents of data.
+ */
static errcode_t o2fsck_check_blocks(ocfs2_filesys *fs, o2fsck_state *ost,
uint64_t blkno, ocfs2_dinode *di)
{
@@ -727,28 +715,21 @@
.vb_di = di,
};
- /*
- * ISLNK && clusters == 0 is the only sign of an inode that doesn't
- * have an extent list when i_flags would have us believe it did.
- * We might be able to be very clever about discovering the
- * difference between i_symlink and i_list, but we don't try yet.
- */
- if (di->i_flags & OCFS2_LOCAL_ALLOC_FL ||
- di->i_flags & OCFS2_DEALLOC_FL)
- ret = 0;
- else if (di->i_flags & OCFS2_CHAIN_FL)
- ret = ocfs2_chain_iterate(fs, blkno, check_gd_block, &vb);
- else if (S_ISLNK(di->i_mode) && di->i_clusters == 0)
- ret = 0;
- else {
- ret = o2fsck_check_extents(ost, di);
- if (ret == 0)
- ret = ocfs2_block_iterate_inode(fs, di, 0,
- verify_block, &vb);
- if (vb.vb_ret)
- ret = vb.vb_ret;
- }
+ /* don't bother to verify for inodes that don't have i_list,
+ * we have to trust i_mode/i_clusters to tell us that a symlink
+ * has put target data in the union instead of i_list */
+ if ((di->i_flags & (OCFS2_SUPER_BLOCK_FL | OCFS2_LOCAL_ALLOC_FL |
+ OCFS2_BITMAP_FL | OCFS2_CHAIN_FL |
+ OCFS2_DEALLOC_FL)) ||
+ (S_ISLNK(di->i_mode) && di->i_clusters == 0))
+ return 0;
+ ret = o2fsck_check_extents(ost, di);
+ if (ret == 0)
+ ret = ocfs2_block_iterate_inode(fs, di, 0, verify_block, &vb);
+ if (vb.vb_ret)
+ ret = vb.vb_ret;
+
if (ret) {
com_err(whoami, ret, "while iterating over the blocks for "
"inode %"PRIu64, di->i_blkno);
@@ -781,19 +762,18 @@
/* XXX clear valid flag and stuff? */
}
-#if 0 /* boy, this is just broken */
if (vb.vb_num_blocks > 0)
expected = (vb.vb_last_block + 1) * fs->fs_blocksize;
/* i_size is checked for symlinks elsewhere */
if (!S_ISLNK(di->i_mode) && di->i_size > expected &&
- prompt(ost, PY, 0, "Inode %"PRIu64" has a size of %"PRIu64" but has "
- "%"PRIu64" bytes of actual data. Correct the file size?",
+ prompt(ost, PY, PR_INODE_SIZE, "Inode %"PRIu64" has a size of "
+ "%"PRIu64" but has %"PRIu64" bytes of actual data. "
+ "Correct the file size?",
di->i_blkno, di->i_size, expected)) {
di->i_size = expected;
o2fsck_write_inode(ost, blkno, di);
}
-#endif
if (vb.vb_num_blocks > 0)
expected = ocfs2_clusters_in_blocks(fs, vb.vb_last_block + 1);
Modified: branches/endian-safe/libocfs2/chainalloc.c
===================================================================
--- branches/endian-safe/libocfs2/chainalloc.c 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/libocfs2/chainalloc.c 2005-08-12 22:35:24 UTC (rev 1042)
@@ -534,6 +534,8 @@
rec->c_blkno = blkno;
cinode->ci_inode->i_clusters += cinode->ci_inode->id2.i_chain.cl_cpg;
+ cinode->ci_inode->i_size = (uint64_t)cinode->ci_inode->i_clusters *
+ fs->fs_clustersize;
cinode->ci_inode->id1.bitmap1.i_total += gd->bg_bits;
cinode->ci_inode->id1.bitmap1.i_used += gd->bg_bits -
gd->bg_free_bits_count;
@@ -564,6 +566,8 @@
cinode->ci_inode->i_clusters -=
cinode->ci_inode->id2.i_chain.cl_cpg;
+ cinode->ci_inode->i_size = (uint64_t)cinode->ci_inode->i_clusters *
+ fs->fs_clustersize;
cinode->ci_inode->id1.bitmap1.i_total -= gd->bg_bits;
cinode->ci_inode->id1.bitmap1.i_used -= gd->bg_bits -
gd->bg_free_bits_count;
Modified: branches/endian-safe/mkfs.ocfs2/mkfs.ocfs2.8.in
===================================================================
--- branches/endian-safe/mkfs.ocfs2/mkfs.ocfs2.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/mkfs.ocfs2/mkfs.ocfs2.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -1,62 +1,82 @@
.TH "mkfs.ocfs2" "8" "March 2005" "Version @VERSION@" "OCFS2 Manual Pages"
.SH "NAME"
-mkfs.ocfs2 \- Build an OCFS2 file system.
+mkfs.ocfs2 \- Creates an \fIOCFS2\fR file system.
.SH "SYNOPSIS"
\fBmkfs.ocfs2\fR [ \fB\-b\fR \fIblock\-size\fR ] [ \fB\-C\fR \fIcluster\-size\fR ] [ \fB\-L\fR \fIvolume\-label\fR ] [ \fB\-N\fR \fInumber\-of\-nodes\fR ] [ \fB\-J\fR \fIjournal\-options\fR ] [ \fB\-F\fR ] [ \fB\-q\fR ] [ \fB\-v\fR ] [ \fB\-V\fR ] \fIdevice\fR
.SH "DESCRIPTION"
.PP
-\fBmkfs.ocfs2\fR is used to build an OCFS2 file system on a \fIdevice\fR, usually a partition in a shared disk. In order to prevent data loss, \fBmkfs.ocfs2\fR will not format a specified device if a node has it mounted. Different than OCFS, there is no need to mount the partition exclusively after formatting it.
+\fBmkfs.ocfs2\fR is used to create an \fIOCFS2\fR file system on a \fIdevice\fR,
+usually a partition on a shared disk. In order to prevent data loss,
+\fBmkfs.ocfs2\fR will not format an existing \fIOCFS2\fR volume if that
+volume is mounted on any node in the cluster. This tool requires the \fIO2CB\fR
+cluster service to be up.
+
.SH "OPTIONS"
.TP
\fB\-b\fR \fIblock\-size\fR
-\fIBlock size\fR can be specified in bytes or kbytes. The value of the /fIblock\-size\fR can range from 512 to 4096 bytes (512-4k).
+Valid block size values are 512, 1K, 2K and 4K bytes per block. If omitted,
+a value will be hueristically determined by the file system size. A block size
+of 512 bytes is never recommended. Choose 1K, 2K or 4K.
.TP
\fB\-C\fR \fIcluster\-size\fR
-\fIcluster\-size\fR are specified in kbytes and range from 4k to 1M. The size of the \fIcluster\-size\fR will determine the maximum filesystem size possible for the OCFS2 (32Gb\-8Tb). For database files, 128k \fIcluster\-size\fR is still recommended. For use as a generic filesystem, 4k \fIcluster\-size\fR is recommended.
+Valid cluster size values are 4K, 8K, 16K, 32K, 64K, 128K, 256K,
+512K and 1M. If omitted, a value will be hueristically determined by the
+file system size. For volumes expected to store large files, like database files,
+a \fIcluster\-size\fR of 128K or more is recommended. For others, 16K\-64K.
.TP
\fB\-L\fR \fIvolume\-label\fR
-\fIVolume\-label\fR is useful when the \fILABEL\fR option is used to mount the partitions. The maximum \fIvolume-label\fR lenght allowed is 64 bytes.
+Set the volume label for the file system. This is
+useful for mounting\-by\-label. Limit the label length to under 64 bytes.
.TP
-\fB\-N\fR \fInumber\-of\-node\-slots\fR
-\fInumber\-of\-node\-slots\fR specify the maximum number of nodes that can simultaneously mount the partition. The maximum \fInumber\-of\-node\-slots\fR allowed is 255. That will allow a better control of allocated space and make OCFS2 more efficient.
+\fB\-N\fR \fInumber\-of\-node\-slots\fR
+Valid number ranges from 1 to 255. This number specifies the maximum
+number of nodes that can concurrently mount the partition. If omitted,
+the number defaults to 4. This number can be later increased using \fItunefs.ocfs2\fR.
.TP
\fB\-J\fR \fIjournal\-options\fR
-Create the journal using options specified on the command\-line. Journal options are comma separated, and may take an argument using the equals ('=') sign.
-The following journal options are supported:
+Create the journal using options specified on the command\-line. Journal
+options are comma separated, and may take an argument using the equals
+('=') sign. The following journal options are supported:
.RS 1.2i
.TP
\fBsize\fR=\fIjournal\-size\fR
-Create a journal of size \fIjournal\-size\fR. Valid sizes range from 4Mb to 500Mb.
+Create a journal of size \fIjournal\-size\fR. Minimum size is 4M.
+If omitted, a value is heuristically determined by the file system size.
.RE
.TP
-\fB\-F\fR
-Force the execution of \fBmkfs.ocfs2\fR. This parameter should be used if the partition was previously used by OCFS2 or when the OCFS2 cluster service is not running.
+\fB\-F\fR
+For existing \fIOCFS2\fR volumes, \fImkfs.ocfs2\fR ensures the volume
+is not mounted on any node in the cluster before formatting. For that to
+work, \fImkfs.ocfs2\fR expects the \fIO2CB\fR cluster service to be running.
+Specify this option to disable this check.
.TP
\fB\-q\fR
-Execute \fBmkfs.ocfs2\fR in quiet mode.
+Quiet mode.
.TP
\fB\-v\fR
-Execute \fBmkfs.ocfs2\fR in verbose mode.
+Verbose mode.
.TP
\fB\-V\fR
Print version and exit.
-.SH "BUGS"
-Stuff.
-
.SH "SEE ALSO"
-.BR ocfs2(8)
+.BR debugfs.ocfs2(8)
+.BR fsck.ocfs2(8)
+.BR tunefs.ocfs2(8)
+.BR mounted.ocfs2(8)
+.BR ocfs2console(8)
+.BR ocfs2cdsl(8)
.SH "AUTHORS"
Oracle Corporation
.SH "COPYRIGHT"
-Copyright \(co 2002, 2004 Oracle Corporation
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Modified: branches/endian-safe/mounted.ocfs2/mounted.ocfs2.8.in
===================================================================
--- branches/endian-safe/mounted.ocfs2/mounted.ocfs2.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/mounted.ocfs2/mounted.ocfs2.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -1,28 +1,54 @@
.TH "mounted.ocfs2" "8" "March 2005" "Version @VERSION@" "OCFS2 Manual Pages"
.SH "NAME"
-mounted.ocfs2 \- detect and print nodes that have an OCFS2 partition mounted.
+mounted.ocfs2 \- Detects all \fIOCFS2\fR volumes on a system.
.SH "SYNOPSIS"
\fBmounted.ocfs2\fR [\fB\-d\fR] [\fB\-f\fR] \fIdevice\fR
.SH "DESCRIPTION"
.PP
-\fBmounted.ocfs2\fR is used to verify if there are nodes that have a specific OCFS2 \fIdevice\fR mounted.
+\fBmounted.ocfs2\fR is used to list all \fIOCFS2\fR volumes on a system.
+It can also list all the nodes that have mounted an \fIOCFS2\fR device or
+all \fIOCFS2\fR devices. The tools assumes that the nodes detected on
+the system are part of the same cluster as the one specified in
+\fI/etc/ocfs2/cluster.conf\fR.
+
.SH "OPTIONS"
.TP
\fB\-d\fR
-Perform a quick detection of the \fIdevice\fR. With this option, only the label and uuid will be displayed.
+Performs a quick detection of the \fIdevice\fR or all, if none specified.
+Lists the \fIOCFS2\fR volumes along with their labels and uuids.
.TP
\fB\-f\fR
-Perform a full detection of the \fIdevice\fR. With this option, the node name will be displayed in addition to the label and uuid.
+Performs a full detection of the \fIdevice\fR or all, if none specified.
+Lists the \fIOCFS2\fR volumes along with the list of nodes mounting the
+volume. If the \fIO2CB\fR cluster service is up, it lists the node names,
+else the global node numbers.
-.SH "BUGS"
-Stuff.
+.SH "EXAMPLES"
+[root at node1 ~]# mounted.ocfs2 -d
+.br
+Device FS UUID Label
+.br
+/dev/sdb1 ocfs2 26d5dcdf-6d87-45a7-b01a-b98a7791bd61 logs_0405
+.br
+[root at node1 ~]# mounted.ocfs2 -f
+.br
+Device FS Nodes
+.br
+/dev/sdb1 ocfs2 node15, node1
+.br
+
.SH "SEE ALSO"
-.BR ocfs2(8)
+.BR mkfs.ocfs2(8)
+.BR fsck.ocfs2(8)
+.BR tunefs.ocfs2(8)
+.BR debugfs.ocfs2(8)
+.BR ocfs2console(8)
+.BR ocfs2cdsl(8)
.SH "AUTHORS"
Oracle Corporation
.SH "COPYRIGHT"
-Copyright \(co 2002, 2004 Oracle Corporation
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Modified: branches/endian-safe/o2cb_ctl/o2cb_ctl.8.in
===================================================================
--- branches/endian-safe/o2cb_ctl/o2cb_ctl.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/o2cb_ctl/o2cb_ctl.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -1,6 +1,6 @@
.TH "o2cb_ctl" "8" "March 2005" "Version @VERSION@" "OCFS2 Manual Pages"
.SH "NAME"
-o2cb_ctl \- Control program for the OCFS2 Cluster Software.
+o2cb_ctl \- Control program for the \fIO2CB\fR cluster service.
.SH "SYNOPSIS"
.B o2cb_ctl
\fB\-C\fR \fB\-n\fR \fIobject\fR \fB\-t\fR type\fR [\fB\-i\fR] [\fB\-a\fR \fIattribute\fR ]
@@ -22,7 +22,9 @@
.SH "DESCRIPTION"
.PP
-\fBo2cb_ctl\fR is the control program for he OCFS2 Cluster Software. Oracle strongly recommends users to make use of \fIocfs2console\fR. \fBo2cb_ctl\fR is used to configure, modify and start the OCFS2 Cluster Software (file \fI/etc/ocfs2/cluster.conf\fR). One should be careful when configuring the cluster to make sure all nodes have the exact same copy of the file \fI/etc/ocfs2/cluster.conf\fR or the cluster will not work properly.
+\fBo2cb_ctl\fR is the control program for the \fIO2CB\fR cluster service.
+One is strongly recommended not to use this tool directly but instead
+use \fIocfs2console\fR to do the same.
.SH "OPTIONS"
@@ -54,19 +56,30 @@
.TP
\fB\-a\fR \fI<attribute>\fR
-With \fB\-C\fR, \fI<attribute>\fR is in format "parameter=value", where the parameter is a valid parameter that can be set in the file \fI/etc/ocfs2/cluster.conf\fR. With \fB\-I\fR, \fI<attribute>\fR may be "parameter", indicating an attribute to be listed in the output, or it may be "parameter==value", indicating that only objects matching "parameter=value" are to be displayed.
+With \fB\-C\fR, \fI<attribute>\fR is in format "parameter=value", where
+the parameter is a valid parameter that can be set in the file
+\fI/etc/ocfs2/cluster.conf\fR. With \fB\-I\fR, \fI<attribute>\fR may be
+"parameter", indicating an attribute to be listed in the output, or it
+may be "parameter==value", indicating that only objects matching
+"parameter=value" are to be displayed.
.TP
\fB\-i\fR
-Valid only with \fB\-C\fR. When creating something (\fInode\fR or \fIcluster\fR), it will also install it in the live cluster. If the parameter is not specified, then only update the \fI/etc/ocfs2/cluster.conf\fR.
+Valid only with \fB\-C\fR. When creating something (\fInode\fR or
+\fIcluster\fR), it will also install it in the live cluster. If the
+parameter is not specified, then only update the
+\fI/etc/ocfs2/cluster.conf\fR.
.TP
\fB\-n\fR \fIobject\fR
-\fIobject\fR is usually the node name or cluster name. In the \fI/etc/ocfs2/cluster.conf\fR file, it would be the value of the name parameter for any of the sections (\fIcluster\fR or \fInode\fR).
+\fIobject\fR is usually the node name or cluster name. In the
+\fI/etc/ocfs2/cluster.conf\fR file, it would be the value of the name
+parameter for any of the sections (\fIcluster\fR or \fInode\fR).
.TP
\fB\-o\fR
-Valid only with \fB\-I\fR. Using this parameter, if one asks o2cb_ctl to list all nodes, it will output it in a format suitable for shell parsing.
+Valid only with \fB\-I\fR. Using this parameter, if one asks o2cb_ctl to
+list all nodes, it will output it in a format suitable for shell parsing.
.TP
\fB\-t\fR \fItype\fR
@@ -74,20 +87,26 @@
.TP
\fB\-u\fR
-Valid only with \fB\-D\fR. When deleting something (\fInode\fR or \fIcluster\fR), it will also remove it from the live cluster. If the parameter is not specified, then only update the \fI/etc/ocfs2/cluster.conf\fR.
+Valid only with \fB\-D\fR. When deleting something (\fInode\fR or
+\fIcluster\fR), it will also remove it from the live cluster. If the
+parameter is not specified, then only update the
+\fI/etc/ocfs2/cluster.conf\fR.
.TP
\fB\-z\fR
-Valid only with \fB\-I\fR. This is the default. If one asks o2cb_ctl to list all nodes, it will give a verbose listing.
+Valid only with \fB\-I\fR. This is the default. If one asks o2cb_ctl to
+list all nodes, it will give a verbose listing.
.SH "EXAMPLES"
.HP
In the cluster "mycluster", create the node "node5":
-o2cb_ctl -C -n node5 -t node -a number=5 -a ip_address=139.185.118.5 -a ip_port=7777 \\
+o2cb_ctl -C -n node5 -t node -a number=5
.br
--a cluster=mycluster
+ -a ip_address=139.185.118.5 -a ip_port=7777
+.br
+ -a cluster=mycluster
.TP
To query the IP address of node5:
@@ -99,15 +118,16 @@
o2cb_ctl -H -n node5 -a ip_address=130.35.68.5
-
-.SH "BUGS"
-Stuff.
-
.SH "SEE ALSO"
-.BR ocfs2(8)
+.BR mkfs.ocfs2(8)
+.BR fsck.ocfs2(8)
+.BR tunefs.ocfs2(8)
+.BR mounted.ocfs2(8)
+.BR ocfs2console(8)
+.BR ocfs2cdsl(8)
.SH "AUTHORS"
Oracle Corporation
.SH "COPYRIGHT"
-Copyright \(co 2002, 2004 Oracle Corporation
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Modified: branches/endian-safe/ocfs2_hb_ctl/ocfs2_hb_ctl.8.in
===================================================================
--- branches/endian-safe/ocfs2_hb_ctl/ocfs2_hb_ctl.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/ocfs2_hb_ctl/ocfs2_hb_ctl.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -1,6 +1,6 @@
.TH "ocfs2_hb_ctl" "8" "March 2005" "Version @VERSION@" "OCFS2 Manual Pages"
.SH "NAME"
-ocfs2_hb_ctl \- Start/stop the ocfs2 heartbeat.
+ocfs2_hb_ctl \- Starts and stops the \fIOCFS2\fR heartbeat on a given device.
.SH "SYNOPSIS"
.B ocfs2_hb_ctl
\fB-S\fR \fB-d\fR \fI<device>\fR
@@ -22,27 +22,30 @@
.br
.SH "DESCRIPTION"
.PP
-\fBocfs2_hb_ctl\fR is used to start/stop the heartbeat. It can use either a \fIdevice\fR or \fIuuid\fR.
+\fBocfs2_hb_ctl\fR is used to start and stop the heartbeat on an \fIOCFS2\fR device.
+One can either specify a device name or the device uuid. Users are strongly urged not
+to use this tool directly. \fImount.ocfs2\fR uses this tool to start the heartbeat
+and the module uses it to stop it during umount.
.SH "OPTIONS"
.TP
\fB\-S\fR
-Start the hearbeat of a \fIdevice\fR. This operation can't be performed using \fIuuid\fR.
+Starts the hearbeat of a \fIdevice\fR. The device name must be specified.
.TP
\fB\-K\fR
-Stop the hearbeat of a \fIdevice\fR. This operation can be performed by using either \fIdevice\fR or \fIuuid\fR.
+Stops the hearbeat of a \fIdevice\fR. One can specify either the device name or the device uuid.
.TP
\fB\-I\fR
-Prints out ref counts for the region. This operation can be performed by using either \fIdevice\fR or \fIuuid\fR.
+Prints out the hearbeat reference counts for the region. Once can specify either the device name or the device uuid.
.TP
\fB\-d\fR
-Specifies region by \fIdevice\fR.
+Specify region by device name.
.TP
\fB\-u\fR
-Specifies region by \fIuuid\fR.
+Specify region by device uuid.
.TP
\fB\-h\fR
@@ -50,19 +53,22 @@
.TP
\fBuuid\fR
-Ocfs2 writes a signature to the device when it is formatted (\fBmkfs.ocfs2\fR). To obtain the uuid of a specific \fIdevice\fR, one can use the command.
+\fImkfs.ocfs2\fR creates and populates the superblock with an \fIuuid\fR. To list the \fIuuid\fR of
+device sda1, do:
.HP
-mounted.ocfs2 -d /dev/sdxx
+ # mounted.ocfs2 -d /dev/sda1
-.SH "BUGS"
-Stuff.
-
.SH "SEE ALSO"
-.BR
-o2cb_ctl(8), mounted.ocfs2(8)
+.BR mkfs.ocfs2(8)
+.BR fsck.ocfs2(8)
+.BR tunefs.ocfs2(8)
+.BR mounted.ocfs2(8)
+.BR ocfs2console(8)
+.BR ocfs2cdsl(8)
+.BR debugfs.ocfs2(8)
.SH "AUTHORS"
Oracle Corporation
.SH "COPYRIGHT"
-Copyright \(co 2002, 2004 Oracle Corporation
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Modified: branches/endian-safe/ocfs2cdsl/ocfs2cdsl.8.in
===================================================================
--- branches/endian-safe/ocfs2cdsl/ocfs2cdsl.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/ocfs2cdsl/ocfs2cdsl.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -5,17 +5,29 @@
\fBocfs2cdsl\fR [\fB-cfnqvV\fR] [\fB\-t\fR \fIhostname|mach|os|nodenum\fR] \fIfilename\fR
.SH "DESCRIPTION"
.PP
-\fBocfs2cdsl\fR is used to create context dependent symbolic link for \fIfilename\fR (file or directory) for a node. A CDSL \fIfilename\fR will have its own image for a specific node, but a common name in the OCFS2. It is very important that the \fBocfs2ctl\fR command to be issued on all nodes that are part of the cluster and to any subsequent nodes that are added. If the \fBocfs2cdsl\fR command is not executed in some of the nodes, the cdsl directory will not be accessible by them.
+\fBocfs2cdsl\fR is used to create a context dependent symbolic link for
+\fIfilename\fR (file or directory) for a node. A CDSL \fIfilename\fR will
+have its own image for a specific node, but a common name in the OCFS2. It
+is very important that the \fBocfs2ctl\fR command to be issued on all nodes
+that are part of the cluster and to any subsequent nodes that are added. If
+the \fBocfs2cdsl\fR command is not executed in some of the nodes, the cdsl
+directory will not be accessible by them.
.SH "OPTIONS"
.TP
\fB\-t\fR \fIhostname|mach|os|nodenum\fR
-\fIhostname|mach|os|nodenum\fR - One of these options should be specified in order to create the CDSL. As for information, \fIhostname\fR would be the same as the output of "uname -n", \fImach\fR would be the output of "uname -m", \fIos\fR would the the output of "uname -o" and \fInodenum\fR would be the global node number for the hostname in the \fI/etc/ocfs2/cluster.conf\fR file.
+\fIhostname|mach|os|nodenum\fR - One of these options should be specified
+in order to create the CDSL. As for information, \fIhostname\fR would be
+the same as the output of "uname -n", \fImach\fR would be the output of
+"uname -m", \fIos\fR would the the output of "uname -o" and \fInodenum\fR
+would be the global node number for the hostname in the
+\fI/etc/ocfs2/cluster.conf\fR file.
.TP
\fB\-c\fR
-During the creation of the CDSL, if the file does exist, the data will be copied to the new location.
+During the creation of the CDSL, if the file does exist, the data will be
+copied to the new location.
.TP
\fB\-f\fR
@@ -23,7 +35,8 @@
.TP
\fB\-n\fR
-Will perform a check of all options and motions, but will not perform any change on disk.
+Will perform a check of all options and motions, but will not perform any
+change on disk.
.TP
\fB\-q\fR
@@ -39,19 +52,35 @@
.SH "EXAMPLE"
-If one wants to have a shared ORACLE_HOME installed on an OCFS2 partition, and wants to have node specific configuration \fIfilename\fR in the same shared ORACLE_HOME, one can have the \fIfilename\fR created by ocfs2cdsl. A good example would be the directory $ORACLE_HOME/network/agent. Node1 could have its own view of the directory, which is different from Node2 view, but having the exact same full pathname.
+If one wants to have a shared ORACLE_HOME installed on an OCFS2 partition,
+and wants to have node specific configuration \fIfilename\fR in the same
+shared ORACLE_HOME, one can have the \fIfilename\fR created by ocfs2cdsl.
+A good example would be the directory $ORACLE_HOME/network/agent. Node1
+could have its own view of the directory, which is different from Node2
+view, but having the exact same full pathname.
+.br
-ocfs2cdsl -c -t hostname $ORACLE_HOME/network/agent
-.TP
-In the example above, a CDSL directoy will be created and the contents of the \fIagent\fR directoy will copied to the new location. If the same is to be executed on all nodes, and assuming that no changes are made to the directory, each one of the nodes would have the exact same view of the \fIagent\fR directory. In case of change in the \fIagent\fR directory after the creation of the CDSL, only the node performing the change would be able to see it. All other nodes would still have the same initial view of the \fIagent\fR directory.
-.SH "BUGS"
-Stuff.
+ # ocfs2cdsl -c -t hostname $ORACLE_HOME/network/agent
+.br
+In the example above, a CDSL directory will be created and the contents of the
+\fIagent\fR directory will copied to the new location. If the same is to be executed
+on all nodes, and assuming that no changes are made to the directory, each one of the
+nodes would have the exact same view of the \fIagent\fR directory. In case of change
+in the \fIagent\fR directory after the creation of the CDSL, only the node performing
+the change would be able to see it. All other nodes would still have the same initial
+view of the \fIagent\fR directory.
+
.SH "SEE ALSO"
-.BR ocfs2(8)
+.BR mkfs.ocfs2(8)
+.BR fsck.ocfs2(8)
+.BR tunefs.ocfs2(8)
+.BR mounted.ocfs2(8)
+.BR ocfs2console(8)
+.BR debugfs.ocfs2(8)
.SH "AUTHORS"
Oracle Corporation
.SH "COPYRIGHT"
-Copyright \(co 2002, 2005 Oracle Corporation
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Modified: branches/endian-safe/ocfs2console/ocfs2console.8.in
===================================================================
--- branches/endian-safe/ocfs2console/ocfs2console.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/ocfs2console/ocfs2console.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -1,24 +1,25 @@
.TH OCFS2CONSOLE 8 "January 2005" "Version @VERSION@" "OCFS2 Manual Pages"
.SH NAME
-ocfs2console - GUI frontend for OCFS2 management
+ocfs2console - GUI console for \fIOCFS2\fR.
.SH SYNOPSIS
.B ocfs2console
.SH DESCRIPTION
.PP
-\fBocfs2console\fP is a GUI frontend for managing OCFS2 volumes on
-the system. One can mount and unmount volumes, format, view overview
-information and individual files, and view and modify the current cluster
-configuration.
+\fBocfs2console\fP is a GUI front\-end for managing \fIOCFS2\fR volumes.
+This tool is especially recommended to configure the \fIO2CB\fR cluster.
+One can also use this tool to format, tune, mount and umount \fIOCFS2\fR volumes.
-.SH BUGS
-Stuff.
-
.SH SEE ALSO
-.BR ocfs2(5)
+.BR mkfs.ocfs2(8)
+.BR fsck.ocfs2(8)
+.BR tunefs.ocfs2(8)
+.BR mounted.ocfs2(8)
+.BR debugfs.ocfs2(8)
+.BR ocfs2cdsl(8)
.SH AUTHORS
-Oracle
+Oracle Corporation
.SH COPYRIGHT
-Copyright \(co 2002, 2005 Oracle
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
Modified: branches/endian-safe/tunefs.ocfs2/tunefs.ocfs2.8.in
===================================================================
--- branches/endian-safe/tunefs.ocfs2/tunefs.ocfs2.8.in 2005-08-12 18:04:18 UTC (rev 1041)
+++ branches/endian-safe/tunefs.ocfs2/tunefs.ocfs2.8.in 2005-08-12 22:35:24 UTC (rev 1042)
@@ -1,54 +1,64 @@
.TH "tunefs.ocfs2" "8" "March 2005" "Version @VERSION@" "OCFS2 Manual Pages"
.SH "NAME"
-tunefs.ocfs2 \- Change OCFS2 partition parameters.
+tunefs.ocfs2 \- Change \fIOCFS2\fR file system parameters.
.SH "SYNOPSIS"
\fBtunefs.ocfs2\fR [\fB\-L\fR \fIvolume-label\fR] [\fB\-N\fR \fInumber-of-nodes\fR] [\fB\-J\fR \fIjournal-options\fR] [\fB\-S\fR \fIvolume-size\fR] [\fB\-qvV\fR] \fIdevice\fR
.SH "DESCRIPTION"
.PP
-\fBtunefs.ocfs2\fR is used to adjust OCFS2 file system parameters on disk. In order to prevent data loss, \fBtunefs.ocfs2\fR will not perform any action to a specified device if any node has it mounted.
+\fBtunefs.ocfs2\fR is used to adjust \fIOCFS2\fR file system parameters on disk.
+In order to prevent data loss, \fBtunefs.ocfs2\fR will not perform any
+action on the specified device, if that device is mounted on any node
+in the cluster. \fIO2CB\fR cluster service should be up to run this tool.
.SH "OPTIONS"
.TP
\fB\-L\fR \fIvolume\-label\fR
-\fIvolume\-label\fR specifiy the new label name of a device. The maximum \fIvolume-label\fR lenght allowed is 64 bytes.
+Change the volume label for the file system. Limit the label
+length to under 64 bytes.
.TP
\fB\-N\fR \fInumber\-of\-node\-slots\fR
-\fInumber\-of\-node\-slots\fR specify the maximum number of nodes that can simultaneously mount the specific OCFS2 partition. The maximum value allowed for \fInumber\-of\-node\-slots\fR is 255. Note that one can increase the number of node slots, but not decrease it. Future versions may allow decrease of the number of node slots.
+Use this to increase the number of slots inorder to increase the
+number of nodes that can concurrently mount this volume. The maximum
+value is 255.
.TP
\fB\-J\fR \fIjournal\-options\fR
-Modify the journal using options specified on the command\-line. Journal options are comma separated, and may take an argument using the equals ('=') sign.
-The following journal options are supported:
+Modify the journal using options specified on the command\-line.
+Journal options are comma separated, and may take an argument using
+the equals ('=') sign. The following journal options are supported:
.RS 1.2i
.TP
\fBsize\fR=\fIjournal\-size\fR
-Create a journal of size \fIjournal\-size\fR. Valid sizes range from 4Mb to 500Mb.
+Increase the size of journal files for all the slots. Minimum size is 4M.
.RE
.TP
-\fB\-S\fR \fIvolume\-size\fR
-\fIvolume\-size\fR specify the new volume size of an OCFS2 partition. A partition should be physically extended prior to use this option.
+\fB\-S\fR \fIvolume\-size\fR
+Increase the size of the \fIOCFS2\fR volume. \fBThis functionality
+is not operational as of now.\fR
.TP
\fB\-q\fR
-Execute \fBtunefs.ocfs2\fR in quiet mode.
+Quiet mode.
.TP
\fB\-v\fR
-Execute \fBtunefs.ocfs2\fR in verbose mode.
+Verbose mode.
.TP
\fB\-V\fR
Show version and exit.
-.SH "BUGS"
-Stuff.
-
.SH "SEE ALSO"
-.BR ocfs2(8)
+.BR mkfs.ocfs2(8)
+.BR fsck.ocfs2(8)
+.BR debugfs.ocfs2(8)
+.BR mounted.ocfs2(8)
+.BR ocfs2console(8)
+.BR ocfs2cdsl(8)
.SH "AUTHORS"
Oracle Corporation
.SH "COPYRIGHT"
-Copyright \(co 2002, 2004 Oracle Corporation
+Copyright \(co 2004, 2005 Oracle. All rights reserved.
More information about the Ocfs2-tools-commits
mailing list