>
>
> Hmm, it is as if CV_TIMEDWAIT() somehow got #defined away.
>
> I see from the pastebin that you are basing your work off 1.6.22; I
> would recommend starting again from master (or 1.8.0pre5 which is
> pretty similar), since (1) new code would have to go through master
> anyway, and (2) master has some changes in this area, using the
> OpenAFS Portable Runtime (opr) library instead of directly using
> pthread calls, which may or may not be relevant.
>
> -Ben
>

Sorry this email is kind of long.

I updated some rpms based on openafs-1.8.0pre5. These rpms I am using were
worked on by Jack Neely and Ken Dreyer before they both stopped working on
openafs when they got new jobs a few years back.. These rpms used to live
in the popular fedora third party yum repository "rpmfusion" since for
legal reasons they could not be included in fedora proper. But since they
have been abandoned by both authors and were dropped from rpmfusion I have
been updating them locally for our users in the college of engineering at
NCSU for a few years now. We have about 400 - 800 Linux machines in the
college that depend on afs filesystems of some sort. maybe 200 of those use
ubuntu 16.04 so we can use openafs debian packages (for now) on the ubuntu
machines. (since they do not have the same legal restrictions like red hat
does in debian)

rpms using 1.8.0pre5 worked in a fedora 27 x86_64 virtual machine earlier
today but it seemed kind of slow compared to 1.6.22.2. I know "seemed kind
of slow" is subjective.  I was able to edit files in my $HOME directory so
it was working. 1.8.0pre5 compiled and installed on ppc64 emulator.
(qemu/virt-manager running on a x86_64 laptop) but it won't start. The
error I get is:

[root@localhost ~]# systemctl start openafs-client
Job for openafs-client.service failed because a timeout was exceeded.
See "systemctl  status openafs-client.service" and "journalctl  -xe" for
details

There is some kind of error on the console. Here is what it looks like:

https://i.imgur.com/KknZ60O.png

The error message on the console pops up as soon as you start the service.

[root@localhost ~]# systemctl  status openafs-client.service

