| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue:
In gluster versions less than 7, the checksums were calculated
whether or not the quota is enabled or not, and that cksum value
was also getting stored in the quota.cksum file. But, from gluster
7 version onwards cksum was calculated only if the quota is enabled.
Due to this, the cksums in quota.cksum files differ after upgrading.
Fix:
Added a check to see if the OP_VERSION is less than 7 then, follow
the previous method otherwise, move as per the latest changes for
cksum calculation.
This changes for the cksum calculation was done in
this commit : https://github.com/gluster/glusterfs/commit/3b5eb592f5
Fixes: #1332
Change-Id: I7a95e5e5f4d4be4983fb7816225bf9187856c003
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: At the time of mount a volume server_first_lookup
call's syncop_lookup with a NULL xattr so index_lookup
is throwing a message at the time of fetching "link-count"
from a dictionary
Solution: Call dict_get_str_sizen instead of calling dict_get_str
to avoid a warning message
Fixes: #1464
Change-Id: I2b1ee3123ab817fa09f3abe39998c0d66ac0b824
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
|
|
|
|
|
|
| |
Fixes: #1385
Change-Id: I3609dd2e1f63c4bd6a19d528b935bf5b05443824
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Based on the discussion on the issue, it is decided that it is
better to not have this implementation of the feature.
This reverts commit 3af9443c770837abe4f54db399623380ab9767a7.
Change-Id: I4e3bf18fc376cdb0cf29f1d98a915deca17c3496
Updates: #1422
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Earlier approach is setting dirty bit which requires extra heal
Fix:
Send zero-xattrop which deletes stale index without any need
for extra heal.
Fixes: #1385
Change-Id: I7e97a1d8b5516f7be47cae55d0e56b14332b6cae
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Provide proper information about failure when a fop
fails on some of the brick.
Also provide information about parent fop and
the map of the bricks on which it is failing.
Change-Id: If812739617df65cd146c8e667fbacff653717248
updates #1434
Signed-off-by: Ashish Pandey <aspandey@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Since this xlator measures time intervals in seconds, timespec_now()
may be replaced with simpler gf_time(). Consistently use time_t and
uint32_t for timeouts, better error checking in mdc_reconfigure(),
adjust comments and messages as well.
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Change-Id: I757c988e52db9d92348a900a43c617022a3d62af
Updates: #1002
|
|
|
|
|
|
|
|
|
|
| |
Except latencies, this xlator measures time intervals in seconds,
so gettimeofday() may be replaced with simpler gf_time() where
appropriate. Simplify io_stats_clear() as well.
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Change-Id: Iecaf416012da494eb4de502f915bb02ee3b4f64c
Updates: #1002
|
|
|
|
|
|
|
|
|
|
| |
Since this xlator measures time intervals in seconds,
gettimeofday() may be replaced with simpler gf_time().
Simplify and convert quota_timeout() to static as well.
Change-Id: I0e042cdd759dd9fca25fcf8bc780e5fc4934f7e1
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Updates: #1002
|
|
|
|
|
|
|
|
|
| |
Since this xlator measures time intervals in seconds,
gettimeofday() may be replaced with simpler gf_time().
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Change-Id: I5962771acbe8553dca51970183a55786a5289828
Updates: #1002
|
|
|
|
|
|
|
|
|
|
| |
Drop extra point of failure in changelog_fill_rollover_data(),
changelog_init() and reconfigure(), consistently use time_t
and gf_time() where appropriate, adjust all related users.
Change-Id: Id8e4236e96789cd74da5fdc3da05f0c1df98a62b
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Updates: #1002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Glusterfs so far constrained itself with an arbitrary limit (32)
for the number of groups read from /proc/[pid]/status (this was
the number of groups shown there prior to Linux commit
v3.7-9553-g8d238027b87e (v3.8-rc1~74^2~59); since this commit, all
groups are shown).
With this change we'll read groups up to the number Glusterfs
supports in general (64k).
Note: the actual number of groups that are made use of in a
regular Glusterfs setup shall still be capped at ~93 due to limitations
of the RPC transport. To be able to handle more groups than that,
brick side gid resolution (server.manage-gids option) can be used along
with NIS, LDAP or other such networked directory service (see
https://github.com/gluster/glusterdocs/blob/5ba15a2/docs/Administrator%20Guide/Handling-of-users-with-many-groups.md#limit-in-the-glusterfs-protocol
).
Also adding some diagnostic messages to frame_fill_groups().
Change-Id: I271f3dc3e6d3c44d6d989c7a2073ea5f16c26ee0
fixes: #1075
Signed-off-by: Csaba Henk <csaba@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
feature/metadisp is an xlator for performing "metadata dispersal" across
multiple children. it does this by flattening the complex
POSIX paths into /$GFID style paths, then forwarding the
metadata operations to its first child and forwarding the
data operations to its second child.
The purpose of this xlator is to allow separation of data and metadata,
in cases where metadata might be stored in another format (embedded kv?),
on another disk (ssd), on another host (dht2).
Change-Id: I392c8bd0c867a3237d144aea327323f700a2728d
Updates: #816
Signed-Off-By: Sheena Artrip <sheenobu@fb.com>
Tested-By: Amar Tumballi <amar@kadalu.io>
|
|
|
|
|
|
|
|
|
|
| |
Since this xlator measures time intervals in seconds, gettimeofday()
may be replaced with simpler gf_time(). Simplify and convert to
static ioc_inode_need_revalidate() as well.
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Change-Id: Iaf13ecbf527589286ab3331c37429dd04bf6fa2c
Updates: #1002
|
|
|
|
|
|
|
|
|
| |
Since this xlator measures time intervals in seconds,
gettimeofday() may be replaced with simpler gf_time().
Change-Id: Ib2c81376c093613124bdbed184516077cbe80dac
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Updates: #1002
|
|
|
|
|
|
|
|
|
|
| |
Prefer time_t and gf_time() over 'struct timeval' and gettimeofday()
where microseconds are not really used, drop unneeded 'struct timeval'
to 'struct timespec' conversion in dht_file_counter_thread().
Change-Id: Ibd802f79b8848df3f6175ca1fd82e93532bba38d
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Updates: #1002
|
|
|
|
|
|
|
|
|
| |
Since this xlator measures time intervals in seconds, gettimeofday() may
be replaced with simpler gf_time(). Adjust comments and style as well.
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Change-Id: I2e5900ccb5da2478656d80e5f570487e3ba70966
Updates: #1002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A snapshot clone is nothing but a volume, So if the ganesha is
enabled for the parent volume, the clone should also have the
ganesha enabled.
This patch add clonename to the export file.
Change-Id: I847f23e62036aee02fb9e6adbc868aec6455d86e
Fixes: #1043
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
Signed-off-by: srijan-sivakumar <ssivakum@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Add gf_tvdiff() and gf_tsdiff() to calculate the difference
between 'struct timeval' and 'struct timespec' values, use
them where appropriate.
Change-Id: I172be06ee84e99a1da76847c15e5ea3fbc059338
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Updates: #1002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: In the commit fb20713b380e1df8d7f9e9df96563be2f9144fd6 we use
syntask to close fd but we have found the patch is reducing the
performance
Solution: Use janitor thread to close fd's and save the pfd ctx into
ctx janitor list and also save the posix_xlator into pfd object to
avoid the race condition during cleanup in brick_mux environment
Change-Id: Ifb3d18a854b267333a3a9e39845bfefb83fbc092
Fixes: #1396
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When an open was delayed, a copy of the frame was created because the
current frame was used to unwind the "fake" open. When the open was
actually sent, the frame was correctly destroyed. However if the file
was closed before needing to send the open, the frame was not destroyed.
This patch correctly destroys the frame in all cases.
Change-Id: I8c00fc7f15545c240e8151305d9e4cf06d653926
Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
Fixes: #1440
|
|
|
|
|
| |
Change-Id: Ieebd9a54307813954011ac8833824831dce6da10
Fixes: #1376
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Lookup/creation of thin-arbiter ID file happens in background during
mounting. On new volumes, if the ID file creation is in progress, and a
FOP fails on data brick, a post-op (xattrop) is attemtped on TA. Since
the TA file's gfid is null at this point, the ASSERT checks in protocol/
client causes a crash.
Fix:
Given that we decided to do Lookup/creation of thin-arbiter in
background, fail the other AFR FOPS on TA if the ID file's gfid is null
instead of winding it down to protocol/client.
Also remove afr_changelog_thin_arbiter_post_op() which seems to be dead
code.
Updates: #763
Change-Id: I70dc666faf55cc5c8f7cf8e7d36085e4fa399c4d
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Assume that we are preallocating a VM of size 1TB with a shard
block size of 64MB then there will be ~16k shards.
This creation happens in 2 steps shard_fallocate() path i.e
1. lookup for the shards if any already present and
2. mknod over those shards do not exist.
But in case of fresh creation, we dont have to lookup for all
shards which are not present as the the file size will be 0.
Through this, we can save lookup on all shards which are not
present. This optimization is quite useful in the case of
preallocating big vm.
Also if the file is already present and the call is to
extend it to bigger size then we need not to lookup for non-
existent shards. Just lookup preexisting shards, populate
the inodes and issue mknod on extended size.
Fixes: #1425
Change-Id: I60036fe8302c696e0ca80ff11ab0ef5bcdbd7880
Signed-off-by: Vinayakswami Hariharmath <vharihar@redhat.com>
|
|
|
|
|
| |
Change-Id: I5d6d38759de4492de3256995e79d01b9ed7befef
Fixes: #1376
|
|
|
|
|
| |
Change-Id: Ib2bac85c28905bb8997fbb64db2308f2a6f31720
Fixes: #1376
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue:
In the glusertd_op_stage_create_volume(), fetching of values
from the dict is done, whereas same values are fetched
by glusterd_check_brick_order() which is called from
that function. This leads to unnecssary performance overhead.
Fix:
Instead of fetching the values again, passing the
values to the glusterd_check_brick_order()
if it's fethced before, else a NULL is passed
and then only fetching is done here.
Also, few changes are made to the code to reduce
the cost of operations such as 'fast fail' for
false conditions and a bit of code clean up.
Fixes: #1397
Change-Id: Ic7b523adbca8eb63ef9eb29c206e3b19e05c0815
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue:
If the the pointer tmptier is destroyed in the function
code it still it checks for the same in the out label.
And tries to destroy the same pointer again.
Fix:
So, instead of passing the ptr by value, if we
pass it by reference then, on making the ptr in the
function the value will persist, in the calling
function and next time when the gf_store_iter_destory()
is called it won't try to free the ptr again.
CID: 1430122
Updates: #1060
Change-Id: I019cea8e301c7cc87be792c03b58722fc96f04ef
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue:
In case of ipv6 environment, the mounting of glusterd_shared_storage
volume fails as it doesn't recognises the ipv6 enviornment.
Fix:
In case of ipv6 environment, the address-family is passed
to the hooks script on creating shared-storage, then depending
upon the address-family --xlator-option=transport.address-family=inet6
option is added to the mount command, and the mounting succeeds.
Fixes: #1406
Change-Id: Ib1888c34d85e6c01618b0ba214cbe1f57576908d
Signed-off-by: nik-redhat <nladha@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Add thin convenient library wrapper gf_time(),
adjust related users and comments as well.
Change-Id: If8969af2f45ee69c30c3406bce5baa8305fb7f80
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Updates: #1002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
If we set favourite child policy, then automatic split-brain resolution
should work in all cases. This was failing when quorum count was set to
a non-zero value. The initial lookup before the read txn was failing
with ENOTCONN. Since we don't have a readable subvol, we were failing it.
We were only looking to the split brain resolution choice set through the
cli command.
Fix:
We will now consider the favourite child policy if split-brain choice
has not been set via cli command.
Change-Id: Id2016c3a90d0763ac6f1a0131571053f595576f0
Fixes: #1404
Signed-off-by: Mohammed Rafi KC <rafi.kavungal@iternity.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: At the time of handling friend update request glusterd updates peer
file and if DNS has returned multiple hostnames for the same IP, glusterd
saves all hostnames in peer file.In commit 1fa089e7a2b180e0bdcc1e7e09a63934a2a0c0ef
We changed the approach to save all key value pairs in single shot.
In case of a buffer is not having space to store the hostnames glusterd
writes partial hostname in peer file.
Solution: To avoid the failure increase the buffer length
Change-Id: Iee969d165333e9c5ba69431d474c541b8f12d442
Fixes: #1407
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For distribute only volumes we can use the information for
local subvolumes to avoid syncop calls which goes through the
whole stack to fetch stat and entries.
A separate function gf_defrag_fix_layout_puredist is introduced.
TODO: A glusterd flag needs to be introduced in case we want to
fall back to run the old way.
Perf numbers:
DirSize - 1Million Old New %diff
Depth - 100 (Run 1) 353 74 +377%
Depth - 100 (Run 2) 348 72 +377~%
Depth - 50 246 122 +100%
Depth - 3 174 114 +52%
Change-Id: I67cc136cebd34092fd775e69f74c2d5b33d3156d
Fixes: #1242
Signed-off-by: Susant Palai <spalai@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: When auth.allow list is set to some ip's, add-brick
operation is failing.
Cause: add-brick commands creates a temparary mount on the
bricks to set the extended attributes on the brick mount
points. When auth.allow list is set to default i.e, * (all)
we will not see any issue, but when it is set to certain ip's
add-brick operation fails as temparory mount on the bricks
fails because the peers are not part of auth.allow list.
Solution: When auth.allow list is already set, add all the
peers to the auth.allow list during add-brick operation.
the old list will be replaced in post commit phase.
As this can happen with replace-brick operation as well,
added code to handle it.
updates: #1391
Change-Id: I5ede8c35f05ab25ff431b88e074ddbe9c10a90f1
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
If a gfid is present in indices/xattrop folder while
the file/dir is actaully healthy and all the xattrs are healthy,
it causes lot of lookups by shd on an entry which does not need
to be healed.
This whole process eats up lot of CPU usage without doing meaningful
work.
Solution:
Set trusted.ec.dirty xattr of the entry so that actual heal process
happens and at the end of it, during unset of dirty, gfid enrty from
indices/xattrop will be removed.
Change-Id: Ib1b9377d8dda384bba49523e9ff6ba9f0699cc1b
Fixes: #1385
Signed-off-by: Ashish Pandey <aspandey@redhat.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|