Skip to contentSkip to conversation

mount issue with Mac OSX and --manage-gids, client hangs

DISCUSSION Alex Samad 4 participants 7 messages Jul 31, 2008 – Aug 28, 2008 3 messages not in the archive

Subsystems (2)
lore
Share & tools
lore

Alex Samad

author
#0 lore raw

Hi

I have a nfs debian amd64 server, with a few linux clients that is working well. I recently tried to attach a mac osx (10.5 Leopard) client.

Everytime I attached it would hang when i attempted to use the mount

on the nas box I have this line in /etc/exports /exports/shared -async,no_subtree_check,no_root_squash,insecure,mp=/exports/shared 192.168.8.0/22(rw)

I mounted with this command

mount -t nfs -o rw,async,rsize=32768,wsize=32768 nas.hme1.samad.com.au:/exports/shared /mounts/shared

I then tried

df -h &
ls -l /mounts/shared &
umount -f /mounts/shared &

all the commands failed to return, I could not kill them with -9, I had to reboot

I have attached a tcpdump (tcpdump -pni eth0 ether host xx:xx:xx:xx:xx:xx -s 9100 -w
nas.capture.dmp) on the nas box

a copy of the dumo is at www.samad.com.au/~alex/nas.capture.dmp

I tracked it down to --manage-gids - when I remove this from /etc/defaults/nfs-kernel-server everything works fine.

Note though, the UID's, GIDs are not synced between the linux box and the mac box. so the 2 users I have on the mac box uid 501 & 502, do not exist on the nas box

I read that manage-gids was a means of handle a uid with more than 16 gids and it was protocol compliant, so I have opened a bug report with Apple, and opened a bug report with debian

I have had a quick look at the source code, but it looks more like something that is in the kernel.

Is there another place I can log a bugreport for this ?

Thanks
Alex

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 6 lines · Alex Samad

Hi

I have a nfs debian amd64 server, with a few linux clients that is working well. I recently tried to attach a mac osx (10.5 Leopard) client.

Quoted 6 lines

Everytime I attached it would hang when i attempted to use the mount

on the nas box I have this line in /etc/exports /exports/shared -async,no_subtree_check,no_root_squash,insecure,mp=/exports/shared 192.168.8.0/22(rw)

One comment: you shouldn't need "insecure" if you are mounting on the command line and not from the Finder's "Go" menu. The Finder will try to mount an NFS share using a non-privleged port, but Darwin's mount command (and automounter, AFAIK) works like other Unices -- it should try to use a privileged port for communicating with the server.

Quoted 6 lines

I mounted with this command

mount -t nfs -o rw,async,rsize=32768,wsize=32768 nas.hme1.samad.com.au:/exports/shared /mounts/shared

Quoted 8 lines

I then tried

df -h &
ls -l /mounts/shared &
umount -f /mounts/shared &

all the commands failed to return, I could not kill them with -9, I had to reboot

I find looking at the Mac's dmesg via Console.app to be helpful in such cases.

Quoted 37 lines

I have attached a tcpdump (tcpdump -pni eth0 ether host xx:xx:xx:xx:xx:xx -s 9100 -w
nas.capture.dmp) on the nas box

a copy of the dumo is at www.samad.com.au/~alex/nas.capture.dmp

I tracked it down to --manage-gids - when I remove this from /etc/defaults/nfs-kernel-server everything works fine.

Note though, the UID's, GIDs are not synced between the linux box and the mac box. so the 2 users I have on the mac box uid 501 & 502, do not exist on the nas box

I read that manage-gids was a means of handle a uid with more than 16 gids and it was protocol compliant, so I have opened a bug report with Apple, and opened a bug report with debian

I have had a quick look at the source code, but it looks more like something that is in the kernel.

Is there another place I can log a bugreport for this ?

Thanks
Alex

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkiSJMUACgkQkZz88chpJ2MHXgCgtfGAogy3RbEkqvacDNwvzYqf nikAn3P0J3bB+/Kx6TSmJiK35mAF7+Xh
=T+Kq
-----END PGP SIGNATURE-----

Signature · 2 lines
 "Alright guard, begin the unnecessarily slow-moving dipping mechanism."
--Dr. Evil

A message that is not in the archive (sent off-list or not yet received): 76bd70e30807311611o327339dakd2de3577608897a4-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org

author
#4 lore raw
Quoted 14 lines · Chuck Lever
Quoted 6 lines · Alex Samad

Hi

I have a nfs debian amd64 server, with a few linux clients that is working well. I recently tried to attach a mac osx (10.5 Leopard) client.

Quoted 6 lines

Everytime I attached it would hang when i attempted to use the mount

on the nas box I have this line in /etc/exports /exports/shared -async,no_subtree_check,no_root_squash,insecure,mp=/exports/shared 192.168.8.0/22(rw)

Quoted 5 lines

One comment: you shouldn't need "insecure" if you are mounting on the command line and not from the Finder's "Go" menu. The Finder will try to mount an NFS share using a non-privleged port, but Darwin's mount command (and automounter, AFAIK) works like other Unices -- it should try to use a privileged port for communicating with the server.

yes agreed, but I had tried different variations, this was the last one. In all instances when I removed the manage-gids it failed

Quoted 9 lines
Quoted 9 lines

I mounted with this command

mount -t nfs -o rw,async,rsize=32768,wsize=32768 nas.hme1.samad.com.au:/exports/shared /mounts/shared

I then tried

Quoted 8 lines
Quoted 6 lines

df -h &
ls -l /mounts/shared &
umount -f /mounts/shared &

all the commands failed to return, I could not kill them with -9, I had to reboot

I find looking at the Mac's dmesg via Console.app to be helpful in such cases.

The commands did not return, kill -9 failed, I had to reboot, noting in dmesg, console or syslog (sorry I lie, there were server timeouts messages)

Quoted 49 lines
Quoted 38 lines

I have attached a tcpdump (tcpdump -pni eth0 ether host xx:xx:xx:xx:xx:xx -s 9100 -w
nas.capture.dmp) on the nas box

a copy of the dumo is at www.samad.com.au/~alex/nas.capture.dmp

I tracked it down to --manage-gids - when I remove this from /etc/defaults/nfs-kernel-server everything works fine.

Note though, the UID's, GIDs are not synced between the linux box and the mac box. so the 2 users I have on the mac box uid 501 & 502, do not exist on the nas box

I read that manage-gids was a means of handle a uid with more than 16 gids and it was protocol compliant, so I have opened a bug report with Apple, and opened a bug report with debian

I have had a quick look at the source code, but it looks more like something that is in the kernel.

Is there another place I can log a bugreport for this ?

Thanks
Alex

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkiSJMUACgkQkZz88chpJ2MHXgCgtfGAogy3RbEkqvacDNwvzYqf nikAn3P0J3bB+/Kx6TSmJiK35mAF7+Xh
=T+Kq
-----END PGP SIGNATURE-----

Signature · 6 lines
 "Alright guard, begin the unnecessarily slow-moving dipping mechanism."
--Dr. Evil
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Signature · 1 line
Never play pool with anyone named "Fats".
#5 lore raw
In reply to Alex Samad
Quoted 7 lines · On Friday August 1, [email protected] wrote:

I tracked it down to --manage-gids - when I remove this from /etc/defaults/nfs-kernel-server everything works fine.

Note though, the UID's, GIDs are not synced between the linux box and the mac box. so the 2 users I have on the mac box uid 501 & 502, do not exist on the nas box

Yes... I never tested that case, did I :-(

This patch should fix it. Are you able to compile a new nfs-utils with this patch applied and test the mountd from there?

Thanks,
NeilBrown

utils/mountd/cache.c +2 -1
index f555dcc..48d737b 100644
@@ -158,7 +158,8 @@ void auth_unix_gid(FILE *f)
 		qword_printint(f, ngroups);
 		for (i=0; i<ngroups; i++)
 			qword_printint(f, groups[i]);
-	}
+	} else
+		qword_printint(f, 0);
 	qword_eol(f);
 	if (groups != glist)
 		free(groups);

A message that is not in the archive (sent off-list or not yet received): 18578.41640.740866.153235-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org

author
#7 lore raw
Quoted 5 lines · Neil Brown
Quoted 4 lines · On Friday August 1, [email protected] wrote:

I tracked it down to --manage-gids - when I remove this from /etc/defaults/nfs-kernel-server everything works fine.

Quoted 8 lines
Quoted 3 lines

Note though, the UID's, GIDs are not synced between the linux box and the mac box. so the 2 users I have on the mac box uid 501 & 502, do not exist on the nas box

Yes... I never tested that case, did I :-(

This patch should fix it. Are you able to compile a new nfs-utils with this patch applied and test the mountd from there?

I will give it a try

Quoted 20 lines

Thanks,
NeilBrown

utils/mountd/cache.c +2 -1
index f555dcc..48d737b 100644
@@ -158,7 +158,8 @@ void auth_unix_gid(FILE *f)
 		qword_printint(f, ngroups);
 		for (i=0; i<ngroups; i++)
 			qword_printint(f, groups[i]);
-	}
+	} else
+		qword_printint(f, 0);
 	qword_eol(f);
 	if (groups != glist)
 		free(groups);
Signature · 5 lines
ink, n.:
	A villainous compound of tannogallate of iron, gum-arabic,
	and water, chiefly used to facilitate the infection of
	idiocy and promote intellectual crime.
		-- H. L. Mencken
author
#8 lore raw
In reply to a message not in the archive
Quoted 5 lines · Neil Brown
Quoted 4 lines · On Friday August 1, [email protected] wrote:

I tracked it down to --manage-gids - when I remove this from /etc/defaults/nfs-kernel-server everything works fine.

Quoted 8 lines
Quoted 3 lines

Note though, the UID's, GIDs are not synced between the linux box and the mac box. so the 2 users I have on the mac box uid 501 & 502, do not exist on the nas box

Yes... I never tested that case, did I :-(

This patch should fix it. Are you able to compile a new nfs-utils with this patch applied and test the mountd from there?

Hi

Initial test and it is now working. I will forward this onto the debian bug

Quoted 20 lines

Thanks,
NeilBrown

utils/mountd/cache.c +2 -1
index f555dcc..48d737b 100644
@@ -158,7 +158,8 @@ void auth_unix_gid(FILE *f)
 		qword_printint(f, ngroups);
 		for (i=0; i<ngroups; i++)
 			qword_printint(f, groups[i]);
-	}
+	} else
+		qword_printint(f, 0);
 	qword_eol(f);
 	if (groups != glist)
 		free(groups);
Signature · 5 lines
"Whether they be Christian, Jew, or Muslim, or Hindu, people have heard the universal call to love a neighbor just like they'd like to be called themselves."

	- George W. Bush
10/08/2003
Washington, DC
#9 lore raw
In reply to a message not in the archive
Quoted 22 lines · Neil Brown
Quoted 6 lines · On Friday August 1, [email protected] wrote:

I tracked it down to --manage-gids - when I remove this from /etc/defaults/nfs-kernel-server everything works fine.

Note though, the UID's, GIDs are not synced between the linux box and the mac box. so the 2 users I have on the mac box uid 501 & 502, do not exist on the nas box

Yes... I never tested that case, did I :-(

This patch should fix it. Are you able to compile a new nfs-utils with this patch applied and test the mountd from there?

Thanks,
NeilBrown

utils/mountd/cache.c +0 -0
index f555dcc..48d737b 100644

utils/mountd/cache.c void auth_unix_gid(FILE *f) · line 165

Quoted 9 lines
utils/mountd/cache.c +2 -1
@@ -158,7 +158,8 @@ void auth_unix_gid(FILE *f)
 		qword_printint(f, ngroups);
 		for (i=0; i<ngroups; i++)
 			qword_printint(f, groups[i]);
-	}
+	} else
+		qword_printint(f, 0);
 	qword_eol(f);
 	if (groups != glist)
 		free(groups);

Committed...

steved.