mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +03:00
ef769e7237
make ctdb uptime print how long the recovery took in the recovery daemon when we check that the public ip address allocation on the local node is correct (we have the ips we should have and we dont have any we shouldnt have) use ctdb uptime and check the recovery start/stop times and make sure we dont check for ip allocation inconsistencies during a recovery where the ip address allocation is in flux. (This used to be ctdb commit f86551580349b7f662f9a07e4eb0c1189e38e429)
47 lines
1.4 KiB
C
47 lines
1.4 KiB
C
/*
|
|
ctdb uptime code
|
|
|
|
Copyright (C) Ronnie Sahlberg 2008
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include "includes.h"
|
|
#include "lib/events/events.h"
|
|
#include "../include/ctdb_private.h"
|
|
#include "system/syslog.h"
|
|
#include "system/time.h"
|
|
#include "system/filesys.h"
|
|
|
|
/*
|
|
returns the ctdb uptime
|
|
*/
|
|
int32_t ctdb_control_uptime(struct ctdb_context *ctdb, TDB_DATA *outdata)
|
|
{
|
|
struct ctdb_uptime *uptime;
|
|
|
|
uptime = talloc_zero(outdata, struct ctdb_uptime);
|
|
CTDB_NO_MEMORY(ctdb, uptime);
|
|
|
|
gettimeofday(&uptime->current_time, NULL);
|
|
uptime->ctdbd_start_time = ctdb->ctdbd_start_time;
|
|
uptime->last_recovery_started = ctdb->last_recovery_started;
|
|
uptime->last_recovery_finished = ctdb->last_recovery_finished;
|
|
|
|
outdata->dsize = sizeof(struct ctdb_uptime);
|
|
outdata->dptr = (uint8_t *)uptime;
|
|
|
|
return 0;
|
|
}
|