11473 Commits

Author SHA1 Message Date
Jeff Darcy
9bbee1c2bc core: add some examples of site.h usage
Change-Id: I6ce574a593eda8f3a6b2fc8969b5edf7c250b61c
Signed-off-by: Jeff Darcy <jdarcy@fb.com>
2018-01-30 03:51:57 +00:00
Anoop C S
3e78ea991b protocol: Remove lock recovery logic from client and server
Change-Id: I27f5e1e34fe3eac96c7dd88e90753fb5d3d14550
BUG: 1272030
Signed-off-by: Anoop C S <anoopcs@redhat.com>
2018-01-29 17:36:31 +00:00
Aravinda VK
596143a286 geo-rep: Remove unused working directory check in gsyncd
To append the default config file path, gsyncd calls gluster
command to get the workdir path and constructs config file path.
This is not required now since the Config management in Geo-replication
is changed with patch 18257(Issue #73)

BUG: 1539545
Change-Id: Ia7eb39e36ed59ece4de65ea7ec71a0f615e338bb
Signed-off-by: Aravinda VK <avishwan@redhat.com>
2018-01-29 13:03:00 +05:30
Aravinda VK
5d3c90d148 geo-rep: Detailed JSON output for config
JSON output of `config-get` command now returns in the following
format

    {
        "name": CONFIG_NAME,
        "value": CONFIG_VALUE,
        "default_value": DEFAULT_VALUE,  # Only if modified == true
        "configurable": true|false,
        "modified": true|false
    }

Change-Id: I6193de48cd33655df7ecef5a0d83d7cb147089cf
Fixes: #361
Signed-off-by: Aravinda VK <avishwan@redhat.com>
2018-01-26 16:08:27 +00:00
Jan Engelhardt
c3647b747a build: restore ability to control verbosity settings
`make V=1` is broken — no commands are printed whatsoever. At the
same time, `make V=0` *also* is broken in that no summary lines
("CC  foo.o") are printed, either. Kill the annoying hardcoded
--quiet in configure.ac, since it seems to override everything that
automake offers.

Change-Id: I377c0e0469619a33586afb4a93dde6d241e7bc21
Fixes: #381
BUG: 1539023
Original-author: Jan Engelhardt <jengelh@inai.de>
Signed-off-by: Niels de Vos <ndevos@redhat.com>
[ndevos: silence rpc/xdr/gen rpgcen]
2018-01-26 12:58:03 +00:00
Soumya Koduri
1a519f4bf9 gfapi : New APIs have been added to use lease feature in gluster
Following APIs glfs_h_lease(), glfs_lease() added, so that gfapi applications
can set and get lease which enables more efficient client side caching.

Updates: #350
Change-Id: Iede85be9af1d4df969b890d0937ed0afa4ca6596
Signed-off-by: Poornima G <pgurusid@redhat.com>
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
2018-01-26 12:33:42 +00:00
Krutika Dhananjay
cd66e4edae debug/io-stats: io-stats options for GD2
Updates #302

Change-Id: I8e7ff391cec88ea76f63ffe05b7404bdb31eaf8e
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
2018-01-26 11:33:18 +00:00
Krutika Dhananjay
6b4432388c features/shard: shard options for GD2.
Updates #302

Change-Id: Ife21440ffcf5805ce5858360dc94a456ead891e5
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
2018-01-26 11:32:56 +00:00
Kaleb S. KEITHLEY
3cad44e8a7 build: use libtirpc by default, even if ipv6 is not the default
Another error snuck in with Change-Id I86f847dfd, or more
accurately I think, with Change-Id: Ic47065e9c2...

All libs, not just libgfrpc, need to be linked with libtirpc,
especially on systems that still have xdr functions in (g)libc
where you will get a mixture of calls to libtirpc functions
and glibc functions, with catastrophic results.

BUG: 1536186
Change-Id: I97dc39c7844f44c36fe210aa813480c219e1e415
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2018-01-26 10:55:26 +00:00
Kaleb S. KEITHLEY
ae7d5d26ff packaging: python-ctypes only in RHEL <= 7
And we don't need multiple BuildRequires: python-ctypes for sub-packages
when it's (already) set for the base package.

Change-Id: I71a2d750f338d360d5f716b1f0c4814e4e617b04
BUG: 1538258
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2018-01-26 09:38:39 +00:00
Atin Mukherjee
b7844629bb glusterd: add profile_enabled flag in get-state
Change-Id: I09f348ed7ae6cd481f8c4d8b4f65f2f2f6aad84e
BUG: 1537364
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
2018-01-25 08:04:32 +00:00
Atin Mukherjee
9d708a3739 glusterd: process pmap sign in only when port is marked as free
Because of some crazy race in volume start code path because of friend
handshaking with volumes with quorum enabled we might end up into a situation
where glusterd would start a brick and get a disconnect and then immediately try
to start the same brick instance based on another friend update request. And
then if for the very first brick even if the process doesn't come up at the end
sign in event gets sent and we end up having two duplicate portmap entries for
the same brick. Since in brick start we mark the previous port as free, its
better to consider a sign in request as no op if the corresponding port type is
marked as free.

Change-Id: I995c348c7b6988956d24b06bf3f09ab64280fc32
BUG: 1537362
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
2018-01-25 08:01:22 +00:00
Niels de Vos
7631b22a59 build: use libtirpc by default, even if ipv6 is not the default
An error sneaked in with Change-Id I86f847dfd. The check for requiring
libtirpc-devel should be done regardless of the ipv6-default. Even if
IPv6 is not the default, libtirpc-devel should be used unless it is
explicitly requested by a --without option.

libtirpc can not be used on EL6 and EL7 yet. The EL7 version does not
provide xdr_sizeof(), in addition to that, EL6 does not have
xdr_uint32_t() and xdr_uint64_t().

BUG: 1536186
Change-Id: I4a8292de2eddad16137df5998334133fc1e11261
Fixes: 0c57232ae07f48bd6483bfe88a182f832377ef52
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2018-01-24 17:16:59 +00:00
N Balachandran
cb98b495a9 cluster/dht: Skip '..' for the volume root dir
dht_populate_inode_for_dentry tries to update the layout
for the '..' entry when listing the root of the volume.
This entry does not correspond to an entry in the volume
and therefore does not have a gfid or a layout on disk,
causing layout processing to fail.

Change-Id: I2b7470e1c5e20d87b5545160697f24d041045140
BUG: 1537457
Signed-off-by: N Balachandran <nbalacha@redhat.com>
2018-01-24 11:11:09 +00:00
Kaleb S. KEITHLEY
0c57232ae0 build: glibc has removed rpc headers and rpcgen in Fedora28, use libtirpc
Other Linux distributions are doing the same; some others have already
done so.

Switch to libtirpc(-devel) and unbundled rpcgen packages. For now
rpcgen is still provided by the glibc-rpcgen RPM, but rpcsvc-proto's
rpcgen subpackage is available now but will not be used until
glibc-rpcgen is retired. (note, rpcsvc-proto's rpcgen is just named
rpcgen-...rpm. I.e. not rpcsvc-proto-rpcgen.) Right now either one
will satisfy the BuildRequires: rpcgen.

Also, when a .spec file has
  BuildRequires: foo-devel
it is not necessary to also have:
  BuildRequires: foo
or even:
  BuildRequires: foo foo-devel

The foo-devel package has a dependency on foo, which will install foo
automatically. It's usually also not necessary to have a corresponding
  Requires: foo
as the rpmbuild process will also automatically determine the
install-time dependencies.

And other minor glusterfs.spec.in cleanup of ipv6-default, including
sorting the argument definitions because the comment says "keep them
sorted" (Though nobody appears to have ever sorted them in the first
place.)

