Re: [OE-core] [PATCH] Allow user mode NFS server to run without rpcbind / portmap

2011-10-10 Thread Richard Purdie
On Sun, 2011-10-09 at 22:04 -0700, Saul Wold wrote:
 On 10/05/2011 11:43 AM, Jason Wessel wrote:
  From the 2.6.39 linux kernel and up it is possible to use
  and nfsroot mount without the need to talk to an RPC info
  server as long as the port numbers for mountd and nfsd
  are known in advance.
 
  This patch updates the qemu startup scripts and the
  user mode NFS server to have the ability to start
  without the need to use rpcbind or portmap services.
 
 Jason,
 
 I have not fully tested this yet, but if someone has rpcbind and/or 
 portmap services are running, what affect will this patch have?

It shouldn't have any effect, the system is just no longer requiring to
look up the port numbers through rpcbind/portmap but can use the values
directly.

Cheers,

Richard


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] Allow user mode NFS server to run without rpcbind / portmap

2011-10-10 Thread Richard Purdie
On Wed, 2011-10-05 at 13:43 -0500, Jason Wessel wrote:
 From the 2.6.39 linux kernel and up it is possible to use
 and nfsroot mount without the need to talk to an RPC info
 server as long as the port numbers for mountd and nfsd
 are known in advance.
 
 This patch updates the qemu startup scripts and the
 user mode NFS server to have the ability to start
 without the need to use rpcbind or portmap services.
 
 Signed-off-by: Jason Wessel jason.wes...@windriver.com
 ---
  .../023-no-rpc-register.patch  |   34 
 
  .../unfs-server/unfs-server_2.1+2.2beta47.bb   |3 +-
  scripts/runqemu-export-rootfs  |4 ++-
  scripts/runqemu-internal   |   16 +++--
  4 files changed, 44 insertions(+), 13 deletions(-)
  create mode 100644 
 meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch

Merged to master, thanks.

Richard


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] Allow user mode NFS server to run without rpcbind / portmap

2011-10-10 Thread Jason Wessel

On 10/10/2011 12:04 AM, Saul Wold wrote:

On 10/05/2011 11:43 AM, Jason Wessel wrote:

 From the 2.6.39 linux kernel and up it is possible to use

and nfsroot mount without the need to talk to an RPC info
server as long as the port numbers for mountd and nfsd
are known in advance.

This patch updates the qemu startup scripts and the
user mode NFS server to have the ability to start
without the need to use rpcbind or portmap services.


Jason,

I have not fully tested this yet, but if someone has rpcbind and/or
portmap services are running, what affect will this patch have?



It works the same way it did before.  Mountd and nfsd will register with 
rpcbind / portmap.

All that was done is to use a fall back to not register if the registration 
service is either denied or unavailable.

Jason.

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] Allow user mode NFS server to run without rpcbind / portmap

2011-10-09 Thread Saul Wold

On 10/05/2011 11:43 AM, Jason Wessel wrote:

From the 2.6.39 linux kernel and up it is possible to use

and nfsroot mount without the need to talk to an RPC info
server as long as the port numbers for mountd and nfsd
are known in advance.

This patch updates the qemu startup scripts and the
user mode NFS server to have the ability to start
without the need to use rpcbind or portmap services.


Jason,

I have not fully tested this yet, but if someone has rpcbind and/or 
portmap services are running, what affect will this patch have?


Sau!


Signed-off-by: Jason Wesseljason.wes...@windriver.com
---
  .../023-no-rpc-register.patch  |   34 
  .../unfs-server/unfs-server_2.1+2.2beta47.bb   |3 +-
  scripts/runqemu-export-rootfs  |4 ++-
  scripts/runqemu-internal   |   16 +++--
  4 files changed, 44 insertions(+), 13 deletions(-)
  create mode 100644 
meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch

diff --git 
a/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
 
b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
new file mode 100644
index 000..50f23fc
--- /dev/null
+++ 
b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
@@ -0,0 +1,34 @@
+Upstream-Status: Inappropriate [other]
+Upstream is not making further releases of this software.
+
+Signed-off-by: Jason Wesseljason.wes...@windriver.com
+
+# Allow user mode NFS to work without rpcbind / portmap
+# Patch origin: Wind River
+
+---
+ rpcmisc.c |6 --
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/rpcmisc.c
 b/rpcmisc.c
