<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/xlators/features, branch master</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>bitrot/stub: Fix memory leak gf_br_stub_mt_version_t</title>
<updated>2020-09-30T17:04:03+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='http://git.gluster.org/cgit/glusterfs.git/commit/?id=8489d42bde51455da0fedc531a5fe1df8a24a858'/>
<id>8489d42bde51455da0fedc531a5fe1df8a24a858</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-29T14:04:11+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='http://git.gluster.org/cgit/glusterfs.git/commit/?id=748d7fe9cb7d20192b4b7d826509127fa04f43fb'/>
<id>748d7fe9cb7d20192b4b7d826509127fa04f43fb</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-07T12:56:45+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='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c696144b3690f7ed8cf04a8b51ca601f45e427ad'/>
<id>c696144b3690f7ed8cf04a8b51ca601f45e427ad</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-04T07:23:09+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='http://git.gluster.org/cgit/glusterfs.git/commit/?id=c7154b84118b4b2ff25083d9be48aeee25a0294b'/>
<id>c7154b84118b4b2ff25083d9be48aeee25a0294b</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-24T09:49:13+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='http://git.gluster.org/cgit/glusterfs.git/commit/?id=8af9d83804b50a6b6b131dc62c16def7026ca8ed'/>
<id>8af9d83804b50a6b6b131dc62c16def7026ca8ed</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>
<entry>
<title>features/changelog: simplify and cleanup internal time management</title>
<updated>2020-08-22T03:48:19+00:00</updated>
<author>
<name>Dmitry Antipov</name>
<email>dmantipov@yandex.ru</email>
</author>
<published>2020-08-06T12:19:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=eb0943cef9cbc65d2e9f85ba7aca3dfeb86d3429'/>
<id>eb0943cef9cbc65d2e9f85ba7aca3dfeb86d3429</id>
<content type='text'>
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 &lt;dmantipov@yandex.ru&gt;
Updates: #1002
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;dmantipov@yandex.ru&gt;
Updates: #1002
</pre>
</div>
</content>
</entry>
<entry>
<title>metadisp: new translator for data and metadata separation</title>
<updated>2020-08-21T14:11:23+00:00</updated>
<author>
<name>Sheena Artrip</name>
<email>sheenobu@fb.com</email>
</author>
<published>2020-01-29T23:12:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=eddbf3a23392ca47a697779167c61b4ab790732b'/>
<id>eddbf3a23392ca47a697779167c61b4ab790732b</id>
<content type='text'>
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 &lt;sheenobu@fb.com&gt;
Tested-By: Amar Tumballi &lt;amar@kadalu.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;sheenobu@fb.com&gt;
Tested-By: Amar Tumballi &lt;amar@kadalu.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/locks: simplify and cleanup internal time management</title>
<updated>2020-08-21T14:06:09+00:00</updated>
<author>
<name>Dmitry Antipov</name>
<email>dmantipov@yandex.ru</email>
</author>
<published>2020-08-07T09:43:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=a2ffb748da24b2e9d6f5e98d21ef78d1a17d31cb'/>
<id>a2ffb748da24b2e9d6f5e98d21ef78d1a17d31cb</id>
<content type='text'>
Since this xlator measures time intervals in seconds,
gettimeofday() may be replaced with simpler gf_time().

Change-Id: Ib2c81376c093613124bdbed184516077cbe80dac
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().

Change-Id: Ib2c81376c093613124bdbed184516077cbe80dac
Signed-off-by: Dmitry Antipov &lt;dmantipov@yandex.ru&gt;
Updates: #1002
</pre>
</div>
</content>
</entry>
<entry>
<title>features/bit-rot: simplify and cleanup internal time management</title>
<updated>2020-08-21T14:05:13+00:00</updated>
<author>
<name>Dmitry Antipov</name>
<email>dmantipov@yandex.ru</email>
</author>
<published>2020-08-18T09:50:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=9bca9a0b42f888cb88cedc848d471dd32a6f62d0'/>
<id>9bca9a0b42f888cb88cedc848d471dd32a6f62d0</id>
<content type='text'>
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 &lt;dmantipov@yandex.ru&gt;
Change-Id: I2e5900ccb5da2478656d80e5f570487e3ba70966
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(). Adjust comments and style as well.

Signed-off-by: Dmitry Antipov &lt;dmantipov@yandex.ru&gt;
Change-Id: I2e5900ccb5da2478656d80e5f570487e3ba70966
Updates: #1002
</pre>
</div>
</content>
</entry>
<entry>
<title>features/shard: optimization over shard lookup in case of prealloc</title>
<updated>2020-08-20T06:02:19+00:00</updated>
<author>
<name>Vinayakswami Hariharmath</name>
<email>vharihar@redhat.com</email>
</author>
<published>2020-08-06T09:09:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2ede911d07c6dc07a0f729526ab590ace77341ae'/>
<id>2ede911d07c6dc07a0f729526ab590ace77341ae</id>
<content type='text'>
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 &lt;vharihar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;vharihar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
