Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ocfs2: Allow selection of cluster plug-ins.

ocfs2 now supports plug-ins for the classic O2CB stack as well as
userspace cluster stacks in conjunction with fs/dlm. This allows zero,
one, or both of the plug-ins to be selected in Kconfig. For local mounts
(non-clustered), neither plug-in is needed. Both plugins can be loaded
at one time, the runtime will select the one needed for the cluster
systme in use.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>

authored by

Joel Becker and committed by
Mark Fasheh
9341d229 b92eccdd

+32 -4
+26
fs/Kconfig
··· 444 444 For more information on OCFS2, see the file 445 445 <file:Documentation/filesystems/ocfs2.txt>. 446 446 447 + config OCFS2_FS_O2CB 448 + tristate "O2CB Kernelspace Clustering" 449 + depends on OCFS2_FS 450 + default y 451 + help 452 + OCFS2 includes a simple kernelspace clustering package, the OCFS2 453 + Cluster Base. It only requires a very small userspace component 454 + to configure it. This comes with the standard ocfs2-tools package. 455 + O2CB is limited to maintaining a cluster for OCFS2 file systems. 456 + It cannot manage any other cluster applications. 457 + 458 + It is always safe to say Y here, as the clustering method is 459 + run-time selectable. 460 + 461 + config OCFS2_FS_USERSPACE_CLUSTER 462 + tristate "OCFS2 Userspace Clustering" 463 + depends on OCFS2_FS && DLM 464 + default y 465 + help 466 + This option will allow OCFS2 to use userspace clustering services 467 + in conjunction with the DLM in fs/dlm. If you are using a 468 + userspace cluster manager, say Y here. 469 + 470 + It is safe to say Y, as the clustering method is run-time 471 + selectable. 472 + 447 473 config OCFS2_DEBUG_MASKLOG 448 474 bool "OCFS2 logging support" 449 475 depends on OCFS2_FS
+6 -4
fs/ocfs2/Makefile
··· 4 4 5 5 obj-$(CONFIG_OCFS2_FS) += \ 6 6 ocfs2.o \ 7 - ocfs2_stackglue.o \ 8 - ocfs2_stack_o2cb.o \ 9 - ocfs2_stack_user.o 7 + ocfs2_stackglue.o 8 + 9 + obj-$(CONFIG_OCFS2_FS_O2CB) += ocfs2_stack_o2cb.o 10 + obj-$(CONFIG_OCFS2_FS_USERSPACE_CLUSTER) += ocfs2_stack_user.o 10 11 11 12 ocfs2-objs := \ 12 13 alloc.o \ ··· 40 39 ocfs2_stack_o2cb-objs := stack_o2cb.o 41 40 ocfs2_stack_user-objs := stack_user.o 42 41 42 + # cluster/ is always needed when OCFS2_FS for masklog support 43 43 obj-$(CONFIG_OCFS2_FS) += cluster/ 44 - obj-$(CONFIG_OCFS2_FS) += dlm/ 44 + obj-$(CONFIG_OCFS2_FS_O2CB) += dlm/