[Lustre-devel] cvs question

Bernd Schubert bs_lists at aakef.fastmail.fm
Wed May 20 10:39:16 PDT 2009


Hello, 

I just want to backport the patches of bug#18414 and there is merge conflict,
something is missing. So I want to check with cvs what that is, but the
result is a bit weird (on b1_6):

cvs annotate lnet/libcfs/watchdog.c

1.2          (eeb      09-Dec-04): static void lcw_cb(unsigned long data)
1.2          (eeb      09-Dec-04): {
1.2          (eeb      09-Dec-04):         struct lc_watchdog *lcw = (struct 
lc_watchdog *)data;
1.2          (eeb      09-Dec-04):
1.2          (eeb      09-Dec-04):         ENTRY;
1.2          (eeb      09-Dec-04):
1.2          (eeb      09-Dec-04):         if (lcw->lcw_state != 
LC_WATCHDOG_ENABLED) {
1.2          (eeb      09-Dec-04):                 EXIT;
1.2          (eeb      09-Dec-04):                 return;
1.2          (eeb      09-Dec-04):         }
1.2          (eeb      09-Dec-04):
1.2          (eeb      09-Dec-04):         lcw->lcw_state = 
LC_WATCHDOG_EXPIRED;
1.2          (eeb      09-Dec-04):
1.6          (nathan   10-Feb-07):         /* NB this warning should appear on 
the console, but may not get into
1.6          (nathan   10-Feb-07):          * the logs since we're running in 
a softirq handler */
1.6          (nathan   10-Feb-07):
1.7          (nathan   26-Feb-07):         CWARN("Watchdog triggered for pid 
%d: it was inactive for %lds\n",
1.7          (nathan   26-Feb-07):               (int)lcw->lcw_pid, 
cfs_duration_sec(lcw->lcw_time));
1.6          (nathan   10-Feb-07):         lcw_dump(lcw);


But this looks different than the file itself:


static void lcw_cb(unsigned long data)
{
        struct lc_watchdog *lcw = (struct lc_watchdog *)data;
        cfs_time_t current_time;
        cfs_duration_t delta_time;
        struct timeval timediff;

        ENTRY;

        if (lcw->lcw_state != LC_WATCHDOG_ENABLED) {
                EXIT;
                return;
        }

        lcw->lcw_state = LC_WATCHDOG_EXPIRED;
        current_time = cfs_time_current();

        delta_time = cfs_time_sub(current_time, lcw->lcw_last_touched);
        cfs_duration_usec(delta_time, &timediff);



So what is going on there? Where does for example

current_time = cfs_time_current();

come from? I'm confused as usual how cvs handles things.


Thanks,
Bernd






More information about the lustre-devel mailing list