Whamcloud - gitweb
b=9907
authorgreen <green>
Sun, 11 Dec 2005 22:13:17 +0000 (22:13 +0000)
committergreen <green>
Sun, 11 Dec 2005 22:13:17 +0000 (22:13 +0000)
Fix __l_wait_event to correctly honor timeout value (broken by bug 9297 changes).

lustre/include/linux/lustre_lib.h

index 3282ac8..ef90acb 100644 (file)
@@ -608,15 +608,15 @@ do {                                                                           \
                 if (condition)                                                 \
                         break;                                                 \
                                                                                \
-                if (__timeout) {                                               \
+                if (__timeout == 0) {                                          \
                         schedule();                                            \
                 } else {                                                       \
                         unsigned long interval = info->lwi_interval?           \
                                              min_t(unsigned long,              \
                                                  info->lwi_interval,__timeout):\
                                              __timeout;                        \
-                        __timeout -= interval + schedule_timeout(interval);    \
-                        if (__timeout) {                                       \
+                        __timeout -= interval - schedule_timeout(interval);    \
+                        if (__timeout == 0) {                                  \
                                 if (info->lwi_on_timeout == NULL ||            \
                                     info->lwi_on_timeout(info->lwi_cb_data)) { \
                                         ret = -ETIMEDOUT;                      \