<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/nfs-utils.git, branch libnfsdmap</title>
<subtitle>git.linux-nfs.org: projects/steved/nfs-utils.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/'/>
<entry>
<title>nfs-utils: cleanup warnings from merged libnfsidmap code</title>
<updated>2017-09-28T18:29:01+00:00</updated>
<author>
<name>Justin Mitchell</name>
<email>jumitche@redhat.com</email>
</author>
<published>2017-09-28T18:29:01+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=321000012d0ef006f916f7c8a23d19354d48d064'/>
<id>321000012d0ef006f916f7c8a23d19354d48d064</id>
<content type='text'>
Clean up a bunch of warnings about unused parameters,
signedness differences, etc that we inherited from
the merged libnfsidmap code.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clean up a bunch of warnings about unused parameters,
signedness differences, etc that we inherited from
the merged libnfsidmap code.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs-utils: integrate libnfsidmap code with rest of nfs-utils</title>
<updated>2017-09-28T18:27:05+00:00</updated>
<author>
<name>Justin Mitchell</name>
<email>jumitche@redhat.com</email>
</author>
<published>2017-09-28T18:27:05+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=c398c843fef2fc3aa81971fb70ed48f10b081c56'/>
<id>c398c843fef2fc3aa81971fb70ed48f10b081c56</id>
<content type='text'>
Modify libnfsidmap to use the now shared conffile code,
adjust the build structure to generate everything correctly,
and modify the other utils to use the merged version of libnfsidmap
instead of testing for an external dependancy.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Modify libnfsidmap to use the now shared conffile code,
adjust the build structure to generate everything correctly,
and modify the other utils to use the merged version of libnfsidmap
instead of testing for an external dependancy.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs-utils: Import libnfsidmap codebase</title>
<updated>2017-09-28T18:22:17+00:00</updated>
<author>
<name>Justin Mitchell</name>
<email>jumitche@redhat.com</email>
</author>
<published>2017-09-28T18:22:17+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=bb5b1464684cfe6b838aaab0cc86c7e42c9eba06'/>
<id>bb5b1464684cfe6b838aaab0cc86c7e42c9eba06</id>
<content type='text'>
Merge the libnfsidmap code tree into nfs-utils.
These are the original unmodified files, cherry picked only the
necessary files that dont duplicate code, so will not build
correctly at this stage.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Merge the libnfsidmap code tree into nfs-utils.
These are the original unmodified files, cherry picked only the
necessary files that dont duplicate code, so will not build
correctly at this stage.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfs-utils: split conffile to a separate convenience lib</title>
<updated>2017-09-28T18:18:35+00:00</updated>
<author>
<name>Justin Mitchell</name>
<email>jumitche@redhat.com</email>
</author>
<published>2017-09-28T18:18:35+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=56e57e372e27aac957208945afb263bed2e7e58f'/>
<id>56e57e372e27aac957208945afb263bed2e7e58f</id>
<content type='text'>
To allow better reuse of the code we split conffile and xlog
into their own separate convenience library, then merge it
back so as to not create extra dependancies for everything

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To allow better reuse of the code we split conffile and xlog
into their own separate convenience library, then merge it
back so as to not create extra dependancies for everything

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>conffile: Add get_str with default value</title>
<updated>2017-09-28T18:09:10+00:00</updated>
<author>
<name>Justin Mitchell</name>
<email>jumitche@redhat.com</email>
</author>
<published>2017-09-28T18:09:10+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=4e53b95fd3654dfad8d9e028af245a6ba089a59d'/>
<id>4e53b95fd3654dfad8d9e028af245a6ba089a59d</id>
<content type='text'>
The similar config code in libnfsidmap had one additional feature of
a get_str function with a default value option, include an equivalent
function here to maintain compatibility.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The similar config code in libnfsidmap had one additional feature of
a get_str function with a default value option, include an equivalent
function here to maintain compatibility.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>conffile: Merge conf_get_str and conf_get_section</title>
<updated>2017-09-28T18:06:29+00:00</updated>
<author>
<name>Justin Mitchell</name>
<email>jumitche@redhat.com</email>
</author>
<published>2017-09-28T18:06:29+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=748ad46b45d10fc9d329fb620ad399ccaa957bd7'/>
<id>748ad46b45d10fc9d329fb620ad399ccaa957bd7</id>
<content type='text'>
conf_get_section() started as conf_get_str() with one extra search
parameter, subsequent patches have not maintained feature parity,
combine the code to make a single more generic function and just call
that differently where required.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
conf_get_section() started as conf_get_str() with one extra search
parameter, subsequent patches have not maintained feature parity,
combine the code to make a single more generic function and just call
that differently where required.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>conffile: const-ify the config handling functions</title>
<updated>2017-09-28T18:04:07+00:00</updated>
<author>
<name>Justin Mitchell</name>
<email>jumitche@redhat.com</email>
</author>
<published>2017-09-28T18:04:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=1384e3acc79e64ba280da7aa6cc70ecf900ef13d'/>
<id>1384e3acc79e64ba280da7aa6cc70ecf900ef13d</id>
<content type='text'>
Tighten up the conffile interface by switching to const
arguments where appropriate.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tighten up the conffile interface by switching to const
arguments where appropriate.

