diff options
| author | Sachidananda <sac@gluster.com> | 2011-06-15 06:54:22 +0000 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2011-06-16 09:14:44 -0700 | 
| commit | 4566fb78c16948f91e7d5b1934d8722b51508053 (patch) | |
| tree | b5ca5b04a025819565998333ebdbc5590723bc1d | |
| parent | 4ba661f5989db0148c7c1f4631645f932a99fe56 (diff) | |
Bring `examples' directory upto date.
Signed-off-by: Sachidananda Urs <sac@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 3031 (Fix share/{doc,man} directory)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3031
| -rw-r--r-- | doc/examples/Makefile.am | 2 | ||||
| -rw-r--r-- | doc/examples/README | 8 | ||||
| -rw-r--r-- | doc/examples/io-cache.vol | 22 | ||||
| -rw-r--r-- | doc/examples/io-threads.vol | 13 | ||||
| -rw-r--r-- | doc/examples/posix-locks.vol | 7 | ||||
| -rw-r--r-- | doc/examples/protocol-client.vol | 15 | ||||
| -rw-r--r-- | doc/examples/protocol-server.vol | 16 | ||||
| -rw-r--r-- | doc/examples/read-ahead.vol | 14 | ||||
| -rw-r--r-- | doc/examples/replicate.vol | 17 | ||||
| -rw-r--r-- | doc/examples/stripe.vol | 17 | ||||
| -rw-r--r-- | doc/examples/trace.vol | 11 | ||||
| -rw-r--r-- | doc/examples/trash.vol | 8 | ||||
| -rw-r--r-- | doc/examples/unify.vol | 178 | ||||
| -rw-r--r-- | doc/examples/write-behind.vol | 15 | 
14 files changed, 84 insertions, 259 deletions
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index b4c93f4c90b..af8fe1fd8e0 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,4 +1,4 @@ -EXTRA = README unify.vol replicate.vol stripe.vol protocol-client.vol protocol-server.vol posix-locks.vol trash.vol write-behind.vol io-threads.vol io-cache.vol read-ahead.vol filter.vol trace.vol +EXTRA = README replicate.vol stripe.vol protocol-client.vol protocol-server.vol posix-locks.vol trash.vol write-behind.vol io-threads.vol io-cache.vol read-ahead.vol filter.vol trace.vol  EXTRA_DIST = $(EXTRA)  docdir = $(datadir)/doc/$(PACKAGE_NAME) diff --git a/doc/examples/README b/doc/examples/README index 4d472ac086e..73275157160 100644 --- a/doc/examples/README +++ b/doc/examples/README @@ -1,8 +1,8 @@ -GlusterFS's translator feature is very flexible and there are quite a lot of ways one  -can configure their filesystem to behave like.  +GlusterFS's translator feature is very flexible and there are quite a lot of +ways one can configure their filesystem to behave like. -Volume Specification is a way in which GlusterFS understands how it has to work, based  -on what is written there.  +Volume Specification is a way in which GlusterFS understands how it has to work, +based on what is written there.  Going through the following URLs may give you more idea about all these. diff --git a/doc/examples/io-cache.vol b/doc/examples/io-cache.vol index 5f3eca4c527..a71745017a2 100644 --- a/doc/examples/io-cache.vol +++ b/doc/examples/io-cache.vol @@ -5,21 +5,27 @@ volume client    option remote-subvolume brick        # name of the remote volume  end-volume -## In normal clustered storage type, any of the cluster translators can come here. +## In normal clustered storage type, any of the cluster translators can come +# here.  #  # Definition of other clients -#  -# Definition of cluster translator (may be unify, replicate, or unify over replicate) -#  +# +# Definition of cluster translator (may be distribute, replicate, or distribute +# over replicate) +# -### 'IO-Cache' translator is best used on client side when a filesystem has file which are not modified frequently but read several times. For example, while compiling a kernel, *.h files are read while compiling every *.c file, in these case, io-cache translator comes very handy, as it keeps the whole file content in the cache, and serves from the cache. +### 'IO-Cache' translator is best used on client side when a filesystem has file +# which are not modified frequently but read several times. For example, while +# compiling a kernel, *.h files are read while compiling every *.c file, in +# these case, io-cache translator comes very handy, as it keeps the whole file +# content in the cache, and serves from the cache.  # One can provide the priority of the cache too.  volume ioc    type performance/io-cache -  subvolumes client         # In this example it is 'client' you may have to change it according to your spec file. -  option page-size 1MB      # 128KB is default +  subvolumes client         # In this example it is 'client' you may have to +                            #  change it according to your spec file.    option cache-size 64MB    # 32MB is default -  option force-revalidate-timeout 5 # 1second is default  +  option force-revalidate-timeout 5 # 1second is default    option priority *.html:2,*:1 # default is *:0  end-volume diff --git a/doc/examples/io-threads.vol b/doc/examples/io-threads.vol index 9954724e1fe..236f5b8b188 100644 --- a/doc/examples/io-threads.vol +++ b/doc/examples/io-threads.vol @@ -1,11 +1,13 @@ -  volume brick    type storage/posix                   # POSIX FS translator    option directory /home/export        # Export this directory  end-volume -###  'IO-threads' translator gives a threading behaviour to File I/O calls. All other normal fops are having default behaviour. Loading this on server side helps to reduce the contension of network. (Which is assumed as a GlusterFS hang).  -# One can load it in client side to reduce the latency involved in case of a slow network, when loaded below write-behind. +###  'IO-threads' translator gives a threading behaviour to File I/O calls. All +# other normal fops are having default behaviour. Loading this on server side +# helps to reduce the contension of network. (Which is assumed as a GlusterFS +# hang). +  volume iot    type performance/io-threads    subvolumes brick @@ -14,8 +16,7 @@ end-volume  volume server    type protocol/server -  subvolumes iot brick +  subvolumes iot    option transport-type tcp     # For TCP/IP transport -  option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume -  option auth.addr.iot.allow 192.168.* # Allow access to "p-locks" volume +  option auth.addr.iot.allow 192.168.*  end-volume diff --git a/doc/examples/posix-locks.vol b/doc/examples/posix-locks.vol index b9c9e7a6481..673afa3f8ae 100644 --- a/doc/examples/posix-locks.vol +++ b/doc/examples/posix-locks.vol @@ -1,10 +1,10 @@ -  volume brick    type storage/posix                   # POSIX FS translator    option directory /home/export        # Export this directory  end-volume -### 'Posix-locks' feature should be added on the server side (as posix volume as subvolume) because it contains the actual file.  +# 'Posix-locks' feature should be added on the server side. +  volume p-locks    type features/posix-locks    subvolumes brick @@ -13,8 +13,7 @@ end-volume  volume server    type protocol/server -  subvolumes p-locks brick +  subvolumes p-locks    option transport-type tcp -  option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume    option auth.addr.p-locks.allow 192.168.* # Allow access to "p-locks" volume  end-volume diff --git a/doc/examples/protocol-client.vol b/doc/examples/protocol-client.vol index 43c43e02d54..c34ef790d0e 100644 --- a/doc/examples/protocol-client.vol +++ b/doc/examples/protocol-client.vol @@ -1,17 +1,12 @@  volume client    type protocol/client    option transport-type tcp     # for TCP/IP transport -# option transport-type ib-sdp  # for Infiniband transport    option remote-host 192.168.1.10      # IP address of the remote brick -# option transport.socket.remote-port 24016               - -# option transport-type ib-verbs # for Infiniband verbs transport -# option transport.ib-verbs.work-request-send-size  1048576 -# option transport.ib-verbs.work-request-send-count 16 -# option transport.ib-verbs.work-request-recv-size  1048576 -# option transport.ib-verbs.work-request-recv-count 16 -# option transport.ib-verbs.remote-port 24016               +# option transport.socket.remote-port 24016 +# option transport-type rdma # for Infiniband verbs transport +# option transport.rdma.work-request-send-count 16 +# option transport.rdma.work-request-recv-count 16 +# option transport.rdma.remote-port 24016    option remote-subvolume brick        # name of the remote volume -# option transport-timeout 30          # default value is 120seconds   end-volume diff --git a/doc/examples/protocol-server.vol b/doc/examples/protocol-server.vol index e8e4a464383..195e4965782 100644 --- a/doc/examples/protocol-server.vol +++ b/doc/examples/protocol-server.vol @@ -1,4 +1,3 @@ -  ### Export volume "brick" with the contents of "/home/export" directory.  volume brick    type storage/posix                   # POSIX FS translator @@ -9,17 +8,14 @@ end-volume  volume server    type protocol/server    option transport-type tcp      # For TCP/IP transport -# option transport.socket.listen-port 24016               +# option transport.socket.listen-port 24016 -# option transport-type ib-verbs # For Infiniband Verbs transport -# option transport.ib-verbs.work-request-send-size  131072 -# option transport.ib-verbs.work-request-send-count 64 -# option transport.ib-verbs.work-request-recv-size  131072 -# option transport.ib-verbs.work-request-recv-count 64 -# option transport.ib-verbs.listen-port 24016               +# option transport-type rdma +# option transport.rdma.work-request-send-count 64 +# option transport.rdma.work-request-recv-count 64 +# option transport.rdma.listen-port 24016  # option bind-address 192.168.1.10     # Default is to listen on all interfaces -# option client-volume-filename /etc/glusterfs/glusterfs-client.vol -  subvolumes brick  +  subvolumes brick    option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume  end-volume diff --git a/doc/examples/read-ahead.vol b/doc/examples/read-ahead.vol index 3ce0d95aca7..9e4dba55627 100644 --- a/doc/examples/read-ahead.vol +++ b/doc/examples/read-ahead.vol @@ -8,15 +8,17 @@ end-volume  ## In normal clustered storage type, any of the cluster translators can come here.  #  # Definition of other clients -#  -# Definition of cluster translator (may be unify, replicate, or unify over replicate) -#  +# +# Definition of cluster translator (may be distribute, replicate, or distribute +# over replicate) +# + +# 'Read-Ahead' translator is best utilized on client side, as it prefetches +# the file contents when the first read() call is issued. -### 'Read-Ahead' translator is best utilized on client side, as it prefetches the file contents when the first read() call is issued.   volume ra    type performance/read-ahead -  subvolumes client            # In this example it is 'client' you may have to change it according to your spec file. -  option page-size 1MB         # default is 256KB +  subvolumes client    option page-count 4          # default is 2    option force-atime-update no # defalut is 'no'  end-volume diff --git a/doc/examples/replicate.vol b/doc/examples/replicate.vol index 333ba7de1aa..10626d46f05 100644 --- a/doc/examples/replicate.vol +++ b/doc/examples/replicate.vol @@ -1,5 +1,6 @@  ### 'NOTE' -# This file has both server spec and client spec to get an understanding of stripe's spec file. Hence can't be used as it is, as a GlusterFS spec file.  +# This file has both server spec and client spec to get an understanding of +# replicate spec file. Hence can't be used as it is, as a GlusterFS spec file.  # One need to seperate out server spec and client spec to get it working.  #========================================================================= @@ -23,8 +24,7 @@ end-volume  volume server    type protocol/server    option transport-type tcp                      # For TCP/IP transport -  option transport.socket.listen-port 24016        -# option client-volume-filename /etc/glusterfs/glusterfs-client.vol +  option transport.socket.listen-port 24016    subvolumes brick1    option auth.addr.brick1.allow * 		# access to "brick" volume  end-volume @@ -49,7 +49,7 @@ end-volume  volume server    type protocol/server    option transport-type tcp                  # For TCP/IP transport -  option transport.socket.listen-port 24017    +  option transport.socket.listen-port 24017    subvolumes brick2    option auth.addr.brick2.allow * # Allow access to "brick" volume  end-volume @@ -75,7 +75,7 @@ end-volume  volume server    type protocol/server    option transport-type tcp                 # For TCP/IP transport -  option transport.socket.listen-port 24018   +  option transport.socket.listen-port 24018    subvolumes brick3    option auth.addr.brick3.allow * 		# access to "brick" volume  end-volume @@ -90,7 +90,7 @@ volume client1    type protocol/client    option transport-type tcp     # for TCP/IP transport    option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24016               +  option transport.socket.remote-port 24016    option remote-subvolume brick1        # name of the remote volume  end-volume @@ -99,7 +99,7 @@ volume client2    type protocol/client    option transport-type tcp     # for TCP/IP transport    option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24017               +  option transport.socket.remote-port 24017    option remote-subvolume brick2        # name of the remote volume  end-volume @@ -107,7 +107,7 @@ volume client3    type protocol/client    option transport-type tcp     # for TCP/IP transport    option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24018               +  option transport.socket.remote-port 24018    option remote-subvolume brick3        # name of the remote volume  end-volume @@ -116,4 +116,3 @@ volume replicate    type cluster/replicate    subvolumes client1 client2 client3  end-volume - diff --git a/doc/examples/stripe.vol b/doc/examples/stripe.vol index 6055b66b922..9524e8198bf 100644 --- a/doc/examples/stripe.vol +++ b/doc/examples/stripe.vol @@ -1,6 +1,7 @@  ### 'NOTE' -# This file has both server spec and client spec to get an understanding of stripe's spec file. Hence can't be used as it is, as a GlusterFS spec file.  +# This file has both server spec and client spec to get an understanding of +# stripe's spec file. Hence can't be used as it is, as a GlusterFS spec file.  # One need to seperate out server spec and client spec to get it working.  #========================================================================= @@ -24,8 +25,7 @@ end-volume  volume server    type protocol/server    option transport-type tcp     # For TCP/IP transport -  option transport.socket.listen-port 24016               -# option client-volume-filename /etc/glusterfs/glusterfs-client.vol +  option transport.socket.listen-port 24016    subvolumes brick1    option auth.addr.brick1.allow * 		# access to "brick" volume  end-volume @@ -50,7 +50,7 @@ end-volume  volume server    type protocol/server    option transport-type tcp     # For TCP/IP transport -  option transport.socket.listen-port 24017               +  option transport.socket.listen-port 24017    subvolumes brick2    option auth.addr.brick2.allow * # Allow access to "brick" volume  end-volume @@ -76,7 +76,7 @@ end-volume  volume server    type protocol/server    option transport-type tcp     # For TCP/IP transport -  option transport.socket.listen-port 24018               +  option transport.socket.listen-port 24018    subvolumes brick3    option auth.addr.brick3.allow * 		# access to "brick" volume  end-volume @@ -91,7 +91,7 @@ volume client1    type protocol/client    option transport-type tcp     # for TCP/IP transport    option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24016               +  option transport.socket.remote-port 24016    option remote-subvolume brick1        # name of the remote volume  end-volume @@ -100,7 +100,7 @@ volume client2    type protocol/client    option transport-type tcp     # for TCP/IP transport    option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24017               +  option transport.socket.remote-port 24017    option remote-subvolume brick2        # name of the remote volume  end-volume @@ -108,7 +108,7 @@ volume client3    type protocol/client    option transport-type tcp     # for TCP/IP transport    option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24018               +  option transport.socket.remote-port 24018    option remote-subvolume brick3        # name of the remote volume  end-volume @@ -118,4 +118,3 @@ volume stripe    subvolumes client1 client2 client3    option block-size 1MB  end-volume - diff --git a/doc/examples/trace.vol b/doc/examples/trace.vol index 3f4864db496..59830f26a9d 100644 --- a/doc/examples/trace.vol +++ b/doc/examples/trace.vol @@ -5,12 +5,17 @@ volume client    option remote-subvolume brick        # name of the remote volume  end-volume -### 'Trace' translator is a very handy debug tool for GlusterFS, as it can be loaded between any of the two volumes without changing the behaviour of the filesystem.  -# On client side it can be the top most volume in spec (like now) to understand what calls are made on FUSE filesystem, when a mounted filesystem is accessed. +### 'Trace' translator is a very handy debug tool for GlusterFS, as it can be +# loaded between any of the two volumes without changing the behaviour of the +# filesystem. +# On client side it can be the top most volume in spec (like now) to understand +# what calls are made on FUSE filesystem, when a mounted filesystem is +# accessed.  volume trace    type debug/trace    subvolumes client  end-volume -# 'NOTE:' By loading 'debug/trace' translator, filesystem will be very slow as it logs each and every calls to the log file. +# 'NOTE:' By loading 'debug/trace' translator, filesystem will be very slow as +# it logs each and every calls to the log file. diff --git a/doc/examples/trash.vol b/doc/examples/trash.vol index 16e71be3232..3fcf315af08 100644 --- a/doc/examples/trash.vol +++ b/doc/examples/trash.vol @@ -1,10 +1,11 @@ -  volume brick    type storage/posix                   # POSIX FS translator    option directory /home/export        # Export this directory  end-volume -### 'Trash' translator is best used on server side as it just renames the deleted file inside 'trash-dir', and it makes 4 seperate fops for one unlink call.   +### 'Trash' translator is best used on server side as it just renames the +# deleted file inside 'trash-dir', and it makes 4 seperate fops for one unlink +# call.  volume trashcan    type features/trash    subvolumes brick @@ -13,8 +14,7 @@ end-volume  volume server    type protocol/server -  subvolumes trashcan brick +  subvolumes trashcan    option transport-type tcp     # For TCP/IP transport    option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume -  option auth.addr.trashcan.allow 192.168.* # Allow access to "p-locks" volume  end-volume diff --git a/doc/examples/unify.vol b/doc/examples/unify.vol deleted file mode 100644 index 3fb7e832086..00000000000 --- a/doc/examples/unify.vol +++ /dev/null @@ -1,178 +0,0 @@ -### 'NOTE' -# This file has both server spec and client spec to get an understanding of stripe's spec file. Hence can't be used as it is, as a GlusterFS spec file.  -# One need to seperate out server spec and client spec to get it working. - - -#========================================================================= - -# **** server1 spec file **** - -### Export volume "brick" with the contents of "/home/export" directory. -volume posix1 -  type storage/posix                    # POSIX FS translator -  option directory /home/export1        # Export this directory -end-volume - -### Add POSIX record locking support to the storage brick -volume brick1 -  type features/posix-locks -  option mandatory on          # enables mandatory locking on all files -  subvolumes posix1 -end-volume - -### Add network serving capability to above brick. -volume server -  type protocol/server -  option transport-type tcp     # For TCP/IP transport -  option transport.socket.listen-port 24016               -# option client-volume-filename /etc/glusterfs/glusterfs-client.vol -  subvolumes brick1 -  option auth.addr.brick1.allow * 		# access to "brick" volume -end-volume - - -#========================================================================= - -# **** server2 spec file **** -volume posix2 -  type storage/posix                    # POSIX FS translator -  option directory /home/export2        # Export this directory -end-volume - -### Add POSIX record locking support to the storage brick -volume brick2 -  type features/posix-locks -  option mandatory on          # enables mandatory locking on all files -  subvolumes posix2 -end-volume - -### Add network serving capability to above brick. -volume server -  type protocol/server -  option transport-type tcp     # For TCP/IP transport -  option transport.socket.listen-port 24017               -  subvolumes brick2 -  option auth.addr.brick2.allow * # Allow access to "brick" volume -end-volume - - -#========================================================================= - -# **** server3 spec file **** - -volume posix3 -  type storage/posix                    # POSIX FS translator -  option directory /home/export3        # Export this directory -end-volume - -### Add POSIX record locking support to the storage brick -volume brick3 -  type features/posix-locks -  option mandatory on          # enables mandatory locking on all files -  subvolumes posix3 -end-volume - -### Add network serving capability to above brick. -volume server -  type protocol/server -  option transport-type tcp     # For TCP/IP transport -  option transport.socket.listen-port 24018               -  subvolumes brick3 -  option auth.addr.brick3.allow * 		# access to "brick" volume -end-volume - -#========================================================================= - -# *** server for namespace ***  -### Export volume "brick" with the contents of "/home/export" directory. -volume brick-ns -  type storage/posix                    # POSIX FS translator -  option directory /home/export-ns      # Export this directory -end-volume - -volume server -  type protocol/server -  option transport-type tcp     # For TCP/IP transport -  option transport.socket.listen-port 24019               -  subvolumes brick-ns -  option auth.addr.brick-ns.allow * 		# access to "brick" volume -end-volume - - -#========================================================================= - -# **** Clustered Client config file **** - -### Add client feature and attach to remote subvolume of server1 -volume client1 -  type protocol/client -  option transport-type tcp     # for TCP/IP transport -# option transport-type ib-sdp  # for Infiniband transport -  option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24016               -  option remote-subvolume brick1        # name of the remote volume -end-volume - -### Add client feature and attach to remote subvolume of server2 -volume client2 -  type protocol/client -  option transport-type tcp     # for TCP/IP transport -# option transport-type ib-sdp  # for Infiniband transport -  option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24017               -  option remote-subvolume brick2        # name of the remote volume -end-volume - -volume client3 -  type protocol/client -  option transport-type tcp     # for TCP/IP transport -# option transport-type ib-sdp  # for Infiniband transport -  option remote-host 127.0.0.1      # IP address of the remote brick -  option transport.socket.remote-port 24018               -  option remote-subvolume brick3        # name of the remote volume -end-volume - - -volume client-ns -  type protocol/client -  option transport-type tcp     # for TCP/IP transport -# option transport-type ib-sdp  # for Infiniband transport -  option remote-host 127.0.0.1         # IP address of the remote brick -  option transport.socket.remote-port 24019               -  option remote-subvolume brick-ns     # name of the remote volume -end-volume - -### Add unify feature to cluster the servers. Associate an -### appropriate scheduler that matches your I/O demand. -volume bricks -  type cluster/unify -  option namespace client-ns # this will not be storage child of unify. -  subvolumes client1 client2 client3 -### ** ALU Scheduler Option ** -  option self-heal background # foreground off # default is foreground -  option scheduler alu -  option alu.limits.min-free-disk  5% #% -  option alu.limits.max-open-files 10000 -  option alu.order disk-usage:read-usage:write-usage:open-files-usage:disk-speed-usage -  option alu.disk-usage.entry-threshold 2GB -  option alu.disk-usage.exit-threshold  128MB -  option alu.open-files-usage.entry-threshold 1024 -  option alu.open-files-usage.exit-threshold 32 -  option alu.read-usage.entry-threshold 20 #% -  option alu.read-usage.exit-threshold 4 #% -  option alu.write-usage.entry-threshold 20 #% -  option alu.write-usage.exit-threshold 4 #% -  option alu.disk-speed-usage.entry-threshold 0 # DO NOT SET IT. SPEED IS CONSTANT!!!. -  option alu.disk-speed-usage.exit-threshold 0 # DO NOT SET IT. SPEED IS CONSTANT!!!. -  option alu.stat-refresh.interval 10sec -  option alu.stat-refresh.num-file-create 10 -### ** Random Scheduler ** -# option scheduler random -### ** NUFA Scheduler ** -# option scheduler nufa -# option nufa.local-volume-name posix1 -### ** Round Robin (RR) Scheduler ** -# option scheduler rr -# option rr.limits.min-free-disk 5% #% -end-volume - diff --git a/doc/examples/write-behind.vol b/doc/examples/write-behind.vol index 9c6bae11c53..2b5ed413921 100644 --- a/doc/examples/write-behind.vol +++ b/doc/examples/write-behind.vol @@ -8,19 +8,20 @@ end-volume  ## In normal clustered storage type, any of the cluster translators can come here.  #  # Definition of other clients -#  +#  # Definition of cluster translator (may be unify, replicate, or unify over replicate) -#  +# -### 'Write-behind' translator is a performance booster for write operation. Best used on client side, as its main intension is to reduce the network latency caused for each write operation. +# 'Write-behind' translator is a performance booster for write operation. Best +# used on client side, as its main intension is to reduce the network latency +# caused for each write operation.  volume wb    type performance/write-behind -  subvolumes client         # In this example it is 'client' you may have to change it according to your spec file. +  subvolumes client    option flush-behind on    # default value is 'off'    option window-size 2MB -  option aggregate-size 1MB # default value is 0 -  option enable_O_SYNC no  # default is no -  option disable-for-first-nbytes 128KB #default is 1  +  option enable-O_SYNC no  # default is no +  option disable-for-first-nbytes 128KB #default is 1  end-volume  | 
