mogilefs newbie help

Robert Rogers robrogers at mac.com
Thu Mar 31 13:44:24 PST 2005


Hey Mark,

Here's what I get from mogstored:

debug: fd=-1; err=

Not too edifying.

Here's my environment:
Fedora3
Perl: 5.8.5
LINUX::AIO 1.3 (i tried the latest but got same error)  Fyi, in order for AIO to build i had to edit a header file. I added this line:

#include <linux/unistd.h>

so includes look like:

.... 
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
#include <sched.h>
#include <linux/unistd.h>

I got the above suggestion of your mailing list.  I think for Perlbal. Thought it was weird including the unistd.h twice although they are different files.





On Thursday, March 31, 2005, at 01:27PM, Mark Smith <marksmith at danga.com> wrote:

>Well, that's strange.  Could you do me a favor and modify
>lib/Perlbal/ClientHTTP.pm around line 250:
>
>    Linux::AIO::aio_open("$path/$file", O_CREAT | O_TRUNC | O_WRONLY, 0644, sub {
>        # get the fd
>        my $fd = shift;
>
>        print STDERR "debug: fd=$fd; err=$!\n";
>
>        # verify file was opened
>
>I just added the print line.  If you could add that to your Perlbal and
>then try again, that would enable me to try to see what is getting passed
>in from the call to aio_open.
>
>Can you also provide the version number for Perl, Linux::AIO, and whatever
>distribution of Linux you're using?
>
>Thanks!
>
>
>On Thu, Mar 31, 2005, Robert Rogers wrote:
>> Mark,
>> 
>> First you rule for answering so quick.
>> 
>> Second, no, I hadn't created the /var/mogdata/devN dirs just /var/mogdata (and it's owned by mogile who runs mogilefsd)  
>> 
>> However,  I just created /dev1 - /dev3  (which is how many devices i have in localhost:db) mogilefs  still shows the same errror:
>> 
>> system error: Unable to create file (error = Invalid argument, path = /var/mogdata//dev3/0/000/000, file = 0000000058.fid, fd = -1 (Error obtaining link inf\
>> o: No such file or directory))
>> 
>> On the other hand,  if I create the entire path: /var/mogdata//dev3/0/000/000, then all works perfectly.  But, I'm thinking I should have to do this.  
>> 
>> Thanks for your help.
>> 
>> -Rob
>> 
>> On Thursday, March 31, 2005, at 12:43PM, Mark Smith <marksmith at danga.com> wrote:
>> 
>> >> Mar 31 04:16:29 sls2 perlbal[30001]: system error: Unable to create 
>> >> file (error = Invalid argument, \
>> >> path = /var/mogdata//dev3/0/000/000, file = 0000000044.fid, fd = -1 
>> >> (Error obtaining link info: No s\
>> >> uch file or directory))
>> >
>> >Just to confirm --
>> >
>> >The directory /var/mogdata/dev3 exists already, and the user you're running
>> >the mogstored as does have permission there, yes?
>> >
>> >The top-level device directories (devN under /var/mogdata) must already
>> >exist before you can use mogstored.  Also, it must have permission to
>> >create files there.
>> >
>> >That's my first thought, let me know if that's all in order and if it's
>> >still broken, and we'll continue debugging!  :-)
>> >
>> >
>> >--
>> >Mark Smith
>> >junior at danga.com
>> >
>> >
>
>
>--
>Mark Smith
>junior at danga.com
>
>


More information about the mogilefs mailing list