Skip to content
This repository has been archived by the owner on Nov 8, 2022. It is now read-only.

volumes: works but "is not a mount point" validation error #5

Closed
ppalucki opened this issue Jul 10, 2015 · 1 comment
Closed

volumes: works but "is not a mount point" validation error #5

ppalucki opened this issue Jul 10, 2015 · 1 comment

Comments

@ppalucki
Copy link

[    0.264975] ace-validator[85]: 2015/07/09 19:35:25 WARN: "/db" is not a mount point (againts "/") fsid are equal: syscall.Fsid{X__val:[2]int32{-926896844, 1387030233}} == syscall.Fsid{X__val:[2]int32{-926896844, 1387030233}}
    if sfs1.Fsid == sfs2.Fsid {
        return fmt.Errorf("%q is not a mount point", d)
    }

https://github.com/appc/spec/blob/master/ace/validator.go#L485

according to http://man7.org/linux/man-pages/man2/statfs.2.html

    Nobody knows what f_fsid is supposed to contain (but see below).
...

   The f_fsid field
       Solaris, Irix and POSIX have a system call statvfs(2) that returns a
       struct statvfs (defined in <sys/statvfs.h>) containing an unsigned
       long f_fsid.  Linux, SunOS, HP-UX, 4.4BSD have a system call statfs()
       that returns a struct statfs (defined in <sys/vfs.h>) containing a
       fsid_t f_fsid, where fsid_t is defined as struct { int val[2]; }.
       The same holds for FreeBSD, except that it uses the include file
       <sys/mount.h>.

       The general idea is that f_fsid contains some random stuff such that
       the pair (f_fsid,ino) uniquely determines a file.  Some operating
       systems use (a variation on) the device number, or the device number
       combined with the filesystem type.  Several operating systems
       restrict giving out the f_fsid field to the superuser only (and zero
       it for unprivileged users), because this field is used in the
       filehandle of the filesystem when NFS-exported, and giving it out is
       a security concern.

       Under some operating systems, the fsid can be used as the second
       argument to the sysfs(2) system call.

http://golang.org/pkg/path/filepath/#Dir
"""
Dir returns all but the last element of path, typically the path's directory. After dropping the final
element, the path is Cleaned and trailing slashes are removed. If the path is empty, Dir returns ".". If
the path consists entirely of separators, Dir returns a single separator. The returned path does not
end in a separator unless it is the root directory.
"""

@ppalucki ppalucki mentioned this issue Jul 10, 2015
@ppalucki ppalucki changed the title volumes: volumes: works but "is not a mount point" validation error Jul 10, 2015
@ppalucki
Copy link
Author

moved to original fork

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant