|
From: | Krzysztof Cieniuch |
Subject: | Re: Partial checkout builds |
Date: | Tue, 26 Oct 2010 13:36:24 +0100 |
User-agent: | Thunderbird 2.0.0.22 (X11/20090625) |
Luke Shumaker wrote:
This would be perfect since it would also work for Java builds (we have mixed projects Java and c++) and is user space tool so could be used by developers ... but :-((( unfortunately FUSE is not supportedI would suggest trying UnionFS (supported either natively, or via FUSE on most *NIXen). What you do is mount /release/src under /local/src, with /local/src/ on top and /release/src on bottom. UnionFS first checks if a file exists on at the top layer, and keeps checking the next layer until it finds the file, or goes through all the layers. top: /local/src: util.h m1.cc bottom: /release/src: util.h m1.cc m2.cc Depending on which kernel you're on, you can either do the mount directly in /local/src, or you may have to create a separate directory (as you do in Linux). on Linux (via FUSE) the command to mount is: unionfs-fuse -o cow /local/src/=RW:/release/src/=RO /build/src on FreeBSD the command is: Native: mount -o union /release/src /local/src FUSE: mount_unionfs -o below /release/src /local/src I hope this helps! ~ LukeShu O
on Solaris (our primary target OS) and HP-UX ia64.(There is a port of bsd FUSE to open solaris but it looks like it is early stage and I won't be allowed
to install some experimental kernel modules on build servers.)I was googling for few hours for union mount, union filesystem, overlay filesystem, overlay directories and it looks that this feature is supported mainly on Linux and BSD like systems so I'm stuck with my preload hack.
On the other hand FUSE and unionfs-fuse seem like an exact match so I try different approach as well: create FS Gateway server that would on demand create unions and make them available via NFS
Thanks for pointing unionfs as possible solution. Chris
[Prev in Thread] | Current Thread | [Next in Thread] |