Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[drivers/resfshost] Enable status check write & read #465

Merged
merged 10 commits into from
Dec 5, 2023

Conversation

cgalibern
Copy link
Contributor

No description provided.

github.com/opensvc/om3/drivers/resipnetns.(*T).startBridge(0xc00009d800, {0x29ed368, 0xc004ba0a80})
	/root/dev/om3/drivers/resipnetns/bridge.go:48 +0x119
github.com/opensvc/om3/drivers/resipnetns.(*T).startMode(0xc00009d800, {0x29ed368, 0xc004ba0a80})
	/root/dev/om3/drivers/resipnetns/main.go:142 +0xe5
github.com/opensvc/om3/drivers/resipnetns.(*T).Start(0xc00009d800, {0x29ed368, 0xc004ba0a80})
	/root/dev/om3/drivers/resipnetns/main.go:127 +0x2f
github.com/opensvc/om3/core/resource.startLeader({0x29ed368, 0xc004ba0a80}, {0x2a03f38?, 0xc00009d800}, 0x4f?)
	/root/dev/om3/core/resource/provision.go:94 +0xbd
github.com/opensvc/om3/core/resource.Provision({0x29ed368, 0xc004ba0a80}, {0x2a03f38?, 0xc00009d800?}, 0x0?)
	/root/dev/om3/core/resource/provision.go:76 +0xa5
github.com/opensvc/om3/core/object.(*actor).lockedProvision.(*actor).masterProvision.func1({0x29ed368, 0xc004ba0a80}, {0x2a03f38?, 0xc00009d800?})
	/root/dev/om3/core/object/actor_provision.go:46 +0xb3
github.com/opensvc/om3/core/object.(*actor).action.(*actor).action.func3.func5.1.1({0x29ed368, 0xc004ba0a80}, {0x2a03f38?, 0xc00009d800?})
	/root/dev/om3/core/object/core_action.go:356 +0x9a
github.com/opensvc/om3/core/object.(*actor).action.func2.1({0x29ed368, 0xc004b65920}, {0x2a03f38, 0xc00009d800})
	/root/dev/om3/core/object/core_action.go:316 +0xc4
github.com/opensvc/om3/core/resourceset.T.doSerial({{0x0, 0x0}, {0xc004b37a30, 0x9}, 0x2, 0x0, 0x0, {0x29e9dc8, 0xc00002be00}, 0xc004acd110}, ...)
	/root/dev/om3/core/resourceset/resourceset.go:245 +0x122
github.com/opensvc/om3/core/resourceset.T.Do({{0x0, 0x0}, {0xc004b37a30, 0x9}, 0x2, 0x0, 0x0, {0x29e9dc8, 0xc00002be00}, 0xc004acd110}, ...)
	/root/dev/om3/core/resourceset/resourceset.go:197 +0x54d
github.com/opensvc/om3/core/resourceset.L.Do({0xc0048ab100?, 0x14, 0x20}, {0x29ed368, 0xc004b65920}, {0x29e9d98?, 0xc0000414a0?}, {0x0, 0x0}, {0xc00462ee48, ...}, ...)
	/root/dev/om3/core/resourceset/resourceset.go:275 +0x1c5
github.com/opensvc/om3/core/object.(*actor).action.(*actor).action.func3.func5({0x29ed368, 0xc004b65920}, {0x2a03440, 0xc00036ec00})
	/root/dev/om3/core/object/core_action.go:371 +0x56b
github.com/opensvc/om3/core/object.(*actor).action.(*actor).action.func2.func6({0x29ed368, 0xc003f611a0}, {0x2a03440, 0xc00036ec00})
	/root/dev/om3/core/object/core_action.go:316 +0xc4
github.com/opensvc/om3/core/resourceset.T.doSerial({{0x0, 0x0}, {0xc00424f940, 0x10}, 0x40, 0x0, 0x0, {0x29e9dc8, 0xc00002be00}, 0xc00423e770}, ...)
	/root/dev/om3/core/resourceset/resourceset.go:245 +0x122
