VxFS hangs because a write() operation never completes and continues to consume cpu resource

book

Article ID: 100027631

calendar_today

Updated On:

Description

Error Message

VxFS hangs because a write() operation never completes and continues to consume cpu resource.   From "top" command, VxFS kernel thread shows a high cpu usage.

 

Cause

The problem was cause by the Etrack incident listed in the Supplemental Material section.   The following is a description of the Etrack incident.


SYMPTOM:
For Linux version 2.6.27 and onwards, a write() may never complete due to forever looping of the write kernel thread, thus consuming most of the CPU leading to system hang like situation.

A kernel stack of such looping write thread looks like -

bad_to_user
vx_uiomove
vx_write_default
vx_write1
vx_rwsleep_unlock
vx_do_putpage
vx_write_common_slow
handle_mm_fault
d_instantiate
do_page_fault
vx_write_common
vx_prefault_uio_readable
vx_write
vfs_write
sys_write
system_call_fastpath

DESCRIPTION:
Some pages created during a write() may be partially initialized and are therefore destroyed. However due to a bug, the variable representing number of bytes copied is not updated correctly to reflect this destroying of page. Thus subsequent page-fault for the destroyed page occur at incorrect offset leading to indefinite looping of write kernel thread.

RESOLUTION:
Update correctly the number of bytes copied after destroying partially initialized pages.


A kernel thread list can be collected from the Linux kernel by following the instructions in SymWISE article TECH74215 listed in Related Articles section.

Resolution

Please apply the following Veritas Storage Foundation (SF) patches to fix the problem.

SLES 10 and SLES 11 - SF 5.1SP1RP2

RHEL5 - SF 5.1SP1RP2

RHEL6 - SF 5.1SP1 PR2 RP2 or PR3 RP2

The above patches can be downloaded from the Veritas Operation Readiness Tools website.

https://sort.Veritas.com/patch/matrix


Applies To

VxFS on Linux Platform only.  The problem doesn't affect platforms other than Linux.

Issue/Introduction

Veritas File System (VxFS) hangs because a write() operation never completes and continues to consume cpu resource

Additional Information

ETrack: 2337737