Has anyone gotten openafs built on a machine using the openvz 2.6.8 patched kernel? We need openafs for our hosting environment, but can't get it to build on the patched kernel. Seems to work w/ the normal unpatched 2.6.8 kernel sources. thx Liam
Do you use openAFS from mainstream? Do you need AFS server or client for your hosting environment?
We're trying to use the openafs client. I'm not sure what you mean when you ask if we use it from mainstream.. we're trying to build 1.4.x from source downloaded from www.openafs.org. We generated a local patch that seemed to let openafs build, and afs is working on the host machine, but not in any of the VPSes. Mounting /afs in the vps using... mount --bind /afs /vz/root/777/afs doesn't result in a useable afs instance, probably because the kenrnel module isn't loaded in the vps, which I'm not sure I can even do: May 4 10:16:24 vps1 kernel: No module symbols loaded - kernel modules not enabled.
> I'm not sure what you mean when you ask if we use it from mainstream.. we're trying to build 1.4.x from source downloaded from www.openafs.org. There is some implementation of AFS in mainstream (vanilla) kernel 2.6.8 and consequently in openVZ kernel. May be it pass your needs? You can download openVZ sources and .config file, add CONFIG_AFS_FS=m string to .config file and compile kernel. > We generated a local patch that seemed to let openafs build, and afs is working on the host machine, but not in any of the VPSes. So, you were able to mount AFS on host machine? And you also were able to work with files on mounted AFS on host machine? > Mounting /afs in the vps using... > # mount --bind /afs /vz/root/777/afs >doesn't result in a useable afs instance, probably because the kernel module isn't loaded in the vps, which I'm not sure I can even do: > May 4 10:16:24 vps1 kernel: No module symbols loaded - kernel modules not enabled. It's impossible and must not be necessary to load modules inside VPS... So, please, investigate, what about mainstream AFS? I will try to set up AFS on my node, asap. Thanks.
> There is some implementation of AFS in mainstream (vanilla) > kernel 2.6.8 and consequently in openVZ kernel. May be it pass > your needs? I don't think it will. I've looked at the notes in /usr/src/linux/Documentation/filesystems/afs.txt, which says.. Quote: This filesystem provides a fairly simple AFS filesystem driver. It is under development and only provides very basic facilities. It does not yet support the following AFS features: (*) Write support. (*) Communications security. (*) Local caching. (*) pioctl() system call. (*) Automatic mounting of embedded mountpoints. We need write support. Some of our servers are also very high traffic, and caching is quite important to us as well. > So, you were able to mount AFS on host machine? With the client from openafs.org, yes. > And you also were able to work with files on mounted AFS on > host machine? It looks like the host machine is having some problems. AFS seems to work until openvz is started (or at least until you try to go into /afs in one of the VPSes). It's loosing contact w/ our afs servers: May 5 11:10:24 simlish kernel: afs: Lost contact with file server 141.211.xxx.yyy in cell umich.edu (all multi-homed ip addresses down for the server) May 5 11:13:28 simlish kernel: afs: file server 141.211.xxx.yyy in cell umich.edu is back up (multi-homed address; other same-host interfaces may still be down) So, maybe our patch needs some work. Could this be due to the routing traffic through virtual interface (venet)? Or maybe by binding /afs to multiple directories? (mount --bind /afs /vz/root/777/afs)
it should work fine with bind mount. So can you check please the output of the following commands both from host: # ls /afs # ls /vz/root/777/afs and from VPS 777: # ls /afs
/afs, /vz/private/777/afs on the host, and /afs on the guest are all identical. I'm able to klog and get afs tokens, but when I actually start and access files in AFS, the connections to our local afs servers time out. They do reconnect, but by then the functionality is lost and everything afs related times out.
I created a bug for this: http://bugzilla.openvz.org/show_bug.cgi?id=166 and added a patch to bugzilla, which should help. But I can't check it :/ Can you help with it?
Is this patch for the rudimentary AFS support included in the kernel?
I have to admit I'm not a C programmer.. and I'm certainly not a kernel programmer. What's the difference between the for_each_process_all() and for_each_process_ve() calls? The guy who made our patch pretty much replaced all occurrances of for_each_process() w/ for_each_process_all(). I'm wondering if some of them should have been for_each_process_ve() instead?
for_each_process_all() loops through every process in the system, while for_each_process_ve() only through processes of current VE (Virtual Environment, VPS, container).
no, this patch is not included, it was prepared by me due to your complain and imho should help. at least it should be a partial fix if not the whole one. So I ask you to check and give me to know.
a bit explanation to the patch: AFS is not virtualized, so all connections should go from the same context. if from the host, then from the host. w/o this patch net packets will go from arbitrary context and so it can fail.
Hi, is openafs currently working with openvz? Is somebody working on it? Regards Stephan
Hi there, in know this topic is quite old, but i ran into some trouble with the latest stable kernel on debian. I removed AFS-support form the openvz-kernel and tried compiling the module from source but it always gives some error about GPLed symbols (sys_wait4)... Anyone else having this problem? When i get back to the machine, i will post the exact error message... greetings and thx for any kind of help, strowi
just add EXPORT_SYMBOL(sys_wait4) to your sources. it looks like someone still uses this symbol.
thx, but where should i add it? In the kernel-sources or the openafs sources? I am not that much of a kernel-guru. I would think i have to add it in the kernel, but where? thx, strowi
you can add it to kernel sources. find sys_wait4() function and add the export right below it. also plz next time provide exact dmesg messages so it is clear what module is using it.
thx, that solved the error, but brought up a couple of new ones, which i am not able/going to fix... thx for the help though... strowi
I have another problem with openafs-1.4.7 kernel module. Firstly - it just not compiles in one place (even with 2.6.26 patch), because of 'for_each_process' in afs_osi.c. As your wiki says, I tried to change it to for_each_process_all (or _ve - results was the same). But the worst problem is that module just not responding. It even not prints any dmesg output (normally, kernel argues on module license (tried on other machine)). I tried to upgrade attached patch, but it not help. I'm using 2.6.26 kernel from git master branch. This is error (maybe solution must be more complex, then simply add _all/_ve?): src/libafs/MODLOAD-2.6.26-SP/afs_osi.c: In function `afs_osi_TraverseProcTable': src/libafs/MODLOAD-2.6.26-SP/afs_osi.c:852: error: implicit declaration of function `for_each_task' src/libafs/MODLOAD-2.6.26-SP/afs_osi.c:852: error: syntax error before "if" src/libafs/MODLOAD-2.6.26-SP/afs_osi.c: At top level: src/libafs/MODLOAD-2.6.26-SP/afs_osi.c:864: error: syntax error before "if" I can't understand anything, why it could be, may be anyone have ideas?