You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2016/05/06 20:46:12 UTC

[jira] [Commented] (MESOS-5263) pivot_root is not available on ARM

    [ https://issues.apache.org/jira/browse/MESOS-5263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15274701#comment-15274701 ] 

Benjamin Mahler commented on MESOS-5263:
----------------------------------------

{noformat}
commit 547f4a4d122253a42819d5746cf51593923a56bc
Author: Tomasz Janiszewski <ja...@gmail.com>
Date:   Fri May 6 13:42:08 2016 -0700

    Removed architecture specific syscalls for pivot root.

    The workarounds were put in place for systems with an old glibc
    but a new kernel. The <linux/unistd.h> header provides the
    __NR_pivot_root symbol.

    Review: https://reviews.apache.org/r/46730/
{noformat}

> pivot_root is not available on ARM
> ----------------------------------
>
>                 Key: MESOS-5263
>                 URL: https://issues.apache.org/jira/browse/MESOS-5263
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Tomasz Janiszewski
>            Assignee: Tomasz Janiszewski
>             Fix For: 0.29.0
>
>
> When compile on ARM, it will through error.
> The current code logic in src/linux/fs.cpp is:
> {code}
> #ifdef __NR_pivot_root
>   int ret = ::syscall(__NR_pivot_root, newRoot.c_str(), putOld.c_str());
> #elif __x86_64__
>   // A workaround for systems that have an old glib but have a new
>   // kernel. The magic number '155' is the syscall number for
>   // 'pivot_root' on the x86_64 architecture, see
>   // arch/x86/syscalls/syscall_64.tbl
>   int ret = ::syscall(155, newRoot.c_str(), putOld.c_str());
> #elif __powerpc__ || __ppc__ || __powerpc64__ || __ppc64__
>   // A workaround for powerpc. The magic number '203' is the syscall
>   // number for 'pivot_root' on the powerpc architecture, see
>   // https://w3challs.com/syscalls/?arch=powerpc_64
>   int ret = ::syscall(203, newRoot.c_str(), putOld.c_str());
> #else
> #error "pivot_root is not available"
> #endif
> {code}
> Possible sollution is to add `unistd.h` header



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)