See:
`m_locker->address = iter->second.addr.get_legacy_str();`
In the case where `iter->second.addr` is an empty address,
m_locker->address string is assigned with "0)/0" and therfore
will never result in an empty string.
Use `is_blank_ip()` before `get_legacy_str()`
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
(cherry picked from commit
7482beeea9b1bc8c3cbdac425e7afb8ebdc9f270)
return;
}
+ if (iter->second.addr.is_blank_ip()) {
+ ldout(m_cct, 5) << "locker has a blank address" << dendl;
+ finish(-EBUSY);
+ return;
+ }
m_locker->entity = iter->first.locker;
m_locker->cookie = iter->first.cookie;
m_locker->address = iter->second.addr.get_legacy_str();
- if (m_locker->cookie.empty() || m_locker->address.empty()) {
- ldout(m_cct, 20) << "no valid lockers detected" << dendl;
- finish(-ENOENT);
- return;
- }
ldout(m_cct, 10) << "retrieved exclusive locker: "
<< m_locker->entity << "@" << m_locker->address << dendl;