ocfs2-tools/mount.ocfs2-add-nocluster-mount-option-support.patch

107 lines
3.5 KiB
Diff
Raw Normal View History

Accepting request 825207 from home:ganghe:branches:openSUSE:Factory - Add nocluster mount option support (bsc#1174943) + mount.ocfs2-add-nocluster-mount-option-support.patch - Fix debugfs.ocfs2 error on devices with sector size 4096 (bsc#1170530) + debugfs.ocfs2-Fix-the-error-on-devices-with-sector-s.patch - Use %license instead of %doc [bsc#1082318] - Remove obsolete /sbin/chkconfig requires - Use -ffat-lto-objects when building static libraries. - Fix build failure with glibc-2.28 (bsc#1126968) + mounted.ocfs2-use-sys-sysmacros.h-include-for-makede.patch + fix-build-failure-with-glibc-2.28.patch - Add libdlm Requires dependency for ocfs2-tools (bsc#1121382) - fix pre/post/preun/postun scripts when systemd_enabled - insserv_prereq is only needed when !systemd_enabled - run fillup to actually provision /etc/sysconfig/o2cb - Remove install procedures for ocfs2console - Remove ocfs2console module from spec file - Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468) - Correct clearly invalid .changes timestamp - Remove o2cb resource agent which is obsolete (bsc#1069099) - Fix dependencies problem between ocfs2-tools and ocfs2-kmp (bsc#1060601) - Add fsck.ocfs2-fix-compile-error-when-glibc-upgrade.patch (bsc#1057008) - Change license to GPL-2.0 from GPL-2.0+ - Update ocfs2-tools.tar.gz to upstream v1.8.5 (fate#322956) - Unify the source files between openSUSE:Factory and SLE12SP3 + 0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch - bnc883550-Fix-mkfs.ocfs2-man-page-for-default-slots.patch - Drop patches (merged upstream): - 0001-libo2dlm-Close-file-description-after-use.patch - 0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch - 0003-o2cb-add-build-scripts-for-rhel7.patch - 0004-add-systemd-support.patch - 0005-do-not-write-sysconfig-if-status-not-changed.patch - 0006-o2cb-mount-debugfs-when-load-config.patch - 0009-o2cb-fix-systemd-o2cb.service-failure.patch - Add 0009-o2cb-fix-systemd-o2cb.service-failure.patch to fix bsc#963959 - Add bnc#96864-ocfs2console-fix-starting-failure.patch - Make pcmk as default stack for ocfs2, and this patch may go along with us forever bnc#959660 +auto-setup-pcmk-stack-as-default-if-no-stack-is-setup.patch - Add systemd support for o2cb and ocfs2 service + 0003-o2cb-add-build-scripts-for-rhel7.patch + 0004-add-systemd-support.patch + 0005-do-not-write-sysconfig-if-status-not-changed.patch + 0006-o2cb-mount-debugfs-when-load-config.patch + 0007-vendor-Add-vendor-files-for-sles12.patch + 0008-ocfs2-tools-add-systemd-support-fix.patch - libo2dlm: Close file description after use + 0001-libo2dlm-Close-file-description-after-use.patch - debugfs.ocfs2: Fix a bug in process_open_args() + 0002-debugfs.ocfs2-Fix-a-bug-in-process_open_args.patch - Update ocfs2-tools.tar.bz2 to upstream v1.8.4 - Use new ocfs2-tools git URL https://github.com/markfasheh/ocfs2-tools.git - Drop patches (merged upstream): - 0001-Use-cmap-for-getting-cluster-name.patch - 0002-Remove-controld-dependency-in-group_join-leave.patch - 0003-Auto-setup-cluster_stack-based-on-what-is-on-disk.patch - 0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch - 0005-mkfs-Setup-cluster_stack-if-not-setup-based-on-what-.patch - 0006-Auto-setup-pcmk-stack-as-default-if-no-stack-is-setu.patch - Update ocfs2-tools.tar.bz2 to upstream v1.8.3 - Drop patches (merged upstream): - fix-indexed-dirs.patch - 0001-fswreck-Create-a-loop-in-group-chains.patch - 0002-Break-a-chain-loop-in-group-desc.patch - restore-g_list_append.patch - ocfs2console-libraries-include-aio.patch - libocfs2-needs-libaio.patch - libocfs2-Change-asserts-to-error.patch - Drop patches for ocfs2_controld - force-debug.patch - extra-debug.patch - bug-805764-ocfs2-controld.patch - bnc804707-reduce-RR-priority.patch - use-symlink-in-udev-rules.patch - Fix mkfs.ocfs2 man page to meniton number of slots are dynamically determined based on filesystem size. - Corrected udev directory from /etc/udev/rules.d - Improve error message if DLM is not available (bnc#867329) + 0007-Improve-error-message-if-DLM-service-is-unavailable.patch - (bnc#867330) Fix group leave in patch: 0002-Remove-controld-dependency-in-group_join-leave.patch - Recommend ocfs2-kmp - Autosetup pcmk if no cluster stack found (bnc#862758) + 0006-Auto-setup-pcmk-stack-as-default-if-no-stack-is-setu.patch - Err if cannot write to cluster_stack (cluster mismatch) + 0003-Auto-setup-cluster_stack-based-on-what-is-on-disk.patch - Update summary and description for the -o2cb package (bnc#862761) - Use libcmap.so.4 for dlopen in 0001-Use-cmap-for-getting-cluster-name.patch to remove dependency on devel package (bnc#860982) - Patch re-factoring, so that we don't have to compile with ldlm + 0001-Use-cmap-for-getting-cluster-name.patch + 0002-Remove-controld-dependency-in-group_join-leave.patch + 0003-Auto-setup-cluster_stack-based-on-what-is-on-disk.patch + 0004-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch + 0005-mkfs-Setup-cluster_stack-if-not-setup-based-on-what-.patch - 0001-libo2cb-Remove-controld-actions-from-group-join-leav.patch - 0002-libo2cb-Remove-rest-of-controld-functions.patch - 0003-Get-cluster-name-from-corosync-cmap.patch - 0004-Remove-controld-structures-from-debugfs.ocfs2.patch - 0005-Check-for-DLM-kernel-version-in-user_begin_group_joi.patch - 0006-Add-cmap-and-dlm-libraries-in-the-tools.patch - 0008-mount.ocfs2-Read-stack-from-device-and-setup-stack-i.patch - 0009-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch - 0010-mkfs-Setup-cluster_stack-if-not-setup-based-on-what-.patch - 0011-Use-dlm_lt-instead-of-dlm-for-DLM-libraries.patch - mkfs.ocfs2: Setup cluster_stack if not setup + 0010-mkfs-Setup-cluster_stack-if-not-setup-based-on-what-.patch - Remove patch numbers for easier future maintainability. - Move static libraries to devel-static subpackage. - mkfs.ocfs2/tunefs.ocfs2 may hang there because of dlm_unlock + 0011-Use-dlm_lt-instead-of-dlm-for-DLM-libraries.patch - mkfs.ocfs2 aborts if cluster information is not found/supplied + 0009-mkfs.ocfs2-Abort-if-cluster-information-is-not-detec.patch - Make mount.ocfs2 load ocfs2 kmp and setup cluster_stack if not found + 0008-mount.ocfs2-Read-stack-from-device-and-setup-stack-i.patch - Mark o2cb.ocf as obsolete. Anyone using o2cb.ocf will get an info message stating so. - The nocontrold effort (added nocontrold patches and disabled corosync-2.3 controld compatibility patches): + 0001-libo2cb-Remove-controld-actions-from-group-join-leav.patch + 0002-libo2cb-Remove-rest-of-controld-functions.patch + 0003-Get-cluster-name-from-corosync-cmap.patch + 0004-Remove-controld-structures-from-debugfs.ocfs2.patch + 0005-Check-for-DLM-kernel-version-in-user_begin_group_joi.patch + 0006-Add-cmap-and-dlm-libraries-in-the-tools.patch - 0001-Remove-pacemaker-ais-stuff.patch - 0002-Add-corosync-cfg-to-get-configuration-information.patch - 0003-Remove-daemon-protocol-versions-and-consolidate-fs-v.patch - 0005-Add-cluster_name-and-stack-name.patch - libocfs2-Change-asserts-to-error.patch: Return control to fsck.ocfs2 instead of erring - Add libraries back in devel package. This is required for ocfs2-test - libocfs2-needs-libaio.patch: Add -laio to ocfs2.pc - Fix FS protocol versions: + 0003-Remove-daemon-protocol-versions-and-consolidate-fs-v.patch - 0003-Hard-code-protocol-versions.patch - Get ocfs2_controld up to speed with corosync 2.3.x + 0001-Remove-pacemaker-ais-stuff.patch + 0002-Add-corosync-cfg-to-get-configuration-information.patch + 0003-Hard-code-protocol-versions.patch + 0005-Add-cluster_name-and-stack-name.patch - ocfs2_controld-pacemaker.diff - ocfs2_controld: ocfs2_controld-pacemaker.diff * Replace use of send_ais_text() with send_cluster_text() * Replace use of ais_dispatch() with plugin_dispatch() - ocfs2console-libraries-include-aio.patch: Include aio while compiling ocfs2console (bnc#827504) - Replace NAME= with SYMLINK+= in udev rules (bnc#779718) + use-symlink-in-udev-rules.patch - reduce ocfs2_controld priority to RR(1). (bnc#804707) + bnc804707-reduce-RR-priority.patch - Fix the race between udev making misc device node and ocfs2 opening that device (bnc#805764) + bug-805764-ocfs2-controld.patch - ocfs2_controld: ocfs2_controld-pacemaker.diff -- changes to be compatible with pacemaker >= 1.1.8 - Update config.guess/sub in the coreutils copy - g_list_append.patch: Fix o2cb node listing - Add _service file to automatically pull from git. It can be invoked locally by "osc service disabledrun" - Use spec-cleaner - No need to call ldconfig without shared objects - Drop unneeded %clean section - No need to export CFLAGS, %configure does that. - Also provide ocfs2-support to have clean upgrade path - Drop patches (merged upstream): + fix-pacemaker-libs.patch + support-for-xvd-devices.patch - Reverted tarball to v1.8.2 - Added support-for-xvd-devices.patch: Support for xvd devices - Fixed a couple of rpmlint errors - libdlm requirement - devel package grouping changed - restore-g_list_append.patch is not required for old tarball - Update ocfs2-tools.tar.bz2 to latest upstream for upstream fixes - restore-g_list_append.patch: Fix o2cb node listing - add explicit buildrequire to libbz2-devel - Fix infinite loop while checking for group desc chains (bnc#781122) - Updated to 1.8.2 - o2cluster: change cluster stack stamped on ocfs2 filesystem - added man pages ocfs2, ocfs2.cluster.conf, o2hbmonitor - fsck: faster fsck times because of aio; progress - fix-indexed-dirs.patch: Fix corrupt indexed directories through fsck - Include sys/resource.h for getrlimit etc. - Add ocfs2-tools-kernel33.patch: Fix build with kernel 3.3, which dropped umode_t. - add autoconf as buildrequire to avoid implicit dependency - remove call to suse_update_config (very old work around) - Fix ocfs2_controld build (/usr/include/pacemaker/crm/common/stack.h moved to /usr/include/pacemaker/crm/cluster/stack.h) - Don't use /var/lock/subsys in /etc/init.d/ocfs2 (bnc#714644) - Add -lcrmcommon to fix ocfs2_controld build. - update ocfs2-tools to 1.8.0 - mkfs.ocfs2 enables file system features indexed-dirs, discontig-bg, refcount & extended-slotmap by default. - ocfs2console is no longer built by default. - ocfs2-tools: fsck.ocfs2 and *ctl built dynamically by default - debugfs: Add -T to logdump - mounted.ocfs2: Show cluster and global heartbeat - mount.ocfs2: Validate mount path before mount - mount.ocfs2: Add support for o2cb global heartbeat - tools: Detect differing cluster name and heartbeat modes - mkfs.ocfs2: Add -U option to allow custom UUIDs - mkfs.ocfs2: Add --global-heartbeat option - libo2cb: Validate cluster name and cluster flags in classic_begin_group_join() - o2cb: Add man page - o2cb: Add ops start-heartbeat and stop-heartbeat - o2cb: Add ops register-cluster and unregister-cluster - o2cb: Add ops list-clusters, list-cluster, list-nodes and list-heartbeats - o2cb: Add ops add-heartbeat, remove-heartbeat and heartbeat-mode - o2cb: Add ops add-node and remove-node - o2cb: Add ops add-cluster and remove-cluster - o2cb: Add a new cluster configuration tool - libo2cb: Adds support for global heartbeat - libo2cb: Extend libo2cb api to learn ip address/port/local of a registered node - o2cb_scandisk: Scan heartbeat devices - debugfs.ocfs2: Journal logdump prints full inode and extent blocks - debugfs.ocfs2: Improve block detection - ocfs2-tools: Set hash seed when convert ocfs2 to support indexed-dirs - ocfs2-tools: o2hbmonitor moved to /usr/sbin - add '-q' in %setup of ocfs2-tools.spec, to make build log shorter. (patch written by aj@suse.de) - remove ocfs2-o2cb_ctl-static-glibc.diff, since it is unnecessary to link glib2 statically in ocfs2-o2cb_ctl now. - update ocfs2-tools to 1.6.3 - remove gcc45-ftbfs-deb-565100.patch, the fix is in upstream now. - Make ocfs2-kmp a Recommend instead of a Requires. This allows easier building of packages which in turn depend on ocfs2-tools. - remove ocfs2-kmp dependency, since opensuse kernel does not privide such kmp. - change version string from 1.4.3 to 1.6.0 in ocfs2-tools.spec - remove bug-585080-handle-symbolic-link.patch since it's upstream now. - remove version-1.4.3.patch, update to ocfs2-tools 1.6.0 - remove dx_dirs patch set, since they are upstream now. 0001-dx_dirs-Add-library-support-for-directory-indexing.patch 0002-dx_dirs-debugfs.ocfs2-support.patch 0003-dx_dirs-mkfs.ocfs2-support.patch 0004-dx_dirs-Add-tunefs.ocfs2-feature-for-indexed-directo.patch 0005-dx_dirs-Update-for-dr_num_entries.patch 0006-dx_dirs-add-missing-ocfs2_filesys-fs-parameter.patch 0007-dx_dirs-more-library-support-for-directory-indexing.patch 0008-dx_dirs-fsck.ocfs2-support.patch 0009-dx_dirs-add-blocknr-in-callback-of-ocfs2_dir_iterate.patch 0010-dx_dirs-add-disable-indexed-dirs-support-in-tunefs.o.patch 0011-dx_dirs-build-indexed-trees-when-enabling-indexed-di.patch 0012-dx_dirs-fix-return-value-of-walk_dirblock-when-enabl.patch 0013-dx_dirs-try-to-install-dir-trailers-when-enable-inde.patch 0014-dx_dirs-add-an-initial-man-page-entry-for-indexed-di.patch 0015-fsck.ocfs2-prompt-before-truncating-an-invalid-dir-i.patch 0016-tunefs.ocfs2-move-o2ne_add_tailers-into-libocfs2ne.c.patch 0017-dx_dirs-add-check-for-invalid-slot-in-ocfs2_new_dx_r.patch 0018-mkfs.ocfs2-create-root-and-orphan-directories-as-ind.patch 0019-libocfs2-fix-flag-check-in-ocfs2_init_dir.patch 0020-libocfs2-fix-ocfs2_init_dir-to-retain-indexed-flag.patch 0021-fsck.ocfs2-verify-dirent-dx-entry-linkages.patch 0022-dx_dirs-stop-iterate-dir-entries-for-I-O-error.patch 0023-dx_dirs-check-callback-iter-dx_func-return-value-in-.patch 0024-dx_dirs-remove-unncessary-return-value-assignment.patch 0025-dx_dirs-unifiy-feature-string-of-indexed-dirs.patch 0026-dx_dirs-Improve-information-displayed-by-dump_dx_roo.patch 0027-dx_dirs-stop-iteration-of-dir-trailer-initialization.patch 0028-dx_dirs-stop-dx-insert-iteration-for-callback-error.patch 0029-dx_dirs-set-OCFS2_INDEXED_DIR_FL-after-indexed-tree-.patch 0030-dx_dirs-fix-ocfs2_swap_dx_entry_list-for-big-endian.patch 0031-dx_dirs-enable-metaecc-and-indexed-dirs-support-as-d.patch - Fix mount.ocfs2.c compilation issue on gcc 4.5 (deb#565100) - Fix configure checks for cpg and SaCkpt libraries - ocfs2_controld.pcmk: compilation issue fixed. - fixes for indexed-dirs - 0016-tunefs.ocfs2-move-o2ne_add_tailers-into-libocfs2ne.c.patch - 0017-dx_dirs-add-check-for-invalid-slot-in-ocfs2_new_dx_r.patch - 0018-mkfs.ocfs2-create-root-and-orphan-directories-as-ind.patch - 0019-libocfs2-fix-flag-check-in-ocfs2_init_dir.patch - 0020-libocfs2-fix-ocfs2_init_dir-to-retain-indexed-flag.patch - 0021-fsck.ocfs2-verify-dirent-dx-entry-linkages.patch - 0022-dx_dirs-stop-iterate-dir-entries-for-I-O-error.patch - 0023-dx_dirs-check-callback-iter-dx_func-return-value-in-.patch - 0024-dx_dirs-remove-unncessary-return-value-assignment.patch - 0025-dx_dirs-unifiy-feature-string-of-indexed-dirs.patch - 0026-dx_dirs-Improve-information-displayed-by-dump_dx_roo.patch - 0027-dx_dirs-stop-iteration-of-dir-trailer-initialization.patch - 0028-dx_dirs-stop-dx-insert-iteration-for-callback-error.patch - 0029-dx_dirs-set-OCFS2_INDEXED_DIR_FL-after-indexed-tree-.patch - 0030-dx_dirs-fix-ocfs2_swap_dx_entry_list-for-big-endian.patch - update indexed-dirs patches to v11 patches - a bug fix in fsck.ocfs2/pass2.c - extra check whether the directory trailer overwrites valid directory items. - Add reflink user-space utility to expose the copy-on-write links in OCFS2 for all platforms (bnc#594979). - 0015-dx_dirs-enable-metaecc-and-indexed-dirs-support-as-d.patch: enable metaecc and indexed-dirs support as default features. - ocfs2-tools-static-glib.diff: rename to ocfs2-o2cb_ctl-static-glibc.diff, don't explicitly link pthread anymore. - update ocfs2-tools.tar.bz2 to upstream (0a1c1970): - mkfs.ocfs2: enable xattr support as a default feature - Fsck.ocfs2: Correctly check i_size for directory in a sparse filesystem. - fsck.ocfs2: Freshen up some fsck messages - mkfs.ocfs2: Add dry-run option - mkfs.ocfs2: Allocate groups to the extent allocator - libocfs2: Add ocfs2_grow_chain_allocator() - libocfs2: ocfs2_chain_add_group() adds new groups to the next logical chain - mounted.ocfs2: Add the stack/local to the output - mounted.ocfs2: Display uuid in all caps - mkfs.ocfs2: Tweak the feature compatibility list in manpage - mkfs.ocfs2: Print fs features during make - 0014-dx_dirs-man-page.diff: add an initial man page entry for indexed-dirs feature. - bug-585080-handle-symbolic-link.patch: handle symbolic link device file for tunefs.ocfs2 online resize (bnc#585080) - version-1.4.3.patch: keep package version as 1.4.3 for SLES11 HAE SP1. - 0013-dx_dirs-try-to-install-dir-trailers-when-enable-inde.patch: try to install dir trailers when enable indexed-dirs feature while metaecc features is not enabled. The fix can avoid ocfs2_dx_dir_build() in ocfs2-tools to overwrite existed dir entries lying in trailer area by moving them into other dir blocks. No BNC associated. - update indexed-dirs patches for - remove the metaecc dependence code for indexed dirs. (bnc#584578) - indexed dirs does not depend on metaecc, remove all incorrect dependence code in mkfs.ocfs2 and tunefs.ocfs2 (bnc#585418) - code clean up in mkfs.ocfs2 - back port ocfs2-tools version 1.6 to SP1 ocfs2-tools package. - add 0012-dx_dirs-fix-for-tunefs-metaecc-and-indexed-dirs.patch (bnc#584578) - update indexed dirs patches for fate#300315 - delete 64bytes_lvb_len_in_libo2dlm.diff (bnc#573460) - update indexed dirs patches. - compiling fix - add disable indexed-dirs support in tunefs.ocfs2 (fate#300315) - more fixes for previous indexed-dirs patches - add the first version of indexed dir support (fate#300315) - ocfs2-tools requires openais for the user-space cluster stack. - Fix ocfs2-tools build (bnc#561625). - Add libcorosync-devel build dependency. - 64bytes_lvb_len_in_libo2dlm.diff: use 64 bytes lvb len ((bnc#515645)) - change version number to 1.4.3 - update ocfs2-tools-1.4.3 to SLES11SP1 - bug-543119-o2dlm.patch: load libdlm_lt.so.3 explicitly in o2dlm.c (bnc#543119) - drop bug-543119_0001-Option-to-skip-cluster-checking-in-tunefs.ocfs2.patch since bnc#543119 is a dlopen() issue, and this patch is not accepted by upstream. - Implement a -F/--force option to bypass the cluster stack in tunefs.ocfs2 (bnc#543119). - fix kill_deamon() from o2cb.ocf, now when the deamon to be killed is not running, kill_deamon() will return SUCESS. Thanks to Dejan. - add quota patches from Jan Kara, full support for enabling, disabling and checking quotas. - Update code to upstream 1.4.2, to support xattr and acl in sles11 (bnc#499278), thanks to Goldwyn Rodrigues. - bug-478794-ocfs2_hb_ctl.diff: Fix crash on parsing corrupt file systems (bnc#478794) - debug-ocfs2_hb_ctl.patch: Better error logging. - Fix the logging of calls to crm_terminate_member_no_mainloop() - ocfs2_controld.pcmk crashed immediately on x86-64 (bnc#486104) - ocfs2_controld-retry-470741.diff: removed. - bug-470741_000{1,2,3}-ocfs2_controld.patch: retry most CKPT operations forever, and recover from partially installed checkpoints (bnc#470741). - Use a Pacemaker library function for kicking nodes form the cluster - Add some extra logging for bnc#484028 - Allow debug message to been seen in syslog for bnc#484028 - Adjust packaging split. - tunefs.ocfs2.8.in_more_options.diff: add manual info for -y, -n and --update-cluster-statck options (bnc#478259) - ocfs2_controld-retry-470741.diff: Increase retry count. - Split off legacy O2CB init scripts and binaries into ocfs2-tools-o2cb. - update o2cb.ocf to fix return value format (bnc#474353) - ocfs2console: Whoops, don't reset all warnings, just pop the DISPLAY one. Thanks to Hu Ziming from IBM and Joel Becker from Oracle. - ocfs2console: remove unsupported option when calling tunefs.ocfs2 (bnc#472353) - Re-implement kill_stack_node() to use node attributes instead of stonithd - Reuse more functions from Pacemaker shared libraries - Have the o2cb OCF agent produce extra output if the daemon doesn't come up - Replace Hu Ziming's patch to Jeol Becker's patch for bnc#448523. - fix ocfs2console crashing when DISOPLAY is not correclty set(bnc#448523), thanks to Hu Ziming from IBM. - add ocfs2-kmp (ocfs2 KMP package) into installation dependency(bnc#459437) - ensure o2cb OCF resource agent is executable - add libdlm to ocfs2-tools' dependency (bnc#448751) - Add a quota fixup patch to match up system file names in tools with the kernel. - Add an OCF-style script to allow Pacemaker to reliably manage the ocfs2 modules. The existing LSB-style one is inadequate. - Refresh package to upstream a93731c164d024e0016520a1f4cd8f9007d7c05e - Remove part of the static glib patch as tunefs.ocfs2 no longer uses glib - Combine patches yet to be upstreamed to ease maintenance - Add quota support patches - New patch for ocfs2_controld - make sure stad(err|out|in) are mapped to /dev/null and not left unassigned (which causes issues when logging) - ocfs2console: Allow ocfs2console to enumerate device mapper devices (bnc#414756) - Update for new pacemaker dependancies - Use correct path for ocfs2_controld.* - Package required udev rules - Refresh from upstream 1.4.1 (0ead2f1b45568ca441cb3ed679efbbd7eeb68d98) - Add support for OpenAIS/Pacemaker (userspace cluster stack) integration based on upstream OCFS2 interface - Remove the custom Heartbeat integration - Bugfixes - Made init scripts LSB compliant. - Re-added init script support for userspace heartbeat. - Statically link glib-2.0 with tunefs and o2cb_ctl. - Update to 1.3.9 - Update to 1.2.7 - Add shrinking journal size support - Fix crash in slotmap - Don't append _netdev for local mounts - Add query support for tunefs - Add remove slot features to tunefs - Update to 1.2.6 - Support for file attributes field - Fix for automatically selecting next node number - Multiple fsck fixes - Offline resize - Documentation updates - Don't use kernel headers. - define offsetof locally if it does not come from kernel header - Upgrade to version 1.2.2 to match in-kernel version. - Split-off devel subpackage. - use RPM_OPT_FLAGS - Cleanup BuildRequires. - buildrequire python-gtk-devel instead of python-gtk - Fix compile with new glibc - Update to 1.2.1 to match in-kernel version. - Create /sbin/rcocfs2, rco2cb symlinks (#167261). - Install "ocfs2" init script and enable it (#160724). - Updated to version 1.2.0, per Oracle - Enabled o2cb by default on package install to allow it to shut down when manually started. Otherwise, the system will hang during shutdown. - converted neededforbuild to BuildRequires - Should-Start: iscsi added (from SLES9) (#114733) - don't build as root - Update to version 1.1.3 - SVN 1105 - Fix python defines. - Fix build with different python versions. - Fix package description. - Initial packaging of ocfs2-tools, from SLES9. - Update to version 1.1.1 - SVN 1063 OBS-URL: https://build.opensuse.org/request/show/825207 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/ocfs2-tools?expand=0&rev=126
2020-08-10 02:43:23 +02:00
From 9b661d197aa634229919364d6cc07e58ed4cc01f Mon Sep 17 00:00:00 2001
From: Gang He <ghe@suse.com>
Date: Mon, 27 Jul 2020 19:32:26 +0800
Subject: [PATCH] mount.ocfs2: add nocluster mount option support
Now, ocfs2 kernel modules have accepted nocluster mount option, to
support mounting a shared volume without the cluster stack.
For mount.ocfs2 tool, we need to add the corresponding support, e.g.
add the prompt message, option description in man page.
---
mount.ocfs2/mount.ocfs2.8.in | 6 ++++++
mount.ocfs2/mount.ocfs2.c | 17 +++++++++++++++--
mount.ocfs2/opts.c | 5 +++++
mount.ocfs2/sundries.h | 1 +
4 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/mount.ocfs2/mount.ocfs2.8.in b/mount.ocfs2/mount.ocfs2.8.in
index 053244d6..a36bdc8c 100644
--- a/mount.ocfs2/mount.ocfs2.8.in
+++ b/mount.ocfs2/mount.ocfs2.8.in
@@ -126,6 +126,12 @@ will have no effect. This mount option works with Linux kernel \fB2.6.35\fR and
Indicates that the file system can create inodes at any location in the volume, including
those which will result in inode numbers greater than 4 billion.
+.TP
+\fBnocluster\fR
+This option allows users to mount a clustered volume without configuring the cluster stack.
+However, you must be aware that you can only mount the file system from one node at the
+same time, otherwise, the file system may be damaged. Please use it with caution.
+
.TP
\fB[no]intr\fR
Specifies whether a signal can interrupt IOs. It is disabled by default.
diff --git a/mount.ocfs2/mount.ocfs2.c b/mount.ocfs2/mount.ocfs2.c
index 5481ae9a..27049996 100644
--- a/mount.ocfs2/mount.ocfs2.c
+++ b/mount.ocfs2/mount.ocfs2.c
@@ -28,6 +28,7 @@
int verbose = 0;
int mount_quiet = 0;
+int nocluster_opt = 0;
char *progname = NULL;
static int nomtab = 0;
@@ -112,7 +113,7 @@ static errcode_t add_mount_options(ocfs2_filesys *fs,
char stackstr[strlen(OCFS2_CLUSTER_STACK_ARG) + OCFS2_STACK_LABEL_LEN + 1];
struct ocfs2_super_block *sb = OCFS2_RAW_SB(fs->fs_super);
- if (ocfs2_mount_local(fs) || ocfs2_is_hard_readonly(fs)) {
+ if (ocfs2_mount_local(fs) || nocluster_opt || ocfs2_is_hard_readonly(fs)) {
add = OCFS2_HB_NONE;
goto addit;
}
@@ -345,7 +346,19 @@ int main(int argc, char **argv)
goto bail;
}
- clustered = (0 == ocfs2_mount_local(fs));
+ clustered = ((0 == ocfs2_mount_local(fs)) && (0 == nocluster_opt));
+
+ if ((0 == ocfs2_mount_local(fs)) && nocluster_opt) {
+ fprintf(stdout, "Warning: to mount a clustered volume without the cluster stack.\n"
+ "Please make sure you only mount the file system from one node.\n"
+ "Otherwise, the file system may be damaged.\n"
+ "Proceed (y/N): ");
+ if (toupper(getchar()) != 'Y') {
+ printf("Aborting operation.\n");
+ ret = 1;
+ goto bail;
+ }
+ }
if (ocfs2_is_hard_readonly(fs) && (clustered ||
!(mo.flags & MS_RDONLY))) {
diff --git a/mount.ocfs2/opts.c b/mount.ocfs2/opts.c
index ae8129a4..cd03390c 100644
--- a/mount.ocfs2/opts.c
+++ b/mount.ocfs2/opts.c
@@ -120,6 +120,11 @@ static int parse_string_opt(char *s)
struct string_opt_map *m;
int lth;
+ if (!strncmp(s, "nocluster", 9)) {
+ nocluster_opt = 1;
+ return 0;
+ }
+
for (m = &string_opt_map[0]; m->tag; m++) {
lth = strlen(m->tag);
if (!strncmp(s, m->tag, lth)) {
diff --git a/mount.ocfs2/sundries.h b/mount.ocfs2/sundries.h
index af0df4e2..52b1267d 100644
--- a/mount.ocfs2/sundries.h
+++ b/mount.ocfs2/sundries.h
@@ -13,6 +13,7 @@
#include <rpc/types.h>
#endif
+extern int nocluster_opt;
extern int mount_quiet;
extern int verbose;
extern int sloppy;
--
2.21.0