You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 3, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: doc/FOPFOM-Programming-Guide.md
+16-15Lines changed: 16 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ Rather than sending individual items between Colibri services as separate RPCs,
71
71
72
72
## Sending a FOP
73
73
A fop can be sent as a request FOP or a reply FOP. A fop is sent across using the various rpc interfaces. Every fop has an rpc item embedded into it.
74
-
```
74
+
```C
75
75
struct m0_fop {
76
76
...
77
77
/**
@@ -85,14 +85,14 @@ struct m0_fop {
85
85
Sending a fop involves initializing various fop and rpc item structures and then invoking the m0_rpc_post routines. The steps for the same are described below with few code examples.
@@ -127,7 +128,7 @@ A request FOP is sent by invoking a rpc routine m0_rpc_post(), and its correspon
127
128
+ Client side
128
129
129
130
Every request fop should be submitted to request handler for processing (both at the client as well as at the server side) which is then forwarded by the request handler itself, although currently (for “november” demo) we do not have request handler at the client side. Thus sending a FOP from the client side just involves submitting it to rpc layer by invoking m0_rpc_post(). So, this may look something similar to this:
130
-
```
131
+
```C
131
132
system_call()->m0t1fs_sys_call()
132
133
m0t2fs_sys_call() {
133
134
/* create fop */
@@ -142,7 +143,7 @@ At server side a fop should be submitted to request handler for processing, invo
142
143
The current format of fop operations need all fop formats referenced in the .ff file to be present in the same file. However with introduction of bulk IO client-server, there arises a need of referencing remote fops from one .ff file. Bulk IO transfer needs IO fop to contain a m0_net_buf_desc which is fop itself. ff2c compiler has a construct called “require” for this purpose. "require" statement introduces a dependency on other source file. For each "require", an #include directive is produced, which includes corresponding header file, "lib/vec.h" in this case require "lib/vec";
143
144
144
145
Example:
145
-
```
146
+
```C
146
147
require "net/net_otw_types";
147
148
require "addb/addbff/addb";
148
149
@@ -214,7 +215,7 @@ Examples
214
215
Consider the following write FOM example
215
216
216
217
Declaring FOP in reqh_ut_fom_xc.ff file
217
-
```
218
+
```C
218
219
record {
219
220
u64 f_seq;
220
221
u64 f_oid
@@ -231,15 +232,15 @@ record {
231
232
+ Defining and building a FOP
232
233
233
234
To build a particular FOP we need to define its corresponding m0_fop_type_ops and m0_fop_type structures as follows:
After defining the above structure, we need to have two subroutines(something like below) which actually builds the FOPs, and adds them to the global FOPs list.
242
-
```
243
+
```C
243
244
/** Function to clean reqh ut io fops */
244
245
voidreqh_ut_fom_io_fop_fini(void)
245
246
{
@@ -262,7 +263,7 @@ int reqh_ut_fom_io_fop_init(void)
262
263
After defining and building a FOP as above, we can now define its corresponding FOM.
Copy file name to clipboardExpand all lines: doc/Running_Motr_Across_a_Cluster.md
+4-9Lines changed: 4 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,11 +53,10 @@ This document provides information on how to build motr from source and then run
53
53
```
54
54
> A single node CDF should look like this:
55
55
56
+
```yaml
56
57
# Cluster Description File (CDF).
57
58
# See `cfgen --help-schema` for the format description.
58
59
nodes:
59
-
60
-
```yaml
61
60
- hostname: ssu0 # [user@]hostname
62
61
data_iface: ens33 # name of data network interface
63
62
#data_iface_type: o2ib # type of network interface (optional);
@@ -104,12 +103,10 @@ This document provides information on how to build motr from source and then run
104
103
# pools: [ the pool ]
105
104
```
106
105
> Whereas a CDF with 3 nodes should look like this:
107
-
106
+
```yaml
108
107
# Cluster Description File (CDF).
109
108
# See `cfgen --help-schema` for the format description.
110
109
nodes:
111
-
112
-
```yaml
113
110
- hostname: ssu0 # [user@]hostname
114
111
data_iface: ens33 # name of data network interface
115
112
#data_iface_type: o2ib # type of network interface (optional);
@@ -258,7 +255,7 @@ This document provides information on how to build motr from source and then run
258
255
259
256
8. ### Start the cluster:
260
257
Run this at the main node, the first node (hostname) listed at the CDF.
261
-
```sh
258
+
```yaml
262
259
hctl bootstrap --mkfs ~/CDF.yaml
263
260
```
264
261
9. ### Run I/O test:
@@ -275,6 +272,4 @@ This document provides information on how to build motr from source and then run
275
272
- Sep 15, 2021: Naga Kishore Kommuri ([email protected]) using CentOS Linux release 7.9.2009, verified with git tag CORTX-2.0.0-77 (#7d4d09cc9fd32ec7690c94298136b372069f3ce3) on main branch
276
273
- Jul 2, 2021: Daniar Kurniawan ([email protected]) using CentOS 7.8.2003 on 4 bare-metal servers hosted by [Chameleon](https://www.chameleoncloud.org/) (node_type=Skylake).
277
274
- Feb 22, 2021: Mayur Gupta ([email protected]) using CentOS 7.8.2003 on a Windows laptop running VMware Workstation.
278
-
- Feb 10, 2021: Patrick Hession ([email protected]) using CentOS 7.8.2003 on a Windows laptop running Windows Hyper-V.
279
-
280
-
275
+
- Feb 10, 2021: Patrick Hession ([email protected]) using CentOS 7.8.2003 on a Windows laptop running Windows Hyper-V.
Copy file name to clipboardExpand all lines: doc/motr-object-app.md
+7-8Lines changed: 7 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,13 +84,11 @@ These parameters can be queried with one of the following options:
84
84
85
85
If you've followed these instructions [Cluster Setup](https://github.com/Seagate/Cortx/blob/main/doc/Cluster_Setup.md) or [Quick Start Guide](/doc/Quick-Start-Guide.rst) to setup a Cortx Motr system. Or
86
86
87
-
```
88
87
- Run "motr/examples/setup_a_running_motr_system.sh" to setup a single node Motr, and parameters will be shown there.
89
-
```
90
88
91
89
The first function to use Cortx Motr is to call m0\_client\_init():
0 commit comments