[Cluster-devel] [PATCH dlm-tool 1/2] fs: dlm: handle DLM_PLOCK_FL_NO_REPLY

Alexander Aring aahringo at redhat.com
Thu Jul 13 17:08:35 UTC 2023


This patch will handle a newly introduced op flag DLM_PLOCK_FL_NO_REPLY
to be sure we never send a result back in case of the kernel doesn't
expect never a result back.
---
 dlm_controld/plock.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/dlm_controld/plock.c b/dlm_controld/plock.c
index a91aecb0..ab19e8d7 100644
--- a/dlm_controld/plock.c
+++ b/dlm_controld/plock.c
@@ -9,6 +9,10 @@
 #include "dlm_daemon.h"
 #include <linux/dlm_plock.h>
 
+#ifndef DLM_PLOCK_FL_NO_REPLY
+#define DLM_PLOCK_FL_NO_REPLY 2
+#endif
+
 static uint32_t plock_read_count;
 static uint32_t plock_recv_count;
 static uint32_t plock_rate_delays;
@@ -680,6 +684,12 @@ static void write_result(struct dlm_plock_info *in, int rv)
 {
 	int write_rv;
 
+	if (in->flags & DLM_PLOCK_FL_NO_REPLY) {
+		log_debug("write_result: ignored rv %d fd %d\n",
+			  rv, plock_device_fd);
+		return;
+	}
+
 	in->rv = rv;
 	write_rv = write(plock_device_fd, in, sizeof(struct dlm_plock_info));
 	if (write_rv < 0)
-- 
2.31.1



More information about the Cluster-devel mailing list