Whamcloud - gitweb
b=20201
authorpanda <panda>
Fri, 16 Oct 2009 12:19:32 +0000 (12:19 +0000)
committerpanda <panda>
Fri, 16 Oct 2009 12:19:32 +0000 (12:19 +0000)
commit715be97578f241c8919718dfb7e149e91d5af125
tree63691fd0f8f0d30ad4ba99ee1c60bda3d0b61df1
parent4a67d4823af590c5a7ca099fef72031674b09932
b=20201
o=Oleg Drokin
i=Andrew Perepechko
i=Alexey Lyashkov

Problem is write_sem taking. As it was before the patch, a deadlock was possible
along the lines of:
process 1:
get group lock
process 2:
write syscall
get write_sem
attempt to get write lock, block on group lock
process 1:
write syscall
block on write_sem

tests 3,4 in parallel group lock exercise this scenario.

The patch actually avoids taking write_sem if we do not do any dlm locking as pointless, main
reason
behind it was to avoid cascading timeouts with multiple ldlm locks held (introduced in bug 9332,
comment #139)
--- https://bugzilla.lustre.org/show_bug.cgi?id=20201#c7
lustre/llite/file.c