check in missing patches
This commit is contained in:
parent
1447cbc1c8
commit
6d59a5c320
@ -0,0 +1,78 @@
|
||||
From f3af6bad75d7f6c90b9a170cbf9e4748ab4bb24e Mon Sep 17 00:00:00 2001
|
||||
From: Johannes Thumshirn <jthumshirn@suse.de>
|
||||
Date: Mon, 18 May 2015 17:02:59 +0000
|
||||
Subject: [PATCH] fcoemon: Rework daemonizing and error handling
|
||||
|
||||
Rework error handling, which leads to daemonizing later in order to get the
|
||||
error handling into effect.
|
||||
|
||||
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
|
||||
Signed-off-by: Vasu Dev <vasu.dev@intel.com>
|
||||
---
|
||||
fcoemon.c | 31 ++++++++++++++++++++++---------
|
||||
1 file changed, 22 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/fcoemon.c b/fcoemon.c
|
||||
index 3b5210c..c5edd1b 100644
|
||||
--- a/fcoemon.c
|
||||
+++ b/fcoemon.c
|
||||
@@ -3719,11 +3719,6 @@ int main(int argc, char **argv)
|
||||
if (argc != optind)
|
||||
fcm_usage();
|
||||
|
||||
- if (!fcm_fg && daemon(0, !fcoe_config.use_syslog)) {
|
||||
- FCM_LOG("Starting daemon failed");
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
-
|
||||
umask(0);
|
||||
|
||||
/*
|
||||
@@ -3770,22 +3765,40 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
fcm_fcoe_init();
|
||||
- fcm_fc_events_init();
|
||||
- fcm_link_init(); /* NETLINK_ROUTE protocol */
|
||||
+ rc = fcm_fc_events_init();
|
||||
+ if (rc != 0)
|
||||
+ exit(1);
|
||||
+
|
||||
+ rc = fcm_link_init(); /* NETLINK_ROUTE protocol */
|
||||
+ if (rc != 0)
|
||||
+ goto err_cleanup;
|
||||
+
|
||||
fcm_dcbd_init();
|
||||
- fcm_srv_create(&srv_info);
|
||||
+ rc = fcm_srv_create(&srv_info);
|
||||
+ if (rc != 0)
|
||||
+ goto err_cleanup;
|
||||
+
|
||||
+ if (!fcm_fg && daemon(0, !fcoe_config.use_syslog)) {
|
||||
+ FCM_LOG("Starting daemon failed");
|
||||
+ goto err_cleanup;
|
||||
+ }
|
||||
+
|
||||
sa_select_set_callback(fcm_handle_changes);
|
||||
|
||||
rc = sa_select_loop();
|
||||
if (rc < 0) {
|
||||
FCM_LOG_ERR(rc, "select error\n");
|
||||
- exit(EXIT_FAILURE);
|
||||
+ goto err_cleanup;
|
||||
}
|
||||
fcm_dcbd_shutdown();
|
||||
fcm_srv_destroy(&srv_info);
|
||||
if (rc == SIGHUP)
|
||||
fcm_cleanup();
|
||||
return 0;
|
||||
+
|
||||
+err_cleanup:
|
||||
+ fcm_cleanup();
|
||||
+ exit(1);
|
||||
}
|
||||
|
||||
/*******************************************************
|
||||
--
|
||||
2.1.0
|
||||
|
83
fcoe-utils-v1.0.30-2-fcoemon-fix-IEEE-state-machine.patch
Normal file
83
fcoe-utils-v1.0.30-2-fcoemon-fix-IEEE-state-machine.patch
Normal file
@ -0,0 +1,83 @@
|
||||
From 91c0c8c0a37af40b3fb4a37df6490a226348d152 Mon Sep 17 00:00:00 2001
|
||||
From: Vasu Dev <vasu.dev@intel.com>
|
||||
Date: Fri, 5 Jun 2015 14:52:10 -0700
|
||||
Subject: [PATCH] fcoemon: fix IEEE state machine
|
||||
|
||||
Fix IEEE state machine for these issues:-
|
||||
|
||||
- fcoeadm scan not working
|
||||
- fcoeadm reset not working
|
||||
- periodic fipvlan issuance even after fcoe instance created
|
||||
|
||||
These issues are due to current IEEE states are not correctly
|
||||
handled. The validate_ieee_info() return either activate or
|
||||
wait actions and out of that only activate is really used to
|
||||
enable fcoe instance and none other action are applicable in
|
||||
IEEE state machine, so reduced to only activate and then
|
||||
advance the state machine to new IEEE_ACTIVE state to allow
|
||||
processing of scan & reset command once interface activated.
|
||||
|
||||
This also fixes fipvlan issuance issue beside fixing scan and
|
||||
reset fcoeadm commands.
|
||||
|
||||
Signed-off-by: Vasu Dev <vasu.dev@intel.com>
|
||||
Tested-By: Jack Morgan<jack.morgan@intel.com>
|
||||
---
|
||||
fcoemon.c | 19 +++++++------------
|
||||
fcoemon.h | 1 +
|
||||
2 files changed, 8 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/fcoemon.c b/fcoemon.c
|
||||
index c5edd1b..c0af99b 100644
|
||||
--- a/fcoemon.c
|
||||
+++ b/fcoemon.c
|
||||
@@ -1341,6 +1341,7 @@ STR_ARR(ieee_states, "Unknown", "Out of range",
|
||||
[IEEE_INIT] = "IEEE_INIT",
|
||||
[IEEE_GET_STATE] = "IEEE_GET_STATE",
|
||||
[IEEE_DONE] = "IEEE_DONE",
|
||||
+ [IEEE_ACTIVE] = "IEEE_ACTIVE",
|
||||
);
|
||||
|
||||
static void
|
||||
@@ -3054,20 +3055,14 @@ static void fcm_netif_ieee_advance(struct fcm_netif *ff)
|
||||
break;
|
||||
case IEEE_DONE:
|
||||
action = validate_ieee_info(ff);
|
||||
- switch (action) {
|
||||
- case FCP_DESTROY_IF:
|
||||
- case FCP_ENABLE_IF:
|
||||
- case FCP_ACTIVATE_IF:
|
||||
+ if (action == FCP_ACTIVATE_IF) {
|
||||
fcp_action_set(ff->ifname, action);
|
||||
- break;
|
||||
- case FCP_DISABLE_IF:
|
||||
- case FCP_ERROR:
|
||||
- fcp_action_set(ff->ifname, FCP_DISABLE_IF);
|
||||
- break;
|
||||
- case FCP_WAIT:
|
||||
- default:
|
||||
- break;
|
||||
+ ieee_state_set(ff, IEEE_ACTIVE);
|
||||
}
|
||||
+ break;
|
||||
+ case IEEE_ACTIVE:
|
||||
+ /* TBD enable and disable if needed in IEEE mode */
|
||||
+ break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
diff --git a/fcoemon.h b/fcoemon.h
|
||||
index c2ed7b1..3869bae 100644
|
||||
--- a/fcoemon.h
|
||||
+++ b/fcoemon.h
|
||||
@@ -80,6 +80,7 @@ enum ieee_state {
|
||||
IEEE_INIT = 0, /* Starting state */
|
||||
IEEE_GET_STATE, /* Getting IEEE DCB state */
|
||||
IEEE_DONE, /* Received IEEE DCB state */
|
||||
+ IEEE_ACTIVE, /* IEEE is in ACTIVE state */
|
||||
IEEE_ERROR, /* Error receiving IEEE DCB state */
|
||||
};
|
||||
|
||||
--
|
||||
2.1.0
|
||||
|
26
fcoe-utils-v1.0.30-3-sanmac-isn-t-required.patch
Normal file
26
fcoe-utils-v1.0.30-3-sanmac-isn-t-required.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 8065e01707c3306380c684712e547fcf0e4e55da Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Thu, 5 Feb 2015 11:46:31 -0800
|
||||
Subject: [PATCH] sanmac isn't required
|
||||
|
||||
Signed-off-by: Chris Leech <cleech@redhat.com>
|
||||
---
|
||||
lib/fip.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/fip.c b/lib/fip.c
|
||||
index 6657b61..5e5b179 100644
|
||||
--- a/lib/fip.c
|
||||
+++ b/lib/fip.c
|
||||
@@ -215,7 +215,7 @@ int fip_socket(int ifindex, enum fip_multi multi)
|
||||
return s;
|
||||
|
||||
rc = fip_socket_sanmac(s, ifindex, 1);
|
||||
- if (rc < 0) {
|
||||
+ if (rc < 0 && rc != -ENXIO) {
|
||||
close(s);
|
||||
return rc;
|
||||
}
|
||||
--
|
||||
2.1.0
|
||||
|
Loading…
Reference in New Issue
Block a user