scoutfs: lock impossible ino group for listen lock

Otherwise we get into a problem where the listen lock is conflicting with
regular inode group requests. Since we never drop the listen lock and it (by
design) blocks progress on another node, those inode group requests may
hang.

Signed-off-by: Mark Fasheh <mfasheh@versity.com>
This commit is contained in:
Mark Fasheh
2017-07-18 17:40:03 -05:00
parent 2d11f08f5e
commit a65b28d440

View File

@@ -2083,7 +2083,7 @@ static void scoutfs_net_server_func(struct work_struct *work)
INIT_WORK(&sinf->listen_work, scoutfs_net_listen_func);
INIT_WORK(&sinf->accept_work, scoutfs_net_accept_func);
ret = scoutfs_lock_ino_group(sb, DLM_LOCK_EX, 0, &sinf->listen_lck);
ret = scoutfs_lock_ino_group(sb, DLM_LOCK_EX, ~0ULL, &sinf->listen_lck);
if (ret) {
kfree(sinf);
goto out;