Vxresize command hangs for a volume with DCO object

book

Article ID: 100008795

calendar_today

Updated On:

Description

Error Message

No specific error is logged in the shell or messages file.

Instead the vxresize command process thread shows as below.

Jul 11 21:51:53 sys01 kernel: vxresize      S ffffffff80154dc2     0 24111  20115 24113               (NOTLB)
Jul 11 21:51:53 sys01 kernel:  ffff8105202f5df8 0000000000000082 0000000000000010 0000000000000000
Jul 11 21:51:53 sys01 kernel:  0000000000000005 0000000000000006 ffff8104cbccf040 ffff81033fc6a080
Jul 11 21:51:53 sys01 kernel:  00003cbd0fd4b0e7 0000000000003218 ffff8104cbccf228 00000005048be9d8
Jul 11 21:51:53 sys01 kernel: Call Trace:
Jul 11 21:51:53 sys01 kernel:  [] __handle_mm_fault+0xf6d/0x103b
Jul 11 21:51:53 sys01 kernel:  [] pipe_wait+0x69/0x93
Jul 11 21:51:53 sys01 kernel:  [] autoremove_wake_function+0x0/0x2e
Jul 11 21:51:53 sys01 kernel:  [] mutex_lock+0xd/0x1d
Jul 11 21:51:53 sys01 kernel:  [] pipe_readv+0x324/0x3a9
Jul 11 21:51:53 sys01 kernel:  [] do_mmap_pgoff+0x3d7/0x780
Jul 11 21:51:53 sys01 kernel:  [] do_mmap_pgoff+0x615/0x780
Jul 11 21:51:53 sys01 kernel:  [] pipe_read+0x1a/0x1f
Jul 11 21:51:53 sys01 kernel:  [] vfs_read+0xcb/0x171
Jul 11 21:51:53 sys01 kernel:  [] sys_read+0x45/0x6e
Jul 11 21:51:53 sys01 kernel:  [] sysenter_do_call+0x1e/0x76

 

And the vxconfigd process thread will be shown as waiting for volsync_wait.

Jul 11 21:51:51 sys01 kernel:  [] :vxio:volsync_wait+0x7f/0xad
Jul 11 21:51:51 sys01 kernel:  [] default_wake_function+0x0/0xe
Jul 11 21:51:51 sys01 kernel:  [] :vxio:volkcontext_process+0x1f7/0x2f8
Jul 11 21:51:51 sys01 kernel:  [] :vxio:volsiowait+0xdb/0xdd
Jul 11 21:51:51 sys01 kernel:  [] :vxio:volpvsiowait+0x47/0x12b
Jul 11 21:51:51 sys01 kernel:  [] cache_alloc_refill+0x108/0x188
Jul 11 21:51:51 sys01 kernel:  [] :vxio:vol_alloc+0xe9/0x163
Jul 11 21:51:51 sys01 kernel:  [] :vxio:voldco_get_accumulator+0xa1/0xef
Jul 11 21:51:51 sys01 kernel:  [] :vxio:voldco_instant_resize+0xeb/0x223
Jul 11 21:51:51 sys01 kernel:  [] :vxio:vol_alloc+0xe9/0x163
Jul 11 21:51:51 sys01 kernel:  [] :vxio:vol_zalloc+0x9/0x21
Jul 11 21:51:51 sys01 kernel:  [] :vxio:vol_mv_precommit+0x5b7/0x60a
Jul 11 21:51:51 sys01 kernel:  [] :vxio:vol_commit_iolock_objects+0xb3/0xdc
Jul 11 21:51:51 sys01 kernel:  [] :vxio:vol_ktrans_commit+0x1d8/0x6a3
Jul 11 21:51:51 sys01 kernel:  [] :vxio:volconfig_ioctl+0x236/0x54b
Jul 11 21:51:51 sys01 kernel:  [] :vxio:volsioctl_real+0x2f4/0x36c
Jul 11 21:51:51 sys01 kernel:  [] __dentry_open+0x101/0x1dc
Jul 11 21:51:51 sys01 kernel:  [] autoremove_wake_function+0x0/0x2e
Jul 11 21:51:51 sys01 kernel:  [] :vxspec:vols_ioctl+0x5c/0x6d
Jul 11 21:51:51 sys01 kernel:  [] :vxspec:vols_compat_ioctl+0x2a/0x3d
Jul 11 21:51:51 sys01 kernel:  [] compat_sys_ioctl+0xc5/0x2b1
Jul 11 21:51:51 sys01 kernel:  [] sysenter_do_call+0x1e/0x76

Cause

A potential deadlock situation is found in the Veritas Volume Manager (VxVM) paging module that will cause the Volume Manager configuration daemon vxconfigd to hang.
The below technote proivde details about this issue.
http://www.symantec.com/business/support/index?page=content&id=TECH42705

This deadlock situations also affects vxresize command for a volume with DCO.

Resolution

Solution is to increase the memory used by VxVM caching for FastResync / snapshot operations that use DCO objects.

1. Increase the volpagemod_max_memsz (see 000029655 for more details and for selecting the new value)
# vxtune volpagemod_max_memsz $NEW_VAL

2. Verify the new value
# vxtune

3. Then perform the vxresize


Applies To

All platforms with volumes using Data Change Objects.

Issue/Introduction

Vxresize command hangs for a volume with DCO (Data Change Object) object