Change-Id: I86f847dfda0fef83e22c6e8b761342d652a2d9ba
BUG: 1536186
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2018-01-24 10:22:14 +00:00
Sakshi Bansal
78868033bc dentry fop serializer: added new server side xlator for dentry fop serialization
Problems addressed by this xlator :

[1]. To prevent race between parallel mkdir,mkdir and lookup etc.

Fops like mkdir/create, lookup, rename, unlink, link that happen on a
particular dentry must be serialized to ensure atomicity.

Another possible case can be a fresh lookup to find existance of a path
whose gfid is not set yet. Further, storage/posix employs a ctime based
heuristic 'is_fresh_file' (interval time is less than 1 second of current
time) to check fresh-ness of file. With serialization of these two fops
(lookup & mkdir), we eliminate the race altogether.

[2]. Staleness of dentries

This causes exponential increase in traversal time for any inode in the
subtree of the directory pointed by stale dentry.

Cause :  Stale dentry is created because of following two operations:

      a. dentry creation due to inode_link, done during operations like
         lookup, mkdir, create, mknod, symlink, create and
      b. dentry unlinking due to various operations like rmdir, rename,
         unlink.

       The reason is __inode_link uses __is_dentry_cyclic, which explores
       all possible path to avoid cyclic link formation during inode
       linkage. __is_dentry_cyclic explores stale-dentry(ies) and its
       all ancestors which is increases traversing time exponentially.

