diff options
author | Sunil Mushran <sunil.mushran@oracle.com> | 2010-11-19 15:06:50 -0800 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2010-12-09 15:36:00 -0800 |
commit | 388c4bcb4e63e88fb1f312a2f5f9eb2623afcf5b (patch) | |
tree | a8688b4db823bddba613dff2c613260b2e92f23a /fs/jfs/jfs_dinode.h | |
parent | 771f8bc71c31c6bd103cdec283012253f352ab1c (diff) | |
download | blackbird-op-linux-388c4bcb4e63e88fb1f312a2f5f9eb2623afcf5b.tar.gz blackbird-op-linux-388c4bcb4e63e88fb1f312a2f5f9eb2623afcf5b.zip |
ocfs2/dlm: Migrate lockres with no locks if it has a reference
o2dlm was not migrating resources with zero locks because it assumed that that
resource would get purged by dlm_thread. However, some usage patterns involve
creating and dropping locks at a high rate leading to the migrate thread seeing
zero locks but the purge thread seeing an active reference. When this happens,
the dlm_thread cannot purge the resource and the migrate thread sees no reason
to migrate that resource. The spell is broken when the migrate thread catches
the resource with a lock.
The fix is to make the migrate thread also consider the reference map.
This usage pattern can be triggered by userspace on userdlm locks and flocks.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/jfs/jfs_dinode.h')
0 files changed, 0 insertions, 0 deletions