Skip to content

Support NVMe_FC protocol#39

Open
sushanthakumar wants to merge 1 commit intoHuawei:developingfrom
sushanthakumar:nvmefc_support
Open

Support NVMe_FC protocol#39
sushanthakumar wants to merge 1 commit intoHuawei:developingfrom
sushanthakumar:nvmefc_support

Conversation

@sushanthakumar
Copy link
Copy Markdown

This PR addresses the changes required in current code base to support NVMe over FC protocol.
Current framework already has code to handle some part of the support

Unit test to be added to this PR

Key scenarios tested:
Volume create/delete
POD create/delete
Volume expand
Volume clone
Volume snapshot
Support DM multipath and single path
Data write on pvc
Node restart scenarios

@sushanthakumar sushanthakumar changed the base branch from master to developing August 30, 2021 02:37
func RemoveNvmeFcDevice(device string) (string, error) {
var multiPathName string
var err error
if strings.HasPrefix(device, "dm") {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is valid only for DM multipath. If other multipath like Ultrapath or EMCPP comes then we will have to put other checks

// devices: nvme0n1, nvme2n1,
_, err = getDeviceFromDM(multiPathName)
if err != nil {
log.Warningf("Get the devices from the multipath %s error: %v", multiPathName, err)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this is just warning, this means the sys class has issues and we are ignoring it. Further when you try to flush the device without having the sysfs entries, will it create issues?

return err
}

if multiPathName != "" {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is multipath device, then the device flush attempt has already been done

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.

2 participants