We have patched a RHEL5 (5.3) kernel with the latest 2.5.1 unionfs patches. We started with the 2.6.18.8 patch set, and modified it until it went into RH's heavily modified kernel. We didn't have to do do much (most remove stuff that RH already had).
In the end, things seem to work Ok except that UNIX domain sockets that are created within a unionfs writeable layer do not work. They can be created (nc -lU /var/run/mysocket), but we receive an ECONNREFUSED when the client tries to connect (nc -U /var/run/mysocket). r...@ce1:/root> cat /proc/mounts | grep union none /var unionfs rw,dirs=/tmp/var=rw:/var=ro 0 0 We were using an earlier version of unionfs (2.4) on RHEL5, and while we had problems (prompting the move to 2.5.1), the UNIX sockets worked fine. For the life of us, we cannot figure out why UNIX sockets in unionfs 2.4 worked and 2.5.1 does not. In addition, we have other kernels with unionfs 2.4, and they seem to work as well (no other 2.5.1 examples). We have compared the two patch sets, but don't see any obvious differences that would introduce this behavior. The UNIX socket created in the unionfs layer shows up correctly as a socket, and is listed in /proc/net/unix. Could this be a 2.5.1 issue? Anyone want to make a suggestion where we might start looking deeper? We suspect the connect() call is getting back some bogus info on a dentry or i_ino value, but we can't see where by inspection. It looks like all the code that deals with the special files (S_ISSOCK(mode)) is the same between versions of unionfs. Any help would be appreciated. Thanks, Craig
_______________________________________________ unionfs mailing list: http://unionfs.filesystems.org/ unionfs@mail.fsl.cs.sunysb.edu http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs