mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
c6b6d6dcc7
This patch reverts commit2c3fa6ae4d
("dlm: check required context while close"). The function dlm_midcomms_close(), which will call later dlm_lowcomms_close(), is called when the cluster manager tells the node got fenced which means on midcomms/lowcomms layer to disconnect the node from the cluster communication. The node can rejoin the cluster later. This patch was ensuring no new message were able to be triggered when we are in the close() function context. This was done by checking if the lockspace has been stopped. However there is a missing check that we only need to check specific lockspaces where the fenced node is member of. This is currently complicated because there is no way to easily check if a node is part of a specific lockspace without stopping the recovery. For now we just revert this commit as it is just a check to finding possible leaks of stopping lockspaces before close() is called. Cc: stable@vger.kernel.org Fixes:2c3fa6ae4d
("dlm: check required context while close") Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
38 lines
1.3 KiB
C
38 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/******************************************************************************
|
|
*******************************************************************************
|
|
**
|
|
** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
|
|
** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved.
|
|
**
|
|
**
|
|
*******************************************************************************
|
|
******************************************************************************/
|
|
|
|
#ifndef __LOCKSPACE_DOT_H__
|
|
#define __LOCKSPACE_DOT_H__
|
|
|
|
/* DLM_LSFL_FS
|
|
* The lockspace user is in the kernel (i.e. filesystem). Enables
|
|
* direct bast/cast callbacks.
|
|
*
|
|
* internal lockspace flag - will be removed in future
|
|
*/
|
|
#define DLM_LSFL_FS 0x00000004
|
|
|
|
int dlm_lockspace_init(void);
|
|
void dlm_lockspace_exit(void);
|
|
struct dlm_ls *dlm_find_lockspace_global(uint32_t id);
|
|
struct dlm_ls *dlm_find_lockspace_local(void *id);
|
|
struct dlm_ls *dlm_find_lockspace_device(int minor);
|
|
void dlm_put_lockspace(struct dlm_ls *ls);
|
|
void dlm_stop_lockspaces(void);
|
|
int dlm_new_user_lockspace(const char *name, const char *cluster,
|
|
uint32_t flags, int lvblen,
|
|
const struct dlm_lockspace_ops *ops,
|
|
void *ops_arg, int *ops_result,
|
|
dlm_lockspace_t **lockspace);
|
|
|
|
#endif /* __LOCKSPACE_DOT_H__ */
|
|
|