summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glusterd: Fix Add-brick with increasing replica count failureSheetal Pamecha2020-09-242-0/+25
| | | | | | | | | | | | | Problem: add-brick operation fails with multiple bricks on same server error when replica count is increased. This was happening because of extra runs in a loop to compare hostnames and if bricks supplied were less than "replica" count, the bricks will get compared to itself resulting in above error. Fixes: #1508 Change-Id: I8668e964340b7bf59728bb838525d2db062197ed Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
* build: when building with tirpc, link with libtirpcKaleb S. KEITHLEY2020-09-242-2/+3
| | | | | | | | | | | | | uncovered on Ubuntu Groovy (20.10, ubuntu's bleeding edge devel dist), seems to now have stricter link semantics than it did when we last built 8.1 and 7.5. Many xlators actually do have direct calls to xdr_sizeof(), so strictly speaking they should be linked with libtirpc. Change-Id: Iee1fd3528fde19db397c4eae6978d9b9a2c3e17f Updates: #1002 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
* glusterd: Removing strlen and using existing len field of data_tsrijan-sivakumar2020-09-241-3/+5
| | | | | | | | | | | | | | Issue: The strlen being used to find the length of the dictionary is an extra step as there already exists len field in data_t which contains the same value. Code Change : 1. Replacing the strlen with len. 2. Removing a typecast which wasn't required. Fixes: #1497 Change-Id: I2780c3876b17b8825038d222fb489a87e090411f Signed-off-by: srijan-sivakumar <ssivakum@redhat.com>
* glusterd: Fixing coverity issues.srijan-sivakumar2020-09-241-4/+2
| | | | | | | | | | | Fixing Incorrect expression (IDENTICAL_BRANCHES) reported by the coverity scan. CID: 1432721 Change-Id: If6ab3a129dffb6c5fcc618e775f99bc1125003ab Updates: #1060 Signed-off-by: srijan-sivakumar <ssivakum@redhat.com>
* nfs: test case bugs_nfs_bug-1116503.t is crashedMohit Agrawal2020-09-233-3/+9
| | | | | | | | | | | | test case is crashed because GF_ASSERT is failing in gf_mem_set_acct_info function due to access global xlator instead of accessing nfs xlator.To avoid the crash pass nfsx at the time of calling nsm_thread to set the THIS. Fixes: #1506 Change-Id: Ifd8afcdf39578aa44332d1b79744a4e9910fe7c6 Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
* cluster/ec: Track heal statistics in shdPranith Kumar K2020-09-223-1/+59
| | | | | | | | | With this change we should be able to inspect number of heals attempted and completed by each shd. fixes: #1453 Change-Id: I10f5d86efcc0a8e4d648da808751d37725682c39 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* glusterd: add post-commit phase to the transactionSanju Rakonde2020-09-2110-1/+587
| | | | | | | | | | | | | | | | This is part 2 of the fix. part 1 is at https://review.gluster.org/#/c/glusterfs/+/24325/ This patch adds post commit phase to the mgmt v3 transaction framework. In post commit phase we replace the old auth.allow list in case of add-brick and replace-brick. fixes: #1391 Change-Id: I41c871d59e6252d27163b042ad710e929d7d0399 Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
* glusterd: mount directory getting truncated on mounting shared_storagenik-redhat2020-09-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | Issue: In case of a user created volume the mount point is the brick path 'ex: /data/brick' but in case of shared_storage the mount point is '/'.So, here we increment the array by one so as to get the exact path of brick without '/', which works fine for other volumes as the pointer of the brick_dir variable is at '/', but for shared_storage it is at 'v'(where v is starting letter of 'var' directory). So, on incrementing the path we get in case of shared_storage starts from 'ar/lib/glusterd/...' Fix: Only, increment the pointer if the current position is '/', else the path will be wrong. Fixes: #1480 Change-Id: Id31bb13f58134ae2099884fbc5984c4e055fb357 Signed-off-by: nik-redhat <nladha@redhat.com>
* glusterd:Reducing file operations when writing options into volfile.Srijan Sivakumar2020-09-174-91/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: The options to be written into the volfile are in form of key-value pairs and the current approach taken to write them into a file is to invoke the write syscall for each key-value pair. This implies an increased number of system calls. Code Changes: 1. Addition of a structure, glusterd_volinfo_data_store_t in glusterd-store.h, containing a character buffer, a pointer to gf_store_handle_t, the current length of data in the buffer as well as a flag for checking key while storing in the buffer. This is used for passing the required file descriptor as well having a character buffer for storing multiple options before being written into a file. 2. Modification of function, _storeopts in glusterd-store.c, which now invokes the gf_store_save_items when buffer is to be emptied into the volfile before further write into it. Also, it has replaced the function _storeslaves, _gd_store_rebalance_dict and _store_global_opts. 3. Modification of function, glusterd_store_volinfo_write in glusterd-store.c, wherein a pointer of type glusterd_volinfo_data_store_t is initialized for further operation. Also, the buffer is emptied into the volfile before it is freed. 4. Modification of function, glusterd_store_node_state_write in glusterd-store.c, wherein the a pointer of type glusterd_volinfo_data_store_t is initialized for further operations. Also, the buffer is emptied into the volfile before it is freed. 5. Addition of enum into glusterd-mem-types.h 6. Modification of function, glusterd_store_options in glusterd-store.c, wherein a pointer of type glusterd_volinfo_data_store_t is initialized for further opertaions. Also, the buffer is emptied into the volfile before it is freed. Reasoning behind the approach: 1.Instead of a dynamic allocation of buffer or increasing the buffer size with increased number of options, it, the current approach takes a buffer of fixed size (VOLINFO_BUFFER_SIZE). Before any write into the buffer, the size is checked and if it exceeds the available space, the contents of the buffer are written to the file before copying new contents. Dynamic allocation can lead to increased memory usage as one doesn't know the number of options that could be added in time and may go on to occupy more space than mandated. 2.The function dict_foreach is a generic function used across different modules. It made sense not to change its implementation as it might affect other Functionalities. Hence a structure was added which could just be passed as one of the parameter to this function (as it takes a void*). 3. Reduced number of system calls implies an increase in execution speed. Also, these modified functions come into play whenever the volume is started or modified. 4. The functions _storeslaves, _gd_store_rebalace_dict and _store_global_opts were doing the same set of operations as that of _storeopts except the checking for the key. This has been handled with the help of a flag in the glusterd_volinfo_data_store_t structure. This reduces the duplicate code present. Signed-off-by: Srijan Sivakumar <ssivakum@redhat.com> Change-Id: I22e6e91c78ed51e3a171482054d77bf793b9ab16 Fixes: #718
* quota_fsck.py fails with UnicodeDecodeErrorsrijan-sivakumar2020-09-161-5/+2
| | | | | | | | | | | | | | | | | | Issue: While decoding the byte characters the quota_fsck script stumbled across a corner case wherein the file names given by the getfattr dump will cause the decoding to UTF-8 to fail with UnicodeDecodeError. Code Change: On looking through the quota_fsck.py script, it seems like the file path is actually not needed when decoding for the xattr parsing, hence the code change reflects that. Also, removed a comparison which previously existed to skip the file names as that won't be required now. Fixes: #1487 Change-Id: I8a13ab07be6c9cfafae996f17764fbb4a285bd8c Signed-off-by: srijan-sivakumar <ssivakum@redhat.com>
* nfs: Use static api to set static data in dictPranith Kumar K2020-09-141-2/+1
| | | | | | fixes: #1477 Change-Id: I8b9f76887f4617f82d09291205e28e3fb5ddc8e0 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* glusterd: readdir-ahead off by defaultnik-redhat2020-09-141-1/+1
| | | | | | | | | | | | Changing the default value of readdir-ahead to off, but it can be enabled/disabled later on if with gluster vol set <volname> performance.readdir-ahead enabel/disable command. Fixes: #1472 Change-Id: Idb3e16e8be98d7a811fc8e5d09906919ef50fbab Signed-off-by: nik-redhat <nladha@redhat.com>
* glusterd: fixing coverity issuesnik-redhat2020-09-111-3/+9
| | | | | | | | | | | | | | | In the last patch merge for the performance.readdir -ahead dependencies, there was few issues with return check and NULL derefencing. So, fixed that as per the coverity scanner. CID: 1432493 CID: 1432492 Updates: #1060 Change-Id: I6dee6d35ef41ab8d6322f1b2e3734c4796ee2804 Signed-off-by: nik-redhat <nladha@redhat.com>
* nfs-ganesha: gluster_shared_storage fails to automount on node reboot on rhel 8Shwetha K Acharya2020-09-103-3/+3
| | | | | | | | | | | | | | The patch https://review.gluster.org/#/c/glusterfs/+/24934/, changes mount point of gluster_shared_storage from /var/run to /run to address the issue of symlink at mount path in fstab. NOTE: mount point /var/run is symlink to /run The required changes with respect to gluster_shared_storage mount path are introduced with this patch in nfs-ganesha. Fixes: #1475 Change-Id: I9c7677a053e1291f71476d47ba6fa2e729f59625 Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
* extras/snap_scheduler: changes in gluster-shared-storage mount path Shwetha K Acharya2020-09-102-3/+3
| | | | | | | | | | | | | | The patch https://review.gluster.org/#/c/glusterfs/+/24934/, changes mount point of gluster_shared_storage from /var/run to /run to address the issue of symlink at mount path in fstab. NOTE: mount point /var/run is symlink to /run The required changes with respect to gluster_shared_storage mount path are introduced with this patch in snap_scheduler. Fixes: #1476 Change-Id: I9ce88c2f624c6aa5982de04edfee2d0a9f160d62 Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
* geo-rep: gluster_shared_storage fails to automount on node reboot on rhel 8.Shwetha K Acharya2020-09-102-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | Issue: On reboot, all the mounts get wiped out. Only the mounts mentioned in /etc/fstab automatically gets mounted during boot/reboot. But /etc/fstab complains on not getting a canonical path (it gets path containing a symlink) This is because the gluster_shared_storage, is mounted to /var/run which is symlink to /run. This is a general practice followed by most operating systems. [root@ ~]# ls -lsah /var/run 0 lrwxrwxrwx. 1 root root 6 Jul 22 19:39 /var/run -> ../run Fix: Mount gluster_shared_storage on /run. (Also It is seen that /var/run is mostly used by old or legacy systems, thus it is a good practice to update /var/run to /run) fixes: #1459 Change-Id: I8c16653be8cd746c84f01abf0eea19284fb97c77 Signed-off-by: Shwetha K Acharya <sacharya@redhat.com>
* glusterd: automatically turn on dependencies for parallel-readdirnik-redhat2020-09-081-2/+5
| | | | | | | | | | | | | | | | | | | Issue: On setting the performance.parallel-readdir to "on" the dependencies of it should automatically be turned on and readdir-ahead should be the parent of each dht subvolume. Fix: On enabling the parallel-readdir, the dependencies are turned on by enabling readdir-ahead simultaneously, and readdir-ahead will be seen as the parent of each dht subvolume. Fixes: #1416 Change-Id: Ic83ae470152b88edddc274d5e6c4d74169d23c15 Signed-off-by: nik-redhat <nladha@redhat.com>
* rpcsvc: Add latency tracking for rpc programsPranith Kumar K2020-09-0714-69/+193
| | | | | | | | | | Added latency tracking of rpc-handling code. With this change we should be able to monitor the amount of time rpc-handling code is consuming for each of the rpc call. fixes: #1466 Change-Id: I04fc7f3b12bfa5053c0fc36885f271cb78f581cd Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* xlators: prefer libglusterfs time APIDmitry Antipov2020-09-0716-72/+40
| | | | | | | | | | Prefer timespec_now_realtime() and gf_time() over clock_gettime() and time(), use gf_tvdiff() and gf_tsdiff() where appropriate, drop unused time_elapsed() and leftovers in 'struct posix_private'. Change-Id: Ie1f0229df5b03d0862193ce2b7fb91d27b0981b6 Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru> Updates: #1002
* open-behind: implement create fopXavi Hernandez2020-09-071-0/+52
| | | | | | | | | | | | | | Open behind didn't implement create fop. This caused that files created were not accounted for the number of open fd's. This could cause future opens to be delayed when they shouldn't. This patch implements the create fop. It also fixes a problem when destroying the stack: when frame->local was not NULL, STACK_DESTROY() tried to mem_put() it, which is not correct. Fixes: #1440 Change-Id: Ic982bad07d4af30b915d7eb1fbcef7a847a45869 Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
* glusterfsd, libglusterfs, rpc: prefer libglusterfs time APIDmitry Antipov2020-09-074-7/+7
| | | | | | | | Use timespec_now_realtime() rather than clock_gettime(). Change-Id: I8fa00b7c0f7b388305c7d19574be3b409db68558 Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru> Updates: #1002
* build: extend --enable-valgrind to support Memcheck and DRDDmitry Antipov2020-09-0512-41/+140
| | | | | | | | | Extend '-enable-valgrind' to '--enable=valgrind[=memcheck,drd]' to enable Memcheck or DRD Valgrind tool, respectively. Change-Id: I80d13d72ba9756e0cbcdbeb6766b5c98e3e8c002 Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru> Updates: #1002
* libglusterfs: fix dict leakRavishankar N2020-09-044-10/+30
| | | | | | | | | | | | | | Problem: gf_rev_dns_lookup_cached() allocated struct dnscache->dict if it was null but the freeing was left to the caller. Fix: Moved dict allocation and freeing into corresponding init and fini routines so that its easier for the caller to avoid such leaks. Updates: #1000 Change-Id: I90d6a6f85ca2dd4fe0ab461177aaa9ac9c1fbcf9 Signed-off-by: Ravishankar N <ravishankar@redhat.com>
* glusterd: use after free (coverity issue)nik-redhat2020-09-041-2/+3
| | | | | | | | | | | | | | | | | | Issue: dict_unref is called on the same dict again, in the out label of the code, which causes the use after free issue. Fix: Set the dict to NULL after unref, to avoid use after free issue. CID: 1430127 Updates: #1060 Change-Id: Ide9a5cbc5f496705c671e72b0260da6d4c06f16d Signed-off-by: nik-redhat <nladha@redhat.com>
* glusterd: cksum mismatch on upgrading to latest glusternik-redhat2020-09-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | 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>
* core: Avoid dict OR key is NULL message in brick logsMohit Agrawal2020-09-041-1/+1
| | | | | | | | | | | | | | 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>
* cluster/ec: Don't trigger heal for stale indexPranith Kumar K2020-09-041-0/+1
| | | | | | Fixes: #1385 Change-Id: I3609dd2e1f63c4bd6a19d528b935bf5b05443824 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* build: Added dependency for glusterfs-selinuxRinku Kothiya2020-09-031-0/+3
| | | | | | | Fixes: #1442 Change-Id: I7d79bceff329db4d525bc8a77ba7ffe41bf53c97 Signed-off-by: Rinku Kothiya <rkothiya@redhat.com>
* Events: Fixing coverity issues.Srijan Sivakumar2020-09-031-3/+5
| | | | | | | | | | Fixing resource leak reported by coverity scan. CID: 1431237 Change-Id: I2bed106b3dc4296c50d80542ee678d32c6928c25 Updates: #1060 Signed-off-by: Srijan Sivakumar <ssivakum@redhat.com>
* Revert "dht: optimize rebalance crawl path"Pranith Kumar K2020-09-034-524/+5
| | | | | | | | | | | 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>
* cluster/ec: Change stale index handlingPranith Kumar K2020-08-271-9/+5
| | | | | | | | | | | | | 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>
* cluster/ec: Inform failure when some bricks are unavailable.Ashish Pandey2020-08-252-32/+58
| | | | | | | | | | | 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>
* performance/md-cache: simplify and cleanup internal time managementDmitry Antipov2020-08-251-39/+31
| | | | | | | | | | | 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
* debug/io-stats: simplify and cleanup internal time managementDmitry Antipov2020-08-241-45/+32
| | | | | | | | | | 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
* features/quota: simplify and cleanup internal time managementDmitry Antipov2020-08-242-45/+19
| | | | | | | | | | 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
* performance/quick-read: simplify and cleanup internal time managementDmitry Antipov2020-08-222-21/+7
| | | | | | | | | 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
* features/changelog: simplify and cleanup internal time managementDmitry Antipov2020-08-224-83/+29
| | | | | | | | | | 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
* fuse: fetch arbitrary number of groups from /proc/[pid]/statusCsaba Henk2020-08-213-26/+65
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* metadisp: new translator for data and metadata separationSheena Artrip2020-08-2125-1/+1814
| | | | | | | | | | | | | | | | | | | 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>
* performance/io-cache: simplify and cleanup internal time managementDmitry Antipov2020-08-213-38/+18
| | | | | | | | | | 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
* features/locks: simplify and cleanup internal time managementDmitry Antipov2020-08-215-43/+26
| | | | | | | | | 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
* cluster/dht: simplify and cleanup internal time managementDmitry Antipov2020-08-215-35/+15
| | | | | | | | | | 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
* features/bit-rot: simplify and cleanup internal time managementDmitry Antipov2020-08-213-49/+35
| | | | | | | | | 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
* snapshot/ganesha: Modify ganesha export file while creating cloneMohammed Rafi KC2020-08-213-24/+103
| | | | | | | | | | | | | 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>
* libglusterfs: add functions to calculate time differenceDmitry Antipov2020-08-215-14/+39
| | | | | | | | | | 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
* posix: Implement a janitor thread to close fdMohit Agrawal2020-08-207-26/+160
| | | | | | | | | | | | | | 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>
* open-behind: fix call_frame leakXavi Hernandez2020-08-201-4/+10
| | | | | | | | | | | | | 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
* dict: Remove redundant checksSheetal Pamecha2020-08-202-41/+30
| | | | | | fixes: #1428 Change-Id: I0cb1c42d620ac1aeab8da25a2e1d7835219d2e4a Signed-off-by: Sheetal Pamecha <spamecha@redhat.com>
* Remove need for /proc on FreeBSDDaniel Morante2020-08-207-4/+112
| | | | | Change-Id: Ieebd9a54307813954011ac8833824831dce6da10 Fixes: #1376
* tests: provide an option to mark tests as 'flaky'Amar Tumballi2020-08-2015-41/+57
| | | | | | | | | | | | | * also add some time gap in other tests to see if we get things properly * create a directory 'tests/000/', which can host any tests, which are flaky. * move all the tests mentioned in the issue to above directory. * as the above dir gets tested first, all flaky tests would be reported quickly. * change `run-tests.sh` to continue tests even if flaky tests fail. Reference: gluster/project-infrastructure#72 Updates: #1000 Change-Id: Ifdafa38d083ebd80f7ae3cbbc9aa3b68b6d21d0e Signed-off-by: Amar Tumballi <amar@kadalu.io>