mirror of
https://github.com/ceph/ceph
synced 2025-02-24 11:37:37 +00:00
Merge pull request #27025 from yangdongsheng/poll_timeout
rbd: krbd: return -ETIMEDOUT in polling Reviewed-by: Jason Dillaman <dillaman@redhat.com> Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
This commit is contained in:
commit
4f123365f3
14
src/krbd.cc
14
src/krbd.cc
@ -241,12 +241,17 @@ static int wait_for_udev_add(struct udev_monitor *mon, const krbd_spec& spec,
|
||||
for (;;) {
|
||||
struct pollfd fds[1];
|
||||
struct udev_device *dev;
|
||||
int r;
|
||||
|
||||
fds[0].fd = udev_monitor_get_fd(mon);
|
||||
fds[0].events = POLLIN;
|
||||
if (poll(fds, 1, POLL_TIMEOUT) < 0)
|
||||
r = poll(fds, 1, POLL_TIMEOUT);
|
||||
if (r < 0)
|
||||
return -errno;
|
||||
|
||||
if (r == 0)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
dev = udev_monitor_receive_device(mon);
|
||||
if (!dev)
|
||||
continue;
|
||||
@ -572,12 +577,17 @@ static int wait_for_udev_remove(struct udev_monitor *mon, dev_t devno)
|
||||
for (;;) {
|
||||
struct pollfd fds[1];
|
||||
struct udev_device *dev;
|
||||
int r;
|
||||
|
||||
fds[0].fd = udev_monitor_get_fd(mon);
|
||||
fds[0].events = POLLIN;
|
||||
if (poll(fds, 1, POLL_TIMEOUT) < 0)
|
||||
r = poll(fds, 1, POLL_TIMEOUT);
|
||||
if (r < 0)
|
||||
return -errno;
|
||||
|
||||
if (r == 0)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
dev = udev_monitor_receive_device(mon);
|
||||
if (!dev)
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user