profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/dmantipov/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Dmitry Antipov dmantipov CloudLinux, Inc. Moscow, Russia

dmantipov/fio 0

Flexible I/O Tester

dmantipov/glusterfs 0

Gluster Filesystem : Build your distributed storage in minutes

dmantipov/libdnf 0

Package management library.

dmantipov/ninja 0

a small build system with a focus on speed

pull request commentgluster/glusterfs

build: do not ignore compiler flags from an environment

I was totally confused by successful devrpm-el7 test build. To avoid similar problems in the future, it's highly desirable to add devrpm-el8 as well.

dmantipov

comment created time in 3 hours

pull request commentgluster/glusterfs

build: do not ignore compiler flags from an environment

BTW what's wrong with comment on issue job? I'm seeing the python backtrace which is far from being self-explained.

dmantipov

comment created time in 3 hours

PR opened gluster/glusterfs

build: do not ignore compiler flags from an environment

Do not ignore CFLAGS from the build environment when checking for the function to set thread name. This is important when the build environment passes flags which changes PIC- and PIE-related code generation and linking options.

Signed-off-by: Dmitry Antipov dantipov@cloudlinux.com Credits: Mohit Agrawal moagrawa@redhat.com Updates: #1000

+3 -3

0 comment

1 changed file

pr created time in 5 hours

create barnchdmantipov/glusterfs

branch : 1000-build-respect-environment-cflags

created branch time in 5 hours

push eventdmantipov/glusterfs

mohit84

commit sha 5bc7fc03095749935dbd0c82c71977421093861f

