SCIENTIFIC-LINUX-USERS Archives

August 2006

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Urs Beyerle <[log in to unmask]>
Reply To:
Urs Beyerle <[log in to unmask]>
Date:
Thu, 3 Aug 2006 20:57:08 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (99 lines)
Hi,

Concerning unionfs: building kernel-modules for unionfs should not be a 
big thing. However, as far as I have tested, unionfs does not run 100% 
stable with the SL kernel (2.6.9). For the LiveCD it is usable, but I 
would not use it on a full productive system.

For the LiveCD I use unionfs version 1.0.14 with a patch for inode.c 
(see below). After version 1.0.14 the design of unionfs was changed 
significantly and newer versions were no longer running with kernel 
2.6.9 - as far I have tested.

Recently, unionfs provides a version tree 1.1.x, which should run on 
kernels 2.6.9 -2.6.15, see
http://www.fsl.cs.sunysb.edu/project-unionfs.html

Although I could compile version 1.1.5 against the kernel 2.6.9 and 
mounting unionfs works, I get a "Inappropriate ioctl for device" error, 
when using unionctl. I have written to the unionfs mailing list, but no 
solution so far:
http://www.fsl.cs.sunysb.edu/pipermail/unionfs/2006-June/004579.html

If somebody has any idea or solution for this problem, I would be very 
grateful!
It would also help to make the LiveCD more stable.

Meanwhile I can try to build some kernel-module rpms for testing.

Urs



---------------------------
$ diff -urNr unionfs-1.0.14 unionfs-1.0.14_patched
diff -urNr unionfs-1.0.14/inode.c unionfs-1.0.14_patched/inode.c
--- unionfs-1.0.14/inode.c      2005-09-15 20:55:43.000000000 +0200
+++ unionfs-1.0.14_patched/inode.c      2005-11-25 22:53:09.000000000 +0100
@@ -45,7 +45,7 @@
        hidden_dentry = dtohd(dentry);

        /* check if whiteout exists in this branch, i.e. lookup .wh.foo 
first */
-       name = KMALLOC(dentry->d_name.len + sizeof(".wh"), GFP_UNIONFS);
+       name = KMALLOC(dentry->d_name.len + sizeof(".wh."), GFP_UNIONFS);
        if (!name) {
                err = -ENOMEM;
                goto out;
@@ -370,7 +370,7 @@
        hidden_dentry = dtohd(dentry);

        /* check if whiteout exists in this branch, i.e. lookup .wh.foo 
first. If present, delete it */
-       name = KMALLOC(dentry->d_name.len + sizeof(".wh"), GFP_UNIONFS);
+       name = KMALLOC(dentry->d_name.len + sizeof(".wh."), GFP_UNIONFS);
        if (!name) {
                err = -ENOMEM;
                goto out;
@@ -506,7 +506,7 @@
        hidden_dentry = dtohd(dentry);

        // check if whiteout exists in this branch, i.e. lookup .wh.foo 
first
-       name = KMALLOC(dentry->d_name.len + sizeof(".wh"), GFP_UNIONFS);
+       name = KMALLOC(dentry->d_name.len + sizeof(".wh."), GFP_UNIONFS);
        if (!name) {
                err = -ENOMEM;
                goto out;
@@ -673,7 +673,7 @@
        hidden_dentry = dtohd(dentry);

        // check if whiteout exists in this branch, i.e. lookup .wh.foo 
first
-       name = KMALLOC(dentry->d_name.len + sizeof(".wh"), GFP_UNIONFS);
+       name = KMALLOC(dentry->d_name.len + sizeof(".wh."), GFP_UNIONFS);
        if (!name) {
                err = -ENOMEM;
                goto out;






Jeremy Sanders wrote:
> Hi -
>
> We've got a cluster server we'd like to use unionfs on. Does anyone 
> have a nice kernel module package for this?
>
> I see it is used on the SL livecd.
>
> I also see there's a fuse-based version called FunionFS, but I don't 
> know how well this works...
>
> http://funionfs.apiou.org/index.php?lng=en
>
> Jeremy
>

ATOM RSS1 RSS2