<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/features, branch release-9</title>
<subtitle>GlusterFS is a distributed file-system capable of scaling to several petabytes. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/'/>
<entry>
<title>core: Avoid several dict OR key is NULL message in brick logs (#2344)</title>
<updated>2021-04-22T13:26:28+00:00</updated>
<author>
<name>mohit84</name>
<email>moagrawa@redhat.com</email>
</author>
<published>2021-04-22T13:26:28+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=5cbf5d94c719d1c7674a59c8009660197fc56af2'/>
<id>5cbf5d94c719d1c7674a59c8009660197fc56af2</id>
<content type='text'>
Problem: dict_get_with_ref throw a message "dict or key is NULL"
if dict or key is NULL.

Solution: Before access a key check if dictionary is valid.

&gt; Fixes: #1909
&gt; Change-Id: I50911679142b52f854baf20c187962a2a3698f2d
&gt; Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;
&gt; Cherry picked from commit de1b26d68e31b029a59e59a47b51a7e3e6fbfe22
&gt; Reviewed on upstream link https://github.com/gluster/glusterfs/pull/1910

Fixes: #1909
Change-Id: I50911679142b52f854baf20c187962a2a3698f2d
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: dict_get_with_ref throw a message "dict or key is NULL"
if dict or key is NULL.

Solution: Before access a key check if dictionary is valid.

&gt; Fixes: #1909
&gt; Change-Id: I50911679142b52f854baf20c187962a2a3698f2d
&gt; Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;
&gt; Cherry picked from commit de1b26d68e31b029a59e59a47b51a7e3e6fbfe22
&gt; Reviewed on upstream link https://github.com/gluster/glusterfs/pull/1910

Fixes: #1909
Change-Id: I50911679142b52f854baf20c187962a2a3698f2d
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>afr: make fsync post-op aware of inodelk count (#2273) (#2297)</title>
<updated>2021-03-29T05:35:13+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2021-03-29T05:35:13+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=b313a20f342b74809972ed308c1415769a881fc5'/>
<id>b313a20f342b74809972ed308c1415769a881fc5</id>
<content type='text'>
Problem:
Since commit bd540db1e, eager-locking was enabled for fsync. But on
certain VM workloads wit sharding enabled, shard xlator keeps sending
fsync on the base shard. This can cause blocked inodelks from other
clients (including shd) to time out due to call bail.

Fix:
Make afr fsync aware of inodelk count and not delay post-op + unlock
when inodelk count &gt; 1, just like writev.

Code is restructured so that any fd based AFR_DATA_TRANSACTION can be made
aware by setting GLUSTERFS_INODELK_DOM_COUNT in xdata request.

Note: We do not know yet why VMs go in to paused state because of the
blocked inodelks but this patch should be a first step in reducing the
occurence.

Updates: #2198
Change-Id: Ib91ebdd3101d590c326e69c829cf9335003e260b
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Since commit bd540db1e, eager-locking was enabled for fsync. But on
certain VM workloads wit sharding enabled, shard xlator keeps sending
fsync on the base shard. This can cause blocked inodelks from other
clients (including shd) to time out due to call bail.

Fix:
Make afr fsync aware of inodelk count and not delay post-op + unlock
when inodelk count &gt; 1, just like writev.

Code is restructured so that any fd based AFR_DATA_TRANSACTION can be made
aware by setting GLUSTERFS_INODELK_DOM_COUNT in xdata request.

Note: We do not know yet why VMs go in to paused state because of the
blocked inodelks but this patch should be a first step in reducing the
occurence.

Updates: #2198
Change-Id: Ib91ebdd3101d590c326e69c829cf9335003e260b
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>xlators: misc conscious language changes (#1715)</title>
<updated>2020-11-02T12:33:01+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2020-11-02T12:33:01+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=e4c9a14429c51d8d059287c2a2c7a76a5116a362'/>
<id>e4c9a14429c51d8d059287c2a2c7a76a5116a362</id>
<content type='text'>
core:change xlator_t-&gt;ctx-&gt;master to xlator_t-&gt;ctx-&gt;primary
afr: just changed comments.
meta: change .meta/master to .meta/primary. Might break scripts.
changelog: variable/function name changes only.

These are unrelated to geo-rep.
Fixes: #1713

Change-Id: I58eb5fcd75d65fc8269633acc41313503dccf5ff
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
core:change xlator_t-&gt;ctx-&gt;master to xlator_t-&gt;ctx-&gt;primary
afr: just changed comments.
meta: change .meta/master to .meta/primary. Might break scripts.
changelog: variable/function name changes only.

These are unrelated to geo-rep.
Fixes: #1713

Change-Id: I58eb5fcd75d65fc8269633acc41313503dccf5ff
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>trash: Create inode_table only while feature is enabled (#1626)</title>
<updated>2020-10-22T07:35:40+00:00</updated>
<author>
<name>mohit84</name>
<email>moagrawa@redhat.com</email>
</author>
<published>2020-10-22T07:35:40+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=e85e7bc3ac888339f96a57b8290a69f349164c23'/>
<id>e85e7bc3ac888339f96a57b8290a69f349164c23</id>
<content type='text'>
Currently trash xlator create a inode table(1M) even if
feature is not enabled.In brick_mux environment while 250
bricks are attached with a single brick process and feature
is not enable brick process increase RSS size unnecessarily.

Solution: Create inode_table only while a feature is enabled.
The patch reduces 250M RSS size per brick process
if trash feature is not enabled.

Change-Id: I11a6fd2b8419fe2988f398be6ec30fb4f3b99a5d
Fixes: #1543
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently trash xlator create a inode table(1M) even if
feature is not enabled.In brick_mux environment while 250
bricks are attached with a single brick process and feature
is not enable brick process increase RSS size unnecessarily.

Solution: Create inode_table only while a feature is enabled.
The patch reduces 250M RSS size per brick process
if trash feature is not enabled.

Change-Id: I11a6fd2b8419fe2988f398be6ec30fb4f3b99a5d
Fixes: #1543
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>core: configure optimum inode table hash_size for shd (#1576)</title>
<updated>2020-10-11T05:26:57+00:00</updated>
<author>
<name>mohit84</name>
<email>moagrawa@redhat.com</email>
</author>
<published>2020-10-11T05:26:57+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=ecdc77ceb9a5864be1fd0b3d7f919fa9ce60132e'/>
<id>ecdc77ceb9a5864be1fd0b3d7f919fa9ce60132e</id>
<content type='text'>
In brick_mux environment a shd process consume high memory.
After print the statedump i have found it allocates 1M per afr xlator
for all bricks.In case of configure 4k volumes it consumes almost total
6G RSS size in which 4G consumes by inode_tables

[cluster/replicate.test1-replicate-0 - usage-type gf_common_mt_list_head memusage]
size=1273488
num_allocs=2
max_size=1273488
max_num_allocs=2
total_allocs=2

inode_new_table function allocates memory(1M) for a list of inode and dentry hash.
For shd lru_limit size is 1 so we don't need to create a big hash table so to reduce
RSS size for shd process pass optimum bucket count at the time of creating inode_table.

Change-Id: I039716d42321a232fdee1ee8fd50295e638715bb
Fixes: #1538
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In brick_mux environment a shd process consume high memory.
After print the statedump i have found it allocates 1M per afr xlator
for all bricks.In case of configure 4k volumes it consumes almost total
6G RSS size in which 4G consumes by inode_tables

[cluster/replicate.test1-replicate-0 - usage-type gf_common_mt_list_head memusage]
size=1273488
num_allocs=2
max_size=1273488
max_num_allocs=2
total_allocs=2

inode_new_table function allocates memory(1M) for a list of inode and dentry hash.
For shd lru_limit size is 1 so we don't need to create a big hash table so to reduce
RSS size for shd process pass optimum bucket count at the time of creating inode_table.

Change-Id: I039716d42321a232fdee1ee8fd50295e638715bb
Fixes: #1538
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bitrot/stub: Fix memory leak gf_br_stub_mt_version_t</title>
<updated>2020-08-31T19:19:26+00:00</updated>
<author>
<name>Mohammed Rafi KC</name>
<email>rafi.kavungal@iternity.com</email>
</author>
<published>2020-08-31T19:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=55dd209ea24276e16d61cd81cc2fd483b5423537'/>
<id>55dd209ea24276e16d61cd81cc2fd483b5423537</id>
<content type='text'>
The data type gf_br_stub_mt_version_t is leaking because the
data type has been added to the dict as static type and the memory
is not free'd from anywhere else

Change-Id: Ib10134f41f45a39be849af1708b1960c77fb62fd
Fixes: #1427
Signed-off-by: Mohammed Rafi KC &lt;rafi.kavungal@iternity.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The data type gf_br_stub_mt_version_t is leaking because the
data type has been added to the dict as static type and the memory
is not free'd from anywhere else

Change-Id: Ib10134f41f45a39be849af1708b1960c77fb62fd
Fixes: #1427
Signed-off-by: Mohammed Rafi KC &lt;rafi.kavungal@iternity.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>locks: null dereference</title>
<updated>2020-09-25T12:49:39+00:00</updated>
<author>
<name>nik-redhat</name>
<email>nladha@redhat.com</email>
</author>
<published>2020-09-25T12:49:39+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=c83ab52bee7cbd45a74643189c798f7d527295ac'/>
<id>c83ab52bee7cbd45a74643189c798f7d527295ac</id>
<content type='text'>
Added a null check before executing the strtok_r()
to avoid null dereference in case of strdup() failure.

CID: 1407938
Updates: #1060

Change-Id: Iec6e72ae8cb54f6d0a287615c43756325b2026ec
Signed-off-by: nik-redhat &lt;nladha@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added a null check before executing the strtok_r()
to avoid null dereference in case of strdup() failure.

CID: 1407938
Updates: #1060

Change-Id: Iec6e72ae8cb54f6d0a287615c43756325b2026ec
Signed-off-by: nik-redhat &lt;nladha@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xlators: prefer libglusterfs time API</title>
<updated>2020-09-03T08:17:07+00:00</updated>
<author>
<name>Dmitry Antipov</name>
<email>dmantipov@yandex.ru</email>
</author>
<published>2020-09-03T08:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=2c349f933df091bd2b346c6fa33473663a41ba8f'/>
<id>2c349f933df091bd2b346c6fa33473663a41ba8f</id>
<content type='text'>
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 &lt;dmantipov@yandex.ru&gt;
Updates: #1002
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;dmantipov@yandex.ru&gt;
Updates: #1002
</pre>
</div>
</content>
</entry>
<entry>
<title>core: Avoid dict OR key is NULL message in brick logs</title>
<updated>2020-09-03T13:51:16+00:00</updated>
<author>
<name>Mohit Agrawal</name>
<email>moagrawa@redhat.com</email>
</author>
<published>2020-09-03T13:51:16+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=4f3fe254022c472927fcad0753e9549e0a50328b'/>
<id>4f3fe254022c472927fcad0753e9549e0a50328b</id>
<content type='text'>
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 &lt;moagrawa@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;moagrawa@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/quota: simplify and cleanup internal time management</title>
<updated>2020-08-07T12:18:21+00:00</updated>
<author>
<name>Dmitry Antipov</name>
<email>dmantipov@yandex.ru</email>
</author>
<published>2020-08-07T12:18:21+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=edd174f44d827332a77738e49d55c17e1aea4e42'/>
<id>edd174f44d827332a77738e49d55c17e1aea4e42</id>
<content type='text'>
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 &lt;dmantipov@yandex.ru&gt;
Updates: #1002
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;dmantipov@yandex.ru&gt;
Updates: #1002
</pre>
</div>
</content>
</entry>
</feed>
