Fix up a few formatting errors pointed out by Turbo Fredriksson, and while at it also remove various non-ASCII characters that sneaked in during the initial conversion Reported-by: Turbo Fredriksson Signed-off-by: Christoph Hellwig Index: xfsdocs-xml-dev/XFS_User_Guide/en-US/XFS-allocators.xml =================================================================== --- xfsdocs-xml-dev.orig/XFS_User_Guide/en-US/XFS-allocators.xml 2010-10-08 11:34:40.466254229 +0200 +++ xfsdocs-xml-dev/XFS_User_Guide/en-US/XFS-allocators.xml 2010-10-08 11:35:13.097254021 +0200 @@ -21,7 +21,8 @@ Watch the inode numbers as directory inodes are created: > mkdir a b -> ls -li total 0 +> ls -li +total 0 131 drwxr-xr-x 2 sjv users 6 2006-10-20 12:12 a 33554624 drwxr-xr-x 2 sjv users 6 2006-10-20 12:12 b Index: xfsdocs-xml-dev/XFS_User_Guide/en-US/XFS-monitoring.xml =================================================================== --- xfsdocs-xml-dev.orig/XFS_User_Guide/en-US/XFS-monitoring.xml 2010-10-08 11:34:40.489262122 +0200 +++ xfsdocs-xml-dev/XFS_User_Guide/en-US/XFS-monitoring.xml 2010-10-08 11:37:24.712028291 +0200 @@ -41,7 +41,7 @@ ig_found # of times inode found in memo ig_frecycle # of fails because inode was busy ig_misses # of times had to go to disk for inode ig_dup # times missed but found from another -ig_reclaims # of times recyled the inode’s memory +ig_reclaims # of times recyled the inode's memory ig_attrchngx # of times changed inode attributes iflush_count # of times inodes are being flushed icluster_flushcnt # of times inodes clustered @@ -54,16 +54,16 @@ icluster_flushinode # of times not able lookup # of file name directory lookups create # of directory entry creations remove # of directory entry removes -getdents # of “getdent” operations +getdents # of "getdents" operations
PCP File Attribute Metrics -attr.get # of “get” operations -attr.set # of “set” operations -attr.remove # of “remove” operations -attr.list # of “list” operations +attr.get # of "get" operations +attr.set # of "set" operations +attr.remove # of "remove" operations +attr.list # of "list" operations
@@ -84,7 +84,7 @@ alloc_btree.delrec # of extent record de block_map.read_ops # of block map reads block_map.write_ops # of block map writes -block_map.unmap # of block delete operations +block_map.unmap # of block delete operations block_map.add_exlist # of extent list insertions for files block_map.del_exlist # of extent list deletions block_map.look_exlist # of extent list lookups @@ -98,7 +98,7 @@ bmap_btree.delrec # of block map deletio
PCP Journaling Metrics -transaction.sync # of transactions waiting to be committed +transaction.sync # of transactions waiting to be committed transaction.async # of async transactions waiting transaction.empty # of transactions that did not do anything log.writes # of log buffer writes @@ -113,7 +113,7 @@ log.force_sleep # of calls to xs_log_fo push_ail.pushes # of times the AIL is moved forward push_ail.success # of times sucessful -push_ail.pushbuf # of times inode locked – pushbuf called +push_ail.pushbuf # of times locked "pushbuf" called push_ail.pinned # of times pinned push_ail.locked # of times locked push_ail.flushing # of times ail was flushing @@ -125,7 +125,7 @@ push_ail.flush # of times a log was for PCP Quota Metrics reclaims # of disk quota reclaims -reclaims_misses # of disk quota reclaim misses +reclaims_misses # of disk quota reclaim misses dquot_dups # of duplicates cachemisses # of times disk quota misses cache cachehits # of times disk quota in cache Index: xfsdocs-xml-dev/XFS_User_Guide/en-US/XFS-repair.xml =================================================================== --- xfsdocs-xml-dev.orig/XFS_User_Guide/en-US/XFS-repair.xml 2010-10-08 11:34:40.474254229 +0200 +++ xfsdocs-xml-dev/XFS_User_Guide/en-US/XFS-repair.xml 2010-10-08 11:37:12.929255837 +0200 @@ -5,7 +5,7 @@ XFS Repair
Filesystems can be corrupted by - • Filesystems can be corrupted by + Filesystems can be corrupted by Hardware Errors @@ -15,7 +15,7 @@ To a much lesser degree, bugs in the filesystem - Filesystems are able to “repair” themselves since they consist of lists, links + Filesystems are able to repair themselves since they consist of lists, links and reference counts that can be validated But not all information is always recovered, inodes that do not have a @@ -43,17 +43,17 @@ xfs_repair uses libxfs which is a partial port of the XFS kernel code to user-space.
- xfs_repair – Phase 1 + xfs_repair - Phase 1 Find, verify and fix superblocks. If a superblock is not found, xfs_repair will stop. Sets up a virtual mount structure for the common XFS code base (libxfs) to work from.
- xfs_repair – Phase 2 + xfs_repair - Phase 2 Checks the AG header structures (AGI, AGF and AGFL) and scans the AGF and AGI btrees.
- xfs_repair – Phase 3 + xfs_repair - Phase 3 Using the AGI btree from phase2, scan the inode tree, processing the unlinked list for deleted inodes and finding possible missing inode clusters. Walk all the found inodes, recording used filesytem blocks (extents). @@ -61,17 +61,17 @@ Any bad inodes are trashed including unrecoverable corrupted directories.
- xfs_repair – Phase 4 + xfs_repair - Phase 4 Scan inode extents again. Any inode with an extent covering used data is trashed.
- xfs_repair – Phase 5 + xfs_repair - Phase 5 Rebuild AG headers and structures including the AGI btree, AGF btrees and AGFL regardless whether any errors have been found or not. Realtime inodes are also reconstructed.
- xfs_repair – Phase 6 + xfs_repair - Phase 6 At this stage, the filesytem is in a mountable state. Scan the directories analysing all data. @@ -82,12 +82,12 @@ At the end, any unreached inodes are put into lost+found.
- xfs_repair – Phase 7 + xfs_repair - Phase 7 nlinks for inodes are corrected based on the data collected in phase 6.
Triaging xfs_check and xfs_repair problems - Mostofthetime,inodeinformationisrequired: + Most of the time, inode information is required: > inode <inode number> > print @@ -97,7 +97,7 @@ > sb 0 > print rootino - Fordirectories,wecanalsodumpthecontentsfromtheextentlistshownintheinode: + For directories, we can also dump the contents from the extent lists hown in the inode: > dblock <file offset in blocks> > print @@ -181,13 +181,13 @@ u.sfdir2.hdr.i8count = 0 u.sfdir2.hdr.parent.i4 = 135
- Mount and Repair Fails – Corrupted Log + Mount and Repair Fails - Corrupted Log If the log is corrupted you will see an error like: # mount <filesystem> mount: Unknown error 990 # dmesg | tail -20 -Filesystem “<filesystem>": xfs_inode_recover: Bad inode magic number . . . +Filesystem "<filesystem>": xfs_inode_recover: Bad inode magic number . . . Filesystem "dm-0": XFS internal error xlog_recover_do_inode_trans(1) at line 2352 Caller 0xffffffff88307729 XFS: log mount/recovery failed: error 990 XFS: log mount failed # xfs_repair <device> @@ -200,9 +200,9 @@ re-running xfs_repair. If you are unable the -L option to destroy the log and attempt a repair. Note that destroying the log may cause corruption -- please attempt a mount of the filesystem before doing this. - Usefulinformationcanbecollectedfortriage: + Useful information can becollected for triage: -# /usr/sbin/xfs_logprint –C <filename> <device> +# /usr/sbin/xfs_logprint -C <filename> <device> # /usr/sbin/xfs_logprint -t <device> But in this case, the only option may be to throw the log away: