2008-07-31 21:10:03

by Alex Samad

[permalink] [raw]
Subject: mount issue with Mac OSX and --manage-gids, client hangs

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 http://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


Attachments:
(No filename) (1.45 kB)
signature.asc (197.00 B)
Digital signature
Download all attachments

2008-08-28 15:14:10

by Steve Dickson

[permalink] [raw]
Subject: Re: mount issue with Mac OSX and --manage-gids, client hangs



Neil Brown wrote:
> 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
>
>
> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
> index f555dcc..48d737b 100644
> --- a/utils/mountd/cache.c
> +++ b/utils/mountd/cache.c
> @@ -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.

2008-07-31 23:11:34

by Chuck Lever

[permalink] [raw]
Subject: Re: mount issue with Mac OSX and --manage-gids, client hangs

On Thu, Jul 31, 2008 at 4:47 PM, Alex Samad <[email protected]> wrote:
> 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)

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.

> 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 find looking at the Mac's dmesg via Console.app to be helpful in such cases.

> 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 http://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-----
>
>



--
"Alright guard, begin the unnecessarily slow-moving dipping mechanism."
--Dr. Evil

2008-08-01 01:47:08

by Alex Samad

[permalink] [raw]
Subject: Re: mount issue with Mac OSX and --manage-gids, client hangs

On Thu, Jul 31, 2008 at 07:11:31PM -0400, Chuck Lever wrote:
> On Thu, Jul 31, 2008 at 4:47 PM, Alex Samad <[email protected]> wrote:
> > 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)
>
> 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

>
> > 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 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)

>
> > 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 http://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-----
> >
> >
>
>
>
> --
> "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
>

--
Never play pool with anyone named "Fats".


Attachments:
(No filename) (3.08 kB)
signature.asc (197.00 B)
Digital signature
Download all attachments

2008-08-01 05:44:15

by NeilBrown

[permalink] [raw]
Subject: Re: mount issue with Mac OSX and --manage-gids, client hangs

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


diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index f555dcc..48d737b 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -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);

2008-08-01 07:27:27

by Alex Samad

[permalink] [raw]
Subject: Re: mount issue with Mac OSX and --manage-gids, client hangs

On Fri, Aug 01, 2008 at 03:44:08PM +1000, Neil Brown wrote:
> 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?

I will give it a try

>
> Thanks,
> NeilBrown
>
>
> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
> index f555dcc..48d737b 100644
> --- a/utils/mountd/cache.c
> +++ b/utils/mountd/cache.c
> @@ -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);
>

--
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


Attachments:
(No filename) (1.24 kB)
signature.asc (197.00 B)
Digital signature
Download all attachments

2008-08-01 08:59:55

by Alex Samad

[permalink] [raw]
Subject: Re: mount issue with Mac OSX and --manage-gids, client hangs

On Fri, Aug 01, 2008 at 03:44:08PM +1000, Neil Brown wrote:
> 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?

Hi

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

>
> Thanks,
> NeilBrown
>
>
> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
> index f555dcc..48d737b 100644
> --- a/utils/mountd/cache.c
> +++ b/utils/mountd/cache.c
> @@ -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);
>

--
"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


Attachments:
(No filename) (1.32 kB)
signature.asc (197.00 B)
Digital signature
Download all attachments