Project

General

Profile

Bug #6731

nfs4: umount deadlock

Added by S. Klinkert over 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
nfs - NFS server and client
Start date:
2016-03-08
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

We've a hanging umount process. It looks like there is a deadlock between this process and the nfs4 ephemeral harvester thread.

umount (from user mode) kernel stacktrace:

> 0t2250::pid2proc|::walk thread|::findstack -v
stack pointer for thread ffffff091e026520: ffffff004361bb10
[ ffffff004361bb10 _resume_from_idle+0xf4() ]
  ffffff004361bb40 swtch+0x141()
  ffffff004361bbe0 turnstile_block+0x21a(ffffff090ebb7560, 0, ffffff0921162458, fffffffffbc079a0, 0, 0)
  ffffff004361bc50 mutex_vector_enter+0x3a3(ffffff0921162458)
  ffffff004361bd00 nfs4_ephemeral_umount+0x2d4(ffffff267e507000, 0, ffffff321a109bf0, ffffff004361bd1c, ffffff004361bd10)
  ffffff004361bd70 nfs4_unmount+0xd9(ffffff557bdf4df0, 0, ffffff321a109bf0)
  ffffff004361bda0 fsop_unmount+0x1b(ffffff557bdf4df0, 0, ffffff321a109bf0)
  ffffff004361bdf0 dounmount+0x57(ffffff557bdf4df0, 0, ffffff321a109bf0)
  ffffff004361be40 umount2_engine+0x96(ffffff557bdf4df0, 0, ffffff321a109bf0, 1)
  ffffff004361bec0 umount2+0x163(80659d8, 0)
  ffffff004361bf10 _sys_sysenter_post_swapgs+0x149()

Is holding vfs_lock_wait(vfsp) since dounmount()
Is waiting for mutex_enter(&net->net_tree_lock)

> ffffff003f3c9c40::findstack -v
stack pointer for thread ffffff003f3c9c40: ffffff003f3c9960
[ ffffff003f3c9960 _resume_from_idle+0xf4() ]
  ffffff003f3c9990 swtch+0x141()
  ffffff003f3c99d0 cv_wait+0x70(ffffff092dc822ca, ffffff092dc822d0)
  ffffff003f3c9a70 rwst_enter_common+0x17c(ffffff092dc822c0, 0, 0)
  ffffff003f3c9a90 rwst_enter+0x17(ffffff092dc822c0, 0)
  ffffff003f3c9ab0 vfs_lock_wait+0x1b(ffffff557bdf4df0)
  ffffff003f3c9b00 umount2_engine+0x39(ffffff557bdf4df0, 8, ffffff09071bfdb0, 0)
  ffffff003f3c9b40 nfs4_ephemeral_record_umount+0x39(ffffff557bdf4df0, 8, ffffff562572ff00, ffffff462e6301f0)
  ffffff003f3c9bf0 nfs4_ephemeral_harvest_forest+0x1db(ffffff091c6f3680, 0, 1)
  ffffff003f3c9c20 nfs4_ephemeral_harvester+0x77(ffffff091c6f3680)
  ffffff003f3c9c30 thread_start+8()

Is holding mutex_enter(&net->net_tree_lock) since nfs4_ephemeral_harvest_forest()
Is waiting for vfs_lock_wait(vfsp)

No data to display

Also available in: Atom PDF