[Gluster-devel] UNIX socket not created in namespace during self-heal

Filipe Maia filipe at xray.bmc.uu.se
Thu Jan 22 15:39:22 UTC 2009


Hi,

In the version 2.0.0rc1 the code that creates entries in the namespace
during the self heal process (for example when starting unify with
preexisting data) is create_entry() in posix.c.

But that code does not create sockets and so one gets an error like
(and it looks like the socket disapeared for the clients):

2009-01-22 16:15:06 E [posix.c:2949:create_entry] ns: invalid mode
0140755 for /export/ns//boo

The following patch fixes the problem for me.

--- posix.c.old 2009-01-22 13:56:12.240486670 +0100
+++ posix.c     2009-01-22 16:33:57.265113137 +0100
@@ -2924,7 +2924,8 @@

                 } else if (S_ISBLK (entry->buf.st_mode) ||
                            S_ISCHR (entry->buf.st_mode) ||
-                           S_ISFIFO (entry->buf.st_mode)) {
+                           S_ISFIFO (entry->buf.st_mode) ||
+                           S_ISSOCK (entry->buf.st_mode)) {

                         ret = mknod (pathname, entry->buf.st_mode,
                                      entry->buf.st_dev);




Filipe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: posix.c.diff3
Type: application/octet-stream
Size: 557 bytes
Desc: not available
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20090122/920f28b2/attachment-0003.obj>


More information about the Gluster-devel mailing list