Implementation : To acheive this all fops on dentry must take entry locks
before they proceed, once they have acquired locks, they perform the fop
and then release the lock.

Some documentation from email conversation:
[1] http://www.gluster.org/pipermail/gluster-devel/2015-December/047314.html

[2] http://www.gluster.org/pipermail/gluster-devel/2015-August/046428.html

With this patch, the feature is optional, enable it by running:

 `gluster volume set $volname features.sdfs enable`

Also the feature is tested for a month without issues in the
experiemental branch for all the regression.

Change-Id: I6e80ba3cabfa6facd5dda63bd482b9bf18b6b79b
Fixes: #397
BUG: 1304962
Signed-off-by: Sakshi Bansal <sabansal@redhat.com>
Signed-off-by: Amar Tumballi <amarts@redhat.com>
Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
2018-01-24 05:39:44 +00:00
Nigel Babu
5cbe21b1dd tests: Disable geo-rep tests
These tests are prone to issues at the moment that need further
debugging and fixing.

BUG: 1537602
Change-Id: Ic59ca620925c6f43948b8a751eaddb571b791969
Signed-off-by: Nigel Babu <nigelb@redhat.com>
2018-01-24 02:11:27 +00:00
Nigel Babu
93f21655e1 libglusterfs: Reset errno before call
This was causing Gluster to return a failure when testing on Centos7.

BUG: 1536913
Change-Id: Idb90baef05058123a7f69e94a51dd79abd371815
Signed-off-by: Nigel Babu <nigelb@redhat.com>
2018-01-23 18:08:27 +00:00
Atin Mukherjee
a35f158f1c features/error-gen: update volume options for GD2
Updates #302

Change-Id: I8d04bb4f46b1e53a8d176a75da2382fdbf0cfc6f
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
2018-01-23 04:07:41 +00:00
Aravinda VK
7c9b62cfff geo-rep: Support for using Volinfo from Conf file
Once Geo-replication is started, it runs Gluster commands to get Volume
info from Master and Slave. With this patch, Georep can get Volume info
from Conf file if `--use-gconf-volinfo` argument is specified to monitor

Create a config(Or add to the config if exists) with following fields

    [vars]
    master-bricks=NODEID:HOSTNAME:PATH,..
    slave-bricks=NODEID:HOSTNAME,..
    master-volume-id=
    slave-volume-id=
    master-replica-count=
    master-disperse_count=

Note: Exising Geo-replication is not affected since this is activated
only when `--use-gconf-volinfo` is passed while spawning `gsyncd
monitor`

Tiering support is not yet added since Tiering + Glusterd2 is still
under discussion.

Fixes: #396
Change-Id: I281baccbad03686c00f6488a8511dd6db0edc57a
Signed-off-by: Aravinda VK <avishwan@redhat.com>
2018-01-23 03:03:01 +00:00
Csaba Henk
8efa3ee675 performance/read-ahead: volume option fixes for GD2
Updates #302

Change-Id: I842ab746502bc4ff3b312ee19f397a6177edc6f7
Signed-off-by: Csaba Henk <csaba@redhat.com>
2018-01-22 15:59:42 +00:00
Kotresh HR
0c1eb282aa protocol/server: Fix "auth-path" in options table
Options set will crash the brick with glusterd2.
glusterd used to set "auth-path" during volfile
generation. With glusterd2, it should come from
options table.

Updates: #302
Change-Id: Ie41a17779c185b87ace7e0bce0d0ba594b415a75
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2018-01-22 11:19:16 +00:00
Csaba Henk
b1abe3c1ba performance/write-behind: volume option fixes for GD2
Updates #302

Change-Id: I2ade3dc4aef4da619c5b64058872594f0f1e004f
Signed-off-by: Csaba Henk <csaba@redhat.com>
2018-01-22 10:18:08 +00:00
Anoop C S
ec3df9e65a libgfapi: Add new api for supporting mandatory-locks
The current API for byte-range locks [glfs_posix_lock()] doesn't
allow applications to specify whether it is advisory or mandatory
type locks. This particular change is to introduce an extended
byte-range lock API with an additional argument for including
the byte-range lock mode to be one among advisory(default) or
mandatory. Patch also includes a gfapi test case which make use
of this new api to acquire mandatory locks.

