summaryrefslogtreecommitdiffstats
path: root/doc/hacker-guide/en-US/markdown/adding-fops.md
blob: 3f72ed3e23aa69a517e3c9b81a33276d9c1bf864 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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.