 |
≫ |
|
|
 |
パッチ名: PHCO_35845
パッチ摘要: s700_800 11.11 fsck_hfs(1M)累積パッチ、iSCSIサポート
作成日: 06/12/21
公開日: 07/01/17
ハードウェアプラットフォームおよびOSリリース:
s700: 11.11
s800: 11.11
現象:
PHCO_35845:
(SR:8606465019 CR:JAGag20652)
fsck_hfsが不正にディレクトリのサイズを縮小するため、ディレクトリが破損
することがあります。fsckの出力は次のように表示されます。
** /dev/vg00/berndb
** Last Mounted on /bernd
** Phase 1 - Check Blocks and Sizes
INCORRECT BLOCK COUNT I=832 (568 should be 96)
CORRECT? yes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
11744 files, 0 icont, 578 used, 800233 free
(9 frags, 100028 blocks)
ファイルシステムをマウントするか、別のfsckを実行すると、ファイルシステ
ム内に親なしファイルやサブディレクトリがあることがわかります。
問題点の説明:
PHCO_35845:
(SR:8606465019 CR:JAGag20652)
ブロック数の計算に問題があったため、fsckは不正に間接ブロックを1個削除
することによってディレクトリファイルを縮小していました。ディレクトリの
サイズがファイルシステムブロックサイズの倍数の場合、fsckが計算する間接
ブロック数は実際の間接ブロック数より多くなっていました。その結果、最後
のディレクトリブロックがヌルを指すことになるため、fsckは、ディレクトリ
内にホールがあるとみなして、完全な間接ブロックをゼロ化していました。
解決方法:
間接ブロック数を正しく計算するようにコードを修正しました。
-----------------------------------------------------------------------------
Patch Name: PHCO_35845
Patch Description: s700_800 11.11 fsck_hfs(1M) cumulative patch, iSCSI support
Creation Date: 06/12/21
Post Date: 07/01/17
Hardware Platforms - OS Releases:
s700: 11.11
s800: 11.11
Products: N/A
Filesets:
OS-Core.CORE-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
Automatic Reboot?: No
Status: General Release
Critical:
Yes
PHCO_35845: CORRUPTION
Category Tags:
defect_repair enhancement general_release critical
corruption manual_dependencies
Path Name: /hp-ux_patches/s700_800/11.X/PHCO_35845
Symptoms:
PHCO_35845:
( SR:8606465019 CR:JAGag20652 )
fsck_hfs may corrupt directories by incorrectly truncating
the size. The output from fsck will be as shown:
** /dev/vg00/berndb
** Last Mounted on /bernd
** Phase 1 - Check Blocks and Sizes
INCORRECT BLOCK COUNT I=832 (568 should be 96)
CORRECT? yes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
11744 files, 0 icont, 578 used, 800233 free
(9 frags, 100028 blocks)
After mounting or another invocation of fsck we may find
orphaned files or subdirectories in the filesystem.
PHCO_33242:
( SR:8606217846 CR:JAGad86996 )
fsck_hfs(1m) does not print meaningful diagnostics for iSCSI
devices during boot.
PHCO_28623:
( SR:8606287954 CR:JAGae51887 )
fsck_hfs(1M) is unable to ensure the consistency of a file
system. The file system is mountable after running fsck,
but rm(1) on the directory reports an error that the
directory is not empty although ls(1) may report that the
directory is empty.
PHCO_26699:
( SR:8606247419 CR:JAGae13857 )
fsck(1M) performance slow on large systems.
Defect Description:
PHCO_35845:
( SR:8606465019 CR:JAGag20652 )
Fsck was incorrectly truncating directory files by removing
an indirect block due to a problem in calculating the
number of blocks. The number of indirect blocks
calculated by fsck was greater than the actual number of
indirect blocks when the size of the directory is an exact
multiple to the filesystem block size. Thus fsck thinks
that there are holes in the directory as the last directory
block would point to NULL and would hence zero out the
complete indirect block.
Resolution:
The fix has been added to calculate the correct number of
indirect blocks.
PHCO_33242:
( SR:8606217846 CR:JAGad86996 )
fsck_hfs(1m) is used to perform a file system consistency
check for HFS file systems. To do this, it needs to open
the device special file. However, for iSCSI devices during
boot, the open will fail as the network has not yet been
initialized. fsck_hfs(1m) treats this as a failure, and does
not print meaningful diagnostics.
Resolution:
fsck_hfs(1m) has been made iSCSI aware, and it now prints
meaningful and user friendly diagnostics. This is done by
checking the open failure against the iSCSI open error code
namely ENETUNREACH (229).
PHCO_28623:
( SR:8606287954 CR:JAGae51887 )
fsck_hfs(1M) does not fix corruption in the direct and
indirect data block areas of large directories. This may
lead to a situation where many files are unreferenced,
making them invisible to ls(1), but nevertheless exist,
causing rm(1) to fail.
Resolution:
The solution is either to save as much of the directory as
possible or remove the whole directory; either way the
integrity of the file system is preserved. If fsck_hfs(1M)
removes the whole directory, all files will be moved to the
lost+found directory; but in certain cases fsck is able to
salvage part of the directory by zeroing out all blocks
starting from the corrupt block onwards; in such cases all
files in those blocks are moved to the lost+found directory.
PHCO_26699:
( SR:8606247419 CR:JAGae13857 )
fsck(1M) always does sync(2) causing performance degradation
on systems with large buffer cache.
Resolution:
Improve performance by adding "-s" switch to fsck(1M) to
suppress sync(2) call.
Enhancement:
No (superseded patches contained enhancements)
PHCO_28623:
Enhancements were delivered in a patch this one has
superseded. Please review the Defect Description
text for more information.
SR:
8606465019 8606217846 8606247419 8606287954
Patch Files:
OS-Core.CORE-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,
v=HP:
/usr/share/man/man1m.Z/fsck_hfs.1m
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/sbin/fs/hfs/fsck
what(1) Output:
OS-Core.CORE-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,
v=HP:
/usr/share/man/man1m.Z/fsck_hfs.1m:
None
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/sbin/fs/hfs/fsck:
fsck.c $Date: 2006/12/14 15:18:17 $Revision: r11.11/
6 PATCH_11.11 (PHCO_35845)
$Revision: @(#) fsck R11.11_BL2006_1220_2 PATCH_11.1
1 PHCO_35845
$ Version_11.11 Nov 15 2006 00:39:33 $
cksum(1) Output:
OS-Core.CORE-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,
v=HP:
4201219388 5428 /usr/share/man/man1m.Z/fsck_hfs.1m
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
812233821 348160 /sbin/fs/hfs/fsck
Patch Conflicts: None
Patch Dependencies: None
Hardware Dependencies: None
Other Dependencies:
PHCO_26699 requires patch PHCO_26701 to get full command
interface implementation.
Any of these patches may be installed independently of the
others with no adverse effect on the system.
The following command messages may occur if a relevant patch
is missing:
> fsck -F hfs ... Warning: -f option is not supported for
this filesystem
> fsck -F vxfs ... fsck: illegal option -- s
Supersedes:
PHCO_33242 PHCO_28623 PHCO_26699
Equivalent Patches: None
Patch Package Size: 230 KBytes
Installation Instructions:
Please review all instructions and the Hewlett-Packard
SupportLine User Guide or your Hewlett-Packard support terms
and conditions for precautions, scope of license,
restrictions, and, limitation of liability and warranties,
before installing this patch.
------------------------------------------------------------
1. Back up your system before installing a patch.
2. Login as root.
3. Copy the patch to the /tmp directory.
4. Move to the /tmp directory and unshar the patch:
cd /tmp
sh PHCO_35845
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHCO_35845.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHCO_35845. If you do not wish to retain a
copy of the original software, include the patch_save_files
option in the swinstall command above:
-x patch_save_files=false
WARNING: If patch_save_files is false when a patch is installed,
the patch cannot be deinstalled. Please be careful
when using this feature.
For future reference, the contents of the PHCO_35845.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHCO_35845.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHCO_35845.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|