Commit 01c7a597 authored by Alexander Aring's avatar Alexander Aring Committed by David Teigland
Browse files

fs: dlm: remove deprecated code parts



This patch removes code parts which was declared deprecated by
commit 6b0afc0c ("fs: dlm: don't use deprecated timeout features by
default"). This contains the following dlm functionality:

- start a cancel of a dlm request did not complete after certain timeout:
  The current way how dlm cancellation works and interfering with other
  dlm requests triggered by the user can end in an overlapping and
  returning in -EBUSY. The most user don't handle this case and are
  unaware that DLM can return such errno in such situation. Due the
  timeout the user are mostly unaware when this happens.
- start a netlink warning messages for user space if dlm requests did
  not complete after certain timeout:
  This feature was never being built in the only known dlm user space side.
  As we are to remove the timeout cancellation feature we can directly
  remove this feature as well.

There might be the possibility to bring the timeout cancellation feature
back. However the current way of handling the -EBUSY case which is only
a software limitation and not a hardware limitation should be changed.
We minimize the current code base in DLM cancellation feature to not have
to deal with those existing features while solving the DLM cancellation
feature in general.

UAPI define DLM_LSFL_TIMEWARN is commented as deprecated and reserved
value. We should avoid at first to give it a new meaning but let
possible users still compile by keeping this define. In far future we
can give this flag a new meaning. The same for the DLM_LKF_TIMEOUT lock
request flag.

Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
parent 7386457a
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -8,15 +8,6 @@ menuconfig DLM
	A general purpose distributed lock manager for kernel or userspace
	applications.

config DLM_DEPRECATED_API
	bool "DLM deprecated API"
	depends on DLM
	help
	Enables deprecated DLM timeout features that will be removed in
        later Linux kernel releases.

	If you are unsure, say N.

config DLM_DEBUG
	bool "DLM debugging"
	depends on DLM
+0 −1
Original line number Diff line number Diff line
@@ -17,6 +17,5 @@ dlm-y := ast.o \
				requestqueue.o \
				user.o \
				util.o 
dlm-$(CONFIG_DLM_DEPRECATED_API) +=	netlink.o
dlm-$(CONFIG_DLM_DEBUG) +=	debug_fs.o
+0 −21
Original line number Diff line number Diff line
@@ -75,9 +75,6 @@ struct dlm_cluster {
	unsigned int cl_log_info;
	unsigned int cl_protocol;
	unsigned int cl_mark;
#ifdef CONFIG_DLM_DEPRECATED_API
	unsigned int cl_timewarn_cs;
#endif
	unsigned int cl_new_rsb_count;
	unsigned int cl_recover_callbacks;
	char cl_cluster_name[DLM_LOCKSPACE_LEN];
@@ -103,9 +100,6 @@ enum {
	CLUSTER_ATTR_LOG_INFO,
	CLUSTER_ATTR_PROTOCOL,
	CLUSTER_ATTR_MARK,
#ifdef CONFIG_DLM_DEPRECATED_API
	CLUSTER_ATTR_TIMEWARN_CS,
#endif
	CLUSTER_ATTR_NEW_RSB_COUNT,
	CLUSTER_ATTR_RECOVER_CALLBACKS,
	CLUSTER_ATTR_CLUSTER_NAME,
@@ -226,9 +220,6 @@ CLUSTER_ATTR(log_debug, NULL);
CLUSTER_ATTR(log_info, NULL);
CLUSTER_ATTR(protocol, dlm_check_protocol_and_dlm_running);
CLUSTER_ATTR(mark, NULL);
#ifdef CONFIG_DLM_DEPRECATED_API
CLUSTER_ATTR(timewarn_cs, dlm_check_zero);
#endif
CLUSTER_ATTR(new_rsb_count, NULL);
CLUSTER_ATTR(recover_callbacks, NULL);

@@ -243,9 +234,6 @@ static struct configfs_attribute *cluster_attrs[] = {
	[CLUSTER_ATTR_LOG_INFO] = &cluster_attr_log_info,
	[CLUSTER_ATTR_PROTOCOL] = &cluster_attr_protocol,
	[CLUSTER_ATTR_MARK] = &cluster_attr_mark,
#ifdef CONFIG_DLM_DEPRECATED_API
	[CLUSTER_ATTR_TIMEWARN_CS] = &cluster_attr_timewarn_cs,
#endif
	[CLUSTER_ATTR_NEW_RSB_COUNT] = &cluster_attr_new_rsb_count,
	[CLUSTER_ATTR_RECOVER_CALLBACKS] = &cluster_attr_recover_callbacks,
	[CLUSTER_ATTR_CLUSTER_NAME] = &cluster_attr_cluster_name,
@@ -436,9 +424,6 @@ static struct config_group *make_cluster(struct config_group *g,
	cl->cl_log_debug = dlm_config.ci_log_debug;
	cl->cl_log_info = dlm_config.ci_log_info;
	cl->cl_protocol = dlm_config.ci_protocol;
#ifdef CONFIG_DLM_DEPRECATED_API
	cl->cl_timewarn_cs = dlm_config.ci_timewarn_cs;
#endif
	cl->cl_new_rsb_count = dlm_config.ci_new_rsb_count;
	cl->cl_recover_callbacks = dlm_config.ci_recover_callbacks;
	memcpy(cl->cl_cluster_name, dlm_config.ci_cluster_name,
@@ -959,9 +944,6 @@ int dlm_our_addr(struct sockaddr_storage *addr, int num)
#define DEFAULT_LOG_INFO           1
#define DEFAULT_PROTOCOL           DLM_PROTO_TCP
#define DEFAULT_MARK               0
#ifdef CONFIG_DLM_DEPRECATED_API
#define DEFAULT_TIMEWARN_CS      500 /* 5 sec = 500 centiseconds */
#endif
#define DEFAULT_NEW_RSB_COUNT    128
#define DEFAULT_RECOVER_CALLBACKS  0
#define DEFAULT_CLUSTER_NAME      ""
@@ -977,9 +959,6 @@ struct dlm_config_info dlm_config = {
	.ci_log_info = DEFAULT_LOG_INFO,
	.ci_protocol = DEFAULT_PROTOCOL,
	.ci_mark = DEFAULT_MARK,
#ifdef CONFIG_DLM_DEPRECATED_API
	.ci_timewarn_cs = DEFAULT_TIMEWARN_CS,
#endif
	.ci_new_rsb_count = DEFAULT_NEW_RSB_COUNT,
	.ci_recover_callbacks = DEFAULT_RECOVER_CALLBACKS,
	.ci_cluster_name = DEFAULT_CLUSTER_NAME
+0 −3
Original line number Diff line number Diff line
@@ -37,9 +37,6 @@ struct dlm_config_info {
	int ci_log_info;
	int ci_protocol;
	int ci_mark;
#ifdef CONFIG_DLM_DEPRECATED_API
	int ci_timewarn_cs;
#endif
	int ci_new_rsb_count;
	int ci_recover_callbacks;
	char ci_cluster_name[DLM_LOCKSPACE_LEN];
+0 −29
Original line number Diff line number Diff line
@@ -145,9 +145,6 @@ struct dlm_args {
	void			(*bastfn) (void *astparam, int mode);
	int			mode;
	struct dlm_lksb		*lksb;
#ifdef CONFIG_DLM_DEPRECATED_API
	unsigned long		timeout;
#endif
};


@@ -205,10 +202,6 @@ struct dlm_args {
#define DLM_IFL_OVERLAP_UNLOCK  0x00080000
#define DLM_IFL_OVERLAP_CANCEL  0x00100000
#define DLM_IFL_ENDOFLIFE	0x00200000
#ifdef CONFIG_DLM_DEPRECATED_API
#define DLM_IFL_WATCH_TIMEWARN	0x00400000
#define DLM_IFL_TIMEOUT_CANCEL	0x00800000
#endif
#define DLM_IFL_DEADLOCK_CANCEL	0x01000000
#define DLM_IFL_STUB_MS		0x02000000 /* magic number for m_flags */

@@ -266,11 +259,6 @@ struct dlm_lkb {
	struct list_head	lkb_ownqueue;	/* list of locks for a process */
	ktime_t			lkb_timestamp;

#ifdef CONFIG_DLM_DEPRECATED_API
	struct list_head	lkb_time_list;
	unsigned long		lkb_timeout_cs;
#endif

	spinlock_t		lkb_cb_lock;
	struct work_struct	lkb_cb_work;
	struct list_head	lkb_cb_list; /* for ls_cb_delay or proc->asts */
@@ -586,11 +574,6 @@ struct dlm_ls {
	struct mutex		ls_orphans_mutex;
	struct list_head	ls_orphans;

#ifdef CONFIG_DLM_DEPRECATED_API
	struct mutex		ls_timeout_mutex;
	struct list_head	ls_timeout;
#endif

	spinlock_t		ls_new_rsb_spin;
	int			ls_new_rsb_count;
	struct list_head	ls_new_rsb;	/* new rsb structs */
@@ -704,9 +687,6 @@ struct dlm_ls {
#define LSFL_RCOM_READY		5
#define LSFL_RCOM_WAIT		6
#define LSFL_UEVENT_WAIT	7
#ifdef CONFIG_DLM_DEPRECATED_API
#define LSFL_TIMEWARN		8
#endif
#define LSFL_CB_DELAY		9
#define LSFL_NODIR		10

@@ -759,15 +739,6 @@ static inline int dlm_no_directory(struct dlm_ls *ls)
	return test_bit(LSFL_NODIR, &ls->ls_flags);
}

#ifdef CONFIG_DLM_DEPRECATED_API
int dlm_netlink_init(void);
void dlm_netlink_exit(void);
void dlm_timeout_warn(struct dlm_lkb *lkb);
#else
static inline int dlm_netlink_init(void) { return 0; }
static inline void dlm_netlink_exit(void) { };
static inline void dlm_timeout_warn(struct dlm_lkb *lkb) { };
#endif
int dlm_plock_init(void);
void dlm_plock_exit(void);

Loading