Skip to content
Snippets Groups Projects
Commit 7fe17854 authored by Andreas Dilger's avatar Andreas Dilger
Browse files

Delete obd_self_export from exp_obd_chain while we are disconnecting exports

during a forced cleanup.  Otherwise, we will end up pointing to work_list,
which is on the stack, and a list_del_init() on exp_obd_chain will end up
stomping on some innocent variable on the stack, ending its already-short
life just a bit too early.
b=2908
r=robert
parent 2f9d025b
No related branches found
No related tags found
No related merge requests found
......@@ -4,6 +4,7 @@ tbd Cluster File Systems, Inc. <info@clusterfs.com>
- fixes for glimpse AST timeouts / incorrectly 0-sized files (2818)
- don't overwrite extent policy data in reply if lock was blocked (2901)
- drop filter export grants atomically with removal from device (2663)
- del obd_self_export from work_list in class_disconnect_exports (2908)
2004-03-04 Cluster File Systems, Inc. <info@clusterfs.com>
* version 1.2.0
......
......@@ -630,6 +630,9 @@ void class_disconnect_exports(struct obd_device *obd, int flags)
CDEBUG(D_HA,
"exp %p export uuid == obd uuid, don't discon\n",
exp);
/* Need to delete this now so we don't end up pointing
* to work_list later when this export is cleaned up. */
list_del_init(&exp->exp_obd_chain);
class_export_put(exp);
continue;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment