<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git, branch v3.10.7</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>doc: Added release notes for 3.10.7 release</title>
<updated>2017-10-30T16:53:52+00:00</updated>
<author>
<name>ShyamsundarR</name>
<email>srangana@redhat.com</email>
</author>
<published>2017-10-30T16:53:33+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=8cc68838b06269b5e429dab4e570fd020df754f9'/>
<id>8cc68838b06269b5e429dab4e570fd020df754f9</id>
<content type='text'>
Change-Id: I35669309585f9618a4aee332411e679eff8a33b1
BUG: 1499294
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I35669309585f9618a4aee332411e679eff8a33b1
BUG: 1499294
Signed-off-by: ShyamsundarR &lt;srangana@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>md-cache: Use correct xattr keynames for virtual glusterfs ACLs.</title>
<updated>2017-10-25T14:05:54+00:00</updated>
<author>
<name>Günther Deschner</name>
<email>gd@samba.org</email>
</author>
<published>2017-10-09T15:56:27+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=4a26ff89564a90ad10020ab64d92f1ace886caff'/>
<id>4a26ff89564a90ad10020ab64d92f1ace886caff</id>
<content type='text'>
The "glusterfs.posix_acl." prefix does not catch the glusterfs posix acl
xattr keynames which are

	* "glusterfs.posix.acl" and
	* "glusterfs.posix.default_acl"

Using the GF_POSIX_ACL_ACCESS and GF_POSIX_ACL_DEFAULT defines directly
is the savest option.

Guenther

&gt; Change-Id: I5aba64b26b6cbec850ea02316dd9f069400e857f
&gt; BUG: 1476295
&gt; Signed-off-by: Guenther Deschner &lt;gd@samba.org&gt;
&gt; Reviewed-on: https://review.gluster.org/17909
&gt; Reviewed-by: Michael Adam &lt;obnox@samba.org&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Tested-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; (cherry picked from commit 5fe8555800cbc9818e7c976f63499795a378cd8d)
&gt; Signed-off-by: Günther Deschner &lt;gd@samba.org&gt;

Change-Id: I5aba64b26b6cbec850ea02316dd9f069400e857f
BUG: 1499890
Signed-off-by: Günther Deschner &lt;gd@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "glusterfs.posix_acl." prefix does not catch the glusterfs posix acl
xattr keynames which are

	* "glusterfs.posix.acl" and
	* "glusterfs.posix.default_acl"

Using the GF_POSIX_ACL_ACCESS and GF_POSIX_ACL_DEFAULT defines directly
is the savest option.

Guenther

&gt; Change-Id: I5aba64b26b6cbec850ea02316dd9f069400e857f
&gt; BUG: 1476295
&gt; Signed-off-by: Guenther Deschner &lt;gd@samba.org&gt;
&gt; Reviewed-on: https://review.gluster.org/17909
&gt; Reviewed-by: Michael Adam &lt;obnox@samba.org&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Tested-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; (cherry picked from commit 5fe8555800cbc9818e7c976f63499795a378cd8d)
&gt; Signed-off-by: Günther Deschner &lt;gd@samba.org&gt;

Change-Id: I5aba64b26b6cbec850ea02316dd9f069400e857f
BUG: 1499890
Signed-off-by: Günther Deschner &lt;gd@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libgfchangelog: Fix possible null pointer dereference</title>
<updated>2017-10-25T14:04:58+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-10-23T10:46:49+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=115bf4332307fa0f95688dcab73341adfa7071ed'/>
<id>115bf4332307fa0f95688dcab73341adfa7071ed</id>
<content type='text'>
If pthread_attr_init fails, gf_msg uses this-&gt;name
where 'this' is not initialized yet. This patch fixes
the same.

&gt; Change-Id: Ie004cbe1015a0d62fc3b5512e8954c5606eeeb5f
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
&gt; BUG: 1505325
(cherry picked from commit 738c38f0efa7b4d4dab0cf23d00589d68e4eb88d)

Change-Id: Ie004cbe1015a0d62fc3b5512e8954c5606eeeb5f
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
BUG: 1503405
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If pthread_attr_init fails, gf_msg uses this-&gt;name
where 'this' is not initialized yet. This patch fixes
the same.

&gt; Change-Id: Ie004cbe1015a0d62fc3b5512e8954c5606eeeb5f
&gt; Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
&gt; BUG: 1505325
(cherry picked from commit 738c38f0efa7b4d4dab0cf23d00589d68e4eb88d)

Change-Id: Ie004cbe1015a0d62fc3b5512e8954c5606eeeb5f
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
BUG: 1503405
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterd: Gluster should keep PID file in correct location</title>
<updated>2017-10-25T14:03:54+00:00</updated>
<author>
<name>Gaurav Kumar Garg</name>
<email>garg.gaurav52@gmail.com</email>
</author>
<published>2016-03-02T12:12:07+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=411a401f7e4f81f6a77eea1438a3a43c73e06104'/>
<id>411a401f7e4f81f6a77eea1438a3a43c73e06104</id>
<content type='text'>
Currently Gluster keeps process pid information of all the daemons
and brick processes in Gluster configuration file directory
(ie., /var/lib/glusterd/*).

These pid files should be seperate from configuration files.
Deletion of the configuration file directory might result into serious problems.
Also, /var/run/gluster is the default placeholder directory for pid files.

So, with this fix Gluster will keep all process pid information of all
processes in /var/run/gluster/* directory.

&gt; Change-Id: Idb09e3fccb6a7355fbac1df31082637c8d7ab5b4
&gt; BUG: 1258561
&gt; Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
&gt; Signed-off-by: Saravanakumar Arumugam &lt;sarumuga@redhat.com&gt;
&gt; Reviewed-on: https://review.gluster.org/13580
&gt; Tested-by: MOHIT AGRAWAL &lt;moagrawa@redhat.com&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
&gt; (Cherry pick from commit 220d406ad13d840e950eef001a2b36f87570058d)

BUG: 1491059
Change-Id: Idb09e3fccb6a7355fbac1df31082637c8d7ab5b4
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently Gluster keeps process pid information of all the daemons
and brick processes in Gluster configuration file directory
(ie., /var/lib/glusterd/*).

These pid files should be seperate from configuration files.
Deletion of the configuration file directory might result into serious problems.
Also, /var/run/gluster is the default placeholder directory for pid files.

So, with this fix Gluster will keep all process pid information of all
processes in /var/run/gluster/* directory.

&gt; Change-Id: Idb09e3fccb6a7355fbac1df31082637c8d7ab5b4
&gt; BUG: 1258561
&gt; Signed-off-by: Gaurav Kumar Garg &lt;ggarg@redhat.com&gt;
&gt; Signed-off-by: Saravanakumar Arumugam &lt;sarumuga@redhat.com&gt;
&gt; Reviewed-on: https://review.gluster.org/13580
&gt; Tested-by: MOHIT AGRAWAL &lt;moagrawa@redhat.com&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Atin Mukherjee &lt;amukherj@redhat.com&gt;
&gt; (Cherry pick from commit 220d406ad13d840e950eef001a2b36f87570058d)

BUG: 1491059
Change-Id: Idb09e3fccb6a7355fbac1df31082637c8d7ab5b4
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>features/worm: Adding check to newloc when doing rename</title>
<updated>2017-10-25T14:03:28+00:00</updated>
<author>
<name>luneo7</name>
<email>luneo7@gmail.com</email>
</author>
<published>2017-10-10T20:17:35+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=be662aa3007898c22ad2e9d23db63f2e88a6d434'/>
<id>be662aa3007898c22ad2e9d23db63f2e88a6d434</id>
<content type='text'>
Problem: Since rename didn't check if newloc exists and it's
retention state it was possible to rename a new file that wasn't
in retention over a existing file that was in read-only state.

Cherry picked from commit 00a4dc0:
&gt; Change-Id: I63c6bbabb7bb456ebedf201cc77b878ffda62229
&gt; BUG: 1484490
&gt; Signed-off-by: luneo7 &lt;luneo7@gmail.com&gt;
&gt; Reviewed-on: https://review.gluster.org/18104
&gt; Tested-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Tested-by: Prashanth Pai &lt;ppai@redhat.com&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Prashanth Pai &lt;ppai@redhat.com&gt;
&gt; Reviewed-by: Karthik U S &lt;ksubrahm@redhat.com&gt;
&gt; Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;

Change-Id: I63c6bbabb7bb456ebedf201cc77b878ffda62229
BUG: 1480788
Signed-off-by: luneo7 &lt;luneo7@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Since rename didn't check if newloc exists and it's
retention state it was possible to rename a new file that wasn't
in retention over a existing file that was in read-only state.

Cherry picked from commit 00a4dc0:
&gt; Change-Id: I63c6bbabb7bb456ebedf201cc77b878ffda62229
&gt; BUG: 1484490
&gt; Signed-off-by: luneo7 &lt;luneo7@gmail.com&gt;
&gt; Reviewed-on: https://review.gluster.org/18104
&gt; Tested-by: jiffin tony Thottan &lt;jthottan@redhat.com&gt;
&gt; Tested-by: Prashanth Pai &lt;ppai@redhat.com&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Prashanth Pai &lt;ppai@redhat.com&gt;
&gt; Reviewed-by: Karthik U S &lt;ksubrahm@redhat.com&gt;
&gt; Reviewed-by: Amar Tumballi &lt;amarts@redhat.com&gt;

Change-Id: I63c6bbabb7bb456ebedf201cc77b878ffda62229
BUG: 1480788
Signed-off-by: luneo7 &lt;luneo7@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>packaging: manual systemctl daemon reload required after install</title>
<updated>2017-10-25T14:00:42+00:00</updated>
<author>
<name>Kaleb S. KEITHLEY</name>
<email>kkeithle@redhat.com</email>
</author>
<published>2017-10-02T14:44:59+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=12404624ac94e0561170991f39bb3e8444022a97'/>
<id>12404624ac94e0561170991f39bb3e8444022a97</id>
<content type='text'>
Use the %systemd_{post,preun,postun_with_restart} macros provided

I tried both install and update from 3.10.x and did not receive
any warnings about needing daemon reload

Reported-by: Sam McLeod &lt;rhbugs@auto.smcleod.net&gt;

master https://review.gluster.org/18418
release-3.12 https://review.gluster.org/18422

Change-Id: Ibb33a748fc4226864019765b59d1a154b7297bae
BUG: 1497990
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the %systemd_{post,preun,postun_with_restart} macros provided

I tried both install and update from 3.10.x and did not receive
any warnings about needing daemon reload

Reported-by: Sam McLeod &lt;rhbugs@auto.smcleod.net&gt;

master https://review.gluster.org/18418
release-3.12 https://review.gluster.org/18422

Change-Id: Ibb33a748fc4226864019765b59d1a154b7297bae
BUG: 1497990
Signed-off-by: Kaleb S. KEITHLEY &lt;kkeithle@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>glusterfsd: Dereferencing the null pointer</title>
<updated>2017-10-25T14:00:31+00:00</updated>
<author>
<name>Sanju Rakonde</name>
<email>srakonde@redhat.com</email>
</author>
<published>2017-10-18T02:36:24+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=e45b2a08222bd432e06c3b907bbeee4463e3d2a2'/>
<id>e45b2a08222bd432e06c3b907bbeee4463e3d2a2</id>
<content type='text'>
Problem: When control reaches to out, one of (iobref, iobuf, frame) can
be null.for iobref, iobuf iobref_unref() and iobuf_unref() functions
are called respectively, which are using GF_VALIDATE_OR_GOTO(), so
there won't be null pointer dereference. But for frame without null
checking STACK_DESTROY(frame-&gt;root) is called causing null pointer
dereference.

Fix: adding a line for null checking, the function
STACK_DESTROY(frame-&gt;root) is called only when frame is not null.

Change-Id: I3a6684c11fb7b694b81d6ad4fec3bced5562ad88
BUG: 1502928
Signed-off-by: Sanju Rakonde &lt;srakonde@redhat.com&gt;
(cherry picked from commit 87bd25b64ae34cce95e87e724acfeab4c13d60a4)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: When control reaches to out, one of (iobref, iobuf, frame) can
be null.for iobref, iobuf iobref_unref() and iobuf_unref() functions
are called respectively, which are using GF_VALIDATE_OR_GOTO(), so
there won't be null pointer dereference. But for frame without null
checking STACK_DESTROY(frame-&gt;root) is called causing null pointer
dereference.

Fix: adding a line for null checking, the function
STACK_DESTROY(frame-&gt;root) is called only when frame is not null.

Change-Id: I3a6684c11fb7b694b81d6ad4fec3bced5562ad88
BUG: 1502928
Signed-off-by: Sanju Rakonde &lt;srakonde@redhat.com&gt;
(cherry picked from commit 87bd25b64ae34cce95e87e724acfeab4c13d60a4)
</pre>
</div>
</content>
</entry>
<entry>
<title>md-cache: avoid checking the xattr value buffer with string functions.</title>
<updated>2017-10-25T14:00:03+00:00</updated>
<author>
<name>Günther Deschner</name>
<email>gd@samba.org</email>
</author>
<published>2017-10-09T16:05:03+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=83615a663c1ac17812c8417dc56b85be600d17e3'/>
<id>83615a663c1ac17812c8417dc56b85be600d17e3</id>
<content type='text'>
xattrs may very well contain binary, non-text data with leading 0
values. Using strcmp for checking empty values is not the appropriate
thing to do: In the best case, it might treat a binary xattr value
starting with 0 from being cached (and hence also from being reported
back with xattr). In the worst case, we might read beyond the end
of a data blob that does contain any zero byte.

We fix this by checking the length of the data blob and checking
the first byte against 0 if the length is one.

&gt; Signed-off-by: Guenther Deschner &lt;gd@samba.org&gt;
&gt; Pair-Programmed-With: Michael Adam &lt;obnox@samba.org&gt;
&gt; Change-Id: If723c465a630b8a37b6be58782a2724df7ac6b11
&gt; BUG: 1476324
&gt; Reviewed-on: https://review.gluster.org/17910
&gt; Reviewed-by: Michael Adam &lt;obnox@samba.org&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Poornima G &lt;pgurusid@redhat.com&gt;
&gt; Tested-by: Poornima G &lt;pgurusid@redhat.com&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; (cherry picked from commit ab4ffdac9dec1867f2d9b33242179cf2b347319d)

Change-Id: If723c465a630b8a37b6be58782a2724df7ac6b11
BUG: 1499893
Signed-off-by: Günther Deschner &lt;gd@samba.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
xattrs may very well contain binary, non-text data with leading 0
values. Using strcmp for checking empty values is not the appropriate
thing to do: In the best case, it might treat a binary xattr value
starting with 0 from being cached (and hence also from being reported
back with xattr). In the worst case, we might read beyond the end
of a data blob that does contain any zero byte.

We fix this by checking the length of the data blob and checking
the first byte against 0 if the length is one.

&gt; Signed-off-by: Guenther Deschner &lt;gd@samba.org&gt;
&gt; Pair-Programmed-With: Michael Adam &lt;obnox@samba.org&gt;
&gt; Change-Id: If723c465a630b8a37b6be58782a2724df7ac6b11
&gt; BUG: 1476324
&gt; Reviewed-on: https://review.gluster.org/17910
&gt; Reviewed-by: Michael Adam &lt;obnox@samba.org&gt;
&gt; Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; Reviewed-by: Poornima G &lt;pgurusid@redhat.com&gt;
&gt; Tested-by: Poornima G &lt;pgurusid@redhat.com&gt;
&gt; CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
&gt; (cherry picked from commit ab4ffdac9dec1867f2d9b33242179cf2b347319d)

Change-Id: If723c465a630b8a37b6be58782a2724df7ac6b11
BUG: 1499893
Signed-off-by: Günther Deschner &lt;gd@samba.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gfapi: set lkowner in glfd</title>
<updated>2017-10-17T10:50:19+00:00</updated>
<author>
<name>Soumya Koduri</name>
<email>skoduri@redhat.com</email>
</author>
<published>2017-10-17T10:42:06+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=fea9e398da9865ce193d347d14fe2d56fe9946a2'/>
<id>fea9e398da9865ce193d347d14fe2d56fe9946a2</id>
<content type='text'>
We need a provision to be able to set lkowner (which is
used to distinguish locks maintained by server) in gfapi.
Since the same lk_owner need to be used to be able to
flush the lock while closing the fd, store the lkowner
in the glfd structure itself.

A new API has been added to be able to set lkowner in glfd.

This is backport of below mainline fix -
 https://review.gluster.org/#/c/18429
 https://review.gluster.org/#/c/18522/

Change-Id: I67591d6b9a89c20b9617d52616513ff9e6c06b47
BUG: 1501955
Signed-off-by: Soumya Koduri &lt;skoduri@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need a provision to be able to set lkowner (which is
used to distinguish locks maintained by server) in gfapi.
Since the same lk_owner need to be used to be able to
flush the lock while closing the fd, store the lkowner
in the glfd structure itself.

A new API has been added to be able to set lkowner in glfd.

This is backport of below mainline fix -
 https://review.gluster.org/#/c/18429
 https://review.gluster.org/#/c/18522/

Change-Id: I67591d6b9a89c20b9617d52616513ff9e6c06b47
BUG: 1501955
Signed-off-by: Soumya Koduri &lt;skoduri@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>afr: don't check for file size in afr_mark_source_sinks_if_file_empty</title>
<updated>2017-10-05T10:30:22+00:00</updated>
<author>
<name>Ravishankar N</name>
<email>ravishankar@redhat.com</email>
</author>
<published>2017-09-26T08:33:52+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=ccec52220f4d2fb148c1bb1573a11b1727af7a0c'/>
<id>ccec52220f4d2fb148c1bb1573a11b1727af7a0c</id>
<content type='text'>
... for AFR_METADATA_TRANSACTION and just mark source and sinks if
metadata is the same.

(cherry picked from commit 24637d54dcbc06de8a7de17c75b9291fcfcfbc84)
Change-Id: I69e55d3c842c7636e3538d1b57bc4deca67bed05
BUG: 1496321
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... for AFR_METADATA_TRANSACTION and just mark source and sinks if
metadata is the same.

(cherry picked from commit 24637d54dcbc06de8a7de17c75b9291fcfcfbc84)
Change-Id: I69e55d3c842c7636e3538d1b57bc4deca67bed05
BUG: 1496321
Signed-off-by: Ravishankar N &lt;ravishankar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