Ref: https://github.com/gluster/glusterfs-specs/blob/master/done/GlusterFS%203.8/Mandatory%20Locks.md

Change-Id: Ia09042c755d891895d96da857321abc4ce03e20c
Updates #393
Signed-off-by: Anoop C S <anoopcs@redhat.com>
2018-01-22 09:54:02 +00:00
Sunil Kumar Acharya
10d74166f1 cluster/ec : EC options for GD2
Updates #302

Change-Id: I31b4648f7b1a394fceece5cba8120c579c66edd9
Signed-off-by: Sunil Kumar Acharya <sheggodu@redhat.com>
2018-01-22 08:53:36 +00:00
Kotresh HR
e3b217155b geo-rep: Improve geo-rep pre-validation logs
Geo-rep runs gverify.sh which does pre-validation.
As part of it, master and slave volume is mounted
to verify the size. If for some reason, the mount
fails, the error message does not point out the
mount log file location. Also both master and
slave mount logs are same.

Patch does following improvements.

1. Master and slave mount logs are separated and
   error message points the log file to be looked for.
2. The log location is changed to /var/log/glusterfs/geo-replication
   instead of /var/log/glusterfs/geo-replication-slaves
3. The log file name is changed to "gverify-mastermnt.log" and
   "gverify-slavemnt.log" for master and slave mount respectively

Fixes: #395
Change-Id: Ia644ec0afebbdaae92e01adf03c635e5f8866a02
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2018-01-22 06:33:48 +00:00
Poornima G
24bf771514 md-cache: Implement dynamic configuration of xattr list for caching
Currently, the list of xattrs that md-cache can cache is hard coded
in the md-cache.c file, this necessiates code change and rebuild
everytime a new xattr needs to be added to md-cache xattr cache
list.

With this patch, the user will be able to configure a comma
seperated list of xattrs to be cached by md-cache

Updates #297

Change-Id: Ie35ed607d17182d53f6bb6e6c6563ac52bc3132e
Signed-off-by: Poornima G <pgurusid@redhat.com>
2018-01-22 04:10:52 +00:00
Amar Tumballi
303cc2b547 protocol: make on-wire-change of protocol using new XDR definition.
With this patchset, some major things are changed in XDR, mainly:

* Naming: Instead of gfs3/gfs4 settle for gfx_ for xdr structures
* add iattx as a separate structure, and add conversion methods
* the *_rsp structure is now changed, and is also reduced in number
  (ie, no need for different strucutes if it is similar to other response).
* use proper XDR methods for sending dict on wire.

Also, with the change of xdr structure, there are changes needed
outside of xlator protocol layer to handle these properly. Mainly
because the abstraction was broken to support 0-copy RDMA with payload
for write and read FOP. This made transport layer know about the xdr
payload, hence with the change of xdr payload structure, transport layer
needed to know about the change.

Updates #384

Change-Id: I1448fbe9deab0a1b06cb8351f2f37488cefe461f
Signed-off-by: Amar Tumballi <amarts@redhat.com>
2018-01-19 22:48:39 +05:30
Soumya Koduri
9eefff096f gfapi : added glfs_setfsleaseid() for setting lease id
A new function glfs_setfsleaseid() added in gfapi. Currently lock owner
is saved in the thread context. Similarly the leaseid attribute can be
saved using glfs_setfsleaseid().

Updates: #350
Change-Id: I55966cca01d0f2649c32b87bd255568c3ffd1262
Signed-off-by: Poornima G <pgurusid@redhat.com>
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
2018-01-19 09:27:40 +00:00
Ravishankar N
a40a87ec3b afr: add quorum checks in post-op
afr relies on pending changelog xattrs to identify source and sinks and the
setting of these xattrs happen in post-op. So if post-op fails, we need to
unwind the write txn with a failure.

Change-Id: I0f019ac03890108324ee7672883d774918b20be1
BUG: 1506140
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
2018-01-19 08:10:45 +00:00
Poornima G
e2323cc387 readdir-ahead: Cleanup the xattr request code
Updates #297

