static struct list_head _lsd_hashtable[MDS_LSD_HASHSIZE];
#define MDS_LSD_UPCALL_PATH "/usr/sbin/lsd_upcall"
-#define MDS_LSD_ACQUIRE_EXPIRE (5)
-#define MDS_LSD_ENTRY_EXPIRE (5 * 60)
+#define MDS_LSD_ACQUIRE_EXPIRE (10)
+#define MDS_LSD_ENTRY_EXPIRE (10 * 60)
#define MDS_LSD_ERR_ENTRY_EXPIRE (30)
struct upcall_cache *__mds_get_global_lsd_cache()
"/proc/fs/lustre/mds/lsd_upcall\n",
argv[0], argv[1], rc);
} else {
- CDEBUG(D_SEC, "Invoked upcall %s %s\n", argv[0], argv[1]);
+ CWARN("%lu: lsd %p Invoked upcall %s %s\n",
+ get_seconds(), entry, argv[0], argv[1]);
}
RETURN(rc);
}
lsd->lsd_ginfo = ginfo;
lsd->lsd_nperms = lsd_args->nperms;
- CWARN("LSD: %d:%d, ngrps %u, nperms %u\n", lsd->lsd_uid, lsd->lsd_gid,
+ CWARN("LSD (%p): %d:%d, ngrps %u, nperms %u\n",
+ lentry, lsd->lsd_uid, lsd->lsd_gid,
lsd->lsd_ginfo ? lsd->lsd_ginfo->ngroups : 0, lsd->lsd_nperms);
RETURN(0);
#include <fcntl.h>
#include <pwd.h>
#include <grp.h>
+#include <syslog.h>
#include <liblustre.h>
#include <linux/lustre_idl.h>
dc->perms[i].nid, dc->perms[i].perm);
}
+#define log_msg(testing, fmt, args...) \
+ { \
+ if (testing) \
+ printf(fmt, ## args); \
+ else \
+ syslog(LOG_ERR, fmt, ## args); \
+ }
+
void usage(char *prog)
{
printf("Usage: %s [-t] uid\n", prog);
} else {
dc_fd = open(dc_name, O_WRONLY);
if (dc_fd < 0) {
- printf("can't open device %s\n", dc_name);
+ log_msg(testing, "can't open device %s: %s\n",
+ dc_name, strerror(errno));
+
return -errno;
}
rc = write(dc_fd, &ioc_data, sizeof(ioc_data));
+ if (rc != sizeof(ioc_data)) {
+ log_msg(testing, "partial write ret %d: %s\n",
+ rc, strerror(errno));
+ }
+
return (rc != sizeof(ioc_data));
}
}