cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCH RESEND v5.19-rc3 00/20] fs: dlm: plock, recovery and API deprecation
@ 2022-06-22 18:45 Alexander Aring
  2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 01/20] fs: dlm: plock use list_first_entry Alexander Aring
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: Alexander Aring @ 2022-06-22 18:45 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

this patch series is just a resend to push them to dlm/next.
It contains mainly three things:

1. Users asking while using plocks on gfs2 why they see "dev_write no
op...". I reproduced a similar output by calling "stress-ng --fcntl 100"
and hitting ctrl-c. However I think this message is harmless. The
message occurs if the plock kernel handling cannot find the plock
operation which was requested anymore as the user send a reply. Hitting
ctrl-c at the right place we will delete the original requests from a
lookup datastructure. First I added patches to signal that those original
requests operations were removed and that's why a possible lookup will
fail. However it confuses users, this patch will change the plock handling
that we never should delete a request on purpose. If a interruption was
happened during a requests to the user space and back we will signal this
requests got interrupted and ignore the requests and cleanup the plock
handling after we get a reply from the user space back. If there are
still "dev_write no op..." messages it will signal a bug.

2. Changes due recovery handling e.g. wait until recovery is done when
recovery is triggered by dlm_new_lockspace() and try to run the
recovery mechanism several times if -EAGAIN is returned.

3. Remove the dlm waiters warning and deprecate the internal DLM timeout
handling for now which will be removed in kernel v5.22. Upcomming patches
to libdlm will effect that the linked application will disable the use
of the feature which will be deprecated now.

- Alex

changes since on mailinglist:
 - remove null terminated resource name in dlm traces
 - add commit msg why it's safe to access rsb->res_name in traces
 - move -EAGAIN in dlm_recover_directory() call (if -EINVAL is returned)
 - remove patch "fs: dlm: add WARN_ON for non waiter case"
 - remove patch "fs: dlm: add dlm_is_member() check if fenced"
 - add "not" in comment about lkb IFL flags
 - remove prototype of function which is removed in patch
   "fs: dlm: remove warn waiter handling"
 - change prototype to static inline in patch
   "fs: dlm: don't use deprecated API by default"

Alexander Aring (20):
  fs: dlm: plock use list_first_entry
  fs: dlm: remove may interrupted message
  fs: dlm: add pid to debug log
  fs: dlm: change log output to debug again
  fs: dlm: use dlm_plock_info for do_unlock_close
  fs: dlm: change posix lock sigint handling
  fs: dlm: change ast and bast trace order
  fs: dlm: remove additional dereference of lkbsb
  fs: dlm: add resource name to tracepoints
  fs: dlm: add notes for recovery and membership handling
  fs: dlm: call dlm_lsop_recover_prep once
  fs: dlm: let new_lockspace() wait until recovery
  fs: dlm: handle recovery result outside of ls_recover
  fs: dlm: handle recovery -EAGAIN case as retry
  fs: dlm: change -EINVAL recovery error to -EAGAIN
  fs: dlm: add comment about lkb IFL flags
  fs: dlm: remove warn waiter handling
  fs: dlm: remove timeout from dlm_user_adopt_orphan
  fs: dlm: add API deprecation warning
  fs: dlm: don't use deprecated API by default

 fs/dlm/Kconfig             |   9 +++
 fs/dlm/Makefile            |   2 +-
 fs/dlm/ast.c               |   4 +-
 fs/dlm/config.c            |  21 ++++--
 fs/dlm/config.h            |   3 +-
 fs/dlm/dir.c               |   4 ++
 fs/dlm/dlm_internal.h      |  32 +++++++--
 fs/dlm/lock.c              | 132 ++++++++++++++-----------------------
 fs/dlm/lock.h              |  17 ++++-
 fs/dlm/lockspace.c         |  31 +++++++--
 fs/dlm/member.c            |  30 ++++-----
 fs/dlm/netlink.c           |   8 +++
 fs/dlm/plock.c             |  51 +++++++++-----
 fs/dlm/recoverd.c          |  60 +++++++++++++++--
 fs/dlm/user.c              |  21 +++++-
 include/trace/events/dlm.h | 118 ++++++++++++++++++++++++++-------
 16 files changed, 378 insertions(+), 165 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2022-06-22 18:45 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-22 18:45 [Cluster-devel] [PATCH RESEND v5.19-rc3 00/20] fs: dlm: plock, recovery and API deprecation Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 01/20] fs: dlm: plock use list_first_entry Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 02/20] fs: dlm: remove may interrupted message Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 03/20] fs: dlm: add pid to debug log Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 04/20] fs: dlm: change log output to debug again Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 05/20] fs: dlm: use dlm_plock_info for do_unlock_close Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 06/20] fs: dlm: change posix lock sigint handling Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 07/20] fs: dlm: change ast and bast trace order Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 08/20] fs: dlm: remove additional dereference of lkbsb Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 09/20] fs: dlm: add resource name to tracepoints Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 10/20] fs: dlm: add notes for recovery and membership handling Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 11/20] fs: dlm: call dlm_lsop_recover_prep once Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 12/20] fs: dlm: let new_lockspace() wait until recovery Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 13/20] fs: dlm: handle recovery result outside of ls_recover Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 14/20] fs: dlm: handle recovery -EAGAIN case as retry Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 15/20] fs: dlm: change -EINVAL recovery error to -EAGAIN Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 16/20] fs: dlm: add comment about lkb IFL flags Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 17/20] fs: dlm: remove warn waiter handling Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 18/20] fs: dlm: remove timeout from dlm_user_adopt_orphan Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 19/20] fs: dlm: add API deprecation warning Alexander Aring
2022-06-22 18:45 ` [Cluster-devel] [PATCH RESEND v5.19-rc3 20/20] fs: dlm: don't use deprecated API by default Alexander Aring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).