Signed-off-by: Justin Mitchell &lt;jumitche@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mount: handle EACCES during version negotiation</title>
<updated>2017-09-14T16:58:04+00:00</updated>
<author>
<name>Frank Sorenson</name>
<email>sorenson@redhat.com</email>
</author>
<published>2017-09-14T16:56:53+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=9f9f9122319ceaf6e1311fb3c296d77ca711604e'/>
<id>9f9f9122319ceaf6e1311fb3c296d77ca711604e</id>
<content type='text'>
mount() can return EACCES for servers which permit 4.0
but are configured not to allow 4.1  This is currently
only handled by the default case, so these mounts fail
without retrying a lower minor.

Add handling for EACCES to be retried with a lower
minor version.

Signed-off-by: Frank Sorenson &lt;sorenson@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
mount() can return EACCES for servers which permit 4.0
but are configured not to allow 4.1  This is currently
only handled by the default case, so these mounts fail
without retrying a lower minor.

Add handling for EACCES to be retried with a lower
minor version.

Signed-off-by: Frank Sorenson &lt;sorenson@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nfsman: document minorversion</title>
<updated>2017-09-14T16:57:50+00:00</updated>
<author>
<name>Jianhong Yin</name>
<email>yin-jianhong@163.com</email>
</author>
<published>2017-09-14T16:50:56+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=2b3ebec1335eac81e9b90a7c95173f857a4b26b1'/>
<id>2b3ebec1335eac81e9b90a7c95173f857a4b26b1</id>
<content type='text'>
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>idmapd: daemonize earlier</title>
<updated>2017-08-23T18:58:24+00:00</updated>
<author>
<name>Scott Mayhew</name>
<email>smayhew@redhat.com</email>
</author>
<published>2017-08-23T18:57:12+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/nfs-utils.git/commit/?id=3f46368672ae9e729d012a94db59d04f45cfbc23'/>
<id>3f46368672ae9e729d012a94db59d04f45cfbc23</id>
<content type='text'>
daemon_init() calls closeall() to close any "unneeded" file descriptors.
This causes the following issue with idmapd on systems that are
configured to have SSSD handle local users and groups:

1. During startup, rpc.idmapd calls getpwnam("nobody") and
   getgrnam("nobody")
2. sss_nss_mc_get{pw,gr}nam from libnss_sss open the cache files for
   users and groups and store the fd's in a struct sss_cli_mc_ctx.  The
   passwd cache is fd 3 and the group cache is fd 4.
3. idmapd calls daemon_init() which sets fd's 0, 1, and 2 to /dev/null
   and fd 3 to the write end of the pipe that the child uses to report
   it's startup status.  It then closes all fd's &gt;= 4.
4. idmapd then calls event_init() which leads to epoll_create1() which
   returns 4 as the epoll fd.
6. An NFSv4 mount request comes in from a client, triggering an nfsdcb
   callback.
7. idmapd calls getgrgid_r() which leads to a call to
   sss_nss_check_header() which determines that the cache needs to be
   reinitialized.  sss_nss_mc_destroy_ctx() is called, which closes the
   ctx-&gt;fd which now corresponds to the epoll file rather than the group
   cache file.
8. event_dispatch() calls epoll_wait() with epfd=4, and -EBADF is
   returned.  idmapd logs the following error and exits with  a nonzero
   status:

rpc.idmapd[650]: main: event_dispatch returns errno 9 (Bad file descriptor)

Moving the deamon_init() call so that it happens before get{pw,gr}nam()
fixes this.

Signed-off-by: Scott Mayhew &lt;smayhew@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
daemon_init() calls closeall() to close any "unneeded" file descriptors.
This causes the following issue with idmapd on systems that are
configured to have SSSD handle local users and groups:

1. During startup, rpc.idmapd calls getpwnam("nobody") and
   getgrnam("nobody")
2. sss_nss_mc_get{pw,gr}nam from libnss_sss open the cache files for
   users and groups and store the fd's in a struct sss_cli_mc_ctx.  The
   passwd cache is fd 3 and the group cache is fd 4.
3. idmapd calls daemon_init() which sets fd's 0, 1, and 2 to /dev/null
   and fd 3 to the write end of the pipe that the child uses to report
   it's startup status.  It then closes all fd's &gt;= 4.
4. idmapd then calls event_init() which leads to epoll_create1() which
   returns 4 as the epoll fd.
6. An NFSv4 mount request comes in from a client, triggering an nfsdcb
   callback.
7. idmapd calls getgrgid_r() which leads to a call to
   sss_nss_check_header() which determines that the cache needs to be
   reinitialized.  sss_nss_mc_destroy_ctx() is called, which closes the
   ctx-&gt;fd which now corresponds to the epoll file rather than the group
   cache file.
8. event_dispatch() calls epoll_wait() with epfd=4, and -EBADF is
   returned.  idmapd logs the following error and exits with  a nonzero
   status:

rpc.idmapd[650]: main: event_dispatch returns errno 9 (Bad file descriptor)

Moving the deamon_init() call so that it happens before get{pw,gr}nam()
fixes this.

Signed-off-by: Scott Mayhew &lt;smayhew@redhat.com&gt;
Signed-off-by: Steve Dickson &lt;steved@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
