[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gluster-devel] Weirdness in glfs_mkdir()?
From: |
Justin Clift |
Subject: |
Re: [Gluster-devel] Weirdness in glfs_mkdir()? |
Date: |
Tue, 29 Oct 2013 09:54:57 +0000 |
On 29/10/2013, at 4:51 AM, Anand Avati wrote:
> On Mon, Oct 28, 2013 at 6:28 PM, Jay Vyas <address@hidden> wrote:
> wow. im surprised. this caught my eye, checked into the mode:
>
> glfs_mkdir (struct glfs *fs, const char *path, mode_t mode)
>
> So, somehow, the python API is capable of sending a "mode" which doesnt
> correspond to anything enumerated as part of the mode_t, but the C method
> still manages to write the file with a "garbage mode" ?
>
> That sounds like a bug not in python. Not in gluster... but in C ! :) [if
> im understanding this correctyle, which i might not be]
>
> Not sure whether its a bug or feature of C. C runtime is typeless. Python
> ctypes uses dlopen/dlsym which do symbol lookups - doesn't care whether the
> looked up symbol is a data structure or a function name - let alone do type
> matching!
Thanks guys. Armed with this "it's a bug, nor a feature"
info, it turned out to be a simple fix. Added a new mode
parameter to the Gluster Libgfapi mkdir() call works,
passing it straight through to the C glfs_mkdir() call.
New dirs are now created as expected: :)
>>> vol.mkdir("foobar", 0o750)
0
>>> vol.mkdir("foobar/111", 0o750)
0
>>> vol.mkdir("foobar/112", 0o750)
0
>>> vol.mkdir("foobar/113", 0o750)
0
$ sudo ls -la /export/brick/brick1/foobar/
total 0
drwxr-x---. 8 root root 65 Oct 29 09:42 .
drwxr-xr-x. 8 root root 87 Oct 29 09:41 ..
drwxr-x---. 2 root root 6 Oct 29 09:42 111
drwxr-x---. 2 root root 6 Oct 29 09:42 112
drwxr-x---. 2 root root 6 Oct 29 09:42 113
This fix is in Gerrit for review, along with newly
added chmod() and chown() calls, plus some docstrings
for the existing functions.
http://review.gluster.org/#/c/6158
Please review if you have a few minutes. :)
Note - I'm not sure about the format of the docstrings.
Mostly copied the layout of the C comments, but am
happy to adjust things if theres a better docstring
layout.
+ Justin
--
Open Source and Standards @ Red Hat
twitter.com/realjustinclift