| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
CID: 1430146
Change-Id: Icce4ffa0e78575b110e0cfd9d5cfd133141680c1
Updates: #1060
Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue:
On executiing the command gluster vol set help, an error
comes up in glusterd logs stating `undefined symbol: xlator_api`.
This issue is seen for the rpc-transport/socket.so file.
Fix:
The symbol `xlator_api` is not found in rpc-transport/socket.so
file as it is not a xlator but a shared object for transport.
In the `xlator.c` file, there is a function `xlator_volopt_dynload`,
which looks for the default values of the options available in gluster,
which is stored inside the respective xlator files for different voltypes.
In each of these files the `options` object is present which contains
the default values, which is therefore referenced from the `options` data
member of `xlator_api` object in case of xlators.But, since
`rpc-transport/socket.so` is not an xlator we don't have the `xlator_api`
object present to point to that object. So, in case of
`rpc-transport/socket.so` type we are accesing the `options` object
directly from the `xlator_volopt_dynload` function to fetch the default
values for the available options.
Fixes: #827
Change-Id: I3b2b0c1f2a11896be250aaca1a33a65b044991d5
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- allow reusing JSON formatted output with --input-format=json
- improve code readability
- improve human readable number formatting
- represent empty sections with {} rather than nil
- add memstat subformats (plain, human, json)
- make parsing of numerals more strict
Updates: #1000
Change-Id: I75833543c85ad2b9c2233a4a22b1ea53d24431b9
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The setlk interrupt handler uses a 'fork' of the resolved
fuse state from setlk (a copy with some edits) to initiate
its own auxiliary fop. Thus the references stored in the
fuse states of the setlk fop and of its interrupt handler
are shared (apart from the ones edited by the interrupt
handler -- but the bulk of them remain as is). The lifetimes
of these references are tied to the setlk fop, which has
established them by properly claiming their backing
resources. To guarantee the validity of these references in
the interrupt context, we need to make sure that the setlk
fop did not reclaim the fuse state while the interrupt
handler is running.
In other words, the setlk fop needs to wait for the
termination of the interrupt handler, which is accomplished
by the 'sync' strategy of the interrupt API (passing
true for the 'sync' argument of
fuse_interrupt_finish_{fop,interrupt} functions).
Change-Id: I9a6dc76972507be4b7ba8d023cc876e5fddf813f
Updates: #1374
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With 'sync' strategy, a fop's cbk waits for
the interrupt handler to finish by making a
call to fuse_interrupt_finish_fop() with
sync = true.
The wait is implemented by monitoring an
interrupt_state struct member via a condition
variable. However, due to broken code logic,
the pthread_cond_wait() call is never reached.
This change introduces a new member to the
fuse_interrupt_state_t enum (the type of
aforementioned struct member),
FUSE_INTERRUPT_WAITING_HANDLER, which is then
used for indicating the state of waiting for
the interrupt handler.
Change-Id: I72ab06c37f45ff8f212a6a632bac1f647af05cbd
Updates: #1374
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
NetBSD FUSE does not implement FUSE notification yet. This changes
makes this feature a configure time option so that it can be disabled.
Fixes: #1381
Change-Id: I3d977d8d69b57e1ac6957be84a9ddbb69b100893
Type: Bug
Signed-off-by: Emmanuel Dreyfus manu@netbsd.org
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In a cluster env: getspec() detects that volfile not found.
but further on, this return code is set by another call
so the error is lost and not handled.
As a result the server responds with ambiguous message:
{op_ret = -1, op_errno = 0..} - which cause the client to stuck.
Fix:
server side: don't override the failure error.
fixes: #1375
Change-Id: Id394954d4d0746570c1ee7d98969649c305c6b0d
Signed-off-by: Tamar Shacked <tshacked@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This directory holds the extended attribute backing store on FFSv1
filesystems. It should be ignored by glusterfs just like the .glusterfs
directory.
Fixes: #1361
Change-Id: Ia259be2af722a651473a312b5044b431c2b01b10
Type: Bug
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
|
|
|
|
|
|
|
|
|
| |
It's not needed, and it has a license that Fedora is not very happy with.
Just removed that file.
Change-Id: Ia753f0058c8a7c6482aca40c3b3dc8f6aa4a266d
Fixes: #1383
Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Replace the use of blacklist and whitelist within the code.
No functional changes.
Fixes: #1378
Change-Id: Iaa10e31c3d460f52bfd12da906789fccca5ba4d4
Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The scenario of setting an xattr to a dir, killing one of the bricks,
removing the xattr, bringing back the brick results in xattr
inconsistency - The downed brick will still have the xattr, but the rest
won't.
This patch add a mechanism that will remove the extra xattrs during
lookup.
This patch is a modification to a previous patch based on comments that
were made after merge:
https://review.gluster.org/#/c/glusterfs/+/24613/
fixes: #1324
Change-Id: Ifec0b7aea6cd40daa8b0319b881191cf83e031d1
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When EC successfully healed a directory it assumed that maybe other
entries inside that directory could have been created, which could
require additional heal cycles. For this reason, when the heal happened
as part of one index heal iteration, it triggered a new iteration.
The problem happened when the directory was healthy, so no new entries
were added, but its index entry was not removed for some reason. In
this case self-heal started and endless loop healing the same directory
continuously, cause high CPU utilization.
This patch improves detection of new files added to the heal index so
that a new index heal iteration is only triggered if there is new work
to do.
Change-Id: I2355742b85fbfa6de758bccc5d2e1a283c82b53f
Fixes: #1354
Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
These macros helps to clearly identify all negetive checks are 'errors',
and all 0 and above are success. With this clasification, we can add more
error codes to the process / method / function.
Updates: #280
Change-Id: I0ebc5c4ad41eb78e4f2c1b98648986be62e7b521
Signed-off-by: Amar Tumballi <amar@kadalu.io>
|
|
|
|
|
|
|
|
|
| |
When dirp is null, we should not call sys_closedir() on it.
fixes: #1379
Change-Id: I33633df983aeea11e9d685e41ed9ec58644b6258
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As Issue #1310 pointed out, for fops that
have interrupt handlers the fop handler
needs to pay attention to give the proper
FUSE response when it's interrupted.
This change extends the interrupt documentation
with guidelines regarding the FUSE response.
Also:
- improve wording
- add an 'Overview' section to explain the
code flow before going in to the technical
details
Change-Id: I852bfb717b1bde73f220878d6376429564413820
updates: #1374
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added --help and -R options.
-R sets $retry to "no"; so far there was no way
to disable retrying (default value for $retry is
yes and threre was an option only for enablement).
Change-Id: Ia7cedac52be72fe2abd60fb6bdd1927cfda0e229
Updates: #1000
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dict.c:1129:16: warning: comparison is always false due to limited range of data type [-Wtype-limits]
dict.c:1129:38: warning: comparison is always false due to limited range of data type [-Wtype-limits]
dict.c:1151:16: warning: comparison is always false due to limited range of data type [-Wtype-limits]
dict.c:1151:39: warning: comparison is always false due to limited range of data type [-Wtype-limits]
Improve error checking and unify to common style as well.
Change-Id: Ia4f890bfaaf4e29c8514ee7e4d824d69020b9332
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Updates: #1002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ 144s] afr-dir-read.h:15:1: warning: type of 'afr_opendir' does not match original declaration [-Wlto-type-mismatch]
[ 144s] 15 | afr_opendir(call_frame_t *frame, xlator_t *this, loc_t *loc, fd_t *fd, dict_t *xdata)
[ 144s] | ^
[ 144s] afr-dir-read.c:71:1: note: type mismatch in parameter 5
[ 144s] 71 | afr_opendir(call_frame_t *frame, xlator_t *this, loc_t *loc, fd_t *fd)
[ 144s] | ^
[ 144s] afr-dir-read.c:71:1: note: 'afr_opendir' was previously declared here
only a warning, more of a truth-and-beauty thing
Change-Id: I2d6ff3fa0a8c5e6ef36e090a6545eaf638752192
Updates: #1002
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Modify the patterns for which we grep the logs so
that they don't match themselves. The test runner
inserts the invocation of the cases to the log, thus
the patterns will occur in the logs verbatim. So if
the pattern matches itself, the test case will be
moot (always reporting success).
- Invoke the test utility (open-and-sleep) on
unique paths so that the file at the passed
path shall be created on each invocation.
The kernel does not send an interrupt if
the file is extant. (This was shadowed by
the above mistske with result evaluation.)
- Modify the pattern for which we grep the log in
the test case where interrupt handling is expected
so that it asserts that the interrupt was handled.
(So far we did not exclude the possibility of the
interrupt triggered but not handled due to a race;
however, it seems to be the case that this theoretic
race does not have the potential to prevent interrupt
handling. And if this ever changes in the future we'd
rather be notified about that.)
Change-Id: I606da2b4064c1ecc4781c7dfdefed95a433478ce
Updates: #1374
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A rebalance process does a lookup for every file in the dir it is processing
before checking if it supposed to migrate the file.
In this issue there are two rebalance processses running on a replica subvol:
R1 is migrating the FILE.
R2 is not supposed to migrate the FILE, but it does a lookup and
finds a stale linkfile which is mostly due to a stale layout.
Then, it tries to unlink the stale linkfile and gets EBUSY
as the linkfile fd is open due R1 migration.
As a result a misleading error msg about FILE migration failure
due EBUSY is logged in R2 logfile.
Fix:
suppress the error in case it occured in a node that
is not supposed to migrate the file.
fixes: #1371
Change-Id: I37832b404e2b0cc40ac5caf45f14c32c891e71f3
Signed-off-by: Tamar Shacked <tshacked@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Fixing the unchecked return value issues reported by coverity scan
CID: 1400734
CID: 1400750
Change-Id: I3c953df9ade4a1548e41e18018edb1b041f7e15e
Signed-off-by: karthik-us <ksubrahm@redhat.com>
Updates: #1060
|
|
|
|
|
|
|
|
|
|
|
| |
Brick paths in Volinfo used `:` as delimiter, Geo-rep uses split
based on `:` char. This will go wrong with IPv6.
This patch handles the IPv6 case and handles the split properly.
Fixes: #1366
Change-Id: I25e88d693744381c0ccf3c1dbf1541b84be2499d
Signed-off-by: Aravinda Vishwanathapura <aravinda@kadalu.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Display which options were not changed from the default.
The user may have opted to change some global or volume options
from the default they were initially. Display '(DEFAULT)' if the values
used are those that were not explicitly set by the user.
Example output:
Option Value
------ -----
cluster.server-quorum-ratio 50
cluster.enable-shared-storage disable (DEFAULT)
cluster.op-version 80000
cluster.max-op-version 90000
cluster.brick-multiplex disable (DEFAULT)
cluster.max-bricks-per-process 250 (DEFAULT)
glusterd.vol_count_per_thread 100 (DEFAULT)
cluster.localtime-logging disable (DEFAULT)
cluster.daemon-log-level INFO (DEFAULT)
Since glusterfind uses the value, it is now filtering the value
and only picking the 1st word (which is the value itself) and ignores
the rest, which may now be '(DEFAULT)'.
Fixes: #1357
Change-Id: I7c59055158d099a5de38943f2169fd02c77f5d09
Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue:
'this' is used before it is defined,
therefore it can lead to a NULL dereference.
Fix:
Moved the definition of 'this', before it's use
to avoid NULL dereference.
Change-Id: I6ad382192129dfa3a206426e5610040e7a905be6
Updates: #1096
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ 202s] server-common.h:192:1: warning: type of 'server4_post_link' does not match original declaration [-Wlto-type-mismatch]
[ 202s] 192 | server4_post_link(server_state_t *state, gfx_common_3iatt_rsp *rsp, inode_t *inode, struct iatt *stbuf, struct iatt *pre, struct iatt *post);
[ 202s] | ^
[ 202s] server-common.c:847:1: note: type mismatch in parameter 7
[ 202s] 847 | server4_post_link(server_state_t *state, gfx_common_3iatt_rsp *rsp,inode_t *inode, struct iatt *stbuf, struct iatt *pre, struct iatt *post, dict_t *xdata)
[ 202s] | ^
[ 202s] server-common.c:847:1: note: 'server4_post_link' was previously declared here
goes back to glusterfs-6 at least.
Only a warning, more of a truth-and-beauty thing.
Change-Id: Ib4a74b2d00aec519e9d80a4bdeca20eb6273777f
Updates: #1002
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Mark dir as missing in layout structure to be healed in
dht_selfheal_directory.
fixes: #1327
Change-Id: If2c69294bd8107c26624cfe220f008bc3b952a4e
Signed-off-by: Susant Palai <spalai@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Fixing double free issues
Change-Id: Ie56753196335080f32f061329644ac462998ada2
CID: 1430112, 1430122
updates: #1202
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Fixing use-after-free issues
Change-Id: I33e599da6b8159695e2c9e989421b5877d7200b5
CID: 1430117, 1430138, 1430116
updates: #1202
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...
[ 236s] (.text+0x0): multiple definition of `cli_default_conn_timeout'; cli.o (symbol from plugin):(.text+0x0): first defined here
[ 236s] cli-quotad-client.c:13:24: warning: type of 'global_quotad_rpc' does not match original declaration [-Wlto-type-mismatch]
[ 236s] 13 | extern struct rpc_clnt global_quotad_rpc;
[ 236s] | ^
[ 236s] cli.c:80:18: note: 'global_quotad_rpc' was previously declared here
[ 236s] 80 | struct rpc_clnt *global_quotad_rpc;
[ 236s] | ^
[ 236s] cli.c:80:18: note: code may be misoptimized unless '-fno-strict-aliasing' is used
[ 239s] collect2: error: ld returned 1 exit status
...
move several global extern decls to cli.h.
Found on SUSE Tumbleweed w/ gcc-10 and LTO. This bug goes back
at least as far as release-6. Curiously this only popped up as an
error when building 6.9, not 7.4 or 8.0. And not when building
8.0 on Fedora rawhide/33.
Change-Id: I765642cea77b524a36368a7ff1a2976ef049dd0f
Fixes: #1356
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seen in fedora rawhide/33, and SUSE tumbleweed, in all versions
going back at least as far as glusterfs-6.
[ 351s] glusterd.c:68:13: warning: type of 'snap_mount_dir' does not match original declaration [-Wlto-type-mismatch]
[ 351s] 68 | extern char snap_mount_dir[PATH_MAX];
[ 351s] | ^
[ 351s] glusterd-snapshot.c:65:6: note: array types have different bounds
[ 351s] 65 | char snap_mount_dir[VALID_GLUSTERD_PATHMAX];
[ 351s] | ^
[ 351s] glusterd-snapshot.c:65:6: note: 'snap_mount_dir' was previously declared here
In this case it's only a warning, but certainly merits fixing.
Another case where a decl in a header file instead of open-coding
extern decls in multiple .c files would have been preferable.
Change-Id: Idc91e536a56a1a7717be83ed27698069e71dff67
Updates: #1002
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes a crash in FOPs that operate on really large sharded
files where number of participant shards could sometimes exceed
signed int32 max.
The patch also adds GF_ASSERTs to ensure that number of participating
shards is always greater than 0 for files that do have more than one
shard.
Change-Id: I354de58796f350eb1aa42fcdf8092ca2e69ccbb6
Fixes: #1348
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue:
There has been either an explicit null
dereference or a dereference after null
check in some cases.
Fix:
Added the proper condition for null check
and fixed null derefencing.
CID: 1430106 : Dereference after null check
CID: 1430120 : Explicit null dereferenced
CID: 1430132 : Dereference after null check
CID: 1430134 : Dereference after null check
Change-Id: I7e795cf9f7146a633097c26a766f16b159881fa3
Updates: #1060
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a check for NULL before dereferencing
the object as it may be NULL in few cases
inside the funtion. Also, added a check for
the negative value of gfid_idx.
CID: 1430140
CID: 1430145
Change-Id: Ib7d23459b48bbc471dbcccab6d20572261882d11
Updates: #1060
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Replace an over-engineered GF_SKIP_IRRELEVANT_ENTRIES() with
inline function gf_irrelevant_entry(), adjust related users.
Change-Id: I6f66c460f22a82dd9ebeeedc2c55fdbc10f4eec5
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Fixes: #1350
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
The issue is being hit during hybrid mode while handling rename on slave.
In this special case the rename is recorded as mkdir and geo-rep process it
by resolving the path form backend.
While resolving the backend path during this special handling one corner case is not considered.
<snip>
Traceback (most recent call last):
File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 118, in worker
res = getattr(self.obj, rmeth)(*in_data[2:])
File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 588, in entry_ops
src_entry = get_slv_dir_path(slv_host, slv_volume, gfid)
File "/usr/libexec/glusterfs/python/syncdaemon/syncdutils.py", line 710, in get_slv_dir_path
dir_entry = os.path.join(pfx, pargfid, basename)
File "/usr/lib64/python2.7/posixpath.py", line 75, in join
if b.startswith('/'):
AttributeError: 'int' object has no attribute 'startswith'
In pyhthon3:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python3.8/posixpath.py", line 90, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/lib64/python3.8/genericpath.py", line 152, in _check_arg_types
raise TypeError(f'{funcname}() argument must be str, bytes, or '
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'int'
</snip>
Change-Id: I8b926899c60ad8c4ffc886d57028ba70fd21e332
Fixes: #1250
Signed-off-by: Sunny Kumar <sunkumar@redhat.com>
|
|
|
|
|
|
|
|
| |
Fix --enable-asan and --enable-tsan, add --enable-ubsan.
Change-Id: Ifb3c44107ecaee4cad4bc88dd81c49c6cd691764
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Fixes: #1320
|
|
|
|
|
|
|
|
|
| |
Fixing a resource leak issue
Change-Id: I6c75de02887ddd59f7edfd65ebeca9d9629c6f1f
CID: 1430129
updates: #1202
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added test for volume options like
localtime-logging, fixed enable-shared-storage
to include function coverage and few negative
tests for other volume options to increase the
code coverage in the glusterd component.
Change-Id: Ib1706c1fd5bc98a64dcb5c8b15a121d639a597d7
Updates: #1052
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Reason for changing the log-level stated at the github isse
fixes: #1353
Change-Id: I21202075916c5a7525e5f26e7fb595efe7717b66
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way symbol versions are implemented is incompatible with gcc-10 and LTO.
Fedora provenpackager Jeff Law (law [at] redhat.com) writes in the
Fedora dist-git glusterfs.spec:
This package uses top level ASM constructs which are incompatible with LTO.
Top level ASMs are often used to implement symbol versioning. gcc-10
introduces a new mechanism for symbol versioning which works with LTO.
Converting packages to use that mechanism instead of toplevel ASMs is
recommended.
In particular, note that the version of gluster in Fedora rawhide/f33 is
glusterfs-8.0RC0. Once this fix is merged it will be necessary to backport
it to the release-8 branch.
At the time that gfapi symbol versions were first implemented we copied
the GNU libc (glibc) symbol version implementation following Uli Drepper's
symbol versioning HOWTO.
Now gcc-10 has a symver attribute that can be used instead. (Maybe it
has been there all along?)
Both the original implemenation and this implemenation yield the same
symbol versions. This can be seen by running
`nm -D --with-symbol-versions libgfapi.so`
on the libgfapi.so built before and after applying this fix.
Change-Id: I05fda580afacfff1bfc07be810dd1afc08a92fb8
Fixes: #1352
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In "gf_fill_iatt_for_dirent()", while calculating inode_path for loc,
the inode should be of parent's. Instead it is loc.inode which results in error
and eventually lookup/readdirp fails.
This patch fixes the same.
Change-Id: Ied086234a4634e8cb13520521ac547c87b3c76b5
Fixes: #1351
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
problem: while the rebalance is in progress, if a node is
rebooted rebalance v status shows the stats of this node as
0 once the node is back.
Reason: when the node is rebooted, once it is back
glusterd_volume_defrag_restart() starts the rebalance and
creates the rpc. but due to some race, rebalance process is
sending disconnect event, so rpc object is getting destroyed. As
the rpc object is null, request for fetching the latest stats is
not sent to rebalance process. and stats are shows as default values
which is 0.
Solution: When the rpc object null, we should create the rpc if the
rebalance process is up. so that request can be sent to rebalance
process using the rpc.
fixes: #1339
Change-Id: I1c7533fedd17dcaffc0f7a5a918c87356133a81c
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Program and Library Variables" section from Automake manual suggests
the following:
. . .
_LDADD and _LIBADD are inappropriate for passing program-specific linker
flags (except for -l, -L, -dlopen and -dlpreopen). Use the _LDFLAGS
variable for this purpose.
. . .
Therefore it is reasonable to move $(LIB_DL) additon from _LDFLAGS to
_LDADD and _LIBADD variables for program and library respectively.
Change-Id: Id8b4734c207ab28a08bcce683d316cdc7acb0bcd
Updates: #1000
Signed-off-by: Anoop C S <anoopcs@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Removed the macro 'GD_MSG_DICT_SERL_LENGTH_GET_FAIL'
from the glusterd-messages file as
'GD_MSG_DICT_ALLOC_AND_SERL_LENGTH_GET_FAIL' is
used in it's place
Change-Id: I69d7d95b5cb8f1bdd7e616d7a3e9539e891ba378
Fixes: #874
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-P: Ravishankar N <ravishankar@redhat.com>
+M: Ravishankar N <ravishankar@redhat.com>
+P: Karthik US <ksubrahm@redhat.com>
Based on contributions + subject matter knowledge and ack from current
maintainer and project architects.
updates: #1000
Change-Id: Iae7770094adda24331f17c260e9966816d9cf9be
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Make sure -largp is used at link time
- PTHREAD_MUTEX_ADAPTIVE_NP is not available, use PTHREAD_MUTEX_DEFAULT instead
- Avoid non POSIX [[ ]] in scripts
- Do not check of lock.spinlock is NULL since it is not a pointer
(it is not a pointer on Linux either)
Change-Id: I5e04a7c552d24f8a473c2b837828d1bddfa7e128
Fixes: #1347
Type: Bug
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue:
Some of the functions didn't had sufficient
logging of information in case of failure.
Fix:
Added log information in few functions in
case of failure indicating the cause of
such event.
Change-Id: I301cf3a1c8d2c94505c6ae0d83072b0241c36d84
fixes: #874
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 620158475f462251c996901a8e24306ef6cb4c42.
The patch to revert is https://review.gluster.org/#/c/glusterfs/+/24613/
Reverting is required as comments were posted regarding a more
efficient implementation were made after the patch was merged.
A new patch will be posted to adress the comments will be posted.
updates: #1324
Change-Id: I59205baefe1cada033c736d41ce9c51b21727d3f
Signed-off-by: Barak Sason Rofman <redhat@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The scenario of setting an xattr to a dir, killing one of the bricks,
removing the xattr, bringing back the brick results in xattr
inconsistency - The downed brick will still have the xattr, but the rest
won't.
This patch add a mechanism that will remove the extra xattrs during
lookup.
fixes: #1324
Change-Id: Ibcc449bad6c7cb46bcae380e42e4496d733b453d
Signed-off-by: Barak Sason Rofman <bsasonro@redhat.com>
|
|
|
|
|
|
|
|
| |
Convert an ad-hoc hack to a regular library function gf_syncfs().
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Change-Id: I3ed93e9f28f22c273df1466ba4a458eacb8df395
Fixes: #1329
|