<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/libglusterfs/src/logging.c, branch v3.5.6</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>logging: use duplicate stderr, instead of re-opening</title>
<updated>2014-06-08T07:28:29+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2014-04-29T20:54:53+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=47732e9742ae1f898f161b4244e7faed74c98756'/>
<id>47732e9742ae1f898f161b4244e7faed74c98756</id>
<content type='text'>
The special filename "-" is supposed to log to stderr. Instead of
trying to explictly open "/dev/stderr" again (which may not be possible
as permissions might have changed by then), dup the stderr and use
the copy.

It is not a good idea to use @stderr global variable directly, as
ctx-&gt;log.logfile is fclose()d in glfs_fini() (was fixed in
http://review.gluster.org/6452)

Cherry picked from commit 15ea78fffd63756fecf2f15887d3cad6a13d2a34:
&gt; BUG: 1088589
&gt; Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/7607
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;

Change-Id: Ia6c538fe363905588dcf4fc4783804073956a586
BUG: 1103413
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/7938
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The special filename "-" is supposed to log to stderr. Instead of
trying to explictly open "/dev/stderr" again (which may not be possible
as permissions might have changed by then), dup the stderr and use
the copy.

It is not a good idea to use @stderr global variable directly, as
ctx-&gt;log.logfile is fclose()d in glfs_fini() (was fixed in
http://review.gluster.org/6452)

Cherry picked from commit 15ea78fffd63756fecf2f15887d3cad6a13d2a34:
&gt; BUG: 1088589
&gt; Signed-off-by: Anand Avati &lt;avati@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/7607
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;

Change-Id: Ia6c538fe363905588dcf4fc4783804073956a586
BUG: 1103413
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/7938
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Harshavardhana &lt;harsha@harshavardhana.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>logging: remove unused message-id scripts</title>
<updated>2014-05-24T15:26:08+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2014-05-22T14:35:48+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=d74024b470fdd0e1d0b14aeb7e914d4d64aa2a24'/>
<id>d74024b470fdd0e1d0b14aeb7e914d4d64aa2a24</id>
<content type='text'>
The current unused implementation for message-ids in the logs depends on
automatically generated files. The generated files are not included in
the distributed tarball. This causes issues when distributions build
packages, they need to re-run ./autogen.sh to create the needed files.

I thought of including the generated files in the distribution tarball.
However, the contents of these files are not actively used, so it seems
to make more sense to drop it all together. These functions were the
only users of libintl and gettext too, so dropped the requirement
checking from configure.ac.

A replacement for the message-id logging framework is in progress. Any
changes that this patch makes, can be reverted in the submission of
patches for the new framework.

Cherry picked from commit cec37c9b66b8711b213f114875d215f56b8120aa:
&gt; Reference: http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6212
&gt; Change-Id: Iea82dd3910944a5c6be3ee393806eccabd575e11
&gt; BUG: 1038391
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/7714
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;

Change-Id: Iea82dd3910944a5c6be3ee393806eccabd575e11
BUG: 1089054
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/7851
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current unused implementation for message-ids in the logs depends on
automatically generated files. The generated files are not included in
the distributed tarball. This causes issues when distributions build
packages, they need to re-run ./autogen.sh to create the needed files.

I thought of including the generated files in the distribution tarball.
However, the contents of these files are not actively used, so it seems
to make more sense to drop it all together. These functions were the
only users of libintl and gettext too, so dropped the requirement
checking from configure.ac.

A replacement for the message-id logging framework is in progress. Any
changes that this patch makes, can be reverted in the submission of
patches for the new framework.

Cherry picked from commit cec37c9b66b8711b213f114875d215f56b8120aa:
&gt; Reference: http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6212
&gt; Change-Id: Iea82dd3910944a5c6be3ee393806eccabd575e11
&gt; BUG: 1038391
&gt; Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
&gt; Reviewed-on: http://review.gluster.org/7714
&gt; Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
&gt; Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;

Change-Id: Iea82dd3910944a5c6be3ee393806eccabd575e11
BUG: 1089054
Signed-off-by: Niels de Vos &lt;ndevos@redhat.com&gt;
Reviewed-on: http://review.gluster.org/7851
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gfapi: Closed the logfile fd and initialize to NULL in glfs_fini</title>
<updated>2014-01-21T04:22:47+00:00</updated>
<author>
<name>Poornima G</name>
<email>pgurusid@redhat.com</email>
</author>
<published>2013-12-23T05:11:15+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=ca7586841e507305ebb951d604c077cf8de84920'/>
<id>ca7586841e507305ebb951d604c077cf8de84920</id>
<content type='text'>
Backport of http://review.gluster.org/6552

Currently if logfile is closed and other threads call gf_log
after glfs_fini() is executed, it may lead to memory corruption.
Adding gf_log_fini() which closes the logfile and initializes
the logfile to NULL, thus any further logging happens to stderr.
Also added gf_log_globals_fini() which should be filled in the
future to release all the logging resources.

BUG: 1030228
Change-Id: I90f7fb744b05bc6bd14c61fe143c0814896991e2
Signed-off-by: Poornima G &lt;pgurusid@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6552
Reviewed-on: http://review.gluster.org/6731
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport of http://review.gluster.org/6552

Currently if logfile is closed and other threads call gf_log
after glfs_fini() is executed, it may lead to memory corruption.
Adding gf_log_fini() which closes the logfile and initializes
the logfile to NULL, thus any further logging happens to stderr.
Also added gf_log_globals_fini() which should be filled in the
future to release all the logging resources.

BUG: 1030228
Change-Id: I90f7fb744b05bc6bd14c61fe143c0814896991e2
Signed-off-by: Poornima G &lt;pgurusid@redhat.com&gt;
Reviewed-on: http://review.gluster.org/6552
Reviewed-on: http://review.gluster.org/6731
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: Explicitly open /dev/stderr logfile</title>
<updated>2013-12-11T08:41:57+00:00</updated>
<author>
<name>Bharata B Rao</name>
<email>bharata@linux.vnet.ibm.com</email>
</author>
<published>2013-12-11T06:33:59+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=e29080425a762232a90229c380c1ac52593dd0cc'/>
<id>e29080425a762232a90229c380c1ac52593dd0cc</id>
<content type='text'>
From: Bharata B Rao &lt;bharata@linux.vnet.ibm.com&gt;

Currently if stderr is specified as logfile, /dev/stderr isn't opened but
stderr is directly used. However libgfapi closes the logfile (and hence
stderr) from glfs_fini() which results in stderr becoming unavailable for
the application that links to libgfapi. Prevent this unexpected behaviour
for the application by explicitly opening /dev/stderr like it is done for
any other logfile.

Change-Id: I76b754598a2acf40b91ff0461726c5918e278c84
BUG: 1038924
Signed-off-by: Bharata B Rao &lt;bharata@linux.vnet.ibm.com&gt;
Reviewed-on: http://review.gluster.org/6477
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From: Bharata B Rao &lt;bharata@linux.vnet.ibm.com&gt;

Currently if stderr is specified as logfile, /dev/stderr isn't opened but
stderr is directly used. However libgfapi closes the logfile (and hence
stderr) from glfs_fini() which results in stderr becoming unavailable for
the application that links to libgfapi. Prevent this unexpected behaviour
for the application by explicitly opening /dev/stderr like it is done for
any other logfile.

Change-Id: I76b754598a2acf40b91ff0461726c5918e278c84
BUG: 1038924
Signed-off-by: Bharata B Rao &lt;bharata@linux.vnet.ibm.com&gt;
Reviewed-on: http://review.gluster.org/6477
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>log: Fix logging to stderr</title>
<updated>2013-08-19T19:43:51+00:00</updated>
<author>
<name>Bharata B Rao</name>
<email>bharata@linux.vnet.ibm.com</email>
</author>
<published>2013-08-16T06:09:01+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=317f2656225905794a26c454e8c22f30166107f2'/>
<id>317f2656225905794a26c454e8c22f30166107f2</id>
<content type='text'>
This fix enables gluster clients like QEMU using glfs_set_logging()
with "-" as logfile to see client side errors on stderr.

Change-Id: I35f7b65460d1c03f910ceb3bad0a65677317e702
Signed-off-by: Bharata B Rao &lt;bharata@linux.vnet.ibm.com&gt;
Reviewed-on: http://review.gluster.org/5637
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fix enables gluster clients like QEMU using glfs_set_logging()
with "-" as logfile to see client side errors on stderr.

Change-Id: I35f7b65460d1c03f910ceb3bad0a65677317e702
Signed-off-by: Bharata B Rao &lt;bharata@linux.vnet.ibm.com&gt;
Reviewed-on: http://review.gluster.org/5637
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Anand Avati &lt;avati@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>log: use /etc/glusterfs/logger.conf file for logging target</title>
<updated>2013-08-13T14:08:07+00:00</updated>
<author>
<name>Bala.FA</name>
<email>barumuga@redhat.com</email>
</author>
<published>2013-08-09T11:56:48+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=e3f2d5fb1e8a12317959748eee15d4ec1f8f3fa6'/>
<id>e3f2d5fb1e8a12317959748eee15d4ec1f8f3fa6</id>
<content type='text'>
This patch fixes to use /etc/glusterfs/logger.conf file instead of
/var/lib/glusterd/logger.conf for logging target (whether to use
syslog or not) at run time.

Change-Id: Icb1de9ebfb7e529940e2aac970978ad70b34b213
BUG: 928648
Signed-off-by: Bala.FA &lt;barumuga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5542
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes to use /etc/glusterfs/logger.conf file instead of
/var/lib/glusterd/logger.conf for logging target (whether to use
syslog or not) at run time.

Change-Id: Icb1de9ebfb7e529940e2aac970978ad70b34b213
BUG: 928648
Signed-off-by: Bala.FA &lt;barumuga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5542
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>log: set ident to openlog</title>
<updated>2013-08-13T14:07:43+00:00</updated>
<author>
<name>Bala.FA</name>
<email>barumuga@redhat.com</email>
</author>
<published>2013-08-09T11:21:11+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=4e63eafaed6073eab3d87c579e964fa5302f0d63'/>
<id>4e63eafaed6073eab3d87c579e964fa5302f0d63</id>
<content type='text'>
at syslog side, log message is identified by its properties like
programname, pid, etc.  brick/mount processes need to be identified
uniquely as they are different process of gluterfsd/glusterfs.  At
rsyslog side, log separated by programname/app-name with pid works but
bit hard to identify them in long run which process is for what
brick/mount.

This patch fixes by setting identity string at openlog() which sets
programname/app-name as similar to old style log file prefixed by
gluster, glusterd, glusterfs or glusterfsd

Change-Id: Ia05068943fa67ae1663aaded1444cf84ea648db8
BUG: 928648
Signed-off-by: Bala.FA &lt;barumuga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5541
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
at syslog side, log message is identified by its properties like
programname, pid, etc.  brick/mount processes need to be identified
uniquely as they are different process of gluterfsd/glusterfs.  At
rsyslog side, log separated by programname/app-name with pid works but
bit hard to identify them in long run which process is for what
brick/mount.

This patch fixes by setting identity string at openlog() which sets
programname/app-name as similar to old style log file prefixed by
gluster, glusterd, glusterfs or glusterfsd

Change-Id: Ia05068943fa67ae1663aaded1444cf84ea648db8
BUG: 928648
Signed-off-by: Bala.FA &lt;barumuga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5541
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libglusterfs: Fix compilation warning</title>
<updated>2013-07-29T08:50:54+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pkarampu@redhat.com</email>
</author>
<published>2013-07-29T07:06:10+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=ebbe623fe44dddc9318067698bf3796035265997'/>
<id>ebbe623fe44dddc9318067698bf3796035265997</id>
<content type='text'>
Change-Id: Ibba7a6fd3119c85c78cb12628d85c7f9210e6b8c
BUG: 928648
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5412
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ibba7a6fd3119c85c78cb12628d85c7f9210e6b8c
BUG: 928648
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5412
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>log: send current gf_log to syslog conditionally</title>
<updated>2013-07-19T10:56:47+00:00</updated>
<author>
<name>Bala.FA</name>
<email>barumuga@redhat.com</email>
</author>
<published>2013-05-14T09:23:07+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=41b721baee31356f442b1fb3f198456a0dd3b2db'/>
<id>41b721baee31356f442b1fb3f198456a0dd3b2db</id>
<content type='text'>
When compile time option GF_USE_SYSLOG is enabled (which is default),
generated logs are sent to syslog with error code ERR_DEV.

User can opt to use traditional log at run time by creating
/var/log/glusterd/logger.conf file and restarting respective gluster
services.

Change-Id: I9837d0f99da1afc2189d7ecd214c4293ec53715a
BUG: 928648
Signed-off-by: Bala.FA &lt;barumuga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5002
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When compile time option GF_USE_SYSLOG is enabled (which is default),
generated logs are sent to syslog with error code ERR_DEV.

User can opt to use traditional log at run time by creating
/var/log/glusterd/logger.conf file and restarting respective gluster
services.

Change-Id: I9837d0f99da1afc2189d7ecd214c4293ec53715a
BUG: 928648
Signed-off-by: Bala.FA &lt;barumuga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/5002
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>log: enhance syslog logging using CEE format</title>
<updated>2013-07-19T10:55:35+00:00</updated>
<author>
<name>Bala.FA</name>
<email>barumuga@redhat.com</email>
</author>
<published>2013-04-30T12:09:30+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=040319d8bced2f25bf25d8f6b937901c3a40e34b'/>
<id>040319d8bced2f25bf25d8f6b937901c3a40e34b</id>
<content type='text'>
This patch enables to use syslog as log target in addition to the
default.  The logs are sent in CEE format (http://cee.mitre.org/).
This logging can be disabled using compile time option by

./configure --disable-syslog
(or)
rpmbuild glusterfs.tar.gz --without syslog

The framework provides two api

void gf_openlog (const char *ident, int option, int facility);
void gf_syslog (int error_code, int facility_priority, char *format, ...);

consumers need to call gf_openlog() prior to gf_syslog() like the way
traditional syslog function calls.  error_code is mandatory when using
gf_syslog().  For example,

gf_openlog (NULL, -1, -1);
gf_syslog (GF_ERR_DEV, LOG_ERR, "error reading configuration file");

Using syslog, admin is free to configure logger to
* reduce repeated log messages
* forward logs to remote logger
* execute a command on certain log pattern
* alert people for certain log pattern by email, snmp etc
* and many more

Change-Id: Ibacbcbbc547192893fc4a46b387496b622e4811f
BUG: 928648
Signed-off-by: Bala.FA &lt;barumuga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4915
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch enables to use syslog as log target in addition to the
default.  The logs are sent in CEE format (http://cee.mitre.org/).
This logging can be disabled using compile time option by

./configure --disable-syslog
(or)
rpmbuild glusterfs.tar.gz --without syslog

The framework provides two api

void gf_openlog (const char *ident, int option, int facility);
void gf_syslog (int error_code, int facility_priority, char *format, ...);

consumers need to call gf_openlog() prior to gf_syslog() like the way
traditional syslog function calls.  error_code is mandatory when using
gf_syslog().  For example,

gf_openlog (NULL, -1, -1);
gf_syslog (GF_ERR_DEV, LOG_ERR, "error reading configuration file");

Using syslog, admin is free to configure logger to
* reduce repeated log messages
* forward logs to remote logger
* execute a command on certain log pattern
* alert people for certain log pattern by email, snmp etc
* and many more

Change-Id: Ibacbcbbc547192893fc4a46b387496b622e4811f
BUG: 928648
Signed-off-by: Bala.FA &lt;barumuga@redhat.com&gt;
Reviewed-on: http://review.gluster.org/4915
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Reviewed-by: Vijay Bellur &lt;vbellur@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
