+ ll_register_cache(&ll_cache_definition);
+
+ lustre_register_client_fill_super(ll_fill_super);
+ lustre_register_client_process_config(ll_process_config);
+
+ ll_get_random_bytes(seed, sizeof(seed));
+
+ /* Nodes with small feet have little entropy
+ * the NID for this node gives the most entropy in the low bits */
+ for (i=0; ; i++) {
+ if (LNetGetId(i, &lnet_id) == -ENOENT) {
+ break;
+ }
+ if (LNET_NETTYP(LNET_NIDNET(lnet_id.nid)) != LOLND) {
+ seed[0] ^= LNET_NIDADDR(lnet_id.nid);
+ }
+ }
+
+ do_gettimeofday(&tv);
+ ll_srand(tv.tv_sec ^ seed[0], tv.tv_usec ^ seed[1]);
+
+ return rc;