{"record":{"id":"097cec969b60008d","repo":"hashicorp/nomad","slug":"volume-q-is-already-staged-to-q-but-with-incompa","errorCode":null,"errorMessage":"volume %q is already staged to %q but with incompatible capabilities for this request: %v","messagePattern":"volume %q is already staged to %q but with incompatible capabilities for this request: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"plugins/csi/client.go","lineNumber":810,"sourceCode":"func (c *client) NodeStageVolume(ctx context.Context, req *NodeStageVolumeRequest, opts ...grpc.CallOption) error {\n\tif err := c.ensureConnected(ctx); err != nil {\n\t\treturn err\n\t}\n\terr := req.Validate()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// NodeStageVolume's response contains no extra data. If err == nil, we were\n\t// successful.\n\t_, err = c.nodeClient.NodeStageVolume(ctx, req.ToCSIRepresentation(), opts...)\n\tif err != nil {\n\t\tcode := status.Code(err)\n\t\tswitch code {\n\t\tcase codes.NotFound:\n\t\t\terr = fmt.Errorf(\"volume %q could not be found: %v\", req.ExternalID, err)\n\t\tcase codes.AlreadyExists:\n\t\t\terr = fmt.Errorf(\n\t\t\t\t\"volume %q is already staged to %q but with incompatible capabilities for this request: %v\",\n\t\t\t\treq.ExternalID, req.StagingTargetPath, err)\n\t\tcase codes.FailedPrecondition:\n\t\t\terr = fmt.Errorf(\"volume %q does not have MULTI_NODE volume capability: %v\",\n\t\t\t\treq.ExternalID, err)\n\t\tcase codes.Internal:\n\t\t\terr = fmt.Errorf(\"node plugin returned an internal error, check the plugin allocation logs for more information: %v\", err)\n\t\t}\n\t}\n\n\treturn err\n}\n\nfunc (c *client) NodeUnstageVolume(ctx context.Context, volumeID string, stagingTargetPath string, opts ...grpc.CallOption) error {\n\tif err := c.ensureConnected(ctx); err != nil {\n\t\treturn err\n\t}\n\t// These errors should not be returned during production use but exist as aids","sourceCodeStart":792,"sourceCodeEnd":828,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/plugins/csi/client.go#L792-L828","documentation":"CSI client mapping in NodeStageVolume: the plugin returned gRPC AlreadyExists — the volume is already staged at the target path but with capabilities incompatible with this request (e.g. different access mode or mount flags).","triggerScenarios":"Thrown at plugins/csi/client.go:810 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Make all allocations staging this volume use compatible mount/access-mode capabilities","Unstage the volume (or restart the node plugin) to clear the conflicting staged state"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"482b49bf1aec006f089bcfc7e632d8f6ac303e5e","analyzedAt":"2026-09-04T07:54:14.808Z","contentChangedAt":"2026-09-04T07:54:14.808Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}