问题标签 [openafs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 查找定义 C 函数的头文件
应该不难吧?对?
我目前正在搜索 OpenAFS 代码库以查找 pioctl 的标头定义。我已经抛出了我所拥有的一切:检查 ctags,grepped pioctl 的源代码等。我最接近线索的是有一个文件 pioctl_nt.h 包含定义,除了它是实际上不是我想要的,因为没有任何用户空间代码直接包含它,而且它是特定于 Windows 的。
现在,我不希望您去下载 OpenAFS 代码库并为我找到头文件。不过,我很好奇:当其他一切都失败时,您有什么技术可以找到所需的头文件?哪些最坏的情况可能导致代码库中的 grep for pioctl 实际上没有提出任何看起来像函数定义的东西?
我还应该注意,我可以访问两个独立的用户空间程序,它们已经正确完成,所以理论上我可以对函数进行 O(n) 搜索。但是没有一个头文件弹出给我,而且 n 很大......
编辑:直接的问题已经解决: pioctl() 是隐式定义的,如下所示:
caching - OpenAFS 缓存何时清除?
假设我有一群用户都访问同一组文件,这些用户具有权限系统:anyuser。User1 登录并访问一些文件,然后注销。当 User2 登录并尝试访问相同的文件时,缓存会为文件提供服务,还是会在用户之间清除?
sqlite - SQLite 与 OpenAFS 锁定兼容?
我想让许多联网计算机上的许多进程同时通过 OpenAFS 1.4.12.1 访问同一个 SQLite 数据库。写入将不频繁,因此 SQLite 的单写入设计应该不成问题。
我想知道这是否可行。我无法找到两个关键信息:
SQLite 文档指出“SQLite 使用 POSIX 咨询锁来实现 Unix 上的锁定” 。它还警告说“你最好的防御是不要将 SQLite 用于网络文件系统上的文件”。但是,它似乎没有指定 SQLite 是否仅使用整个文件锁定,或者它是否也使用字节范围锁定。
我也很难找出 OpenAFS 1.4.12.1 支持的锁定类型。不幸的是,这个1998 年的非官方来源是我能找到的最好的来源。那时,支持整个文件锁定,但不支持字节范围锁定。
官方文档只出现了这个页面,尽管它的标题很友好,但实际上并没有说明最新的 OpenAFS 是否支持 POSIX 字节范围咨询锁定。
编辑:这可能吗?如果是这样,是否需要任何编译时 SQLite 标志?
git - Git 推送通过 AFS 共享上的 git-http-backend 随机失败
我的 Git 存储库位于 AFS 共享上。Linux 服务器上所有正在运行的进程都有权在此 AFS 上写入文件和目录的掩码。
Git 通过带有 Apache 和 git-http-backend 的 Git Smart HTTP 提供服务。
我遇到的问题是,当我尝试从客户端推送到主服务器时,我必须重复操作 3 到 4 次直到它起作用。在 Apache 服务器端,我看到以下错误:
致命:写入对象失败错误:将对象添加到存储库数据库的权限不足 ./objects
在客户端我有这个错误:
error: unpack failed: unpack-objects 异常退出
我不明白的是为什么它会在 3/4 次之后工作,因为在这之间文件夹的权限不会改变。
有什么线索吗?
谢谢!
吉尔斯
PS:客户端的Git版本是git-1.7.3.4-3.6,服务器是git-1.7.4.1
osx-lion - openafs 操作超时
我在 MacOS Lion 上运行 openAFS 1.6。有时,当我尝试访问 AFS 卷中的文件时,会收到一条错误消息“操作超时”。这不会一直发生,但有时当我使用无线(较慢的连接)时,我会收到此错误。
在此之后,我无法访问 AFS 中的任何目录或文件,直到我重新启动计算机。尝试从“系统偏好设置”重新启动 openAFS 会导致出现一条可怕的消息,要求我重新启动计算机。
是否有一些选项可以删除此操作超时并重试连接到 AFS 而无需重新启动计算机?刷新缓存什么的?
openafs - 警告:监听端口 52698 的远程端口转发失败
我正在使用 SSH 访问我大学的 afs 系统。我喜欢使用 rmate(远程 TextMate),它需要 SSH 隧道,所以我在我的.bashrc
.
它一直有效到现在。
authentication - Web2py 和 AFS 身份验证
我想使用 AFS 对我的 web2py 应用程序的用户进行身份验证。不幸的是,pam.py 模块似乎不支持 AFS,只支持本地用户。是否可以用 pam 做到这一点,或者我应该使用其他东西?
git - 推/拉时出现 git 错误:无法打开对象包目录(功能未实现。)
我在 Windows 上使用 Git Bash,并使用 AFS 单元作为远程服务器。当我尝试推或拉时,我收到以下错误消息:
我每次都知道,但据我所知,遥控器已正确更新(包目录除外)。我以前没有见过这个错误,它只发生在我使用 AFS 单元作为遥控器的存储库中。我已经检查了我能想到的所有地方的权限,并且我应该在本地和 AFS 单元上拥有完全的读/写权限。
另一个问题:我也在 OS X 机器上工作,当使用相同的 repos 执行相同的操作时,我没有看到这个错误。
openafs - 如何以编程方式在 AFS 中获取 PAG 编号?
在 AFS(安德鲁文件系统)中,可以将单独的进程放入不同的 PAG 中,我的问题是:如何以编程方式获取某个进程的 PAG 编号?谢谢。
filesystems - 是否有任何正在积极开发的分布式高可用性文件系统(用于 Linux)?
是否有任何正在积极开发的分布式、高可用性文件系统(适用于 Linux)?
让我更具体一点:
分布式意味着它可以优雅地处理客户端到服务器的延迟,就像您在全球公共互联网上发现的那样(300 毫秒及以上很常见)和偶尔的连接不稳定。这意味着需要非常好的客户端缓存(即带有回调)。NFS 不这样做。这也意味着无需 IPSEC VPN 即可对在线数据进行加密。
高可用性意味着数据可以存储在多个服务器上,并且客户端足够聪明,可以在遇到问题时尝试另一台服务器。将这种智能放在客户端中非常重要,这就是为什么不能将这类东西移植到 NFS 上的原因。对于只读数据,这至少需要是可能的。这对于读写数据会很好,但我知道这很难。
文件系统是指导出 POSIX 接口的内核驱动程序,并且在面对不可信的客户端时强制执行权限和访问控制。SAN 系统通常假定客户端是值得信赖的。
我是 OpenAFS 难民。我喜欢它,但在这一点上,我不能再接受它要求所有文件服务器在所有其他文件服务器上有效地“拥有根”。专有磁盘格式和必须运行 Kerberos 基础设施(否则我不需要)的开销也变得越来越成问题。
除了 OpenAFS 之外,还有其他系统具有这些属性吗?间奏曲和尾声可能符合条件,但不再是活跃的项目。Lustre 很酷,但似乎是为超低延迟数据中心设计的。Ceph 很棒,但不是真正的文件系统,更多的是在文件系统下运行的东西(是的,有 CephFS,但它确实是 Ceph 的展示,并且明确没有生产就绪,并且没有时间表)。Tahoe-LAFS 很酷,但它和 GoogleFS 并不是真正的文件系统,因为它们不会通过内核模块导出 POSIX 接口。我对 GFS(全局文件系统)的理解是客户端可以直接操作磁盘上的数据结构,因此它们是隐含的根级受信任的(这就是它快速的部分原因)——如果我错了,请纠正我这里。
需要开源,因为我不能将我的数据锁定在专有的东西中。我不介意为软件付费,但在这种情况下我不能成为人质。
谢谢,