From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Aring Date: Thu, 23 Jul 2020 10:49:04 -0400 Subject: [Cluster-devel] [PATCH dlm-next 0/4] fs: dlm: receive handling changes Message-ID: <20200723144908.271110-1-aahringo@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, this patch series will do some changes according to the receive handling in dlm. My goal is to survive tcpkill [0] which is my main testcase while doing some heavy load on dlm. The code is still in a situation where dlm can end in a deadlock state while e.g. using gfs2. For generating a lot of dlm traffic I use gfs2 and running make_panic [1]. I mainly just run make_panic on two nodes and let run: tcpkill -9 -i $IFACE port 21064 on both nodes. The first two patches changes the behaviour how to react on invalid dlm messages (which does not occur on my test case). The third patch increase in my test scenario the stability of dlm connection and running tcpkill. The last patch will ensure that the other end agrees to close the socket if we want to do a clean tcp termination. FUTURE WORK: I still get deadlocks, as PATCH 3/4 shows that I think the TCP stack will drop some packets when receiving a tcp reset (and the application layer think it's successful send). This is one of my future work to solve this behaviour. I also think about to extend the test case to e.g. umount/mount gfs2 while my testcase is running and doing randomly drops/delaying/reordering of dlm tcp by using the introduced mark functionality and traffic control. - Alex [0] https://salsa.debian.org/pkg-security-team/dsniff [1] https://fedorapeople.org/cgit/teigland/public_git/dct-stuff.git/tree/fs/make_panic Alexander Aring (4): fs: dlm: don't close socket on invalid message fs: dlm: fix report error of invalid messages fs: dlm: change handling of reconnects fs: dlm: implement tcp graceful shutdown fs/dlm/lowcomms.c | 108 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 84 insertions(+), 24 deletions(-) -- 2.26.2