Change-Id: Ia0c697583751290a455da3cd1894e0c5685d1bd8
Signed-off-by: Poornima G <pgurusid@redhat.com>
2018-01-19 04:02:26 +00:00
Poornima G
efc30e60e2 upcall: Allow md-cache to specify invalidations on xattr with wildcard
Currently, md-cache sends a list of xattrs, it is inttrested in recieving
invalidations for. But, it cannot specify any wildcard in the xattr names
Eg: user.* - invalidate on updating any xattr with user. prefix.

This patch, enable upcall to honor wildcard in the xattr key names

Updates: #297

Change-Id: I98caf0ed72f11ef10770bf2067d4428880e0a03a
Signed-off-by: Poornima G <pgurusid@redhat.com>
2018-01-19 03:59:30 +00:00
Kotresh HR
890078423b geo-rep: Validate availability of gluster binary on slave
1. Adds validation to check if gluster binary is available on slave
2. Add a simple geo-rep setup test case to verify whether setup is fine.
   It's named in such a way that it runs first.

BUG: 1532591
Change-Id: Ie777e55ae13db8fa97d4e32464ad82269ee5fd07
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2018-01-19 03:53:24 +00:00
Pranith Kumar K
dc70cf124c features/locks: volume option fixes for GD2
Updates #302
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Change-Id: I1667fc32b7a31562b289fcab878d94be202407e4
2018-01-19 03:52:39 +00:00
Poornima G
8fc9c6a8fc posix: In getxattr, honor the wildcard '*'
Currently, the posix_xattr_fill performas a sys_getxattr
on all the keys requested, there are requirements where
the keys could contain a wildcard, in which case sys_getxattr
would return ENODATA, eg: if the xattr requested is user.*
all the xattrs with prefix user. should be returned, with their
values.

This patch, changes posix_xattr_fill, to honor wildcard in the keys
requested.

Updates #297

Change-Id: I3d52da2957ac386fca3c156e26ff4cdf0b2c79a9
Signed-off-by: Poornima G <pgurusid@redhat.com>
2018-01-19 03:51:27 +00:00
karthik-us
84c5c540b2 cluster/afr: Adding option to take full file lock
Problem:
In replica 3 volumes there is a possibilities of ending up in split
brain scenario, when multiple clients writing data on the same file
at non overlapping regions in parallel.

Scenario:
- Initially all the copies are good and all the clients gets the value
  of data readables as all good.
- Client C0 performs write W1 which fails on brick B0 and succeeds on
  other two bricks.
- C1 performs write W2 which fails on B1 and succeeds on other two bricks.
- C2 performs write W3 which fails on B2 and succeeds on other two bricks.
- All the 3 writes above happen in parallel and fall on different ranges
  so afr takes granular locks and all the writes are performed in parallel.
  Since each client had data-readables as good, it does not see
  file going into split-brain in the in_flight_split_brain check, hence
  performs the post-op marking the pending xattrs. Now all the bricks
  are being blamed by each other, ending up in split-brain.

Fix:
Have an option to take either full lock or range lock on files while
doing data transactions, to prevent the possibility of ending up in
split brains. With this change, by default the files will take full
lock while doing IO. If you want to make use of the old range lock
change the value of "cluster.full-lock" to "no".

Change-Id: I7893fa33005328ed63daa2f7c35eeed7c5218962
BUG: 1535438
Signed-off-by: karthik-us <ksubrahm@redhat.com>
2018-01-19 00:15:19 +00:00
krad
badf662b15 distributed-tests: Framework for running tests on a worker cluster
Summary: This framework helps distribute running of unit tests on a cluster of machines.

Test Plan: Run tests on fb cluster

Reviewers: sshreyas, jdarcy

Change-Id: If309f504d9aa959cc8b01c85bff3b5503a890ff1
updates #374
Signed-off-by: krad <krad@fb.com>
2018-01-18 19:37:48 +00:00
Jiffin Tony Thottan
bee06ccd7b selinux-xlator : validate dict before calling dict_rename_key()
Change-Id: I71da3b64e5e8c82e8842e119b2b05da3e2ace550
BUG: 1535772
Signed-off-by: Jiffin Tony Thottan <jthottan@redhat.com>
2018-01-18 18:32:28 +00:00
Poornima G
2db7872d52 md-cache: Serve nameless lookup from cache
Updates #232
Change-Id: I97e92312a53a50c2d1660bf8d657201fc05a76eb
Signed-off-by: Poornima G <pgurusid@redhat.com>
2018-01-18 06:03:32 +00:00
Atin Mukherjee
c2fa8a9434 fix features/leases: volume option fixes for GD2
Updates #302

