diff options
author | Sunil Mushran <Sunil.Mushran@oracle.com> | 2006-12-05 20:56:35 -0500 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2006-12-07 20:37:53 -0500 |
commit | c271c5c22b0a7ca45fda15f1f4d258bca36a5b94 (patch) | |
tree | 9803af515ecf1c101c4a5921d7407c66184147e1 /fs/ocfs2/heartbeat.c | |
parent | c99767974ebd2a719d849fdeaaa1674456f5283f (diff) |
ocfs2: local mounts
This allows users to format an ocfs2 file system with a special flag,
OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT. When the file system sees this flag, it
will not use any cluster services, nor will it require a cluster
configuration, thus acting like a 'local' file system.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/heartbeat.c')
-rw-r--r-- | fs/ocfs2/heartbeat.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/ocfs2/heartbeat.c b/fs/ocfs2/heartbeat.c index cbfd45a97a63..8fc52d6d0ce7 100644 --- a/fs/ocfs2/heartbeat.c +++ b/fs/ocfs2/heartbeat.c | |||
@@ -154,6 +154,9 @@ int ocfs2_register_hb_callbacks(struct ocfs2_super *osb) | |||
154 | { | 154 | { |
155 | int status; | 155 | int status; |
156 | 156 | ||
157 | if (ocfs2_mount_local(osb)) | ||
158 | return 0; | ||
159 | |||
157 | status = o2hb_register_callback(&osb->osb_hb_down); | 160 | status = o2hb_register_callback(&osb->osb_hb_down); |
158 | if (status < 0) { | 161 | if (status < 0) { |
159 | mlog_errno(status); | 162 | mlog_errno(status); |
@@ -172,6 +175,9 @@ void ocfs2_clear_hb_callbacks(struct ocfs2_super *osb) | |||
172 | { | 175 | { |
173 | int status; | 176 | int status; |
174 | 177 | ||
178 | if (ocfs2_mount_local(osb)) | ||
179 | return; | ||
180 | |||
175 | status = o2hb_unregister_callback(&osb->osb_hb_down); | 181 | status = o2hb_unregister_callback(&osb->osb_hb_down); |
176 | if (status < 0) | 182 | if (status < 0) |
177 | mlog_errno(status); | 183 | mlog_errno(status); |
@@ -186,6 +192,9 @@ void ocfs2_stop_heartbeat(struct ocfs2_super *osb) | |||
186 | int ret; | 192 | int ret; |
187 | char *argv[5], *envp[3]; | 193 | char *argv[5], *envp[3]; |
188 | 194 | ||
195 | if (ocfs2_mount_local(osb)) | ||
196 | return; | ||
197 | |||
189 | if (!osb->uuid_str) { | 198 | if (!osb->uuid_str) { |
190 | /* This can happen if we don't get far enough in mount... */ | 199 | /* This can happen if we don't get far enough in mount... */ |
191 | mlog(0, "No UUID with which to stop heartbeat!\n\n"); | 200 | mlog(0, "No UUID with which to stop heartbeat!\n\n"); |