diff options
Diffstat (limited to 'fs/ocfs2/dlmglue.c')
-rw-r--r-- | fs/ocfs2/dlmglue.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c index 05fd016ba4bf..c7653bb343e1 100644 --- a/fs/ocfs2/dlmglue.c +++ b/fs/ocfs2/dlmglue.c | |||
@@ -2459,8 +2459,10 @@ int ocfs2_dlm_init(struct ocfs2_super *osb) | |||
2459 | 2459 | ||
2460 | mlog_entry_void(); | 2460 | mlog_entry_void(); |
2461 | 2461 | ||
2462 | if (ocfs2_mount_local(osb)) | 2462 | if (ocfs2_mount_local(osb)) { |
2463 | osb->node_num = 0; | ||
2463 | goto local; | 2464 | goto local; |
2465 | } | ||
2464 | 2466 | ||
2465 | status = ocfs2_dlm_init_debug(osb); | 2467 | status = ocfs2_dlm_init_debug(osb); |
2466 | if (status < 0) { | 2468 | if (status < 0) { |
@@ -2487,6 +2489,15 @@ int ocfs2_dlm_init(struct ocfs2_super *osb) | |||
2487 | goto bail; | 2489 | goto bail; |
2488 | } | 2490 | } |
2489 | 2491 | ||
2492 | status = ocfs2_cluster_this_node(&osb->node_num); | ||
2493 | if (status < 0) { | ||
2494 | mlog_errno(status); | ||
2495 | mlog(ML_ERROR, | ||
2496 | "could not find this host's node number\n"); | ||
2497 | ocfs2_cluster_disconnect(conn); | ||
2498 | goto bail; | ||
2499 | } | ||
2500 | |||
2490 | local: | 2501 | local: |
2491 | ocfs2_super_lock_res_init(&osb->osb_super_lockres, osb); | 2502 | ocfs2_super_lock_res_init(&osb->osb_super_lockres, osb); |
2492 | ocfs2_rename_lock_res_init(&osb->osb_rename_lockres, osb); | 2503 | ocfs2_rename_lock_res_init(&osb->osb_rename_lockres, osb); |