From: Sage Weil Date: Wed, 26 May 2010 17:01:49 +0000 (-0700) Subject: cfuse: bail out on mount() errors X-Git-Tag: v0.20.2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=16d3b30411c9c5ddb36a04ead93bd0ce8e35160a;p=ceph.git cfuse: bail out on mount() errors --- diff --git a/src/cfuse.cc b/src/cfuse.cc index a0aeff8f9c72..eb7d5611cea1 100644 --- a/src/cfuse.cc +++ b/src/cfuse.cc @@ -75,12 +75,16 @@ int main(int argc, const char **argv, const char *envp[]) { messenger->start(); + int r; + // start client client->init(); // start up fuse // use my argc, argv (make sure you pass a mount point!) - client->mount(); + r = client->mount(); + if (r < 0) + goto out_shutdown; _dout_create_courtesy_output_symlink("client", client->get_nodeid().v); cout << "starting fuse" << std::endl; @@ -95,13 +99,14 @@ int main(int argc, const char **argv, const char *envp[]) { cout << "fuse finished, unmounting ceph" << std::endl; client->unmount(); cout << "unmounted" << std::endl; + + out_shutdown: client->shutdown(); - delete client; // wait for messenger to finish messenger->wait(); - return 0; + return r; }