}
static int
-xenInotifyAddDomainConfigInfo(virConnectPtr conn, const char *fname)
+xenInotifyAddDomainConfigInfo(virConnectPtr conn, const char *fname, time_t now)
{
xenUnifiedPrivatePtr priv = conn->privateData;
return priv->useXenConfigCache ?
- xenXMConfigCacheAddFile(conn, fname) :
+ xenXMConfigCacheAddFile(conn, fname, now) :
xenInotifyXendDomainsDirAddEntry(conn, fname);
}
char *tmp, *name;
virConnectPtr conn = data;
xenUnifiedPrivatePtr priv = NULL;
+ time_t now = time(NULL);
VIR_DEBUG("got inotify event");
}
} else if (e->mask & (IN_CREATE | IN_CLOSE_WRITE | IN_MOVED_TO)) {
virObjectEventPtr event;
- if (xenInotifyAddDomainConfigInfo(conn, fname) < 0) {
+ if (xenInotifyAddDomainConfigInfo(conn, fname, now) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("Error adding file to config cache"));
goto cleanup;
char *path;
xenUnifiedPrivatePtr priv = conn->privateData;
int direrr;
+ time_t now = time(NULL);
virCheckFlags(VIR_CONNECT_RO, -1);
return -1;
}
- if (xenInotifyAddDomainConfigInfo(conn, path) < 0) {
+ if (xenInotifyAddDomainConfigInfo(conn, path, now) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("Error adding file to config list"));
closedir(dh);
* calling this function
*/
int
-xenXMConfigCacheAddFile(virConnectPtr conn, const char *filename)
+xenXMConfigCacheAddFile(virConnectPtr conn, const char *filename, time_t now)
{
xenUnifiedPrivatePtr priv = conn->privateData;
xenXMConfCachePtr entry;
struct stat st;
int newborn = 0;
- time_t now = time(NULL);
- VIR_DEBUG("Adding file %s", filename);
+ VIR_DEBUG("Adding file %s %lld", filename, (long long)now);
/* Get modified time */
if ((stat(filename, &st) < 0)) {
/* If we already have a matching entry and it is not
modified, then carry on to next one*/
- if (xenXMConfigCacheAddFile(conn, path) < 0) {
+ if (xenXMConfigCacheAddFile(conn, path, now) < 0) {
/* Ignoring errors, since a lot of stuff goes wrong in /etc/xen */
}
# include "domain_conf.h"
int xenXMConfigCacheRefresh (virConnectPtr conn);
-int xenXMConfigCacheAddFile(virConnectPtr conn, const char *filename);
+int xenXMConfigCacheAddFile(virConnectPtr conn, const char *filename, time_t now);
int xenXMConfigCacheRemoveFile(virConnectPtr conn, const char *filename);
int xenXMOpen(virConnectPtr conn, virConnectAuthPtr auth, unsigned int flags);