| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* stripe cleanup: Remove the option from create and add-brick cmds
This patch aims to remove the code for stripe option instead
of keeping a default values of stripe/stripe-count variables and
setting and getting dict options and similar redundant operations.
Also removing tests for stripe volumes that have been already
marked bad.
Updates: #1000
Change-Id: Ic2b3cabd671f0c8dc0521384b164c3078f7ca7c6
Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
* Fix regression error
tests/000-flaky/basic_changelog_changelog-snapshot.t
was failing due to 0 return value
Change-Id: I8ea0443669c63768760526db5aa1f205978e1dbb
Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
* add constant stripe_count value for upgrade scenerios
Change-Id: I49f3da4f106c55f9da20d0b0a299275a19daf4ba
* Fix clang-format warning
Change-Id: I83bae85d10c8c5b3c66f56c9f8de1ec81d0bbc95
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* posix: avoiding redundant access of dictionary
This patch fixes the redundant access of dictionary
for the same information by the macro PL_LOCAL_GET_REQUESTS
fixes: #1707
Change-Id: I48047537436ce920e74bc11cecd9773d7fe4457c
Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
* posix: avoiding redundant access of dictionary
- Converted the macro SET_BIT to function set_bit
- Removed the code to delete the key GLUSTERFS_INODELK_DOM_COUNT
- Assigned the value to local->bitfield
Change-Id: I101f3fda65e9e75e05907d671203c5d7f072fa8f
Fixes: #1707
Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
* posix: avoiding redundant access of dictionary
deleted GLUSTERFS_INODELK_DOM_COUNT key
Change-Id: I638269e6a9f6fc11351eaede4c103e032881fe12
Fixes: #1707
Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
* posix: avoiding redundant access of dictionary
Smoke test warnings fixed.
Fixes: #1707
Change-Id: I8682bd0e49f44cbc1442324e1756b56481f18ccd
Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Fixes in functions:
- cli_cmd_volume_create_parse()
- cli_cmd_volume_add_brick_parse()
- cli_cmd_volume_remove_brick_parse()
Fixes: #1959
Signed-off-by: Mohammed Ali Ashour <m.aly.ashour@gmail.com>
|
|
|
|
|
|
|
|
| |
Replace master and slave terminology in geo-replication with primary and
secondary respectively.
Change-Id: I3eb9242d2ce8340435265b764d28221d50f872c8
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
| |
Change-Id: I9e34ccfd28029209262874993836dd36ad3c9c01
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
TODO:
Remove 'slave-timeout' and 'slave-gluster-command-dir'.
These variables are defined in geo-replication/gsyncd.conf.in.
So I will remove them when I change that folder.
Change-Id: Ib9167ca586d83e01f8ec755cdf58b3438184c9dd
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace master and slave terminology in geo-replication with primary and
secondary respectively.
All instances are replaced in cli and glusterd.
Changes to other parts of the code to follow in separate patches.
tests/00-geo-rep/* are passing thus far.
Updates: #1415
Change-Id: Ifb12b7f5ce927a4a61bda1e953c1eb0fdfc8a7c5
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* DHT/Rebalance - removing an unneeded subvol calculation and comparison
During the data migration phase of rebalance, an unneeded calculation
and comparison is made. These operations are not required, as the
information is already cached.
Removing the unneeded operations.
fixes: ##1801
Change-Id: I9bce8152c7936a73edc4704b2f9d4f0f241ce13e
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
|
| |
CID 1438086:
Initialize op_errno to a positive error, because it
might be passed to a parameter that cannot be negative.
updates: #1060
Change-Id: I1b5fda4dbbd5b1a50ea1c293af3b265d385d891c
Signed-off-by: Tamar Shacked <tshacked@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Smoke tests verified PR https://github.com/gluster/glusterfs/pull/1894
even though there was a clang issue present and the PR was merged.
Smoke tests have been fixed so sending this PR to rectify the clang
issue.
Change-Id: I3df5d2c77d9f3dd1872f2f28824565d5f24d82ec
updates: #1060
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
| |
Check if 'glusterd' is started with `--logger` option as syslog, and
use the same option to brick processes.
Updates: #1935
Change-Id: Ib0ea76322d48cccf6db30097bffe01903125650e
Signed-off-by: Amar Tumballi <amar@kadalu.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* DHT - Remove redundant lookup operation in Rebalance
Remove a redundant lookup (and correlated operations)
and slightly changed error handling.
- The lookup which is removed is redundant as a lookup
on the dir specified by "loc" is done at the entry to
the method.
- Error handling was changed a bit to remove special handling
for "root" dir (as it is not necessary).
In addition, error handling was changed so increments of
defrag->total_failures in case of a failure will done inside the
error-checking blocks of the operations inside gf_defrag_fix_layout
instead of in the calling methods.
fixes: #1695
Change-Id: I85c8791988bd314ce706d3627e01e15e4f983329
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
In non distribute volumes (plain replicate, ec), DHT uses pass-through
FOPs (dht_pt_getxattr) instead of the usual FOPS (dht_getxattr). The
pass through FOP was not handling the DHT_SUBVOL_STATUS_KEY virtual
xattr because of which geo-rep session was going into a faulty state.
Fixing it now.
updates: #1925
Change-Id: I766b5b5c047c954a9957ab78aca680eedef1ff1f
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
|
|
|
| |
CID 1437682
Fixing use-after-free bug by setting the released pointer to NULL
Change-Id: Id08f415577df86245e3926f59ac0ba2c23a663dc
updates: #1060
Signed-off-by: Barak Sason Rofman bsasonro@redhat.com
|
|
|
|
|
|
|
|
|
| |
CID 1430123
Fixing dereference null return value by checking the value returned by
an allocating method
Change-Id: I3fc18208fd4cec2db4b2b5d1f47ef7d7f1c9a4b3
updates: #1060
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- In 'BUMP_THROUGHPUT' macro changed 'elapsed' from microseconds to nanoseconds.
- In 'update_ios_latency' function 'elapsed' is now in nanoseconds.
- In 'collect_ios_latency_sample' function removed conversion from nano to micro,
instead directly assigned as 'nano' to 'tv_nsec' of 'timespec' macro
- in 'ios_sample_t' macro changed 'timeval' to 'timespec' to support above change.
- In '_io_stats_write_latency_sample' function changed formula to from 1e+6 to 1e+9
since 'ios_sample_t' macro now has 'timespec'
- In 'BUMP_THROUGHPUT','_ios_sample_t','collect_ios_latency_sample' & update_ios_latency'
changed 'elapsed' datatype from 'double' to 'int64_t'
- In glusterfs/libglusterfs/src/glusterfs/common-utils.h changed return type of
'gf_tsdiff' function from 'double' to 'int64_t' since it can return negative values.
- In glusterfs/libglusterfs/src/latency.c, libglusterfs/src/glusterfs/common-utils.h,
xlators/debug/io-stats/src/io-stats.c & xlators/storage/posix/src/posix-helpers.c
'elapsed' is now of type 'int64_t'
Fixes: #1825
Signed-off-by: Shree Vatsa N <vatsa@kadalu.io>
|
|
|
|
|
|
|
|
|
| |
Inspired by getting bitten by a misbehaving
run-tests.sh on a fresly created VM which
lacked killall(1).
Change-Id: I810e3e9e6c2947829011f7d15009598390408f7b
Updates: #1000
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure: enabling LTO with gcc 10 or above
Adding LTO to the build when gcc_version >= 10
Applicable for source and RPMs build
To disable: ./configure --disable-lto
Fixes: #1772
Change-Id: Ia50210af2e88a5cc188c47b4e61a66397e179257
Signed-off-by: Tamar Shacked <tshacked@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* core: Implement gracefull shutdown for a brick process
glusterd sends a SIGTERM to brick process at the time
of stopping a volume if brick_mux is not enabled.In case
of brick_mux at the time of getting a terminate signal
for last brick a brick process sends a SIGTERM to own
process for stop a brick process.The current approach
does not cleanup resources in case of either last brick
is detached or brick_mux is not enabled.
Solution: glusterd sends a terminate notification to a
brick process at the time of stopping a volume for gracefull
shutdown
Change-Id: I49b729e1205e75760f6eff9bf6803ed0dbf876ae
Fixes: #1749
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
* core: Implement gracefull shutdown for a brick process
Resolve some reviwere comment
Fixes: #1749
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Change-Id: I50e6a9e2ec86256b349aef5b127cc5bbf32d2561
* core: Implement graceful shutdown for a brick process
Implement a key cluster.brick-graceful-cleanup to enable graceful
shutdown for a brick process.If key value is on glusterd sends a
detach request to stop the brick.
Fixes: #1749
Change-Id: Iba8fb27ba15cc37ecd3eb48f0ea8f981633465c3
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
* core: Implement graceful shutdown for a brick process
Resolve reviewer comments
Fixes: #1749
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Change-Id: I2a8eb4cf25cd8fca98d099889e4cae3954c8579e
* core: Implement gracefull shutdown for a brick process
Resolve reviewer comment specific to avoid memory leak
Fixes: #1749
Change-Id: Ic2f09efe6190fd3776f712afc2d49b4e63de7d1f
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
* core: Implement gracefull shutdown for a brick process
Resolve reviewer comment specific to avoid memory leak
Fixes: #1749
Change-Id: I68fbbb39160a4595fb8b1b19836f44b356e89716
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
|
|
|
|
|
|
| |
Change-Id: I6073489a8308c6f518438d2ad2348a0c4cd5f805
Fixes: #1545
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fuse_dumper() is a wrapper for fuse request
handlers that performs its specific task
(dumping the request), then delegates to the
standard handler for the given FUSE opcode.
This should be a faithful delegation, the
standard handlers should be invoked the same
way as without passing through fuse_dumper().
However, the call to the handler has nulled
out the last argument, iobuf.
This gets fixed here.
Change-Id: I7bd9a20dfdc46f162076f350826cadf69f9c78a7
Updates: #1000
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idea behind FUSE_OP_HIGH was that it should be
the upper limit for the opcodes we can ever get from kernel
(maximum opcode that can occur plus one).
The problem with this idea is that this depends on the FUSE
protocol version; and since the fuse proto header does not export
this value, it has to be retroactively defined considering
the particular opcode values in the protocol header. That is, not
just the value, but the definition itself depends on the FUSE
protocol version. So we ended up maintaining -- or indeed, not
even maintaining, just living with -- a mess of conditional
defines for FUSE_OP_HIGH.
Now we change the meaning of it: FUSE_OP_HIGH will simply be
upper limit of the opcodes for which we define a handler
(the highest such opcode plus one, which is the same as the
size of the fuse optable).
The practical implication of this change is as follows.
Potentially there is a gap between the new and the old value
of FUSE_OP_HIGH: those opcodes which might occur in requests
but are higher than any opcode we handle. With the old definition
of FUSE_OP_HIGH we could statically dispatch these opcodes to
fuse_enosys() (a function that sends a FUSE response with error
ENOSYS).
With the new definition we don't know the upper limit of this gap,
so we need to dispatch the opcodes of the gap to fuse_enosys()
dynamically (perform a runtime check if the opcode is
greater-or-equal than the new FUSE_OP_HIGH, and if yes, then call
fuse_enosys()).
Change-Id: I8cd26ead538de8ce36c91feaf938e4c5dc59c88c
Updates: #1000
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
| |
Updates: #1584
Change-Id: Ib9e577c04ccf13167bfe605ddc9b6b27c2720f5c
Signed-off-by: Amar Tumballi <amar@kadalu.io>
|
|
|
|
|
|
| |
fixes: #1888
Change-Id: Ibe336f6f7f19cd148523f65b6fa2b81dca1bd7b6
Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* core: Convert mem_get(0) and mem_put functions to Macors
Problem: Currently mem_get(0) and mem_put functions access
memory pools those are not required while mem-pool
is disabled.
Change-Id: Ief9bdaeb8637f5bc2b097eb6099fb942130e08ae
Solution: Convert mem_get(0) functions as a Macros
Fixes: #1359
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
* core: Convert mem_get(0) and mem_put functions to Macors
Resolver reviewer comments
Fixes: #1359
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Change-Id: I8dfdfc1a1cd9906e442271abefc7a635e632581e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix:
Fixed dead code and few unused assignments in the runner_start()
in run.c file.
CID:1437641
CID:1437644
CID:1437646
Updates: #1060
Change-Id: I30ac234e9ff1f768b0e33a81eb3ffbf0de576784
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
| |
Fixes: #1678
Change-Id: I566cd8bfd22c0ef63fcd44a8cea32366388a93e5
Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Problem: dict_get_with_ref throw a message "dict or key is NULL"
if dict or key is NULL.
Solution: Before access a key check if dictionary is valid.
Fixes: #1909
Change-Id: I50911679142b52f854baf20c187962a2a3698f2d
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* glusterd/cli: enhance rebalance-status after replace/reset-brick
Rebalance status is being reset during replace/reset-brick operations.
This cause 'volume status' to shows rebalance as "not started".
Fix:
change rebalance-status to "reset due to (replace|reset)-brick"
Change-Id: I6e3372d67355eb76c5965984a23f073289d4ff23
Signed-off-by: Tamar Shacked <tshacked@redhat.com>
* glusterd/cli: enhance rebalance-status after replace/reset-brick
Rebalance status is being reset during replace/reset-brick operations.
This cause 'volume status' to shows rebalance as "not started".
Fix: change rebalance-status to "reset due to (replace|reset)-brick"
Fixes: #1717
Signed-off-by: Tamar Shacked <tshacked@redhat.com>
Change-Id: I1e3e373ca3b2007b5b7005b6c757fb43801fde33
* cli: changing rebal task ID to "None" in case status is being reset
Rebalance status is being reset during replace/reset-brick operations.
This cause 'volume status' to shows rebalance as "not started".
Fix:
change rebalance-status to "reset due to (replace|reset)-brick"
Fixes: #1717
Change-Id: Ia73a8bea3dcd8e51acf4faa6434c3cb0d09856d0
Signed-off-by: Tamar Shacked <tshacked@redhat.com>
|
|
|
|
|
|
|
| |
Regression can now be run by people part of gluster org.
The contributing markdown should reflect the same.
Fixes: #1761
Signed-off-by: srijan-sivakumar <ssivakumar@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* glusterd: modify logic for checking hostname in add-brick
Problem: add-brick command parses only the bricks provided
in cli for a subvolume. If in same subvolume bricks are
increased, these are not checked with present volume bricks.
Fixes: #1779
Change-Id: I768bcf7359a008f2d6baccef50e582536473a9dc
Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
* removed assignment of unused variable
Fixes: #1779
Change-Id: Id5ed776b28343e1225b9898e81502ce29fb480fa
Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
* few more changes
Change-Id: I7bacedb984f968939b214f9d13546f4bf92e9df7
Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
* few more changes
Change-Id: I7bacedb984f968939b214f9d13546f4bf92e9df7
Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
* correction in last commit
Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
Change-Id: I1fd0d941cf3f32aa6e8c7850def78e5af0d88782
|
|
|
| |
for `--without-server` check
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
__afr_fd_ctx_get() is calling __fd_ctx_get().
If that fails, it goes to __afr_fd_ctx_set().
__afr_fd_ctx_set() is now calling __fd_ctx_get() again.
When we get back from __afr_fd_ctx_set(), we are calling
__fd_ctx_get() again.
we could just change __afr_fd_ctx_set() to return ctx as
the return value and NULL in case of failure.
Change-Id: Ifdb9b86984a3438abac52b2b74a8f0e0a4966093
updates: #1251
Signed-off-by: Ashish Pandey <aspandey@redhat.com>
|
|
|
|
|
|
|
|
|
| |
with this option, `glfsheal` command can now work with a volume file.
This is helpful to provide quick access to tools which can work without
glusterd support.
Fixes: #1872
Change-Id: Ibad329735d4e17cecc3a77b5067d1e8f8c4eb4e2
Signed-off-by: Amar Tumballi <amar@kadalu.io>
|
|
|
|
|
|
|
| |
Removing an unused variable from rebalance data migration path
fixes: #1773
Change-Id: I5f9f8d2a25e888cfc79978170809c7ae66ad839a
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
| |
Added Srijan as peer in events API
Updates: #1584
Signed-off-by: srijan-sivakumar <ssivakum@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* core: Optimize _xlator->stats structure to make memory access friendly
Current xlator->stats is not efficient for frequently access memroy
variables, to make it friendly optimize stats structure.
Fixes: #1583
Change-Id: I5c9d263b11d9bbf0bf5501e461bdd3cce03591f9
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
* core: Optimize _xlator->stats structure to make memory access friendly
Resolve reviewer comments
Fixes: #1583
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Change-Id: I44a728263bfc397158dc95e4a9bae393fd3c9883
* core: Optimize _xlator->stats structure to make memory access friendly
Resolve reviewer comments
Fixes: #1583
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Change-Id: I55e093e3f639052644ce6379cbbe2a15b0ef4be7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As a part of offensive language removal, we changed 'master' to 'primary' in
some parts of the code that are *not* related to geo-replication via
commits e4c9a14429c51d8d059287c2a2c7a76a5116a362 and
0fd92465333be674485b984e54b08df3e431bb0d.
But it is better to use 'root' in some places to distinguish it from the
geo-rep changes which use 'primary/secondary' instead of 'master/slave'.
This patch mainly changes glusterfs_ctx_t->primary to
glusterfs_ctx_t->root. Other places like meta xlator is also changed.
gf-changelog.c is not changed since it is related to geo-rep.
Updates: #1000
Change-Id: I3cd610f7bea06c7a28ae2c0104f34291023d1daf
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* runner: moving to posix_spawnp instead of fork
Removed the fork(), and implemented the
posix_spwanp() acccrodingly, as it provides much better
performance than fork(). More detailed description about
the benefits can be found in the description of the issue
linked below.
Fixes:#810
Signed-off-by: nik-redhat <nladha@redhat.com>
* Added the close_fds_except call
Signed-off-by: nik-redhat <nladha@redhat.com>
* Added comments
Signed-off-by: nik-redhat <nladha@redhat.com>
* Made the functions static
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During glusterd handshake glusterd received a volume dictionary
from peer end to compare the own volume dictionary data.If the options
are differ it sets the key to recognize volume options are changed
and call import syntask to delete/start the volume.In brick_mux
environment while number of volumes are high(5k) the dict api in function
glusterd_compare_friend_volume takes time because the function
glusterd_handle_friend_req saves all peer volume data in a single dictionary.
Due to time taken by the function glusterd_handle_friend RPC requests receives
a call_bail from a peer end gluster(CLI) won't be able to show volume status.
Solution: To optimize the code done below changes
1) Populate a new specific dictionary to save the peer end version specific
data so that function won't take much time to take the decision about the
peer end has some volume updates.
2) In case of volume has differ version set the key in status_arr instead
of saving in a dictionary to make the operation is faster.
Note: To validate the changes followed below procedure
1) Setup 5100 distributed volumes 3x1
2) Enable brick_mux
3) Start all the volumes
4) Kill all gluster processes on 3rd node
5) Run a loop to update volume option on a 1st node
for i in {1..5100}; do gluster v set vol$i performance.open-behind off; done
6) Start the glusterd process on the 3rd node
7) Wait to finish handshake and check there should not be any call_bail message
in the logs
Change-Id: Ibad7c23988539cc369ecc39dea2ea6985470bee1
Fixes: #1613
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
|
|
|
|
|
|
|
|
|
| |
These were the only offensive language occurences in the code (.c) after
making the changes for geo-rep (whichis tracked in issue 1415).
Change-Id: I21cd558fdcf8098e988617991bd3673ef86e120d
Updates: #1000
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
|
| |
Reason: from RHEL 8.3, tar is not bundled by default
Fixes: #1849
Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
Change-Id: Ic1424e0550cef6a78e3e9e7b42665ab01016436f
|
|
|
|
|
|
|
| |
When compile GlusterFS without git repository, a git error will fail the make.
Avoid to execute git commands when there is no git repository.
Fixes: #1855
Signed-off-by: Cheng Lin <cheng.lin130@zte.com.cn>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
entry-self-heal-anon-dir-off.t was failing occasionally because
afr_gfid_split_brain_source() returned -1 instead of -EIO for
split-brains, causing the code to proceed to afr_lookup_done(), which
in turn succeeded the lookup if there was a parallel client side heal
going on.
Fix:
Return -EIO instead of -1 so that lookp fails.
Also, afr_selfheal_name() was using the same dict to get and set values. This
could be problematic if the caller passed local->xdata_req, since
setting a response in a request dict can lead to bugs.So changed it to use
separate request and response dicts.
Fixes: #1739
Credits Pranith Karampuri <pranith.karampuri@phonepe.com>
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Change-Id: I5cb4c547fb25e6bfc8bec1740f7eb64e1a5ad443
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DHT/Rebalance - Ensure Rebalance reports status only once upon stopping
Upon issuing rebalance stop command, the status of rebalance is being
logged twice to the log file, which can sometime result in an
inconsistent reports (one report states status stopped, while the other
may report something else).
This fix ensures rebalance reports it's status only once and that the
correct status is being reported.
fixes: #1782
Change-Id: Id3206edfad33b3db60e9df8e95a519928dc7cb37
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
update was missed in the function posix_get_gfid2path if
GF_MALLOC is failed.
Solution: Update the ret value to -1 if GF_MALLOC is failed
Fixes: #1836
Change-Id: I510ebf0605ee49b84ff3570948771319f283b10e
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* core: tcmu-runner process continuous growing logs lru_size showing -1
At the time of calling inode_table_prune it checks if current lru_size
is greater than lru_limit but lru_list is empty it throws a log message
"Empty inode lru list found but with (%d) lru_size".As per code reading
it seems lru_size is out of sync with the actual number of inodes in
lru_list. Due to throwing continuous error messages entire disk is
getting full and the user has to restart the tcmu-runner process to use
the volumes.The log message was introduce by a patch
https://review.gluster.org/#/c/glusterfs/+/15087/.
Solution: Introduce a flag in_lru_list to take decision about inode is
being part of lru_list or not.
Fixes: #1775
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Change-Id: I4b836bebf4b5db65fbf88ff41c6c88f4a7ac55c1
* core: tcmu-runner process continuous growing logs lru_size showing -1
Update in_lru_list flag only while modify lru_size
Fixes: #1775
Change-Id: I3bea1c6e748b4f50437999bae59edeb3d7677f47
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
* core: tcmu-runner process continuous growing logs lru_size showing -1
Resolve comments in inode_table_destroy and inode_table_prune
Fixes: #1775
Change-Id: I5aa4d8c254f0fe374daa5ec604f643dea8dd56ff
Signed-off-by: Mohit Agrawal moagrawa@redhat.com
* core: tcmu-runner process continuous growing logs lru_size showing -1
Update in_lru_list only while update lru_size
Fixes: #1775
Change-Id: I950eb1f0010c3d4bcc44a33225a502d2291d1a83
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
|
|
|
|
| |
Change-Id: I65d488674763160b06d8f248ff74ea4d144ecf8b
Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#1814)
Comments and idea proposed by: Xavi Hernandez(jahernan@redhat.com):
On production systems sometimes we see a log message saying that an assertion
has failed. But it's hard to track why it failed without additional information
(on debug builds, a GF_ASSERT() generates a core dump and kills the process,
so it can be used to debug the issue, but many times we are only able to
reproduce assertion failures on production systems, where GF_ASSERT() only logs
a message and continues).
In other cases we may have a core dump caused by a bug, but the core dump doesn't
necessarily happen when the bug has happened. Sometimes the crash happens so much
later that the causes that triggered the bug are lost. In these cases we can add
more assertions to the places that touch the potential candidates to cause the bug,
but the only thing we'll get is a log message, which may not be enough.
One solution would be to always generate a core dump in case of assertion failure,
but this was already discussed and it was decided that it was too drastic. If a
core dump was really needed, a new macro was created to do so: GF_ABORT(),
but GF_ASSERT() would continue to not kill the process on production systems.
I'm proposing to modify GF_ASSERT() on production builds so that it conditionally
triggers a signal when a debugger is attached. When this happens, the debugger
will generate a core dump and continue the process as if nothing had happened.
If there's no debugger attached, GF_ASSERT() will behave as always.
The idea I have is to use SIGCONT to do that. This signal is harmless, so we can
unmask it (we currently mask all unneeded signals) and raise it inside a GF_ASSERT()
when some global variable is set to true.
To produce the core dump, run the script under extras/debug/gfcore.py on other
terminal. gdb breaks and produces coredump when GF_ASSERT is hit.
The script is copied from #1810 which is written by Xavi Hernandez(jahernan@redhat.com)
Fixes: #1810
Change-Id: I6566ca2cae15501d8835c36f56be4c6950cb2a53
Signed-off-by: Vinayakswami Hariharmath <vharihar@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
As detailed in the github issue,`gluster volume set Svolname ganesha.enable on`
is currently broken due to a minor typo in the commit e081ac683b6a5bda548913,
Fixing it now.
Updates: #1778
Change-Id: I99276fedc43f40e8a439e545bd2b8d1698aa03ee
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Tested-by: Strahil Nikolov <hunter86_bg@yahoo.com>
|