You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
|
Nov
(3) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
|
Mar
(10) |
Apr
(24) |
May
|
Jun
|
Jul
|
Aug
(18) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(13) |
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
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-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: Tony S. <tsh...@os...> - 2007-04-14 05:13:15
|
Grrr...I really wish I'd remember to send messages from the correct profile... |
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: 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: Michal L. <mi...@lo...> - 2007-04-13 22:54:57
|
Tony Shadwick wrote: > I'm in the process of setting up a MySQL cluster and realized it might > be neat to have an FS write into that replicating cluster, did a google > and wound up here. :) > > I read through the archives, and I think I'm up to speed, but a few > questions linger: > > 1. Did the issue of permissions ever get addressed? Not yet. I have never used mysqlfs in multiuser environment. > This is a bit > important to me, as the main use of this for me would be for home > directories, specifically for apache to read out public_html, and the > fact that apache does suexec. Would be a bit of a nightmare if those > permissions got straight-up ignored. Do some testing. I did once many months ago and it didn't take permissions into account. Could be that I did something wrong. > 2. Is anyone using this with engine=ndbcluster on tables? How well does > it respond? I haven't heard about anyone using it with ndb. > 3. Reasonably speaking, how stable is 0.3.1? Is it good enough for day > to day use with only minor hiccups, or is data corruption relatively > rampant? :) mysqlfs 0.3.1 *has* data corruption issues. Use 0.4-rc1 instead. It should be fixed there. However even this version may experience some problems with heavy concurrent access to a single file due to not yet implemented inode locking. It won't be difficult to fix though. Frankly speaking, developing mysqlfs was a nice exercise to learn something about FUSE, a new technology at that time. I still aim to fix bugs if they are reported and could perhaps be persuaded to implement some missing features (e.g. the permissions checking), but other than that mysqlfs is not anywhere near the top of my development priorities list. (JFYI my primary toy project is currently s3cmd at http://s3tools.logix.cz) That said, I wouldn't use it in a production environment or store any precious data on it though. But if you're into programming, feel free to play with mysqlfs, (it's reasonably stable in a sense that it doesn't crash and doesn't lose data all the times), enhance it, send us your patches and make mysqlfs more usable for future generations :-) HTH Michal |
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: 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: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 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: 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 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: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 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: 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 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: 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 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 16:19:13
|
I'm in the process of setting up a MySQL cluster and realized it might be neat to have an FS write into that replicating cluster, did a google and wound up here. :) I read through the archives, and I think I'm up to speed, but a few questions linger: 1. Did the issue of permissions ever get addressed? This is a bit important to me, as the main use of this for me would be for home directories, specifically for apache to read out public_html, and the fact that apache does suexec. Would be a bit of a nightmare if those permissions got straight-up ignored. 2. Is anyone using this with engine=ndbcluster on tables? How well does it respond? 3. Reasonably speaking, how stable is 0.3.1? Is it good enough for day to day use with only minor hiccups, or is data corruption relatively rampant? :) Thanks! Tony Shadwick OSS Solutions |
From: Michal L. <mi...@lo...> - 2007-03-28 13:15:17
|
Hi all, few minutes ago I have committed a new development version of mysqlfs into CVS. It brings a reworked method for storing data. Instead of one huge record for each file in table "data" we now store the data in 4kB chunks (a.k.a. "sectors" or "blocks"). That speeds up especially updates to files a _lot_ (feel free to do some benchmarking, I'm interested in these numbers :-) and fixes the recently reported data corruptions for files >1MB. As a side effect it allows for storing "sparse" files. Or at least I believe so. Please test it if you can and report any problems to this list. This will eventually be released as mysqlfs 0.4 some day. BTW I haven't packed up a tarball, check it out from anonymous CVS instead: http://sourceforge.net/cvs/?group_id=129981 Enjoy Michal -- * Personal homepage: http://www.logix.cz/michal * Amazon S3 tools: http://s3tools.logix.cz |
From: Lester H. <hig...@10...> - 2007-03-22 13:37:14
|
The patch is definately incomplete in the corner cases you described. I'll follow this email up with a forward of the original patch, just to you. -- Lester On Fri, 23 Mar 2007, Michal Ludvig wrote: > Hi Lester, > > that's right, I have already found it in archives on SourceForge [*]. > But the patch isn't quite readable there. Could you resend it please? > > BTW Have you dealt with mid-file updates in your patch? For instance > write 8kB file and then rewrite 2kB of data at offset 3kB, i.e. touching > two 4kB blocks with one update. And how about truncate()? From what I > could read from the archive the patch is somewhat incomplete in these > "corner" cases. > > Michal > > [*] > https://sourceforge.net/mailarchive/forum.php?thread_id=30626251&forum_id=50318 > > Lester Hightower wrote: > > Michal, > > > > On Mon, 25 Sep 2006 at 13:29:17 EDT, I submitted a patch for mysqlfs-0.2, > > to mys...@li..., which does exactly what you > > describe below, and under the subject "Patch to mysqlfs-0.2 to break file > > data into records of 4k chunks." You can likely save yourself some time > > by referring to that patch. A positive side-effect that I noted in that > > email is, "My testing of this code shows better than a 10-fold increase in > > write speed, and that improvement is more pronounced on larger files. It > > also shows a 3-fold increase in read speed." > > > > If you have trouble finding that email, drop me a separate email and I'll > > send it to you again. > > > > Sincerely, > > > > -- > > Lester Hightower > > > > > > On Fri, 23 Mar 2007, Michal Ludvig wrote: > > > >> Stef Bon wrote: > >> > >>> But I ran into troubles when I wanted to try it. The description you'll find > >>> at: > >>> > >>> https://sourceforge.net/tracker/index.php?func=detail&aid=1681567&group_id=129981&atid=716425 > >> As I suspected this happens to files larger than 1MB. I have debugged > >> the behaviour and the problem is: > >> - the content of a file is held in a "LONGBLOB" field in the DB > >> - as the data come in 4kB chunks, longblob gets appended the current > >> chunk > >> - this is done with "UPDATE ... SET data=CONCAT(data, <new chunk>)" like > >> query > >> - Now when the current length of "data" plus the length of "new chunk" > >> goes over 1MB mysql fails with: > >> "Result of concat() was larger than max_allowed_packet (1048576) - > >> truncated" and 'data' is set to NULL. > >> > >> So this is in brief the problem. I'm not sure how to solve it though. > >> > >> The best approach seems to be splitting the data field into logical > >> "blocks" of, say, 4kB. Then, instead of having the file contents in a > >> single row in a single field in the database it'll be in a number of > >> related rows. It will complicate the write()-call logic a little bit, > >> but it should both improve write speed and fix this problem. IIRC this > >> has been proposed on the list or maybe on SF tracker some months ago but > >> I haven't followed up on that. Shame on me. > >> > >> I hope to have a new release ready sometime next week. And if not, well > >> ... then it will be later ;-) > >> > >> 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-03-22 13:26:30
|
Hi Lester, that's right, I have already found it in archives on SourceForge [*]. But the patch isn't quite readable there. Could you resend it please? BTW Have you dealt with mid-file updates in your patch? For instance write 8kB file and then rewrite 2kB of data at offset 3kB, i.e. touching two 4kB blocks with one update. And how about truncate()? From what I could read from the archive the patch is somewhat incomplete in these "corner" cases. Michal [*] https://sourceforge.net/mailarchive/forum.php?thread_id=30626251&forum_id=50318 Lester Hightower wrote: > Michal, > > On Mon, 25 Sep 2006 at 13:29:17 EDT, I submitted a patch for mysqlfs-0.2, > to mys...@li..., which does exactly what you > describe below, and under the subject "Patch to mysqlfs-0.2 to break file > data into records of 4k chunks." You can likely save yourself some time > by referring to that patch. A positive side-effect that I noted in that > email is, "My testing of this code shows better than a 10-fold increase in > write speed, and that improvement is more pronounced on larger files. It > also shows a 3-fold increase in read speed." > > If you have trouble finding that email, drop me a separate email and I'll > send it to you again. > > Sincerely, > > -- > Lester Hightower > > > On Fri, 23 Mar 2007, Michal Ludvig wrote: > >> Stef Bon wrote: >> >>> But I ran into troubles when I wanted to try it. The description you'll find >>> at: >>> >>> https://sourceforge.net/tracker/index.php?func=detail&aid=1681567&group_id=129981&atid=716425 >> As I suspected this happens to files larger than 1MB. I have debugged >> the behaviour and the problem is: >> - the content of a file is held in a "LONGBLOB" field in the DB >> - as the data come in 4kB chunks, longblob gets appended the current >> chunk >> - this is done with "UPDATE ... SET data=CONCAT(data, <new chunk>)" like >> query >> - Now when the current length of "data" plus the length of "new chunk" >> goes over 1MB mysql fails with: >> "Result of concat() was larger than max_allowed_packet (1048576) - >> truncated" and 'data' is set to NULL. >> >> So this is in brief the problem. I'm not sure how to solve it though. >> >> The best approach seems to be splitting the data field into logical >> "blocks" of, say, 4kB. Then, instead of having the file contents in a >> single row in a single field in the database it'll be in a number of >> related rows. It will complicate the write()-call logic a little bit, >> but it should both improve write speed and fix this problem. IIRC this >> has been proposed on the list or maybe on SF tracker some months ago but >> I haven't followed up on that. Shame on me. >> >> I hope to have a new release ready sometime next week. And if not, well >> ... then it will be later ;-) >> >> 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: Lester H. <hig...@10...> - 2007-03-22 13:07:54
|
Michal, On Mon, 25 Sep 2006 at 13:29:17 EDT, I submitted a patch for mysqlfs-0.2, to mys...@li..., which does exactly what you describe below, and under the subject "Patch to mysqlfs-0.2 to break file data into records of 4k chunks." You can likely save yourself some time by referring to that patch. A positive side-effect that I noted in that email is, "My testing of this code shows better than a 10-fold increase in write speed, and that improvement is more pronounced on larger files. It also shows a 3-fold increase in read speed." If you have trouble finding that email, drop me a separate email and I'll send it to you again. Sincerely, -- Lester Hightower On Fri, 23 Mar 2007, Michal Ludvig wrote: > Stef Bon wrote: > > > But I ran into troubles when I wanted to try it. The description you'll find > > at: > > > > https://sourceforge.net/tracker/index.php?func=detail&aid=1681567&group_id=129981&atid=716425 > > As I suspected this happens to files larger than 1MB. I have debugged > the behaviour and the problem is: > - the content of a file is held in a "LONGBLOB" field in the DB > - as the data come in 4kB chunks, longblob gets appended the current > chunk > - this is done with "UPDATE ... SET data=CONCAT(data, <new chunk>)" like > query > - Now when the current length of "data" plus the length of "new chunk" > goes over 1MB mysql fails with: > "Result of concat() was larger than max_allowed_packet (1048576) - > truncated" and 'data' is set to NULL. > > So this is in brief the problem. I'm not sure how to solve it though. > > The best approach seems to be splitting the data field into logical > "blocks" of, say, 4kB. Then, instead of having the file contents in a > single row in a single field in the database it'll be in a number of > related rows. It will complicate the write()-call logic a little bit, > but it should both improve write speed and fix this problem. IIRC this > has been proposed on the list or maybe on SF tracker some months ago but > I haven't followed up on that. Shame on me. > > I hope to have a new release ready sometime next week. And if not, well > ... then it will be later ;-) > > Michal |
From: Michal L. <mi...@lo...> - 2007-03-22 12:54:18
|
Stef Bon wrote: > But I ran into troubles when I wanted to try it. The description you'll find > at: > > https://sourceforge.net/tracker/index.php?func=detail&aid=1681567&group_id=129981&atid=716425 As I suspected this happens to files larger than 1MB. I have debugged the behaviour and the problem is: - the content of a file is held in a "LONGBLOB" field in the DB - as the data come in 4kB chunks, longblob gets appended the current chunk - this is done with "UPDATE ... SET data=CONCAT(data, <new chunk>)" like query - Now when the current length of "data" plus the length of "new chunk" goes over 1MB mysql fails with: "Result of concat() was larger than max_allowed_packet (1048576) - truncated" and 'data' is set to NULL. So this is in brief the problem. I'm not sure how to solve it though. The best approach seems to be splitting the data field into logical "blocks" of, say, 4kB. Then, instead of having the file contents in a single row in a single field in the database it'll be in a number of related rows. It will complicate the write()-call logic a little bit, but it should both improve write speed and fix this problem. IIRC this has been proposed on the list or maybe on SF tracker some months ago but I haven't followed up on that. Shame on me. I hope to have a new release ready sometime next week. And if not, well ... then it will be later ;-) Michal |
From: Stef B. <st...@bo...> - 2007-03-20 16:34:15
|
On Tuesday 20 March 2007 13:31:20 Michal Ludvig wrote: > > On Monday 19 March 2007 22:20:03 Michal Ludvig wrote: > >> Hi Stef, > >> > >> that's weird, I did quite a lot of tests and it all worked for me. I'll > >> try to reproduce the bug and get back to you. > > Hi Stef, > > I can confirm, I got file corruption as well. It seems to corrupt files > bigger than roughly 1MB. Strange I haven't noticed this bug during > development (ehm, looks like our QA procedure is somewhat weak ;-) > > I'll look at it later this week and eventually put out a new release. > > Thanks for the report and sorry for the troubles. Hi, No thank you. You do not give me troubles! I'm happy you can confirm teh same odd behaviour of mysqlfs. I know that developing software is not easy and you can run into failures and bugs. So, I'm looking foreard to the sollution. Stef Bon |