|
From: Tony S. <tsh...@os...> - 2007-04-13 18:12:02
|
Yes, there is Fuse for FreeBSD. I've built it from ports, and it's
using API 2.6.
Anyhooo....../configure is okay (after editing fuse.h to report the
correct API, apparently it has a backwards compat mode to version 2.1
and defaults to that. Changing to 2.6 per the instructions works
fine!), then when I attempt to do make or gmake, I get this error:
manager# gmake
gmake all-am
gmake[1]: Entering directory `/usr/local/src/mysqlfs-0.4.0-rc1'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include -I/usr/local/include
-L/usr/lib -L/usr/local/lib -I/usr/include -I/usr/local/include
-L/usr/lib -L/usr/local/lib -I/usr/local/include -Wall -Werror
-I/usr/local/include/mysql -Wall -Werror -MT query.o -MD -MP -MF
".deps/query.Tpo" -c -o query.o query.c; \
then mv -f ".deps/query.Tpo" ".deps/query.Po"; else rm -f
".deps/query.Tpo"; exit 1; fi
query.c: In function `query_utime':
query.c:439: warning: long int format, time_t arg (arg 4)
query.c:439: warning: long int format, time_t arg (arg 5)
query.c:439: warning: long int format, time_t arg (arg 4)
query.c:439: warning: long int format, time_t arg (arg 5)
gmake[1]: *** [query.o] Error 1
gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1'
gmake: *** [all] Error 2
The code section it's complaining about is below. The last line is line
439.
---------
int query_utime(MYSQL *mysql, long inode, struct utimbuf *time)
{
int ret;
char sql[SQL_MAX];
snprintf(sql, SQL_MAX,
"UPDATE inodes "
"SET atime=%ld, mtime=%ld "
"WHERE inode=%lu",
time->actime, time->modtime, inode);
--------
It appears to not like time->actime and time->modtime. Any idea what
might cause this or how to debug it/fix it up?
Thanks!
Tony Shadwick
OSS Solutions
|
|
From: Tony S. <tsh...@os...> - 2007-04-13 18:39:41
|
Well, figured this out partially. time.h on freebsd doesn't define the
struct utimbuf. utime.h does, however including it with or without
time.h makes no difference, I get the same error. :\
Tony Shadwick
OSS Solutions
Tony Shadwick wrote:
> Yes, there is Fuse for FreeBSD. I've built it from ports, and it's
> using API 2.6.
>
> Anyhooo....../configure is okay (after editing fuse.h to report the
> correct API, apparently it has a backwards compat mode to version 2.1
> and defaults to that. Changing to 2.6 per the instructions works
> fine!), then when I attempt to do make or gmake, I get this error:
>
> manager# gmake
> gmake all-am
> gmake[1]: Entering directory `/usr/local/src/mysqlfs-0.4.0-rc1'
> if gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include -I/usr/local/include
> -L/usr/lib -L/usr/local/lib -I/usr/include -I/usr/local/include
> -L/usr/lib -L/usr/local/lib -I/usr/local/include -Wall -Werror
> -I/usr/local/include/mysql -Wall -Werror -MT query.o -MD -MP -MF
> ".deps/query.Tpo" -c -o query.o query.c; \
> then mv -f ".deps/query.Tpo" ".deps/query.Po"; else rm -f
> ".deps/query.Tpo"; exit 1; fi
> query.c: In function `query_utime':
> query.c:439: warning: long int format, time_t arg (arg 4)
> query.c:439: warning: long int format, time_t arg (arg 5)
> query.c:439: warning: long int format, time_t arg (arg 4)
> query.c:439: warning: long int format, time_t arg (arg 5)
> gmake[1]: *** [query.o] Error 1
> gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1'
> gmake: *** [all] Error 2
>
> The code section it's complaining about is below. The last line is line
> 439.
>
> ---------
>
> int query_utime(MYSQL *mysql, long inode, struct utimbuf *time)
> {
> int ret;
> char sql[SQL_MAX];
>
> snprintf(sql, SQL_MAX,
> "UPDATE inodes "
> "SET atime=%ld, mtime=%ld "
> "WHERE inode=%lu",
> time->actime, time->modtime, inode);
>
> --------
>
> It appears to not like time->actime and time->modtime. Any idea what
> might cause this or how to debug it/fix it up?
>
> Thanks!
>
> Tony Shadwick
> OSS Solutions
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Mysqlfs-general mailing list
> Mys...@li...
> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
|
|
From: Tony S. <tsh...@os...> - 2007-04-13 19:19:05
|
Well, I replied to myself from the wrong address earlier, so it didn't get posted. ooops. Okay, the compile error was fixed by first running ./configure, then modifying Makefile to remove -Wall from CFLAGS (there are two instances of it). So it compiles, and I can mount the filesytem: manager# df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 496M 76M 380M 17% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1e 496M 20K 456M 0% /tmp /dev/ad0s1f 28G 1.9G 24G 7% /usr /dev/ad0s1d 2.9G 39M 2.6G 1% /var devfs 1.0K 1.0K 0B 100% /var/named/dev /dev/fuse1 0B 0B 0B 100% /mysqlfs Um...capacity 100%? It gets better: manager# cd /mysqlfs/ manager# ls -alhs total 2 0 drwxr-xr-x 1 root wheel 0B Apr 13 14:01 . 2 drwxr-xr-x 22 root wheel 512B Apr 13 14:00 .. manager# touch test touch: test: No such file or directory manager# mkdir test mkdir: .: No such file or directory manager# pwd /mysqlfs I did a little research on this, and came across this page: http://datafarm.apgrid.org/ml/gfarm-discuss/msg00162.html It makes mention of sys/statfs.h, configure.in not being right, and most importantly: "statvfs->f_frsize is not set, therefore df command cannot work correctly on FreeBSD." It seems to be a bit more than that though, as I can't execute any file operations at all, and nothing appears to be getting logged... Tony Shadwick wrote: > Well, figured this out partially. time.h on freebsd doesn't define the > struct utimbuf. utime.h does, however including it with or without > time.h makes no difference, I get the same error. :\ > > Tony Shadwick > OSS Solutions > > Tony Shadwick wrote: >> Yes, there is Fuse for FreeBSD. I've built it from ports, and it's >> using API 2.6. >> >> Anyhooo....../configure is okay (after editing fuse.h to report the >> correct API, apparently it has a backwards compat mode to version 2.1 >> and defaults to that. Changing to 2.6 per the instructions works >> fine!), then when I attempt to do make or gmake, I get this error: >> >> manager# gmake >> gmake all-am >> gmake[1]: Entering directory `/usr/local/src/mysqlfs-0.4.0-rc1' >> if gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include -I/usr/local/include >> -L/usr/lib -L/usr/local/lib -I/usr/include -I/usr/local/include >> -L/usr/lib -L/usr/local/lib -I/usr/local/include -Wall -Werror >> -I/usr/local/include/mysql -Wall -Werror -MT query.o -MD -MP -MF >> ".deps/query.Tpo" -c -o query.o query.c; \ >> then mv -f ".deps/query.Tpo" ".deps/query.Po"; else rm -f >> ".deps/query.Tpo"; exit 1; fi >> query.c: In function `query_utime': >> query.c:439: warning: long int format, time_t arg (arg 4) >> query.c:439: warning: long int format, time_t arg (arg 5) >> query.c:439: warning: long int format, time_t arg (arg 4) >> query.c:439: warning: long int format, time_t arg (arg 5) >> gmake[1]: *** [query.o] Error 1 >> gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1' >> gmake: *** [all] Error 2 >> >> The code section it's complaining about is below. The last line is line >> 439. >> >> --------- >> >> int query_utime(MYSQL *mysql, long inode, struct utimbuf *time) >> { >> int ret; >> char sql[SQL_MAX]; >> >> snprintf(sql, SQL_MAX, >> "UPDATE inodes " >> "SET atime=%ld, mtime=%ld " >> "WHERE inode=%lu", >> time->actime, time->modtime, inode); >> >> -------- >> >> It appears to not like time->actime and time->modtime. Any idea what >> might cause this or how to debug it/fix it up? >> >> Thanks! >> >> Tony Shadwick >> OSS Solutions >> >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share your >> opinions on IT & business topics through brief surveys-and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Mysqlfs-general mailing list >> Mys...@li... >> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Mysqlfs-general mailing list > Mys...@li... > https://lists.sourceforge.net/lists/listinfo/mysqlfs-general |
|
From: Tony S. <tsh...@os...> - 2007-04-13 19:38:03
|
Ugh, I did it again. Here's the URL spelling out how to fix this: http://fuse4bsd.creo.hu/doc/html_single_out/doc.html#hd001005 Tony Shadwick wrote: > Well, I replied to myself from the wrong address earlier, so it didn't > get posted. ooops. > > Okay, the compile error was fixed by first running ./configure, then > modifying Makefile to remove -Wall from CFLAGS (there are two instances > of it). > > So it compiles, and I can mount the filesytem: > > manager# df -h > Filesystem Size Used Avail Capacity Mounted on > /dev/ad0s1a 496M 76M 380M 17% / > devfs 1.0K 1.0K 0B 100% /dev > /dev/ad0s1e 496M 20K 456M 0% /tmp > /dev/ad0s1f 28G 1.9G 24G 7% /usr > /dev/ad0s1d 2.9G 39M 2.6G 1% /var > devfs 1.0K 1.0K 0B 100% /var/named/dev > /dev/fuse1 0B 0B 0B 100% /mysqlfs > > Um...capacity 100%? > > It gets better: > > manager# cd /mysqlfs/ > manager# ls -alhs > total 2 > 0 drwxr-xr-x 1 root wheel 0B Apr 13 14:01 . > 2 drwxr-xr-x 22 root wheel 512B Apr 13 14:00 .. > manager# touch test > touch: test: No such file or directory > manager# mkdir test > mkdir: .: No such file or directory > manager# pwd > /mysqlfs > > I did a little research on this, and came across this page: > > http://datafarm.apgrid.org/ml/gfarm-discuss/msg00162.html > > It makes mention of sys/statfs.h, configure.in not being right, and most > importantly: > > "statvfs->f_frsize is not set, therefore df command cannot work > correctly on FreeBSD." > > It seems to be a bit more than that though, as I can't execute any file > operations at all, and nothing appears to be getting logged... > > Tony Shadwick wrote: >> Well, figured this out partially. time.h on freebsd doesn't define the >> struct utimbuf. utime.h does, however including it with or without >> time.h makes no difference, I get the same error. :\ >> >> Tony Shadwick >> OSS Solutions >> >> Tony Shadwick wrote: >>> Yes, there is Fuse for FreeBSD. I've built it from ports, and it's >>> using API 2.6. >>> >>> Anyhooo....../configure is okay (after editing fuse.h to report the >>> correct API, apparently it has a backwards compat mode to version 2.1 >>> and defaults to that. Changing to 2.6 per the instructions works >>> fine!), then when I attempt to do make or gmake, I get this error: >>> >>> manager# gmake >>> gmake all-am >>> gmake[1]: Entering directory `/usr/local/src/mysqlfs-0.4.0-rc1' >>> if gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include -I/usr/local/include >>> -L/usr/lib -L/usr/local/lib -I/usr/include -I/usr/local/include >>> -L/usr/lib -L/usr/local/lib -I/usr/local/include -Wall -Werror >>> -I/usr/local/include/mysql -Wall -Werror -MT query.o -MD -MP -MF >>> ".deps/query.Tpo" -c -o query.o query.c; \ >>> then mv -f ".deps/query.Tpo" ".deps/query.Po"; else rm -f >>> ".deps/query.Tpo"; exit 1; fi >>> query.c: In function `query_utime': >>> query.c:439: warning: long int format, time_t arg (arg 4) >>> query.c:439: warning: long int format, time_t arg (arg 5) >>> query.c:439: warning: long int format, time_t arg (arg 4) >>> query.c:439: warning: long int format, time_t arg (arg 5) >>> gmake[1]: *** [query.o] Error 1 >>> gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1' >>> gmake: *** [all] Error 2 >>> >>> The code section it's complaining about is below. The last line is line >>> 439. >>> >>> --------- >>> >>> int query_utime(MYSQL *mysql, long inode, struct utimbuf *time) >>> { >>> int ret; >>> char sql[SQL_MAX]; >>> >>> snprintf(sql, SQL_MAX, >>> "UPDATE inodes " >>> "SET atime=%ld, mtime=%ld " >>> "WHERE inode=%lu", >>> time->actime, time->modtime, inode); >>> >>> -------- >>> >>> It appears to not like time->actime and time->modtime. Any idea what >>> might cause this or how to debug it/fix it up? >>> >>> Thanks! >>> >>> Tony Shadwick >>> OSS Solutions >>> >>> ------------------------------------------------------------------------- >>> Take Surveys. Earn Cash. Influence the Future of IT >>> Join SourceForge.net's Techsay panel and you'll get the chance to share your >>> opinions on IT & business topics through brief surveys-and earn cash >>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>> _______________________________________________ >>> Mysqlfs-general mailing list >>> Mys...@li... >>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share your >> opinions on IT & business topics through brief surveys-and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Mysqlfs-general mailing list >> Mys...@li... >> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Mysqlfs-general mailing list > Mys...@li... > https://lists.sourceforge.net/lists/listinfo/mysqlfs-general |
|
From: Tony S. <tsh...@os...> - 2007-04-13 20:09:21
|
This just keeps getting better and better. I might note here that I'm
no c programmer, so be nice to me. :)
I've added this into mysqlfs.c:
static int mysqlfs_statfs(const char *path, struct statvfs *buf)
{
(void) path;
buf->f_namemax = 255;
buf->f_bsize = 4096;
/* df seems to use f_bsize instead of f_frsize, so make them the
same */
buf->f_frsize = buf->f_bsize;
buf->f_blocks = buf->f_bfree = buf->f_bavail =
1000ULL * 1024 * 1024 * 1024 / buf->f_frsize;
buf->f_files = buf->f_ffree = 1000000000;
return 0;
}
and also added a declaration for it to the fuse_operations struct. I
might also mention that the hard drive in this system isn't all that
large, about 20GB if I recall, and I'm connecting to a local MySQL
database. This ought to strike you as funny then:
/dev/fuse3 1.0T 0B 1.0T 0% /mysqlfs
Obviously I have f_namemax and f_bsize completely wrong. :P That, and I
still can't write. Same errors. Grrr...I'm missing something here, I
just don't know what.
Tony Shadwick wrote:
> Ugh, I did it again. Here's the URL spelling out how to fix this:
>
> http://fuse4bsd.creo.hu/doc/html_single_out/doc.html#hd001005
>
> Tony Shadwick wrote:
>> Well, I replied to myself from the wrong address earlier, so it didn't
>> get posted. ooops.
>>
>> Okay, the compile error was fixed by first running ./configure, then
>> modifying Makefile to remove -Wall from CFLAGS (there are two instances
>> of it).
>>
>> So it compiles, and I can mount the filesytem:
>>
>> manager# df -h
>> Filesystem Size Used Avail Capacity Mounted on
>> /dev/ad0s1a 496M 76M 380M 17% /
>> devfs 1.0K 1.0K 0B 100% /dev
>> /dev/ad0s1e 496M 20K 456M 0% /tmp
>> /dev/ad0s1f 28G 1.9G 24G 7% /usr
>> /dev/ad0s1d 2.9G 39M 2.6G 1% /var
>> devfs 1.0K 1.0K 0B 100% /var/named/dev
>> /dev/fuse1 0B 0B 0B 100% /mysqlfs
>>
>> Um...capacity 100%?
>>
>> It gets better:
>>
>> manager# cd /mysqlfs/
>> manager# ls -alhs
>> total 2
>> 0 drwxr-xr-x 1 root wheel 0B Apr 13 14:01 .
>> 2 drwxr-xr-x 22 root wheel 512B Apr 13 14:00 ..
>> manager# touch test
>> touch: test: No such file or directory
>> manager# mkdir test
>> mkdir: .: No such file or directory
>> manager# pwd
>> /mysqlfs
>>
>> I did a little research on this, and came across this page:
>>
>> http://datafarm.apgrid.org/ml/gfarm-discuss/msg00162.html
>>
>> It makes mention of sys/statfs.h, configure.in not being right, and most
>> importantly:
>>
>> "statvfs->f_frsize is not set, therefore df command cannot work
>> correctly on FreeBSD."
>>
>> It seems to be a bit more than that though, as I can't execute any file
>> operations at all, and nothing appears to be getting logged...
>>
>> Tony Shadwick wrote:
>>> Well, figured this out partially. time.h on freebsd doesn't define the
>>> struct utimbuf. utime.h does, however including it with or without
>>> time.h makes no difference, I get the same error. :\
>>>
>>> Tony Shadwick
>>> OSS Solutions
>>>
>>> Tony Shadwick wrote:
>>>> Yes, there is Fuse for FreeBSD. I've built it from ports, and it's
>>>> using API 2.6.
>>>>
>>>> Anyhooo....../configure is okay (after editing fuse.h to report the
>>>> correct API, apparently it has a backwards compat mode to version 2.1
>>>> and defaults to that. Changing to 2.6 per the instructions works
>>>> fine!), then when I attempt to do make or gmake, I get this error:
>>>>
>>>> manager# gmake
>>>> gmake all-am
>>>> gmake[1]: Entering directory `/usr/local/src/mysqlfs-0.4.0-rc1'
>>>> if gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include -I/usr/local/include
>>>> -L/usr/lib -L/usr/local/lib -I/usr/include -I/usr/local/include
>>>> -L/usr/lib -L/usr/local/lib -I/usr/local/include -Wall -Werror
>>>> -I/usr/local/include/mysql -Wall -Werror -MT query.o -MD -MP -MF
>>>> ".deps/query.Tpo" -c -o query.o query.c; \
>>>> then mv -f ".deps/query.Tpo" ".deps/query.Po"; else rm -f
>>>> ".deps/query.Tpo"; exit 1; fi
>>>> query.c: In function `query_utime':
>>>> query.c:439: warning: long int format, time_t arg (arg 4)
>>>> query.c:439: warning: long int format, time_t arg (arg 5)
>>>> query.c:439: warning: long int format, time_t arg (arg 4)
>>>> query.c:439: warning: long int format, time_t arg (arg 5)
>>>> gmake[1]: *** [query.o] Error 1
>>>> gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1'
>>>> gmake: *** [all] Error 2
>>>>
>>>> The code section it's complaining about is below. The last line is line
>>>> 439.
>>>>
>>>> ---------
>>>>
>>>> int query_utime(MYSQL *mysql, long inode, struct utimbuf *time)
>>>> {
>>>> int ret;
>>>> char sql[SQL_MAX];
>>>>
>>>> snprintf(sql, SQL_MAX,
>>>> "UPDATE inodes "
>>>> "SET atime=%ld, mtime=%ld "
>>>> "WHERE inode=%lu",
>>>> time->actime, time->modtime, inode);
>>>>
>>>> --------
>>>>
>>>> It appears to not like time->actime and time->modtime. Any idea what
>>>> might cause this or how to debug it/fix it up?
>>>>
>>>> Thanks!
>>>>
>>>> Tony Shadwick
>>>> OSS Solutions
>>>>
>>>> -------------------------------------------------------------------------
>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>>>> opinions on IT & business topics through brief surveys-and earn cash
>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>> _______________________________________________
>>>> Mysqlfs-general mailing list
>>>> Mys...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
>>> -------------------------------------------------------------------------
>>> Take Surveys. Earn Cash. Influence the Future of IT
>>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>>> opinions on IT & business topics through brief surveys-and earn cash
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>> _______________________________________________
>>> Mysqlfs-general mailing list
>>> Mys...@li...
>>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
>> -------------------------------------------------------------------------
>> Take Surveys. Earn Cash. Influence the Future of IT
>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>> opinions on IT & business topics through brief surveys-and earn cash
>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>> _______________________________________________
>> Mysqlfs-general mailing list
>> Mys...@li...
>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Mysqlfs-general mailing list
> Mys...@li...
> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
|
|
From: Tony S. <tsh...@os...> - 2007-04-13 19:20:55
|
...and here's what is going wrong! http://fuse4bsd.creo.hu/doc/html_single_out/doc.html#hd001005 Tony Shadwick wrote: > Well, I replied to myself from the wrong address earlier, so it didn't > get posted. ooops. > > Okay, the compile error was fixed by first running ./configure, then > modifying Makefile to remove -Wall from CFLAGS (there are two instances > of it). > > So it compiles, and I can mount the filesytem: > > manager# df -h > Filesystem Size Used Avail Capacity Mounted on > /dev/ad0s1a 496M 76M 380M 17% / > devfs 1.0K 1.0K 0B 100% /dev > /dev/ad0s1e 496M 20K 456M 0% /tmp > /dev/ad0s1f 28G 1.9G 24G 7% /usr > /dev/ad0s1d 2.9G 39M 2.6G 1% /var > devfs 1.0K 1.0K 0B 100% /var/named/dev > /dev/fuse1 0B 0B 0B 100% /mysqlfs > > Um...capacity 100%? > > It gets better: > > manager# cd /mysqlfs/ > manager# ls -alhs > total 2 > 0 drwxr-xr-x 1 root wheel 0B Apr 13 14:01 . > 2 drwxr-xr-x 22 root wheel 512B Apr 13 14:00 .. > manager# touch test > touch: test: No such file or directory > manager# mkdir test > mkdir: .: No such file or directory > manager# pwd > /mysqlfs > > I did a little research on this, and came across this page: > > http://datafarm.apgrid.org/ml/gfarm-discuss/msg00162.html > > It makes mention of sys/statfs.h, configure.in not being right, and most > importantly: > > "statvfs->f_frsize is not set, therefore df command cannot work > correctly on FreeBSD." > > It seems to be a bit more than that though, as I can't execute any file > operations at all, and nothing appears to be getting logged... > > Tony Shadwick wrote: >> Well, figured this out partially. time.h on freebsd doesn't define the >> struct utimbuf. utime.h does, however including it with or without >> time.h makes no difference, I get the same error. :\ >> >> Tony Shadwick >> OSS Solutions >> >> Tony Shadwick wrote: >>> Yes, there is Fuse for FreeBSD. I've built it from ports, and it's >>> using API 2.6. >>> >>> Anyhooo....../configure is okay (after editing fuse.h to report the >>> correct API, apparently it has a backwards compat mode to version 2.1 >>> and defaults to that. Changing to 2.6 per the instructions works >>> fine!), then when I attempt to do make or gmake, I get this error: >>> >>> manager# gmake >>> gmake all-am >>> gmake[1]: Entering directory `/usr/local/src/mysqlfs-0.4.0-rc1' >>> if gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include -I/usr/local/include >>> -L/usr/lib -L/usr/local/lib -I/usr/include -I/usr/local/include >>> -L/usr/lib -L/usr/local/lib -I/usr/local/include -Wall -Werror >>> -I/usr/local/include/mysql -Wall -Werror -MT query.o -MD -MP -MF >>> ".deps/query.Tpo" -c -o query.o query.c; \ >>> then mv -f ".deps/query.Tpo" ".deps/query.Po"; else rm -f >>> ".deps/query.Tpo"; exit 1; fi >>> query.c: In function `query_utime': >>> query.c:439: warning: long int format, time_t arg (arg 4) >>> query.c:439: warning: long int format, time_t arg (arg 5) >>> query.c:439: warning: long int format, time_t arg (arg 4) >>> query.c:439: warning: long int format, time_t arg (arg 5) >>> gmake[1]: *** [query.o] Error 1 >>> gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1' >>> gmake: *** [all] Error 2 >>> >>> The code section it's complaining about is below. The last line is line >>> 439. >>> >>> --------- >>> >>> int query_utime(MYSQL *mysql, long inode, struct utimbuf *time) >>> { >>> int ret; >>> char sql[SQL_MAX]; >>> >>> snprintf(sql, SQL_MAX, >>> "UPDATE inodes " >>> "SET atime=%ld, mtime=%ld " >>> "WHERE inode=%lu", >>> time->actime, time->modtime, inode); >>> >>> -------- >>> >>> It appears to not like time->actime and time->modtime. Any idea what >>> might cause this or how to debug it/fix it up? >>> >>> Thanks! >>> >>> Tony Shadwick >>> OSS Solutions >>> >>> ------------------------------------------------------------------------- >>> Take Surveys. Earn Cash. Influence the Future of IT >>> Join SourceForge.net's Techsay panel and you'll get the chance to share your >>> opinions on IT & business topics through brief surveys-and earn cash >>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>> _______________________________________________ >>> Mysqlfs-general mailing list >>> Mys...@li... >>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share your >> opinions on IT & business topics through brief surveys-and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Mysqlfs-general mailing list >> Mys...@li... >> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Mysqlfs-general mailing list > Mys...@li... > https://lists.sourceforge.net/lists/listinfo/mysqlfs-general |
|
From: Michal L. <mi...@lo...> - 2007-04-15 22:01:37
|
Tony Shadwick wrote: > manager# df -h > Filesystem Size Used Avail Capacity Mounted on > /dev/ad0s1a 496M 76M 380M 17% / > devfs 1.0K 1.0K 0B 100% /dev > /dev/ad0s1e 496M 20K 456M 0% /tmp > /dev/ad0s1f 28G 1.9G 24G 7% /usr > /dev/ad0s1d 2.9G 39M 2.6G 1% /var > devfs 1.0K 1.0K 0B 100% /var/named/dev > /dev/fuse1 0B 0B 0B 100% /mysqlfs > > Um...capacity 100%? I have no idea how to get an amount of free space from MySQL. I could indeed count the Used space quite easily but not the free space. I'm not sure that MySQL can report it somehow. Any ideas? Michal |
|
From: Tony S. <tsh...@os...> - 2007-04-15 22:07:06
|
mysql -u <user> --password=<pass> <db_name> -e 'show table status;' |
awk '{sum=sum+$7+$9;} END {print sum/1024/1024}'
where <user>, <pass> and <db_name> is your account and database.
returns the size of (sum of) columns Data_length + Index_length in MB
That came from mysql's website. So far as total space available,
that's trickier. Unless you've built-in some sort of limit for a
particular database, it would be ~= to the amount of space left of the
filesystem that the database resides on *or* ~= to the space available
left in the ndb cluster. Good question either way though. :\
Michal Ludvig wrote:
> Tony Shadwick wrote:
>
>> manager# df -h
>> Filesystem Size Used Avail Capacity Mounted on
>> /dev/ad0s1a 496M 76M 380M 17% /
>> devfs 1.0K 1.0K 0B 100% /dev
>> /dev/ad0s1e 496M 20K 456M 0% /tmp
>> /dev/ad0s1f 28G 1.9G 24G 7% /usr
>> /dev/ad0s1d 2.9G 39M 2.6G 1% /var
>> devfs 1.0K 1.0K 0B 100% /var/named/dev
>> /dev/fuse1 0B 0B 0B 100% /mysqlfs
>>
>> Um...capacity 100%?
>
> I have no idea how to get an amount of free space from MySQL. I could
> indeed count the Used space quite easily but not the free space. I'm not
> sure that MySQL can report it somehow. Any ideas?
>
> Michal
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Mysqlfs-general mailing list
> Mys...@li...
> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
|
|
From: Stef B. <st...@bo...> - 2007-04-13 21:34:43
|
On Friday 13 April 2007 20:39:37 Tony Shadwick wrote: > Well, figured this out partially. time.h on freebsd doesn't define the > struct utimbuf. utime.h does, however including it with or without > time.h makes no difference, I get the same error. :\ > > Tony Shadwick > OSS Solutions Hello, do not use the 3.1 version. Use the version from cvs. 3.1 version is not able to store files bigger than 1M. Stef Bon |
|
From: Tony S. <tsh...@os...> - 2007-04-13 21:53:14
|
I pulled down the cvs version a few mins ago, but my box doesn't appear to have aclocal, so I'm working on that since there's no configure script. :P Tony Shadwick OSS Solutions Stef Bon wrote: > On Friday 13 April 2007 20:39:37 Tony Shadwick wrote: >> Well, figured this out partially. time.h on freebsd doesn't define the >> struct utimbuf. utime.h does, however including it with or without >> time.h makes no difference, I get the same error. :\ >> >> Tony Shadwick >> OSS Solutions > > Hello, > > do not use the 3.1 version. Use the version from cvs. 3.1 version is not able to store files bigger than 1M. > > Stef Bon > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Mysqlfs-general mailing list > Mys...@li... > https://lists.sourceforge.net/lists/listinfo/mysqlfs-general |
|
From: Tony S. <tsh...@os...> - 2007-04-13 22:07:54
|
Well, I built from cvs, but I still have the problem of not being able to write at all. Once I'm able to write, I might be able to write files larger than 1MB though! :) manager# mount_fusefs /dev/fuse0 /mysqlfs/ mysqlfs -ohost=localhost -ouser=mysqlfs -opassword=mysqlfs -odatabase=mysqlfs * Opening logfile 'mysqlfs.log': OK manager# pwd /usr/local/src/mysqlfs manager# cat mysqlfs.log manager# touch /mysqlfs/new touch: /mysqlfs/new: No such file or directory manager# df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 496M 76M 380M 17% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1e 496M 20K 456M 0% /tmp /dev/ad0s1f 28G 1.9G 24G 7% /usr /dev/ad0s1d 2.9G 39M 2.6G 1% /var devfs 1.0K 1.0K 0B 100% /var/named/dev /dev/fuse0 0B 0B 0B 100% /mysqlfs manager# cat mysqlfs.log Tony Shadwick wrote: > I pulled down the cvs version a few mins ago, but my box doesn't appear > to have aclocal, so I'm working on that since there's no configure > script. :P > > Tony Shadwick > OSS Solutions > > > Stef Bon wrote: >> On Friday 13 April 2007 20:39:37 Tony Shadwick wrote: >>> Well, figured this out partially. time.h on freebsd doesn't define the >>> struct utimbuf. utime.h does, however including it with or without >>> time.h makes no difference, I get the same error. :\ >>> >>> Tony Shadwick >>> OSS Solutions >> Hello, >> >> do not use the 3.1 version. Use the version from cvs. 3.1 version is not able to store files bigger than 1M. >> >> Stef Bon >> >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share your >> opinions on IT & business topics through brief surveys-and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Mysqlfs-general mailing list >> Mys...@li... >> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Mysqlfs-general mailing list > Mys...@li... > https://lists.sourceforge.net/lists/listinfo/mysqlfs-general |
|
From: Tony S. <tsh...@os...> - 2007-04-13 22:23:46
|
I'm still trying to debug this...I turned on verbose logging of mysql,
hoping to find the answer to what's going on, but I'm afraid the logs
are somewhat greek to me:
manager# cd /mysqlfs/
manager# touch new
touch: new: No such file or directory
manager# cat /var/log/mysql.log
/usr/local/libexec/mysqld, Version: 5.0.37-log (FreeBSD port:
mysql-server-5.0.37). started with:
Tcp port: 0 Unix socket: (null)
Time Id Command Argument
070413 17:21:46 1 Connect mysqlfs@localhost on mysqlfs
1 Query SET NAMES latin1
1 Query SELECT t0.inode, t0.name,
t0.parent, (SELECT COUNT(inode) FROM tree AS t1 WHERE
t1.inode=t0.inode) AS nlinks FROM tree AS t0 WHERE
t0.parent IS NULL
1 Query SELECT inode, mode, uid, gid,
atime, mtime FROM inodes WHERE inode=1
1 Query SELECT t0.inode, t0.name,
t0.parent, (SELECT COUNT(inode) FROM tree AS t1 WHERE
t1.inode=t0.inode) AS nlinks FROM tree AS t0 WHERE
t0.parent IS NULL
1 Query SELECT size FROM inodes WHERE inode=1
070413 17:21:47 1 Query SELECT t0.inode, t0.name, t0.parent,
(SELECT COUNT(inode) FROM tree AS t1 WHERE t1.inode=t0.inode)
AS nlinks FROM tree AS t0 WHERE t0.parent IS NULL
1 Query SELECT inode, mode, uid, gid,
atime, mtime FROM inodes WHERE inode=1
1 Query SELECT t0.inode, t0.name,
t0.parent, (SELECT COUNT(inode) FROM tree AS t1 WHERE
t1.inode=t0.inode) AS nlinks FROM tree AS t0 WHERE
t0.parent IS NULL
1 Query SELECT size FROM inodes WHERE inode=1
070413 17:21:49 1 Query SELECT t1.inode, t1.name, t1.parent,
(SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode
= t1.parent WHERE t0.parent IS NULL AND t1.name = 'new'
1 Query SELECT t1.inode, t1.name,
t1.parent, (SELECT COUNT(inode) FROM tree AS t2 WHERE
t2.inode=t1.inode) AS nlinks FROM tree AS t0 LEFT JOIN
tree AS t1 ON t0.inode = t1.parent WHERE t0.parent IS NULL AND t1.name =
'new'
1 Query SELECT t1.inode, t1.name,
t1.parent, (SELECT COUNT(inode) FROM tree AS t2 WHERE
t2.inode=t1.inode) AS nlinks FROM tree AS t0 LEFT JOIN
tree AS t1 ON t0.inode = t1.parent WHERE t0.parent IS NULL AND t1.name =
'new'
Here's to hoping you see something that I don't!
Tony Shadwick wrote:
> Well, I built from cvs, but I still have the problem of not being able
> to write at all. Once I'm able to write, I might be able to write files
> larger than 1MB though! :)
>
> manager# mount_fusefs /dev/fuse0 /mysqlfs/ mysqlfs -ohost=localhost
> -ouser=mysqlfs -opassword=mysqlfs -odatabase=mysqlfs
> * Opening logfile 'mysqlfs.log': OK
> manager# pwd
> /usr/local/src/mysqlfs
> manager# cat mysqlfs.log
> manager# touch /mysqlfs/new
> touch: /mysqlfs/new: No such file or directory
> manager# df -h
> Filesystem Size Used Avail Capacity Mounted on
> /dev/ad0s1a 496M 76M 380M 17% /
> devfs 1.0K 1.0K 0B 100% /dev
> /dev/ad0s1e 496M 20K 456M 0% /tmp
> /dev/ad0s1f 28G 1.9G 24G 7% /usr
> /dev/ad0s1d 2.9G 39M 2.6G 1% /var
> devfs 1.0K 1.0K 0B 100% /var/named/dev
> /dev/fuse0 0B 0B 0B 100% /mysqlfs
> manager# cat mysqlfs.log
>
> Tony Shadwick wrote:
>> I pulled down the cvs version a few mins ago, but my box doesn't appear
>> to have aclocal, so I'm working on that since there's no configure
>> script. :P
>>
>> Tony Shadwick
>> OSS Solutions
>>
>>
>> Stef Bon wrote:
>>> On Friday 13 April 2007 20:39:37 Tony Shadwick wrote:
>>>> Well, figured this out partially. time.h on freebsd doesn't define the
>>>> struct utimbuf. utime.h does, however including it with or without
>>>> time.h makes no difference, I get the same error. :\
>>>>
>>>> Tony Shadwick
>>>> OSS Solutions
>>> Hello,
>>>
>>> do not use the 3.1 version. Use the version from cvs. 3.1 version is not able to store files bigger than 1M.
>>>
>>> Stef Bon
>>>
>>> -------------------------------------------------------------------------
>>> Take Surveys. Earn Cash. Influence the Future of IT
>>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>>> opinions on IT & business topics through brief surveys-and earn cash
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>> _______________________________________________
>>> Mysqlfs-general mailing list
>>> Mys...@li...
>>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
>> -------------------------------------------------------------------------
>> Take Surveys. Earn Cash. Influence the Future of IT
>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>> opinions on IT & business topics through brief surveys-and earn cash
>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>> _______________________________________________
>> Mysqlfs-general mailing list
>> Mys...@li...
>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Mysqlfs-general mailing list
> Mys...@li...
> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
|
|
From: Michal L. <mi...@lo...> - 2007-04-14 02:46:24
|
Tony Shadwick wrote: > I'm still trying to debug this...I turned on verbose logging of mysql, > hoping to find the answer to what's going on, but I'm afraid the logs > are somewhat greek to me: > > manager# cd /mysqlfs/ > manager# touch new > touch: new: No such file or directory > manager# cat /var/log/mysql.log > /usr/local/libexec/mysqld, Version: 5.0.37-log (FreeBSD port: > mysql-server-5.0.37). started with: Turn on MySQLfs logging instead. On the top of log.c it reads: //int log_types_mask = LOG_ERROR | LOG_INFO | LOG_DEBUG; int log_types_mask = LOG_ERROR | LOG_INFO; //int log_debug_mask = LOG_D_CALL | LOG_D_SQL | LOG_D_OTHER; //int log_debug_mask = LOG_D_CALL; int log_debug_mask = 0; Instead make it: int log_types_mask = LOG_ERROR | LOG_INFO | LOG_DEBUG; //int log_types_mask = LOG_ERROR | LOG_INFO; int log_debug_mask = LOG_D_CALL | LOG_D_SQL | LOG_D_OTHER; //int log_debug_mask = LOG_D_CALL; //int log_debug_mask = 0; Yes I know this should be a command line switch and not a compile time setting ;-) Michal |
|
From: Tony S. <tsh...@os...> - 2007-04-14 05:08:49
|
Well, I did that, did a make clean, make, make install, umount /dev/fuse0, and then mount_fusefs /dev/fuse0 /mysqlfs mysqlfs -ohost=localhost -ouser=mysqlfs -opassword=mysqlfs -odatabase=mysqlfs, I get the exact some result, and still nothing in the mysqlfs.log file. ??? Michal Ludvig wrote: > Tony Shadwick wrote: >> I'm still trying to debug this...I turned on verbose logging of mysql, >> hoping to find the answer to what's going on, but I'm afraid the logs >> are somewhat greek to me: >> >> manager# cd /mysqlfs/ >> manager# touch new >> touch: new: No such file or directory >> manager# cat /var/log/mysql.log >> /usr/local/libexec/mysqld, Version: 5.0.37-log (FreeBSD port: >> mysql-server-5.0.37). started with: > > Turn on MySQLfs logging instead. > > On the top of log.c it reads: > > //int log_types_mask = LOG_ERROR | LOG_INFO | LOG_DEBUG; > int log_types_mask = LOG_ERROR | LOG_INFO; > //int log_debug_mask = LOG_D_CALL | LOG_D_SQL | LOG_D_OTHER; > //int log_debug_mask = LOG_D_CALL; > int log_debug_mask = 0; > > Instead make it: > > int log_types_mask = LOG_ERROR | LOG_INFO | LOG_DEBUG; > //int log_types_mask = LOG_ERROR | LOG_INFO; > int log_debug_mask = LOG_D_CALL | LOG_D_SQL | LOG_D_OTHER; > //int log_debug_mask = LOG_D_CALL; > //int log_debug_mask = 0; > > Yes I know this should be a command line switch and not a compile time > setting ;-) > > Michal > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Mysqlfs-general mailing list > Mys...@li... > https://lists.sourceforge.net/lists/listinfo/mysqlfs-general |
|
From: Tony S. <tsh...@os...> - 2007-04-14 16:12:27
|
K, I feel like I'm not making progress here. :( With log debugging on,
here's what happens when I go to run mkdir testdir:
2007-04-14 11:09:21 1338 mysqlfs_getattr("/testdir")
2007-04-14 11:09:21 1338 sql=SELECT t1.inode, t1.name, t1.parent,
(SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
t1.parent WHERE t0.parent IS NULL AND t1.name = 'testdir'
2007-04-14 11:09:21 1338 mysqlfs_mkdir("/testdir", 040755)
2007-04-14 11:09:21 1338 sql=SELECT t1.inode, t1.name, t1.parent,
(SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
t1.parent WHERE t0.parent IS NULL AND t1.name = 'testdir'
and touch testfile
2007-04-14 11:11:29 1338 mysqlfs_getattr("/testfile")
2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
(SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
2007-04-14 11:11:29 1338 mysqlfs_getattr("/testfile")
2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
(SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
2007-04-14 11:11:29 1338 mysqlfs_mknod("/testfile", 100644): file
2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
(SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
The console responds the same both ways - no such file or directory.
Tony Shadwick wrote:
> Well, I did that, did a make clean, make, make install, umount
> /dev/fuse0, and then mount_fusefs /dev/fuse0 /mysqlfs mysqlfs
> -ohost=localhost -ouser=mysqlfs -opassword=mysqlfs -odatabase=mysqlfs, I
> get the exact some result, and still nothing in the mysqlfs.log file. ???
>
> Michal Ludvig wrote:
>> Tony Shadwick wrote:
>>> I'm still trying to debug this...I turned on verbose logging of mysql,
>>> hoping to find the answer to what's going on, but I'm afraid the logs
>>> are somewhat greek to me:
>>>
>>> manager# cd /mysqlfs/
>>> manager# touch new
>>> touch: new: No such file or directory
>>> manager# cat /var/log/mysql.log
>>> /usr/local/libexec/mysqld, Version: 5.0.37-log (FreeBSD port:
>>> mysql-server-5.0.37). started with:
>> Turn on MySQLfs logging instead.
>>
>> On the top of log.c it reads:
>>
>> //int log_types_mask = LOG_ERROR | LOG_INFO | LOG_DEBUG;
>> int log_types_mask = LOG_ERROR | LOG_INFO;
>> //int log_debug_mask = LOG_D_CALL | LOG_D_SQL | LOG_D_OTHER;
>> //int log_debug_mask = LOG_D_CALL;
>> int log_debug_mask = 0;
>>
>> Instead make it:
>>
>> int log_types_mask = LOG_ERROR | LOG_INFO | LOG_DEBUG;
>> //int log_types_mask = LOG_ERROR | LOG_INFO;
>> int log_debug_mask = LOG_D_CALL | LOG_D_SQL | LOG_D_OTHER;
>> //int log_debug_mask = LOG_D_CALL;
>> //int log_debug_mask = 0;
>>
>> Yes I know this should be a command line switch and not a compile time
>> setting ;-)
>>
>> Michal
>>
>> -------------------------------------------------------------------------
>> Take Surveys. Earn Cash. Influence the Future of IT
>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>> opinions on IT & business topics through brief surveys-and earn cash
>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>> _______________________________________________
>> Mysqlfs-general mailing list
>> Mys...@li...
>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Mysqlfs-general mailing list
> Mys...@li...
> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
|
|
From: Michal L. <mi...@lo...> - 2007-04-15 22:06:54
|
Tony Shadwick wrote:
> K, I feel like I'm not making progress here. :( With log debugging on,
> here's what happens when I go to run mkdir testdir:
>
> 2007-04-14 11:09:21 1338 mysqlfs_getattr("/testdir")
> 2007-04-14 11:09:21 1338 sql=SELECT t1.inode, t1.name, t1.parent,
> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testdir'
> 2007-04-14 11:09:21 1338 mysqlfs_mkdir("/testdir", 040755)
> 2007-04-14 11:09:21 1338 sql=SELECT t1.inode, t1.name, t1.parent,
> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testdir'
>
> and touch testfile
>
> 2007-04-14 11:11:29 1338 mysqlfs_getattr("/testfile")
> 2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
> 2007-04-14 11:11:29 1338 mysqlfs_getattr("/testfile")
> 2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
> 2007-04-14 11:11:29 1338 mysqlfs_mknod("/testfile", 100644): file
> 2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
>
> The console responds the same both ways - no such file or directory.
It doesn't do any INSERTs - weird. Have you imported the DB schema into
database 'mysqlfs'? Does user 'mysqlfs' have enough rights to read/write it?
Michal
|
|
From: Tony S. <tsh...@os...> - 2007-04-15 22:08:55
|
Yes and yes. Followed your instructions to the hilt. I've even tried
user root instead of user mysqlfs. Same outcome.
Michal Ludvig wrote:
> Tony Shadwick wrote:
>> K, I feel like I'm not making progress here. :( With log debugging on,
>> here's what happens when I go to run mkdir testdir:
>>
>> 2007-04-14 11:09:21 1338 mysqlfs_getattr("/testdir")
>> 2007-04-14 11:09:21 1338 sql=SELECT t1.inode, t1.name, t1.parent,
>> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
>> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
>> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testdir'
>> 2007-04-14 11:09:21 1338 mysqlfs_mkdir("/testdir", 040755)
>> 2007-04-14 11:09:21 1338 sql=SELECT t1.inode, t1.name, t1.parent,
>> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
>> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
>> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testdir'
>>
>> and touch testfile
>>
>> 2007-04-14 11:11:29 1338 mysqlfs_getattr("/testfile")
>> 2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
>> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
>> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
>> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
>> 2007-04-14 11:11:29 1338 mysqlfs_getattr("/testfile")
>> 2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
>> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
>> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
>> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
>> 2007-04-14 11:11:29 1338 mysqlfs_mknod("/testfile", 100644): file
>> 2007-04-14 11:11:29 1338 sql=SELECT t1.inode, t1.name, t1.parent,
>> (SELECT COUNT(inode) FROM tree AS t2 WHERE t2.inode=t1.inode)
>> AS nlinks FROM tree AS t0 LEFT JOIN tree AS t1 ON t0.inode =
>> t1.parent WHERE t0.parent IS NULL AND t1.name = 'testfile'
>>
>> The console responds the same both ways - no such file or directory.
>
> It doesn't do any INSERTs - weird. Have you imported the DB schema into
> database 'mysqlfs'? Does user 'mysqlfs' have enough rights to read/write it?
>
> Michal
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Mysqlfs-general mailing list
> Mys...@li...
> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
|
|
From: Tony S. <tsh...@os...> - 2007-04-13 22:05:07
|
I have the exact same issue with the cvs version. I may be able to write files larger than 1MB with this version, but at the moment, I can't write anything at all. :P manager# mount_fusefs /dev/fuse0 /mysqlfs/ mysqlfs -ohost=localhost -ouser=mysqlfs -opassword=mysqlfs -odatabase=mysqlfs * Opening logfile 'mysqlfs.log': OK manager# pwd /usr/local/src/mysqlfs manager# cat mysqlfs.log manager# touch /mysqlfs/new touch: /mysqlfs/new: No such file or directory manager# df -h Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 496M 76M 380M 17% / devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1e 496M 20K 456M 0% /tmp /dev/ad0s1f 28G 1.9G 24G 7% /usr /dev/ad0s1d 2.9G 39M 2.6G 1% /var devfs 1.0K 1.0K 0B 100% /var/named/dev /dev/fuse0 0B 0B 0B 100% /mysqlfs Tony Shadwick wrote: > I pulled down the cvs version a few mins ago, but my box doesn't appear > to have aclocal, so I'm working on that since there's no configure > script. :P > > Tony Shadwick > OSS Solutions > > > Stef Bon wrote: >> On Friday 13 April 2007 20:39:37 Tony Shadwick wrote: >>> Well, figured this out partially. time.h on freebsd doesn't define the >>> struct utimbuf. utime.h does, however including it with or without >>> time.h makes no difference, I get the same error. :\ >>> >>> Tony Shadwick >>> OSS Solutions >> Hello, >> >> do not use the 3.1 version. Use the version from cvs. 3.1 version is not able to store files bigger than 1M. >> >> Stef Bon >> >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share your >> opinions on IT & business topics through brief surveys-and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Mysqlfs-general mailing list >> Mys...@li... >> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Mysqlfs-general mailing list > Mys...@li... > https://lists.sourceforge.net/lists/listinfo/mysqlfs-general |
|
From: Tony S. <tsh...@os...> - 2007-04-13 18:56:10
|
Nevermind, I got it. Your code appears to be fine, it's just the
default CFLAGS includes -Wall -Werror. I removed the -Wall and it built
fine. Weirdness. Is this fixable?
Tony Shadwick wrote:
> Well, figured this out partially. time.h on freebsd doesn't define the
> struct utimbuf. utime.h does, however including it with or without
> time.h makes no difference, I get the same error. :\
>
> Tony Shadwick
> OSS Solutions
>
> Tony Shadwick wrote:
>> Yes, there is Fuse for FreeBSD. I've built it from ports, and it's
>> using API 2.6.
>>
>> Anyhooo....../configure is okay (after editing fuse.h to report the
>> correct API, apparently it has a backwards compat mode to version 2.1
>> and defaults to that. Changing to 2.6 per the instructions works
>> fine!), then when I attempt to do make or gmake, I get this error:
>>
>> manager# gmake
>> gmake all-am
>> gmake[1]: Entering directory `/usr/local/src/mysqlfs-0.4.0-rc1'
>> if gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include -I/usr/local/include
>> -L/usr/lib -L/usr/local/lib -I/usr/include -I/usr/local/include
>> -L/usr/lib -L/usr/local/lib -I/usr/local/include -Wall -Werror
>> -I/usr/local/include/mysql -Wall -Werror -MT query.o -MD -MP -MF
>> ".deps/query.Tpo" -c -o query.o query.c; \
>> then mv -f ".deps/query.Tpo" ".deps/query.Po"; else rm -f
>> ".deps/query.Tpo"; exit 1; fi
>> query.c: In function `query_utime':
>> query.c:439: warning: long int format, time_t arg (arg 4)
>> query.c:439: warning: long int format, time_t arg (arg 5)
>> query.c:439: warning: long int format, time_t arg (arg 4)
>> query.c:439: warning: long int format, time_t arg (arg 5)
>> gmake[1]: *** [query.o] Error 1
>> gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1'
>> gmake: *** [all] Error 2
>>
>> The code section it's complaining about is below. The last line is line
>> 439.
>>
>> ---------
>>
>> int query_utime(MYSQL *mysql, long inode, struct utimbuf *time)
>> {
>> int ret;
>> char sql[SQL_MAX];
>>
>> snprintf(sql, SQL_MAX,
>> "UPDATE inodes "
>> "SET atime=%ld, mtime=%ld "
>> "WHERE inode=%lu",
>> time->actime, time->modtime, inode);
>>
>> --------
>>
>> It appears to not like time->actime and time->modtime. Any idea what
>> might cause this or how to debug it/fix it up?
>>
>> Thanks!
>>
>> Tony Shadwick
>> OSS Solutions
>>
>> -------------------------------------------------------------------------
>> Take Surveys. Earn Cash. Influence the Future of IT
>> Join SourceForge.net's Techsay panel and you'll get the chance to share your
>> opinions on IT & business topics through brief surveys-and earn cash
>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>> _______________________________________________
>> Mysqlfs-general mailing list
>> Mys...@li...
>> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Mysqlfs-general mailing list
> Mys...@li...
> https://lists.sourceforge.net/lists/listinfo/mysqlfs-general
|
|
From: Michal L. <mi...@lo...> - 2007-04-15 21:57:44
|
Tony Shadwick wrote: >>> query.c: In function `query_utime': >>> query.c:439: warning: long int format, time_t arg (arg 4) >>> query.c:439: warning: long int format, time_t arg (arg 5) >>> query.c:439: warning: long int format, time_t arg (arg 4) >>> query.c:439: warning: long int format, time_t arg (arg 5) >>> gmake[1]: *** [query.o] Error 1 >>> gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1' >>> gmake: *** [all] Error 2 >>> >>> The code section it's complaining about is below. The last line is line >>> 439. What GCC version have you got on your FreeBSD? > Nevermind, I got it. Your code appears to be fine, it's just the > default CFLAGS includes -Wall -Werror. I removed the -Wall and it built > fine. Weirdness. Is this fixable? You should have removed -Werror instead (this switch turns warnings into errors) and keep -Wall to see all warnings. Some might be useful. I'll remove -Werror from default CFLAGS in future versions. Michal |
|
From: Tony S. <tsh...@os...> - 2007-04-15 22:00:38
|
> gcc -v Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.6 [FreeBSD] 20060305 Michal Ludvig wrote: > Tony Shadwick wrote: >>>> query.c: In function `query_utime': >>>> query.c:439: warning: long int format, time_t arg (arg 4) >>>> query.c:439: warning: long int format, time_t arg (arg 5) >>>> query.c:439: warning: long int format, time_t arg (arg 4) >>>> query.c:439: warning: long int format, time_t arg (arg 5) >>>> gmake[1]: *** [query.o] Error 1 >>>> gmake[1]: Leaving directory `/usr/local/src/mysqlfs-0.4.0-rc1' >>>> gmake: *** [all] Error 2 >>>> >>>> The code section it's complaining about is below. The last line is line >>>> 439. > > What GCC version have you got on your FreeBSD? > >> Nevermind, I got it. Your code appears to be fine, it's just the >> default CFLAGS includes -Wall -Werror. I removed the -Wall and it built >> fine. Weirdness. Is this fixable? > > You should have removed -Werror instead (this switch turns warnings into > errors) and keep -Wall to see all warnings. Some might be useful. I'll > remove -Werror from default CFLAGS in future versions. > > Michal > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Mysqlfs-general mailing list > Mys...@li... > https://lists.sourceforge.net/lists/listinfo/mysqlfs-general |