Repository navigation
Commit 1faa7ce
flasharray: always stamp the pool address type on returned volumes
FlashArrayVolume defaults addressType to FIBERWWN in its constructor, so a
volume deserialised from the array reports an FC-style NAA WWN from getAddress()
until the pool's real address type is stamped onto it. Most accessors do that
via withAddressType(), but two paths returned an unstamped volume:
* revert() returned the private getVolume() result directly, so reverting a
snapshot on an NVMe-TCP pool produced a volume carrying an FC-style WWN.
* copy() returned the newly created volume unstamped. The adaptive driver
persists this one -- copyAsync() stores generatePathInfo(outVolume, ...) --
so the volume was recorded in the database with an address the host cannot
resolve, since NVMe namespaces are located by EUI-128.
Rather than add a third withAddressType() call at each site, stamp inside the
private getVolume() accessor so every path is correct by construction. That
matches the private getSnapshot() accessor, which already did this, and makes
the wrap at the public getVolume() call site redundant. copy() now reuses the
accessor for its source lookup instead of repeating the same GET inline, and
stamps the volume it hands back.
No behavioural change for Fibre Channel: FIBERWWN is what the constructor
already defaulted to, so stamping it is a no-op there.
Also drops a comment in getConnectionIdMap() describing connections as
host-group scoped, which is no longer how NVMe-TCP volumes are connected after
the preceding commit. The surrounding logic was already keyed on host name and
is unchanged; only nsid vs lun differs between the transports.
Found by auditing every NVMe-TCP divergence from the Fibre Channel path, on the
principle that NVMe-TCP is only a different carrier: the array operations are
identical and the host-side difference is an NQN instead of a WWN, which lives
on the array and is never touched by this adapter (hosts are resolved by name).
Signed-off-by: Eugenio Grosso <eugenio.grosso@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent dd58aac commit 1faa7ce
1 file changed
Lines changed: 14 additions & 10 deletions
File tree
- plugins/storage/volume/flasharray/src/main/java/org/apache/cloudstack/storage/datastore/adapter/flasharray
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
321 | | - | |
| 321 | + | |
322 | 322 | | |
323 | 323 | | |
324 | 324 | | |
| |||
501 | 501 | | |
502 | 502 | | |
503 | 503 | | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
| 504 | + | |
508 | 505 | | |
509 | 506 | | |
510 | 507 | | |
| |||
523 | 520 | | |
524 | 521 | | |
525 | 522 | | |
526 | | - | |
| 523 | + | |
527 | 524 | | |
528 | 525 | | |
529 | 526 | | |
| |||
990 | 987 | | |
991 | 988 | | |
992 | 989 | | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
993 | 996 | | |
994 | 997 | | |
995 | 998 | | |
996 | 999 | | |
997 | | - | |
| 1000 | + | |
998 | 1001 | | |
999 | 1002 | | |
1000 | 1003 | | |
| |||
1325 | 1328 | | |
1326 | 1329 | | |
1327 | 1330 | | |
1328 | | - | |
1329 | | - | |
1330 | | - | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
1331 | 1335 | | |
1332 | 1336 | | |
1333 | 1337 | | |
| |||
0 commit comments