● openafs-client.service - OpenAFS Client Service
   Loaded: loaded (/usr/lib/systemd/system/openafs-client.service;
disabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Sun 2018-03-11 19:32:42 EDT; 16s
ago
  Process: 1279 ExecStartPre=/sbin/modprobe openafs (code=exited,
status=0/SUCCESS)
  Process: 1277 ExecStartPre=/bin/bash -c fs sysname > /dev/null
2>/dev/null; test $? -ne 0 || (echo AFS client appears to be run
    Tasks: 6 (limit: 4915)
   CGroup: /system.slice/openafs-client.service
           ├─1281 /usr/sbin/afsd -afsdb -dynroot -fakestat -memcache
-blocks 102400 -daemons 3 -confdir /etc/openafs
           ├─1285 /usr/sbin/afsd -afsdb -dynroot -fakestat -memcache
-blocks 102400 -daemons 3 -confdir /etc/openafs
           ├─1286 /usr/sbin/afsd -afsdb -dynroot -fakestat -memcache
-blocks 102400 -daemons 3 -confdir /etc/openafs
           └─1288 /usr/sbin/afsd -afsdb -dynroot -fakestat -memcache
-blocks 102400 -daemons 3 -confdir /etc/openafs

Mar 11 19:31:11 localhost.localdomain systemd[1]: Starting OpenAFS Client
Service...
Mar 11 19:32:42 localhost.localdomain systemd[1]: openafs-client.service:
Start operation timed out. Terminating.
Mar 11 19:32:42 localhost.localdomain systemd[1]: Failed to start OpenAFS
Client Service.
Mar 11 19:32:42 localhost.localdomain systemd[1]: openafs-client.service:
Unit entered failed state.
Mar 11 19:32:42 localhost.localdomain systemd[1]: openafs-client.service:
Failed with result 'timeout'.

[root@localhost ~]# journalctl -xe

Mar 11 19:31:20 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0
auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0
msg='unit=polkit comm="systemd
Mar 11 19:31:20 localhost.localdomain dbus-daemon[681]: [system]
Successfully activated service 'org.freedesktop.problems'
Mar 11 19:31:21 localhost.localdomain abrt-notification[1311]: System
encountered a non-fatal error in rxi_ReapConnections()
-- Subject: ABRT has detected a non-fatal system error
-- Defined-By: ABRT
-- Support: https://bugzilla.redhat.com/
-- Documentation: man:abrt(1)
-- 
-- Unable to handle kernel paging request for data at address 0x00000000
[libafs]
-- 
-- Use the abrt command-line tool for further analysis or to report
-- the problem to the appropriate support site.
Mar 11 19:32:42 localhost.localdomain systemd[1]: openafs-client.service:
Start operation timed out. Terminating.
Mar 11 19:32:42 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0
auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0
msg='unit=openafs-client comm=
Mar 11 19:32:42 localhost.localdomain systemd[1]: Failed to start OpenAFS
Client Service.
-- Subject: Unit openafs-client.service has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit openafs-client.service has failed.
-- 
-- The result is failed.
Mar 11 19:32:42 localhost.localdomain systemd[1]: openafs-client.service:
Unit entered failed state.
Mar 11 19:32:42 localhost.localdomain systemd[1]: openafs-client.service:
Failed with result 'timeout'.

I am using dkms to handle compiling the kernel module part of openafs.

It worked with 1.6.22.2 on ppc64 arch so I'm not sure what could have
changed in 1.8.0pre5 with respect to ppc64 architecture.

Maybe it needs a different config options for ppc64? Or maybe I need to try
it on a faster pc since I running a emulator. I am unsure. maybe its just
too hard of a problem to solve.

Here are the configure flags I am using in the openafs spec file:

# build the user-space bits for base architectures
    ./configure \
        --prefix=%{_prefix} \
        --libdir=%{_libdir} \
        --bindir=%{_bindir} \
        --sbindir=%{_sbindir} \
        --sysconfdir=%{_sysconfdir} \
        --localstatedir=%{_var} \
        --with-afs-sysname=%{sysname} \
        --with-linux-kernel-headers=%{ksource_dir} \
        --disable-kernel-module \
        --disable-strip-binaries \
        --enable-supergroupsb \
%if %{enable_kauth}
        --enable-kauth \
%endif
        --enable-debug

I had to add " --enable-debug" to make the debug packages build in fedora
27. The files in the regular packages (non debug ones) get striped.

In all compiles "enable_kauth" is 0 so the flag "--enable-kauth" is not
ever used. It was just easier to add a  "%define enable_kauth    0" macro
 then to erase all the kauth bits like stuff in the %files section.  I
could add other configure options if anyone thinks it might help?

In the dkms package the confugure option are

%configure --with-afs-sysname=%{sysname} --disable-kernel-module
make libafs_tree

and then the tree is copied into dkms.
cp -a libafs_tree %{buildroot}%{_prefix}/src/%{module}-%{version}

and then dkms does

MAKE[0]="( ./configure --with-linux-kernel-headers=\${kernel_source_dir};
make; mv src/libafs/MODLOAD-*/libafs.ko ./\$PACKAGE_NAME.ko )"

Where $PACKAGE_NAME.ko is openafs.ko\

Then it does in %post:


%post
dkms add -m %{module} -v %{version} --rpm_safe_upgrade &>/dev/null
dkms build -m %{module} -v %{version} --rpm_safe_upgrade &>/dev/null
dkms install -m %{module} -v %{version} --rpm_safe_upgrade &>/dev/null

maybe dkms needs additional configuration options for the kernel module
part for ppc64?

Thanks for any ideas anyone has about these errors on ppc64. I will try
ppc64le again if I am able to solve the ppc64 errors somehow. :)

The weird thing is that 1.6.22.2 worked on ppc64 whereas 1.8.0pre5 does not.

My ultimate goal was to try to get openafs working on other arches besides
x86_64 arch in Linux. Systems like IBM Power7 / Power8 / aarch64 / arm7hl.
Hopefully in fedora and EPEL. (RHEL and CentOS) But maybe its too hard of a
problem and I will just need to stick with x86_64 arch. :)

Thanks,

Reply via email to