Cc: Steven Whitehouse
Cc: Bob Peterson
Cc: cluster-devel@redhat.com
Signed-off-by: Ming Lei
---
fs/gfs2/lops.c| 3 ++-
fs/gfs2/meta_io.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/gfs2/lops.c
Hi,
This series of patches is to fix various bugs. This patch set is against the
mainline kernel.
I'd like reviewed to make sure those changes are fine.
Patch number 01/02/03 were posted on this mailing list by Bob Peterson
.
Patch 03 is modified to correct a bug
If reconnection fails while executing dlm_lowcomms_stop,
dlm_send will not stop.
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
---
fs/dlm/lowcomms.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/dlm/lowcomms.c
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
---
fs/dlm/lowcomms.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 4b53c32..76c6cdd 100644
---
From: Bob Peterson
Before this patch, there was a flag in the con structure that was
used to determine whether or not a connect was needed. The bit was
set here and there, and cleared here and there, so it left some
race conditions: the bit was set, work was queued, then the
From: Bob Peterson
In a previous patch I noted that accept() often copies the struct
sock (sk) which overwrites the sock callbacks. However, in testing
we discovered that the dlm connection structures (con) are sometimes
deleted and recreated as connections come and go, and
To remove an unused argument
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
---
fs/dlm/lowcomms.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
---
fs/dlm/lowcomms.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index aec3c59..4b53c32 100644
--- a/fs/dlm/lowcomms.c
+++
From: Bob Peterson
Before this patch the CF_WRITE_PENDING flag was used to indicate
when writes to the socket were pending. This caused race conditions
whereby one process set the bit and another cleared it. Instead,
we just check to see if there's anything there to be sent.
dlm_lowcomms_stop() was not functioning properly. Correctly, we have to
wait until all processing is finished with send_workqueue and
recv_workqueue.
This problem causes the following issue. Scenario is
1. dlm_send thread:
send_to_sock refers con->writequeue
2. main thread:
If a node sends a DLM_RCOM_STATUS command and an error occurs on the
receiving side, the DLM_RCOM_STATUS_REPLY response may not be returned.
We retransmitted the DLM_RCOM_STATUS command so that we do not wait for
an infinite response.
Signed-off-by: Tadashi Miyauchi
If there is a lock resource conflict on multiple nodes, the lock on
convert queue may not be granted forever.
EX.)
grant queue:
node0 grmode NL / rqmode IV
node1 grmode NL / rqmode IV
convert queue:
node2 grmode NL / rqmode EX
node3 grmode PR / rqmode EX
wait queue:
node4
dlm_cb_seq is 64 bits. If dlm_cb_seq overflows and returns to 0,
dlm_rem_lkb_callback() will not work properly.
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
---
fs/dlm/ast.c | 2 ++
1 file changed, 2 insertions(+)
diff
When an error occurs in kernel_recvmsg or kernel_sendpage and
close_connection is called and receive work is already scheduled,
receive work is canceled. In that case, the receive work will not
be scheduled forever after reconnection, because CF_READ_PENDING
flag is established.
Signed-off-by:
CF_WRITE_PENDING flag has been reanimated to make dlm_send stop properly
when running dlm_lowcomms_stop.
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
---
fs/dlm/lowcomms.c | 9 -
1 file changed, 8 insertions(+), 1
When dlm_recoverd_stop() is called between kthread_should_stop() and
set_task_state(), dlm_recoverd will not wake up.
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
---
fs/dlm/recoverd.c | 3 ++-
1 file changed, 2
The sk member of the socket generated by sock_create_kern() is overwritten
by ops->accept(). So the previous sk will not be released.
We use kernel_accept() instead of sock_create_kern() and ops->accept().
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
Signed-off-by: Tadashi Miyauchi
Signed-off-by: Tsutomu Owa
---
fs/dlm/lowcomms.c | 29 +
1 file changed, 17 insertions(+), 12 deletions(-)
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index
Hi,
On 07/08/17 20:10, Bob Peterson wrote:
| | Signed-off-by: Guoqing Jiang
| | ---
| | fs/dlm/lowcomms.c | 2 +-
| | 1 file changed, 1 insertion(+), 1 deletion(-)
| |
| | diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
| | index 9382db9..4813d0e 100644
| | ---
19 matches
Mail list logo