[OpenAFS] OpenAFS on Phoebe (RHL 8.0.94)

Jack Neely slack@quackmaster.net
Tue, 4 Mar 2003 13:08:18 -0500


On Tue, Mar 04, 2003 at 10:29:52AM -0500, Derrick J Brashear wrote:
> On Tue, 4 Mar 2003, Jack Neely wrote:
> 
> > Folks,
> > 
> > What's the status of OpenAFS working on Phoebe (8.0.94).  That's kernel
> > 2.4.20-2.48?  I'm getting the following with todays snap (2003-03-04).
> 
> The status is obviously "it doesn't work" ;-)
> 
> osi_machdep.h:65: structure has no member named `sig'
> 
> So what's in a sigset_t in that version of the kernel, and what's in a 
> struct task_struct?

include/asm-i386/signal.h:typedef unsigned long signet_t;

>From sched.h:

truct task_struct {
        /*
         * offsets of these are hardcoded elsewhere - touch with care
         */
        volatile long state;    /* -1 unrunnable, 0 runnable, >0 stopped
*/
        unsigned long flags;    /* per process flags, defined below */
        int sigpending;
        mm_segment_t addr_limit;        /* thread address space:
                                                0-0xBFFFFFFF for
user-thead
                                                0-0xFFFFFFFF for
kernel-thread
                                         */
        struct exec_domain *exec_domain;
        volatile long need_resched;
        unsigned long ptrace;
                                                                                
        int lock_depth;         /* Lock depth */
                                                                                
        /*
         * offset 32 begins here on 32-bit platforms.
         */
        unsigned int cpu;
        int prio, static_prio;
        struct list_head run_list;
        prio_array_t *array;
                                                                                
        unsigned long sleep_avg;
        unsigned long last_run;
                                                                                
        unsigned long policy;
        unsigned long cpus_allowed;
        unsigned int time_slice, first_time_slice;
                                                                                
        atomic_t usage;
                                                                                
        struct list_head tasks;
        struct list_head ptrace_children;
        struct list_head ptrace_list;
                                                                                
        struct mm_struct *mm, *active_mm;
                                                                                
/* task state */
        struct linux_binfmt *binfmt;
        int exit_code, exit_signal;
        int pdeath_signal;  /*  The signal sent when the parent dies  */
        /* ??? */
        unsigned long personality;
        int did_exec:1, in_page_fault:1;
        pid_t pid;
        pid_t pgrp;
        pid_t tty_old_pgrp;
        pid_t session;
        pid_t tgid;
        /* boolean value for session group leader */
        int leader;
        /*
         * pointers to (original) parent process, youngest child,
         * younger sibling,
         * older sibling, respectively.  (p->father can be replaced with
         * p->parent->pid)
         */
        struct task_struct *real_parent; /* real parent process (when
being debugged) */
        struct task_struct *parent;     /* parent process */
        struct list_head children;      /* list of my children */
        struct list_head sibling;       /* linkage in my parent's
children list
*/
        struct task_struct *group_leader;
                                                                                
        /* PID/PID hash table linkage. */
        struct pid_link pids[PIDTYPE_MAX];
                                                                                
        wait_queue_head_t wait_chldexit;        /* for wait4() */
        struct completion *vfork_done;          /* for vfork() */
        int *set_child_tid;                     /* CLONE_CHILD_SETTID */
        int *clear_child_tid;                   /* CLONE_CHILD_CLEARTID
*/
                                                                                
        unsigned long rt_priority;
        unsigned long it_real_value, it_prof_value, it_virt_value;
        unsigned long it_real_incr, it_prof_incr, it_virt_incr;
        struct timer_list real_timer;
        struct tms times;
        struct tms group_times;
        unsigned long start_time;
        long per_cpu_utime[NR_CPUS], per_cpu_stime[NR_CPUS];
/* mm fault and swap info: this can arguably be seen as either
 * mm-specific or thread-specific */
        unsigned long min_flt, maj_flt, nswap, cmin_flt, cmaj_flt,
cnswap;
        int swappable:1;
/* process credentials */
        uid_t uid,euid,suid,fsuid;
        gid_t gid,egid,sgid,fsgid;
        int ngroups;
        gid_t   groups[NGROUPS];
        kernel_cap_t   cap_effective, cap_inheritable, cap_permitted;
        int keep_capabilities:1;
        struct user_struct *user;
/* limits */
        struct rlimit rlim[RLIM_NLIMITS];
        unsigned short used_math;
        char comm[16];
/* file system info */
        int link_count, total_link_count;
        struct tty_struct *tty; /* NULL if no tty */
        unsigned int locks; /* How many file locks are being held */
/* ipc stuff */
        struct sem_undo *semundo;
        struct sem_queue *semsleeping;
/* CPU-specific state of this task */
        struct thread_struct thread;
/* filesystem information */
        struct fs_struct *fs;
/* open file information */
        struct files_struct *files;
/* namespace */
        struct namespace *namespace;
/* signal handlers */
        struct signal_struct *signal;
        struct sighand_struct *sighand;
                                                                                
        sigset_t blocked, real_blocked;
        struct sigpending pending;
                                                                                
        unsigned long sas_ss_sp;
        size_t sas_ss_size;
        int (*notifier)(void *priv);
        void *notifier_data;
        sigset_t *notifier_mask;
                                                                                
        /* TUX state */
        void *tux_info;
        void (*tux_exit)(void);
                                                                                
                                                                                
/* Thread group tracking */
        u32 parent_exec_id;
        u32 self_exec_id;
/* Protection of (de-)allocation: mm, files, fs, tty */
        spinlock_t alloc_lock;
/* context-switch lock */
        spinlock_t switch_lock;
                                                                                
/* journalling filesystem info */
        void *journal_info;
                                                                                
        unsigned long ptrace_message;
        siginfo_t *last_siginfo; /* For ptrace use.  */
};


> 
> 
> _______________________________________________
> OpenAFS-info mailing list
> OpenAFS-info@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-info
> 

-- 
Jack Neely <slack@quackmaster.net>
Linux Realm Kit Administration and Development 
PAMS Computer Operations at NC State University
GPG Fingerprint: 1917 5AC1 E828 9337 7AA4  EA6B 213B 765F 3B6A 5B89