github.com/opensvc/om3/core/resourceset.T.Do({{0x0, 0x0}, {0xc00424f940, 0x10}, 0x40, 0x0, 0x0, {0x29e9dc8, 0xc00002be00}, 0xc00423e770}, ...)
	/root/dev/om3/core/resourceset/resourceset.go:197 +0x54d
github.com/opensvc/om3/core/resourceset.L.Do({0xc00418d900?, 0x14, 0x20}, {0x29ed368, 0xc003f611a0}, {0x29e9d98?, 0xc0000414a0?}, {0x0, 0x0}, {0x15953cc, ...}, ...)
	/root/dev/om3/core/resourceset/resourceset.go:275 +0x1c5
github.com/opensvc/om3/core/object.(*actor).action(0xc00002be00, {0x29ed368, 0xc003f3de00}, 0xc00004f1b0)
	/root/dev/om3/core/object/core_action.go:388 +0xb6f
github.com/opensvc/om3/core/object.(*actor).masterProvision(...)
	/root/dev/om3/core/object/actor_provision.go:43
github.com/opensvc/om3/core/object.(*actor).lockedProvision(0xc00002be00, {0x29ed368, 0xc003f3de00})
	/root/dev/om3/core/object/actor_provision.go:33 +0x69
github.com/opensvc/om3/core/object.(*actor).Provision(0xc00002be00, {0x29ed368?, 0xc003f3dd40?})
	/root/dev/om3/core/object/actor_provision.go:22 +0x165
github.com/opensvc/om3/core/commands.(*CmdObjectProvision).Run.func1({0x29ed368, 0xc003f3c900}, {{0x7fff9934cdeb, 0x6}, {0x158d8ea, 0x4}, {0x158ce36, 0x3}})
	/root/dev/om3/core/commands/object_provision.go:53 +0x249
github.com/opensvc/om3/core/objectaction.T.selectionDo.func1({{0x7fff9934cdeb, 0x6}, {0x158d8ea, 0x4}, {0x158ce36, 0x3}})
	/root/dev/om3/core/objectaction/object.go:757 +0x1ef
created by github.com/opensvc/om3/core/objectaction.T.selectionDo in goroutine 1
	/root/dev/om3/core/objectaction/object.go:745 +0x43f

runtime error: invalid memory address or nil pointer dereference version=47047ebb1f4f8ad660dd4a57798aa5e73d6c3d0f
We can't use findmnt -J -T {mnt} -S {dev} for nfs because it may hang.
A timeout version of findmnt is not sufficient, we have to differentiate hang but mounted
from not mounted.

So when dev is on nfs, We can't use findmnt -J -T {mnt} -S {dev}
Instead findmnt -J -S {dev} is used, then mnt is filtered within List function.
      ├ fs#dev1    ........  down  nfs @/nfscli/dev1
=>
      ├ fs#dev1    ........  up  nfs 192.168.0.10:/@/nfscli/dev1
start:
    nfscli: fs#dev1: start: device does not exist: 192.168.0.10:/

status:
    ├ fs#dev1    ........  down  nfs @/nfscli/dev1
    =>
    ├ fs#dev1    ........  up  nfs 192.168.0.10:/@/nfscli/dev1
Also remove unused stat_timeout doc from core/object
Activate file system read check during status evaluation when the
file system is mounted but file system write check is disabled.

This can help detection of nfs stale file systems.
It is ignored when mnt_opt contains 'nointr'.
The file system read check is: 'timeout {stat_timeout} stat -f {mnt}'
The file system write check is disabled when fs_type is a network file system or
when mnt_opt contains 'ro'.
@cgalibern cgalibern merged commit 4ca945a into opensvc:main Dec 5, 2023
1 check failed
@cgalibern cgalibern deleted the driver_fs_with_check_read_write branch January 2, 2024 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant