ret of 1 is intentional to indicate that glfs_init() could not complete yet. 0 indicates success and you can start issuing fops right away. -1 is definitive failure. When ret is positive, it means initialization could not complete, but glfs_t is still retrying to connect to the server and can succeed in the future (for e.g, if you &#39;gluster volume start&#39; the volume).<div>
<br></div><div>I do understand that it is currently pointless as there is no way to get notified of asynchronous success, but it is part of the asynchronous initialization (glfs_init_async you can see in glfs.c) which will be supported in the future.<br>
<div><br></div><div>Avati<br><br><div class="gmail_quote">On Wed, Jul 25, 2012 at 10:27 PM, Bharata B Rao <span dir="ltr">&lt;<a href="mailto:bharata.rao@gmail.com" target="_blank">bharata.rao@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wed, Jul 25, 2012 at 2:08 PM, Bharata B Rao &lt;<a href="mailto:bharata.rao@gmail.com">bharata.rao@gmail.com</a>&gt; wrote:<br>

&gt; glfs_init() is supposed to return 0  on success and -1 on failure.<br>
&gt;<br>
&gt; When I specify a volume that&#39;s not yet &quot;started&quot; from gluster CLI,<br>
&gt; glfs_init() returns 1 with errno 98.<br>
<br>
</div>Client volfile<br>
-----------------<br>
volume test-client-0<br>
    type protocol/client<br>
    option remote-host bharata<br>
    option remote-subvolume /test<br>
    option transport-type tcp<br>
end-volume<br>
<br>
volume test-dht<br>
    type cluster/distribute<br>
    subvolumes test-client-0<br>
end-volume<br>
<br>
volume test-write-behind<br>
    type performance/write-behind<br>
    subvolumes test-dht<br>
end-volume<br>
<br>
volume test-read-ahead<br>
    type performance/read-ahead<br>
    subvolumes test-write-behind<br>
end-volume<br>
<br>
volume test-io-cache<br>
    type performance/io-cache<br>
    subvolumes test-read-ahead<br>
end-volume<br>
<br>
volume test-quick-read<br>
    type performance/quick-read<br>
    subvolumes test-io-cache<br>
end-volume<br>
<br>
volume test-md-cache<br>
    type performance/md-cache<br>
    subvolumes test-quick-read<br>
end-volume<br>
<br>
volume test<br>
    type debug/io-stats<br>
    option latency-measurement off<br>
    option count-fop-hits off<br>
    subvolumes test-md-cache<br>
end-volume<br>
<br>
Client side log<br>
---------------------<br>
[2012-07-26 05:17:57.602104] I [socket.c:3221:socket_init] 0-gfapi:<br>
SSL support is NOT enabled<br>
[2012-07-26 05:17:57.602215] I [socket.c:3236:socket_init] 0-gfapi:<br>
using system polling thread<br>
[2012-07-26 05:17:57.618120] I [socket.c:3221:socket_init]<br>
0-test-client-0: SSL support is NOT enabled<br>
[2012-07-26 05:17:57.618160] I [socket.c:3236:socket_init]<br>
0-test-client-0: using system polling thread<br>
[2012-07-26 05:17:57.618188] I [glfs-master.c:61:notify] 0-gfapi: New<br>
graph 62686172-6174-612d-3930-34332d323031 (0) coming up<br>
[2012-07-26 05:17:57.618206] I [client.c:2141:notify] 0-test-client-0:<br>
parent translators are ready, attempting connect on transport<br>
[2012-07-26 05:17:57.621582] E<br>
[client-handshake.c:1693:client_query_portmap_cbk] 0-test-client-0:<br>
failed to get the port number for remote subvolume<br>
[2012-07-26 05:17:57.621636] W [socket.c:390:__socket_rwv]<br>
0-test-client-0: readv failed (No data available)<br>
[2012-07-26 05:17:57.621662] I [client.c:2089:client_rpc_notify]<br>
0-test-client-0: disconnected<br>
[2012-07-26 05:17:57.621684] I [glfs-master.c:42:glfs_graph_setup]<br>
0-glfs-master: switched to graph 62686172-6174-612d-3930-34332d323031<br>
(0)<br>
[2012-07-26 05:17:57.631304] E [dht-common.c:1372:dht_lookup]<br>
0-test-dht: Failed to get hashed subvol for /<br>
[2012-07-26 05:17:57.631563] E [dht-common.c:1372:dht_lookup]<br>
0-test-dht: Failed to get hashed subvol for /dir1<br>
<br>
Server<br>
----------<br>
Not running since volume isn&#39;t yet started.<br>
<br>
Last glusterd log<br>
(/usr/local/var/log/glusterfs/usr-local-etc-glusterfs-glusterd.vol.log)<br>
------------------------<br>
[2012-07-26 05:17:08.317357] E<br>
[glusterd-store.c:2212:glusterd_store_retrieve_volume] 0-: Unknown<br>
key: brick-0<br>
[2012-07-26 05:17:08.317375] E<br>
[glusterd-store.c:2212:glusterd_store_retrieve_volume] 0-: Unknown<br>
key: brick-1<br>
[2012-07-26 05:17:08.317654] E<br>
[glusterd-store.c:2212:glusterd_store_retrieve_volume] 0-: Unknown<br>
key: brick-0<br>
[2012-07-26 05:17:08.317664] E<br>
[glusterd-store.c:2212:glusterd_store_retrieve_volume] 0-: Unknown<br>
key: brick-1<br>
[2012-07-26 05:17:08.318514] I [glusterd.c:94:glusterd_uuid_init]<br>
0-glusterd: retrieved UUID: b5b47193-5b5e-49da-b28c-8f0aa995e744<br>
[2012-07-26 05:17:08.319091] I<br>
[glusterd-utils.c:1222:glusterd_volume_start_glusterfs] 0-: About to<br>
start glusterfs for brick bharata:/rep1<br>
[2012-07-26 05:17:08.330673] I [socket.c:3221:socket_init]<br>
0-management: SSL support is NOT enabled<br>
[2012-07-26 05:17:08.330726] I [socket.c:3236:socket_init]<br>
0-management: using system polling thread<br>
[2012-07-26 05:17:08.331211] I<br>
[glusterd-utils.c:1222:glusterd_volume_start_glusterfs] 0-: About to<br>
start glusterfs for brick bharata:/rep2<br>
[2012-07-26 05:17:08.339197] I [socket.c:3221:socket_init]<br>
0-management: SSL support is NOT enabled<br>
[2012-07-26 05:17:08.339219] I [socket.c:3236:socket_init]<br>
0-management: using system polling thread<br>
[2012-07-26 05:17:08.339660] I<br>
[glusterd-utils.c:868:glusterd_volume_brickinfo_get] 0-management:<br>
Found brick<br>
[2012-07-26 05:17:08.339899] I<br>
[glusterd-utils.c:868:glusterd_volume_brickinfo_get] 0-management:<br>
Found brick<br>
[2012-07-26 05:17:08.347865] I [socket.c:3221:socket_init]<br>
0-management: SSL support is NOT enabled<br>
[2012-07-26 05:17:08.347895] I [socket.c:3236:socket_init]<br>
0-management: using system polling thread<br>
[2012-07-26 05:17:08.353960] I [socket.c:3221:socket_init]<br>
0-management: SSL support is NOT enabled<br>
[2012-07-26 05:17:08.353983] I [socket.c:3236:socket_init]<br>
0-management: using system polling thread<br>
Given volfile:<br>
+------------------------------------------------------------------------------+<br>
  1: volume management<br>
  2:     type mgmt/glusterd<br>
  3:     option working-directory /var/lib/glusterd<br>
  4:     option transport-type socket,rdma<br>
  5:     option transport.socket.keepalive-time 10<br>
  6:     option transport.socket.keepalive-interval 2<br>
  7:     option transport.socket.read-fail-log off<br>
  8: end-volume<br>
<br>
+------------------------------------------------------------------------------+<br>
[2012-07-26 05:17:08.354215] I [socket.c:2081:socket_event_handler]<br>
0-transport: disconnecting now<br>
[2012-07-26 05:17:08.354244] I [socket.c:2081:socket_event_handler]<br>
0-transport: disconnecting now<br>
[2012-07-26 05:17:08.354265] I [socket.c:2081:socket_event_handler]<br>
0-transport: disconnecting now<br>
[2012-07-26 05:17:08.354283] I [socket.c:2081:socket_event_handler]<br>
0-transport: disconnecting now<br>
[2012-07-26 05:17:08.359061] I<br>
[glusterd-pmap.c:237:pmap_registry_bind] 0-pmap: adding brick /rep1 on<br>
port 49154<br>
[2012-07-26 05:17:08.359611] I<br>
[glusterd-pmap.c:237:pmap_registry_bind] 0-pmap: adding brick /rep2 on<br>
port 49155<br>
[2012-07-26 05:17:08.374653] W [socket.c:390:__socket_rwv]<br>
0-socket.management: readv failed (No data available)<br>
[2012-07-26 05:17:08.374715] W [socket.c:390:__socket_rwv]<br>
0-socket.management: readv failed (No data available)<br>
[2012-07-26 05:17:08.376131] W [socket.c:390:__socket_rwv]<br>
0-socket.management: readv failed (No data available)<br>
[2012-07-26 05:17:08.376176] W [socket.c:390:__socket_rwv]<br>
0-socket.management: readv failed (No data available)<br>
[2012-07-26 05:17:14.867131] I<br>
[glusterd-handler.c:852:glusterd_handle_cli_get_volume] 0-glusterd:<br>
Received get vol req<br>
[2012-07-26 05:17:14.867970] I<br>
[glusterd-handler.c:852:glusterd_handle_cli_get_volume] 0-glusterd:<br>
Received get vol req<br>
[2012-07-26 05:17:14.868468] I<br>
[glusterd-handler.c:852:glusterd_handle_cli_get_volume] 0-glusterd:<br>
Received get vol req<br>
[2012-07-26 05:17:14.869070] I<br>
[glusterd-handler.c:852:glusterd_handle_cli_get_volume] 0-glusterd:<br>
Received get vol req<br>
[2012-07-26 05:17:57.621649] W [socket.c:390:__socket_rwv]<br>
0-socket.management: readv failed (No data available)<br>
[2012-07-26 05:17:57.636813] W [socket.c:390:__socket_rwv]<br>
0-socket.management: readv failed (No data available)<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@nongnu.org">Gluster-devel@nongnu.org</a><br>
<a href="https://lists.nongnu.org/mailman/listinfo/gluster-devel" target="_blank">https://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br>
</div></div></blockquote></div><br></div></div>