afs_ucred_t afs_osi_cred;
void
-afs_osi_SetTime(osi_timeval_t * tvp)
-{
- struct timespec tv;
- tv.tv_sec = tvp->tv_sec;
- tv.tv_nsec = tvp->tv_usec * NSEC_PER_USEC;
-
- AFS_STATCNT(osi_SetTime);
-
- do_settimeofday(&tv);
-}
-
-void
osi_linux_mask(void)
{
SIG_LOCK(current);
SIG_UNLOCK(current);
}
+void
+osi_linux_unmaskrxk(void)
+{
+ extern struct task_struct *rxk_ListenerTask;
+ /* Note this unblocks signals on the rxk_Listener
+ * thread from a thread that is stopping rxk */
+ SIG_LOCK(rxk_ListenerTask);
+ sigdelset(&rxk_ListenerTask->blocked, SIGKILL);
+ SIG_UNLOCK(rxk_ListenerTask);
+}
+
/* LOOKUP_POSITIVE is becoming the default */
#ifndef LOOKUP_POSITIVE
#define LOOKUP_POSITIVE 0
code = osi_lookupname_internal(name, followlink, &mnt, &dp);
if (!code) {
#if defined(D_PATH_TAKES_STRUCT_PATH)
- afs_linux_path_t p = { mnt, dp };
+ afs_linux_path_t p = { .mnt = mnt, .dentry = dp };
path = d_path(&p, buf, buflen);
#else
path = d_path(dp, mnt, buf, buflen);