mem_acct: Make mem_accounting lock free (#2797) * mem_acct: Make mem_accounting lock free The __gf_(c|m)alloc and __gf_free memory allocation api calls gf_mem_set_acct_info function to save memory accounting on xlator and to update the record it takes lock.During testing we have observed the mem_acct mutex has contention. Solution: To avoid contention make it lock free and the data is available at github issue #2771 Updates #2771 Signed-off-by: Mohit Agrawal <moagrawa@redhat.com> Credits: Xavi Hernandez <xhernandez@redhat.com> Change-Id: I9ab2a2e5b7d64e98aad92cecaa3bebc914e0a55b

view details

push time in 6 hours

push eventdmantipov/glusterfs

Sunil Kumar H G

commit sha 3e663171de32ff51d7ff71efd5ee9fb4e293e433

[Coverity Fix] Use After free. (#2810) CID: 1430119 Updates: #1060 Change-Id: If18fda9da38efed77d37be164218646fbb376440 Signed-off-by: Sunil Kumar H G <sheggodu@redhat.com>

view details

push time in 19 hours

PR closed gluster/glusterfs

Reviewers
libglusterfs, io-stats: periodically active thread API and example

Replace different ad-hoc tricks used to create and control periodically active threads with simple generic interface consisting of the only gf_periodic_thread_t data type and a few functions to control the thread action and lifetime:

  • gf_periodic_thread_create() to create periodically active thread;

  • gf_periodic_thread_destroy() to stop it and free all resources associated with it;

  • gf_periodic_thread_timeout() to schedule inactivity timeout and check whether the main thread loop should quit;

  • gf_periodic_thread_wakeup() to interrupt inactivity timeout and continue to execute the main thread loop;

  • gf_periodic_thread_alive() to check whether the thread is running.

Typical use cases are illustrated by the io-stats, posix, and shard xlator tweaks.

Signed-off-by: Dmitry Antipov dantipov@cloudlinux.com Updates: #1000

+0 -0

7 comments

0 changed file

dmantipov

pr closed time in 19 hours

push eventdmantipov/glusterfs

Sunil Kumar H G

commit sha 3e663171de32ff51d7ff71efd5ee9fb4e293e433

[Coverity Fix] Use After free. (#2810) CID: 1430119 Updates: #1060 Change-Id: If18fda9da38efed77d37be164218646fbb376440 Signed-off-by: Sunil Kumar H G <sheggodu@redhat.com>

view details

push time in a day

push eventdmantipov/glusterfs

Pavel Matěja

commit sha 3067f544c2f1e7b30eb65d215ee466878326478e

Start when only IPv4 or IPv6 is available (#2784) Fixes: #2782

view details

Dmitry Antipov

commit sha 63bfdbc3d6829e0a6fff60ce8b21a8dd2f050ec3

libglusterfs, xlators: add and use range info option flag (#2732) Add OPT_FLAG_RANGE flag to denote the numerical volume option with specified minimum and maximum values, display an allowed range as a part of option's help text, and use new flag for some threading-related options here and there. Adjust option descriptions and comments as well. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

mohit84

commit sha 491e9ec38bbfedf3caed52535b718efdc2dd6117

iobuf: Call standard allocation api in iobuf if page_size is less than equal to 128KB (#2792) * iobuf: Call standard allocation api in iobuf if page_size is less than equal 128KB During smallfile testing we have observed the performance has been improved significantly in case while iobuf use standard allocation api to allocate buffer while requested page_size is less than or equal to 128KB.The performance data is available at the github issue https://github.com/gluster/glusterfs/issues/2771 Change-Id: I9aebb19e15640aedea8c78efb366703dbdebb5fd Updates: #2771 Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>

view details

Ravishankar N

commit sha 103ff0b365edd18570c4bbfbadd743e6b23c3dc9

mount: expose the localtime-logging option to mount-helper (#2799) ...in order for it to be recognized as a valid option. i.e. mount -t glusterfs $IP:$VOLUME -o localtime-logging /path/to/mount Change-Id: I8859b31d92b54d1e0f877728a1bfff8b4ac37e56 Fixes: #2798 Signed-off-by: Ravishankar N <ravishankar.n@pavilion.io>

view details

Ravishankar N

commit sha 56032141312900df8f993a7ef9c2f60e609c7e3a

MAINTAINERS: Change my communication email-id (#2800) Change-Id: I7bb4f145f93605cfaf49564d5d24dce6114494f9 Updates: #1002 Signed-off-by: Ravishankar N <ravishankar.n@pavilion.io>

view details

Dmitry Antipov

commit sha b980af7853198783987087c262a475c778eafe3d

build, libglusterfs: detect function to set thread name (#2791) Avoid hardcoded OS-specific #ifdefs and attempt to detect OS-specfic function to set thread name, move platform- dependent quirks to '__gf_thread_set_name()' and use it where appropriate. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

Dmitry Antipov

commit sha 6a14d2b3e33aa59e9b14bdbb4395fb529c3c2616

afr: fix possible string buffer overflow and format truncation (#2786) Fix -Wstringop-overflow and -Wformat-truncation warnings reported as below, adjust related comments. In file included from afr.c:18: afr-common.c: In function ‘afr_serialize_xattrs_with_delimiter’: afr-common.c:7519:19: warning: ‘strncat’ specified bound depends on the length of the source argument [-Wstringop-overflow=] 7519 | buf = strncat(buf, xattr, str_len); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ afr-common.c:7518:23: note: length computed here 7518 | str_len = strlen(xattr); | ^~~~~~~~~~~~~ afr-common.c:7504:19: warning: ‘strncat’ specified bound depends on the length of the source argument [-Wstringop-overflow=] 7504 | buf = strncat(buf, default_str, str_len); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ afr-common.c:7503:23: note: length computed here 7503 | str_len = strlen(default_str); | ^~~~~~~~~~~~~~~~~~~ afr.c: In function ‘afr_handle_anon_inode_options’: afr.c:150:78: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=] 150 | snprintf(priv->anon_inode_name, sizeof(priv->anon_inode_name), "%s-%s", | ^ afr.c:150:9: note: ‘snprintf’ output between 28 and 257 bytes into a destination of size 256 150 | snprintf(priv->anon_inode_name, sizeof(priv->anon_inode_name), "%s-%s", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 151 | AFR_ANON_DIR_PREFIX, volfile_id_str); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

Dmitry Antipov

commit sha b48e64cebcad958ac7ddf38ef4f20d011d1ed0e4

cli: drop global RPC client contexts (#2767) Embed glusterd and quotad RPC client context pointers into CLI state instead of using global variables, adjust related initialization functions and comments. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

Dmitry Antipov

commit sha 1b182333832a61632d1ea048cd00dddc9baac84e

Merge branch 'devel' into 1000-periodically-active-thread-API

view details

push time in a day

push eventdmantipov/glusterfs

Dmitry Antipov

commit sha 7ebe09521fa84f3fb0fa74167420e788ef004e4e

shard: add option for the background deletion thread interval runs Avoid hardcoded constant and provide the convenient configuration option for an interval between the background shard deletion thread runs, denote relevant options with OPT_FLAG_RANGE flag and adjust option descriptions. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

push time in a day

push eventdmantipov/glusterfs

Dmitry Antipov

commit sha 280aef99e538dc451a0a535dc5d75f932845242f

shard: add option for the background deletion thread interval runs Avoid hardcoded constant and provide the convenient configuration option for an interval between the background shard deletion thread runs, denote relevant options with OPT_FLAG_RANGE flag and adjust option descriptions. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

push time in a day

PullRequestReviewEvent

Pull request review commentgluster/glusterfs

shard: add option for the background deletion thread interval runs

 shard_unlink_handler_spawn(xlator_t *this)         if (ti->running) {             pthread_cond_signal(&ti->cond);         } else {-            ret = gf_thread_create(&ti->thread, NULL, shard_unlink_handler, ti,-                                   "shard_unlink");+            ret = gf_thread_create(&ti->thread, NULL, shard_unlink_handler,+                                   priv, "shard_unlink");

OK

dmantipov

comment created time in a day

Pull request review commentgluster/glusterfs

shard: add option for the background deletion thread interval runs

 #define GF_SHARD_REMOVE_ME_DIR ".remove_me" #define SHARD_MIN_BLOCK_SIZE (4 * GF_UNIT_MB) #define SHARD_MAX_BLOCK_SIZE (4 * GF_UNIT_TB)+#define SHARD_MIN_DELETION_INTERVAL 10

Well, this may be useful for testing (as well as tiny, may be down to 4K, shards).

dmantipov

comment created time in a day

PullRequestReviewEvent

Pull request review commentgluster/glusterfs

dht: use qsort to sort layout entries

 typedef int (*dht_refresh_layout_unlock)(call_frame_t *frame, xlator_t *this,  typedef int (*dht_refresh_layout_done_handle)(call_frame_t *frame); +struct dht_layout_entry {+    int err; /* 0 = normal+                -1 = dir exists and no xattr+                >0 = dir lookup failed with errno+             */+    uint32_t start;+    uint32_t stop;+    uint32_t commit_hash;+    xlator_t *xlator;

err is 32-bit on both 32- and 64-bit ABIs. The whole thing is 5x32 bit on 32-bit and 4x32 + 1x64-bits on a 64-bit ABI.

dmantipov

comment created time in a day

PullRequestReviewEvent

PR opened gluster/glusterfs

shard: add option for the background deletion thread interval runs

Avoid hardcoded constant and provide the convenient configuration option for an interval between the background shard deletion thread runs, denote relevant options with OPT_FLAG_RANGE flag and adjust option descriptions.

Signed-off-by: Dmitry Antipov dantipov@cloudlinux.com Updates: #1000

+41 -13

0 comment

3 changed files

pr created time in a day

push eventdmantipov/glusterfs

Dmitry Antipov

commit sha 1176009b142eadaa804380d4daa44916e2e7b182

libglusterfs, xlators: periodically active thread API and use cases Replace different ad-hoc tricks used to create and control periodically active threads with simple generic interface consisting of the only 'gf_periodic_thread_t' data type and a few functions to control the thread action and lifetime: - 'gf_periodic_thread_create()' to create periodically active thread; - 'gf_periodic_thread_destroy()' to stop it and free all resources associated with it; - 'gf_periodic_thread_timeout()' to schedule inactivity timeout and check whether the main thread loop should quit; - 'gf_periodic_thread_wakeup()' to interrupt inactivity timeout and continue to execute the main thread loop; - 'gf_periodic_thread_alive()' to check whether the thread is running. Typical use cases are illustrated by the io-stats, posix, and shard xlator tweaks. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

push time in 2 days

PR opened gluster/glusterfs

cli: move RPC call timeouts to state data

Move default and special RPC call timeouts to struct cli_state, provide meaningful macros and adjust related bits here and there.

Signed-off-by: Dmitry Antipov dantipov@cloudlinux.com Updates: #1000

+28 -22

0 comment

4 changed files

pr created time in 2 days

create barnchdmantipov/glusterfs

branch : 1000-cli-move-rpc-call-timeouts-to-state

created branch time in 2 days

push eventdmantipov/glusterfs

Dmitry Antipov

commit sha b48e64cebcad958ac7ddf38ef4f20d011d1ed0e4

cli: drop global RPC client contexts (#2767) Embed glusterd and quotad RPC client context pointers into CLI state instead of using global variables, adjust related initialization functions and comments. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

push time in 2 days

Pull request review commentgluster/glusterfs

dht: use qsort to sort layout entries

 typedef int (*dht_refresh_layout_unlock)(call_frame_t *frame, xlator_t *this,  typedef int (*dht_refresh_layout_done_handle)(call_frame_t *frame); +struct dht_layout_entry {+    int err; /* 0 = normal+                -1 = dir exists and no xattr+                >0 = dir lookup failed with errno+             */+    uint32_t start;+    uint32_t stop;+    uint32_t commit_hash;+    xlator_t *xlator;

Hmm... what's the point on doing 8 bytes vars appear before 4 bytes? This structure should be packed/aligned/padded/whatever well enough on both 32- and 64-bit ABIs.

dmantipov

comment created time in 2 days

PullRequestReviewEvent

push eventdmantipov/glusterfs

Dmitry Antipov

commit sha 6a14d2b3e33aa59e9b14bdbb4395fb529c3c2616

afr: fix possible string buffer overflow and format truncation (#2786) Fix -Wstringop-overflow and -Wformat-truncation warnings reported as below, adjust related comments. In file included from afr.c:18: afr-common.c: In function ‘afr_serialize_xattrs_with_delimiter’: afr-common.c:7519:19: warning: ‘strncat’ specified bound depends on the length of the source argument [-Wstringop-overflow=] 7519 | buf = strncat(buf, xattr, str_len); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ afr-common.c:7518:23: note: length computed here 7518 | str_len = strlen(xattr); | ^~~~~~~~~~~~~ afr-common.c:7504:19: warning: ‘strncat’ specified bound depends on the length of the source argument [-Wstringop-overflow=] 7504 | buf = strncat(buf, default_str, str_len); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ afr-common.c:7503:23: note: length computed here 7503 | str_len = strlen(default_str); | ^~~~~~~~~~~~~~~~~~~ afr.c: In function ‘afr_handle_anon_inode_options’: afr.c:150:78: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=] 150 | snprintf(priv->anon_inode_name, sizeof(priv->anon_inode_name), "%s-%s", | ^ afr.c:150:9: note: ‘snprintf’ output between 28 and 257 bytes into a destination of size 256 150 | snprintf(priv->anon_inode_name, sizeof(priv->anon_inode_name), "%s-%s", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 151 | AFR_ANON_DIR_PREFIX, volfile_id_str); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

push time in 3 days

push eventdmantipov/glusterfs

Dmitry Antipov

commit sha d41a6c16f190608ded8bf21ce0acc03f9a491ff6

libglusterfs, xlators: periodically active thread API and use cases Replace different ad-hoc tricks used to create and control periodically active threads with simple generic interface consisting of the only 'gf_periodic_thread_t' data type and a few functions to control the thread action and lifetime: - 'gf_periodic_thread_create()' to create periodically active thread; - 'gf_periodic_thread_destroy()' to stop it and free all resources associated with it; - 'gf_periodic_thread_quit()' to schedule inactivity timeout and check whether the main thread loop should quit. - 'gf_periodic_thread_alive()' to check whether the thread is running. Typical use cases are illustrated by the io-stats and posix xlator tweaks. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

push time in 3 days

push eventdmantipov/glusterfs

Dmitry Antipov

commit sha 60f13396792cd60e65dfb6e28a42a351f5aee6e1

libglusterfs, xlators: periodically active thread API and use cases Replace different ad-hoc tricks used to create and control periodically active threads with simple generic interface consisting of the only 'gf_periodic_thread_t' data type and a few functions to control the thread action and lifetime: - 'gf_periodic_thread_create()' to create periodically active thread; - 'gf_periodic_thread_destroy()' to stop it and free all resources associated with it; - 'gf_periodic_thread_quit()' to schedule inactivity timeout and check whether the main thread loop should quit. - 'gf_periodic_thread_alive()' to check whether the thread is running. Typical use cases are illustrated by the io-stats and posix xlator tweaks. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Updates: #1000

view details

push time in 3 days

PR opened gluster/glusterfs

dht: use qsort to sort layout entries

Drop weird sorting quirks and use standard qsort() to sort DHT layout entries, simplify related code.

Signed-off-by: Dmitry Antipov dantipov@cloudlinux.com Updates: #1000

+37 -105

0 comment

4 changed files

pr created time in 3 days

create barnchdmantipov/glusterfs

branch : 1000-dht-use-qsort-to-sort-layout

created branch time in 3 days