path: root/doc/hacker-guide/en-US/markdown/
diff options
authorLubomir Rintel <>2013-07-31 18:18:19 +0200
committerVijay Bellur <>2013-08-04 07:48:11 -0700
commitd2338a18bafaf9037cb2c1a9249771a523690495 (patch)
tree863b81413aff9918382416a3e9ac14b1a69113bb /doc/hacker-guide/en-US/markdown/
parentb2122ea4983c8b59802c8f2a346fe5f44d967042 (diff)
doc: Convert adding a fop howto to markdown
Change-Id: Ia0a9ad228dcf69f40befc58fff7a56fffcfe915b Signed-off-by: Lubomir Rintel <> Reviewed-on: Reviewed-by: Vijay Bellur <> Tested-by: Vijay Bellur <>
Diffstat (limited to 'doc/hacker-guide/en-US/markdown/')
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/hacker-guide/en-US/markdown/ b/doc/hacker-guide/en-US/markdown/
new file mode 100644
index 000000000..3f72ed3e2
--- /dev/null
+++ b/doc/hacker-guide/en-US/markdown/
@@ -0,0 +1,18 @@
+Adding a new FOP
+Steps to be followed when adding a new FOP to GlusterFS:
+1. Edit `glusterfs.h` and add a `GF_FOP_*` constant.
+2. Edit `xlator.[ch]` and:
+ * add the new prototype for fop and callback.
+ * edit `xlator_fops` structure.
+3. Edit `xlator.c` and add to fill_defaults.
+4. Edit `protocol.h` and add struct necessary for the new FOP.
+5. Edit `defaults.[ch]` and provide default implementation.
+6. Edit `call-stub.[ch]` and provide stub implementation.
+7. Edit `common-utils.c` and add to gf_global_variable_init().
+8. Edit client-protocol and add your FOP.
+9. Edit server-protocol and add your FOP.
+10. Implement your FOP in any translator for which the default implementation
+ is not sufficient.