2018-03-20 06:45:53

by Gang He

[permalink] [raw]
Subject: [PATCH] dlm: prompt the user SCTP is experimental

As you know, DLM module can use TCP or SCTP protocols to
communicate among the cluster.
But, according to our testing, SCTP protocol is still considered
experimental, since not all aspects are working correctly and
it is not full tested.
e.g. SCTP connection channel switch needs about 5mins hang in case
one connection(ring) is broken.
Then, I suggest to add a kernel print, which prompts the user SCTP
protocol for DLM should be considered experimental, it is not
recommended in production environment.

Signed-off-by: Gang He <[email protected]>
---
fs/dlm/lowcomms.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index cff79ea..18fd85d 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -1307,6 +1307,7 @@ static int sctp_listen_for_all(void)
return -ENOMEM;

log_print("Using SCTP for communications");
+ log_print("SCTP protocol is experimental, use at your own risk");

result = sock_create_kern(&init_net, dlm_local_addr[0]->ss_family,
SOCK_STREAM, IPPROTO_SCTP, &sock);
--
1.8.5.6



2018-03-23 04:31:20

by Gang He

[permalink] [raw]
Subject: Re: [PATCH] dlm: prompt the user SCTP is experimental

Hello David,

Do you agree to add this prompt to the user?
Since sometimes customers attempted to setup SCTP protocol with two rings,
but they could not get the expected result, then it maybe bring some concerns to the customer for DLM qualities.


Thanks
Gang


>>>
> As you know, DLM module can use TCP or SCTP protocols to
> communicate among the cluster.
> But, according to our testing, SCTP protocol is still considered
> experimental, since not all aspects are working correctly and
> it is not full tested.
> e.g. SCTP connection channel switch needs about 5mins hang in case
> one connection(ring) is broken.
> Then, I suggest to add a kernel print, which prompts the user SCTP
> protocol for DLM should be considered experimental, it is not
> recommended in production environment.
>
> Signed-off-by: Gang He <[email protected]>
> ---
> fs/dlm/lowcomms.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
> index cff79ea..18fd85d 100644
> --- a/fs/dlm/lowcomms.c
> +++ b/fs/dlm/lowcomms.c
> @@ -1307,6 +1307,7 @@ static int sctp_listen_for_all(void)
> return -ENOMEM;
>
> log_print("Using SCTP for communications");
> + log_print("SCTP protocol is experimental, use at your own risk");
>
> result = sock_create_kern(&init_net, dlm_local_addr[0]->ss_family,
> SOCK_STREAM, IPPROTO_SCTP, &sock);
> --
> 1.8.5.6


2018-04-02 15:05:16

by David Teigland

[permalink] [raw]
Subject: Re: [PATCH] dlm: prompt the user SCTP is experimental

On Thu, Mar 22, 2018 at 10:27:56PM -0600, Gang He wrote:
> Hello David,
>
> Do you agree to add this prompt to the user?
> Since sometimes customers attempted to setup SCTP protocol with two rings,
> but they could not get the expected result, then it maybe bring some concerns to the customer for DLM qualities.

I don't think the kernel message is a good way to communicate this to users.
Dave


> > As you know, DLM module can use TCP or SCTP protocols to
> > communicate among the cluster.
> > But, according to our testing, SCTP protocol is still considered
> > experimental, since not all aspects are working correctly and
> > it is not full tested.
> > e.g. SCTP connection channel switch needs about 5mins hang in case
> > one connection(ring) is broken.
> > Then, I suggest to add a kernel print, which prompts the user SCTP
> > protocol for DLM should be considered experimental, it is not
> > recommended in production environment.
> >
> > Signed-off-by: Gang He <[email protected]>
> > ---
> > fs/dlm/lowcomms.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
> > index cff79ea..18fd85d 100644
> > --- a/fs/dlm/lowcomms.c
> > +++ b/fs/dlm/lowcomms.c
> > @@ -1307,6 +1307,7 @@ static int sctp_listen_for_all(void)
> > return -ENOMEM;
> >
> > log_print("Using SCTP for communications");
> > + log_print("SCTP protocol is experimental, use at your own risk");
> >
> > result = sock_create_kern(&init_net, dlm_local_addr[0]->ss_family,
> > SOCK_STREAM, IPPROTO_SCTP, &sock);
> > --
> > 1.8.5.6

2018-04-03 02:04:03

by Gang He

[permalink] [raw]
Subject: Re: [PATCH] dlm: prompt the user SCTP is experimental

Hi David,



>>>
> On Thu, Mar 22, 2018 at 10:27:56PM -0600, Gang He wrote:
>> Hello David,
>>
>> Do you agree to add this prompt to the user?
>> Since sometimes customers attempted to setup SCTP protocol with two rings,
>> but they could not get the expected result, then it maybe bring some
> concerns to the customer for DLM qualities.
>
> I don't think the kernel message is a good way to communicate this to users.
> Dave
OK, I got your point.
But, could we have a appropriate way to let the users know SCTP protocol status?

Thanks
Gang

>
>
>> > As you know, DLM module can use TCP or SCTP protocols to
>> > communicate among the cluster.
>> > But, according to our testing, SCTP protocol is still considered
>> > experimental, since not all aspects are working correctly and
>> > it is not full tested.
>> > e.g. SCTP connection channel switch needs about 5mins hang in case
>> > one connection(ring) is broken.
>> > Then, I suggest to add a kernel print, which prompts the user SCTP
>> > protocol for DLM should be considered experimental, it is not
>> > recommended in production environment.
>> >
>> > Signed-off-by: Gang He <[email protected]>
>> > ---
>> > fs/dlm/lowcomms.c | 1 +
>> > 1 file changed, 1 insertion(+)
>> >
>> > diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
>> > index cff79ea..18fd85d 100644
>> > --- a/fs/dlm/lowcomms.c
>> > +++ b/fs/dlm/lowcomms.c
>> > @@ -1307,6 +1307,7 @@ static int sctp_listen_for_all(void)
>> > return -ENOMEM;
>> >
>> > log_print("Using SCTP for communications");
>> > + log_print("SCTP protocol is experimental, use at your own risk");
>> >
>> > result = sock_create_kern(&init_net, dlm_local_addr[0]->ss_family,
>> > SOCK_STREAM, IPPROTO_SCTP, &sock);
>> > --
>> > 1.8.5.6