+@@ -91,7 +91,8 @@ not_inetd:
+   if (transp == NULL)
+   Dprintf(L_FATAL, cannot create udp service.);
+   for (i = 0; (vers = verstbl[i]) != 0; i++) {
+-  if (!svc_register(transp, prog, vers, dispatch, 
IPPROTO_UDP)) {
++  if (!(svc_register(transp, prog, vers, dispatch, 
IPPROTO_UDP) ||
++svc_register(transp, prog, vers, dispatch, 0))) {
+   Dprintf(L_FATAL,
+   unable to register (%s, %d, udp).,
+   name, vers);
+@@ -110,7 +111,8 @@ not_inetd:
+   transp-xp_ops-xp_recv = auth_rendevouser;
+ #endif
+   for (i = 0; (vers = verstbl[i]) != 0; i++) {
+-  if (!svc_register(transp, prog, vers, dispatch, 
IPPROTO_TCP)) {
++  if (!(svc_register(transp, prog, vers, dispatch, 
IPPROTO_TCP) ||
++svc_register(transp, prog, vers, dispatch, 0))) {
+   Dprintf(L_FATAL,
+   unable to register (%s, %d, tcp).,
+   name, vers);
diff --git a/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb 
b/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
index 8ed2e33..29c7052 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
+++ b/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
@@ -7,7 +7,7 @@ RDEPENDS_${PN} = pseudo
  RDEPENDS_${PN}_virtclass-native = pseudo-native
  RDEPENDS_${PN}_virtclass-nativesdk = pseudo-nativesdk
  BASEPV = 2.2beta47
-PR = r0
+PR = r1

  SRC_URI = 
ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir/nfs-server-${BASEPV}.tar.gz
 \
 file://001-2.2b47-2.2b51.patch \
@@ -32,6 +32,7 @@ SRC_URI = 
ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir
 file://020-undefined-chmod-fix.patch \
 file://021-nolibwrap.patch \
 file://022-add-close-on-exec-descriptors.patch \
+   file://023-no-rpc-register.patch \


  SRC_URI[md5sum] = 79a29fe9f79b2f3241d4915767b8c511
diff --git a/scripts/runqemu-export-rootfs b/scripts/runqemu-export-rootfs
index 3ee3112..5cb4bf2 100755
--- a/scripts/runqemu-export-rootfs
+++ b/scripts/runqemu-export-rootfs
@@ -83,10 +83,12 @@ NFS_MOUNTPROG=$[ 2 + $NFS_INSTANCE ]
  NFS_NFSPROG=$[ 1 + $NFS_INSTANCE ]
  # NFS port number
  NFS_PORT=$[ 3049 + $NFS_INSTANCE ]
+# mountd port number
+MOUNT_PORT=$[ 3048 + $NFS_INSTANCE ]

  ## For debugging you would additionally add
  ## --debug all
-MOUNTD_OPTS=--allow-non-root --mount-pid $MOUNTPID -f $EXPORTS --rmtab $RMTAB 
--prog $NFS_MOUNTPROG -r
+MOUNTD_OPTS=--allow-non-root --mount-pid $MOUNTPID -f $EXPORTS --rmtab $RMTAB 
--prog $NFS_MOUNTPROG -r -P $MOUNT_PORT
  NFSD_OPTS=--allow-non-root --nfs-pid $NFSPID -f $EXPORTS --prog $NFS_NFSPROG -P 
$NFS_PORT -r

  # Setup the exports file
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index ce3291f..2968ed9 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -258,21 

[OE-core] [PATCH] Allow user mode NFS server to run without rpcbind / portmap

2011-10-05 Thread Jason Wessel
From the 2.6.39 linux kernel and up it is possible to use
and nfsroot mount without the need to talk to an RPC info
server as long as the port numbers for mountd and nfsd
are known in advance.

This patch updates the qemu startup scripts and the
user mode NFS server to have the ability to start
without the need to use rpcbind or portmap services.

Signed-off-by: Jason Wessel jason.wes...@windriver.com
---
 .../023-no-rpc-register.patch  |   34 
 .../unfs-server/unfs-server_2.1+2.2beta47.bb   |3 +-
 scripts/runqemu-export-rootfs  |4 ++-
 scripts/runqemu-internal   |   16 +++--
 4 files changed, 44 insertions(+), 13 deletions(-)
 create mode 100644 
meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch

diff --git 
a/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
 
b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
new file mode 100644
index 000..50f23fc
--- /dev/null
+++ 
b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
@@ -0,0 +1,34 @@
+Upstream-Status: Inappropriate [other]
+Upstream is not making further releases of this software.
+
+Signed-off-by: Jason Wessel jason.wes...@windriver.com
+
+# Allow user mode NFS to work without rpcbind / portmap
+# Patch origin: Wind River
+
+---
+ rpcmisc.c |6 --
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/rpcmisc.c
 b/rpcmisc.c
+@@ -91,7 +91,8 @@ not_inetd:
+   if (transp == NULL)
+   Dprintf(L_FATAL, cannot create udp service.);
+   for (i = 0; (vers = verstbl[i]) != 0; i++) {
+-  if (!svc_register(transp, prog, vers, dispatch, 
IPPROTO_UDP)) {
++  if (!(svc_register(transp, prog, vers, dispatch, 
IPPROTO_UDP) ||
++svc_register(transp, prog, vers, dispatch, 0))) {
+   Dprintf(L_FATAL,
+   unable to register (%s, %d, udp).,
+   name, vers);
+@@ -110,7 +111,8 @@ not_inetd:
+   transp-xp_ops-xp_recv = auth_rendevouser;
+ #endif
+   for (i = 0; (vers = verstbl[i]) != 0; i++) {
+-  if (!svc_register(transp, prog, vers, dispatch, 
IPPROTO_TCP)) {
++  if (!(svc_register(transp, prog, vers, dispatch, 
IPPROTO_TCP) ||
++svc_register(transp, prog, vers, dispatch, 0))) {
+   Dprintf(L_FATAL,
+   unable to register (%s, %d, tcp).,
+   name, vers);
diff --git a/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb 
b/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
index 8ed2e33..29c7052 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
+++ b/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
@@ -7,7 +7,7 @@ RDEPENDS_${PN} = pseudo
 RDEPENDS_${PN}_virtclass-native = pseudo-native
 RDEPENDS_${PN}_virtclass-nativesdk = pseudo-nativesdk
 BASEPV = 2.2beta47
-PR = r0
+PR = r1
 
 SRC_URI = 
ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir/nfs-server-${BASEPV}.tar.gz
 \
file://001-2.2b47-2.2b51.patch \
@@ -32,6 +32,7 @@ SRC_URI = 
ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir
file://020-undefined-chmod-fix.patch \
file://021-nolibwrap.patch \
file://022-add-close-on-exec-descriptors.patch \
+   file://023-no-rpc-register.patch \
   
 
 SRC_URI[md5sum] = 79a29fe9f79b2f3241d4915767b8c511
diff --git a/scripts/runqemu-export-rootfs b/scripts/runqemu-export-rootfs
index 3ee3112..5cb4bf2 100755
--- a/scripts/runqemu-export-rootfs
+++ b/scripts/runqemu-export-rootfs
@@ -83,10 +83,12 @@ NFS_MOUNTPROG=$[ 2 + $NFS_INSTANCE ]
 NFS_NFSPROG=$[ 1 + $NFS_INSTANCE ]
 # NFS port number
 NFS_PORT=$[ 3049 + $NFS_INSTANCE ]
+# mountd port number
+MOUNT_PORT=$[ 3048 + $NFS_INSTANCE ]
 
 ## For debugging you would additionally add
 ## --debug all
-MOUNTD_OPTS=--allow-non-root --mount-pid $MOUNTPID -f $EXPORTS --rmtab $RMTAB 
--prog $NFS_MOUNTPROG -r
+MOUNTD_OPTS=--allow-non-root --mount-pid $MOUNTPID -f $EXPORTS --rmtab $RMTAB 
--prog $NFS_MOUNTPROG -r -P $MOUNT_PORT
 NFSD_OPTS=--allow-non-root --nfs-pid $NFSPID -f $EXPORTS --prog $NFS_NFSPROG 
-P $NFS_PORT -r
 
 # Setup the exports file
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index ce3291f..2968ed9 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -258,21 +258,15 @@ fi
 if [ $FSTYPE = nfs ]; then
 NFS_SERVER=192.168.7.1
 NFS_DIR=`echo $ROOTFS | sed 's/^[^:]*:\(.*\)/\1/'`
-MOUNTD_PORT=$[ 2 + $NFS_INSTANCE ]
-NFSD_PORT=$[ 1 + $NFS_INSTANCE ]
-

[OE-core] [PATCH] Allow user mode NFS server to run without rpcbind / portmap

2011-10-05 Thread Jason Wessel
From the 2.6.39 linux kernel and up it is possible to use
and nfsroot mount without the need to talk to an RPC info
server as long as the port numbers for mountd and nfsd
are known in advance.

This patch updates the qemu startup scripts and the
user mode NFS server to have the ability to start
without the need to use rpcbind or portmap services.

Signed-off-by: Jason Wessel jason.wes...@windriver.com
---
 .../023-no-rpc-register.patch  |   34 
 .../unfs-server/unfs-server_2.1+2.2beta47.bb   |3 +-
 scripts/runqemu-export-rootfs  |4 ++-
 scripts/runqemu-internal   |   16 +++--
 4 files changed, 44 insertions(+), 13 deletions(-)
 create mode 100644 
meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch

diff --git 
a/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
 
b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
new file mode 100644
index 000..50f23fc
--- /dev/null
+++ 
b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/023-no-rpc-register.patch
@@ -0,0 +1,34 @@
+Upstream-Status: Inappropriate [other]
+Upstream is not making further releases of this software.
+
+Signed-off-by: Jason Wessel jason.wes...@windriver.com
+
+# Allow user mode NFS to work without rpcbind / portmap
+# Patch origin: Wind River
+
+---
+ rpcmisc.c |6 --
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/rpcmisc.c
 b/rpcmisc.c
+@@ -91,7 +91,8 @@ not_inetd:
+   if (transp == NULL)
+   Dprintf(L_FATAL, cannot create udp service.);
+   for (i = 0; (vers = verstbl[i]) != 0; i++) {
+-  if (!svc_register(transp, prog, vers, dispatch, 
IPPROTO_UDP)) {
++  if (!(svc_register(transp, prog, vers, dispatch, 
IPPROTO_UDP) ||
++svc_register(transp, prog, vers, dispatch, 0))) {
+   Dprintf(L_FATAL,
+   unable to register (%s, %d, udp).,
+   name, vers);
+@@ -110,7 +111,8 @@ not_inetd:
+   transp-xp_ops-xp_recv = auth_rendevouser;
+ #endif
+   for (i = 0; (vers = verstbl[i]) != 0; i++) {
+-  if (!svc_register(transp, prog, vers, dispatch, 
IPPROTO_TCP)) {
++  if (!(svc_register(transp, prog, vers, dispatch, 
IPPROTO_TCP) ||
++svc_register(transp, prog, vers, dispatch, 0))) {
+   Dprintf(L_FATAL,
+   unable to register (%s, %d, tcp).,
+   name, vers);
diff --git a/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb 
b/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
index 8ed2e33..29c7052 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
+++ b/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
@@ -7,7 +7,7 @@ RDEPENDS_${PN} = pseudo
 RDEPENDS_${PN}_virtclass-native = pseudo-native
 RDEPENDS_${PN}_virtclass-nativesdk = pseudo-nativesdk
 BASEPV = 2.2beta47
-PR = r0
+PR = r1
 
 SRC_URI = 
ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir/nfs-server-${BASEPV}.tar.gz
 \
file://001-2.2b47-2.2b51.patch \
@@ -32,6 +32,7 @@ SRC_URI = 
ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir
file://020-undefined-chmod-fix.patch \
file://021-nolibwrap.patch \
file://022-add-close-on-exec-descriptors.patch \
+   file://023-no-rpc-register.patch \
   
 
 SRC_URI[md5sum] = 79a29fe9f79b2f3241d4915767b8c511
diff --git a/scripts/runqemu-export-rootfs b/scripts/runqemu-export-rootfs
index 3ee3112..5cb4bf2 100755
--- a/scripts/runqemu-export-rootfs
+++ b/scripts/runqemu-export-rootfs
@@ -83,10 +83,12 @@ NFS_MOUNTPROG=$[ 2 + $NFS_INSTANCE ]
 NFS_NFSPROG=$[ 1 + $NFS_INSTANCE ]
 # NFS port number
 NFS_PORT=$[ 3049 + $NFS_INSTANCE ]
+# mountd port number
+MOUNT_PORT=$[ 3048 + $NFS_INSTANCE ]
 
 ## For debugging you would additionally add
 ## --debug all
-MOUNTD_OPTS=--allow-non-root --mount-pid $MOUNTPID -f $EXPORTS --rmtab $RMTAB 
--prog $NFS_MOUNTPROG -r
+MOUNTD_OPTS=--allow-non-root --mount-pid $MOUNTPID -f $EXPORTS --rmtab $RMTAB 
--prog $NFS_MOUNTPROG -r -P $MOUNT_PORT
 NFSD_OPTS=--allow-non-root --nfs-pid $NFSPID -f $EXPORTS --prog $NFS_NFSPROG 
-P $NFS_PORT -r
 
 # Setup the exports file
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index ce3291f..2968ed9 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -258,21 +258,15 @@ fi
 if [ $FSTYPE = nfs ]; then
 NFS_SERVER=192.168.7.1
 NFS_DIR=`echo $ROOTFS | sed 's/^[^:]*:\(.*\)/\1/'`
-MOUNTD_PORT=$[ 2 + $NFS_INSTANCE ]
-NFSD_PORT=$[ 1 + $NFS_INSTANCE ]
-