From: bargav y. <by...@ya...> - 2007-11-30 21:02:20
|
Hi, I am having trouble building fuse on an FC5 system. Is there some known issue with fuse and FC5? Shouldnt I be able to build fuse with just access to the kernel headers for the the kernel version that I am running? ____________________________________________________________________________________ Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it now. http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ |
From: Allen P. <pul...@co...> - 2007-12-01 02:59:58
|
I'm sure this has been asked many times before, but I'm unable to find the answer... I have a FUSE-based file system written in C++. It has a catch(...) handler. How do I rethrow the exception generated by control-C so that I get a clean shutdown instead of: FATAL: exception not rethrown Aborted (core dumped) Thanks. |
From: Allen P. <pul...@co...> - 2007-12-01 03:39:59
|
> How do I rethrow the exception generated by control-C so that=20 > I get a clean shutdown instead of "FATAL: exception not rethrown" False alarm, maybe. My file system also has its own worker threads, and it looks like I = needed to add this code to the thread creation: static int fuse_start_thread(struct fuse_mt *mt) { /* Disallow signal reception in worker threads */ sigset_t oldset; sigset_t newset; sigemptyset(&newset); sigaddset(&newset, SIGTERM); sigaddset(&newset, SIGINT); sigaddset(&newset, SIGHUP); sigaddset(&newset, SIGQUIT); pthread_sigmask(SIG_BLOCK, &newset, &oldset); res =3D pthread_create(&w->thread_id, NULL, fuse_do_work, w); pthread_sigmask(SIG_SETMASK, &oldset, NULL); if (res !=3D 0) { fprintf(stderr, "fuse: error creating thread: %s\n", = strerror(res)); |
From: Allen P. <pul...@co...> - 2007-12-01 04:54:26
|
Another hopefully easy question: If the file system's init() method decides that the file system should not be mounted (maybe it cannot be accessed, is unreadable, etc.), what action can the init() method perform to cause FUSE to cleanly exit? |
From: Miklos S. <mi...@sz...> - 2007-12-03 11:30:20
|
> Another hopefully easy question: > > If the file system's init() method decides that the file system should not > be mounted (maybe it cannot be accessed, is unreadable, etc.), what action > can the init() method perform to cause FUSE to cleanly exit? Call fuse_exit(). But it's better to perform everything that could fail before fuse_main(), because when init() is called the filesystem is already in the background, and cannot print an error message to the terminal. Miklos |
From: Allen P. <pul...@co...> - 2007-12-05 18:18:26
|
I didn't get a response to this, but there was a reason I asked. I was checking the mountability of the file system before calling = fuse_main. The problem with this is that fuse_main sometimes is not even interested = in mounting the file system. Sometimes fuse_main will simply display a = help message (when called with --help), report that the mount point is = invalid, etc. In those cases, there is no reason to check the file system first. However, because there is no way of bailing out once fuse has called = init(), this leaves the file system developer with no choice but to check the = file system before calling fuse_main, even though fuse may not actually try = to mount the file system. > -----Original Message----- > From: fus...@li...=20 > [mailto:fus...@li...] On Behalf=20 > Of Allen Pulsifer > Sent: Friday, November 30, 2007 11:54 PM > To: fus...@li... > Subject: [fuse-devel] how to terminate from init method >=20 >=20 > Another hopefully easy question: >=20 > If the file system's init() method decides that the file=20 > system should not be mounted (maybe it cannot be accessed, is=20 > unreadable, etc.), what action can the init() method perform=20 > to cause FUSE to cleanly exit? >=20 >=20 > -------------------------------------------------------------- > ----------- > SF.Net email is sponsored by: The Future of Linux Business=20 > White Paper from Novell. From the desktop to the data=20 > center, Linux is going mainstream. Let it simplify your IT=20 > future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 > _______________________________________________ > fuse-devel mailing list > fus...@li...=20 > https://lists.sourceforge.net/lists/listinfo/fuse-devel |
From: Miklos S. <mi...@sz...> - 2007-12-05 18:41:40
|
> I didn't get a response to this, but there was a reason I asked. http://thread.gmane.org/gmane.comp.file-systems.fuse.devel/5498/focus=5508 > I was checking the mountability of the file system before calling fuse_main. > The problem with this is that fuse_main sometimes is not even interested in > mounting the file system. Sometimes fuse_main will simply display a help > message (when called with --help), report that the mount point is invalid, > etc. In those cases, there is no reason to check the file system first. > > However, because there is no way of bailing out once fuse has called init(), > this leaves the file system developer with no choice but to check the file > system before calling fuse_main, even though fuse may not actually try to > mount the file system. Yeah, the only way to properly deal with this is to check for the special (help and version) options. This is probably useful anyway since then you can display the relevant info for you filesystem as well. See sshfs for an example. Miklos |
From: Allen P. <pul...@co...> - 2007-12-05 19:52:02
|
> > I didn't get a response to this, but there was a reason I asked. > > http://thread.gmane.org/gmane.comp.file-systems.fuse.devel/549 8/focus=5508 Thanks. Sorry. The response must have gotten lost in the mail! |
From: Miklos S. <mi...@sz...> - 2007-12-03 11:23:25
|
> Hi, I am having trouble building fuse on an FC5 system. Is there > some known issue with fuse and FC5? > > Shouldnt I be able to build fuse with just access to the kernel > headers for the the kernel version that I am running? Support for very old kernels is gradually being dropped from newer fuse releases. I suspect, the kernel in FC5 is too old for the newest fuse release (see the FAQ for details). Miklos |