diff options
author | Adam Kwolek <adam.kwolek@intel.com> | 2011-06-09 13:00:55 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-06-09 13:00:55 +1000 |
commit | a47e44fb966d8f212b589012686bba0d7b7fb0d9 (patch) | |
tree | 9fa26d41c696c0bdc66aebd4099423ea44e60897 | |
parent | ae9f01f89bb61537c0b65a095c1087d6ac3ec8a1 (diff) | |
download | mdadm-a47e44fb966d8f212b589012686bba0d7b7fb0d9.tar.gz |
imsm: FIX: Remove timeout from wait_for_reshape_imsm()
Timeout should not be used for select function in wait_for_reshape_imsm().
Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | super-intel.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/super-intel.c b/super-intel.c index 4b94e9d..292584b 100644 --- a/super-intel.c +++ b/super-intel.c @@ -8573,8 +8573,6 @@ int wait_for_reshape_imsm(struct mdinfo *sra, int ndata) unsigned long long to_complete = sra->reshape_progress; unsigned long long position_to_set = to_complete / ndata; - struct timeval timeout; - if (fd < 0) { dprintf("imsm: wait_for_reshape_imsm() " "cannot open reshape_position\n"); @@ -8605,25 +8603,22 @@ int wait_for_reshape_imsm(struct mdinfo *sra, int ndata) return -1; } - /* FIXME should not need a timeout at all */ - timeout.tv_sec = 30; - timeout.tv_usec = 0; do { char action[20]; fd_set rfds; FD_ZERO(&rfds); FD_SET(fd, &rfds); - select(fd+1, NULL, NULL, &rfds, &timeout); + select(fd+1, &rfds, NULL, NULL, NULL); + if (sysfs_get_str(sra, NULL, "sync_action", + action, 20) > 0 && + strncmp(action, "reshape", 7) != 0) + break; if (sysfs_fd_get_ll(fd, &completed) < 0) { dprintf("imsm: wait_for_reshape_imsm() " "cannot read reshape_position (in loop)\n"); close(fd); return 1; } - if (sysfs_get_str(sra, NULL, "sync_action", - action, 20) > 0 && - strncmp(action, "reshape", 7) != 0) - break; } while (completed < to_complete); close(fd); return 0; |