Change-Id: I31091765b5bfd118fc5370b3515128f0e84e360f
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
2018-01-18 05:57:40 +00:00
Poornima G
80a6a2357c readdir-ahead: Add parallel-readdir option in readdir-ahead
parallel-readdir option is defined as belonging to readdir-ahead
in glusterd-volume-set.c, but was not defined in options of
readdir-ahead, fixing the same.

Change-Id: I97cc88b38ab99ade5f066519ca1cb9bfed03a7da
BUG: 1506197
Signed-off-by: Poornima G <pgurusid@redhat.com>
2018-01-18 03:52:56 +00:00
Varsha Rao
e6feebbb52 performance/io-threads: Fix checked_return coverity error
Change the return type of set_stack_size function to integer and also
check the return value of pthread_attr_init(). This fixes the
Checked_Return coverity issue.

Change-Id: I270b8bd168b09f0b071437c117e4e23b01398534
Signed-off-by: Varsha Rao <varao@redhat.com>
2018-01-18 02:48:59 +00:00
Kotresh HR
00751d5abe features/bit-rot: Fix default value for scrub-throttle
Updates #302
Change-Id: Ifc23d5f8b5bc78b95f7c9d92d6df37a9168102f7
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2018-01-18 01:30:25 +00:00
Amar Tumballi
ce5832cf03 make sure geo-rep tests run first
as we run regression with a 'sort' function, geo-rep thus becomes last test to run.
instead, make sure it is the first test by changing the name of directory, and thus
any setup failures would be noticed much earlier.

Change-Id: I9e8d81824274900be42c4c49c752a1602497fa31
Signed-off-by: Amar Tumballi <amarts@redhat.com>
2018-01-17 19:17:50 +05:30
Amar Tumballi
75b063d76d rpc/*: auth-header changes
Introduce another authentication header which can now send more data.
This is useful because this data can be common for all the fops, and
we don't need to change all the signatures.

As part of this, made rpc-clnt.c little more modular to support multiple
authentication structures.

stack.h changes are placeholder for the ctime etc, can be moved later
based on need.

updates #384

Change-Id: I6111c13cfd2ec92e2b4e9295896bf62a8a33b2c7
Signed-off-by: Amar Tumballi <amarts@redhat.com>
2018-01-17 06:00:39 +00:00
Amar Tumballi
e3a191a0d3 dict: add another type to handle backward compatibility
This new type helps to avoid excessive logs. It should be
set only in case of
 * volume graph building (graph.y)
 * dict unserialize
   (happens once a dictionary is received on wire in old protocol)

All other dict set and get should have proper check and warning
logs if there is a mismatch.

updates #220

Change-Id: I1cccb304a877aa80c07aaac95f10f5005e35b9c5
Signed-off-by: Amar Tumballi <amarts@redhat.com>
2018-01-17 03:53:37 +00:00
Atin Mukherjee
6f877d04d6 features/bit-rot: fix volume options for GD2
Updates #302

Change-Id: I8809f269b93253bce049fdbf28a7f44e85a2b9e7
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
2018-01-17 02:34:55 +00:00
Csaba Henk
1b2a3a417f fuse: write out reverse notification to fuse dump
BUG: 1534602
Change-Id: Ide42cf9cffe462d0cc46272b327c2a05999f09ba
Signed-off-by: Csaba Henk <csaba@redhat.com>
2018-01-17 00:00:40 +00:00
Amar Tumballi
9404b0de3f core: fix some of the dict_{get,set} with proper APIs
updates #220

Change-Id: I6e25dbb69b2c7021e00073e8f025d212db7de0be
Signed-off-by: Amar Tumballi <amarts@redhat.com>
2018-01-17 00:00:11 +00:00
Xavier Hernandez
7ba7a4b27d locks: added inodelk/entrylk contention upcall notifications
The locks xlator now is able to send a contention notification to
the current owner of the lock.

This is only a notification that can be used to improve performance
of some client side operations that might benefit from extended
duration of lock ownership. Nothing is done if the lock owner decides
to ignore the message and to not release the lock. For forced
release of acquired resources, leases must be used.

Change-Id: I7f1ad32a0b4b445505b09908a050080ad848f8e0
Signed-off-by: Xavier Hernandez <xhernandez@datalab.es>
2018-01-16 10:37:22 +00:00