]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ocfs2/dlm: dlmlock_remote() needs to account for remastery
authorSunil Mushran <sunil.mushran@oracle.com>
Tue, 21 Jun 2011 20:22:42 +0000 (13:22 -0700)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Thu, 29 Mar 2012 19:41:01 +0000 (12:41 -0700)
commit464625299b42765f4dc313d78113195ef324e2ae
treec470998c00a0c9d57fdbbc25ea55d5cd69258327
parent2119aff0fe2b12e80a0a45f2cb837afe9b2cdaba
ocfs2/dlm: dlmlock_remote() needs to account for remastery

In dlmlock_remote(), we wait for the resource to stop being active before
setting the inprogress flag. Active includes recovery, migration, etc.

The problem here is that if the resource was being recovered or migrated, the
new owner could very well be that node itself (and thus not a remote node).
This problem was observed in Oracle bug#12583620. The error messages observed
were as follows:

dlm_send_remote_lock_request:337 ERROR: Error -40 (ELOOP) when sending message 503 (key 0xd6d8c7) to node 2
dlmlock_remote:271 ERROR: dlm status = DLM_BADARGS
dlmlock:751 ERROR: dlm status = DLM_BADARGS

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
fs/ocfs2/dlm/dlmlock.c