-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch incorporates the functionality to handle FPIN ELS events present as part of FCTransport daemon (available in EPEL8) into the multipathd. This helps us to reduce the response time to react and take the necessary actions on receiving the FPIN events. This patch currently support FPIN-Li Events. It adds a new thread to listen for ELS frames from driver and on receiving the frame payload, push the payload to a list and notify the fpin_els_li_consumer thread to process it.Once consumer thread is notified, it returns to listen for more ELS frames from driver. The consumer thread process the ELS frames and moves the devices paths which are affected due to link integrity to marginal path groups. This also sets the associated portstate to marginal. The paths which are set to marginal path group will be unset on receiving the RSCN events [ MW: minor fixup for 32bit compilation ] Signed-off-by: Muneendra Kumar <muneendra.kumar@broadcom.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
- Loading branch information
1 parent
4f50e0e
commit cfff03e
Showing
11 changed files
with
745 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#ifndef __FPIN_H__ | ||
#define __FPIN_H__ | ||
|
||
#ifdef FPIN_EVENT_HANDLER | ||
void *fpin_fabric_notification_receiver(void *unused); | ||
void *fpin_els_li_consumer(void *data); | ||
void fpin_clean_marginal_dev_list(__attribute__((unused)) void *arg); | ||
#else | ||
static void *fpin_fabric_notification_receiver(__attribute__((unused))void *unused) | ||
{ | ||
return NULL; | ||
} | ||
static void *fpin_els_li_consumer(__attribute__((unused))void *data) | ||
{ | ||
return NULL; | ||
} | ||
/* fpin_clean_marginal_dev_list() is never called */ | ||
#endif | ||
|
||
#endif |
Oops, something went wrong.