Device or resource busy
Subsystems (2)
Hello!
On our Ubuntu (8.04) machine we mount home directories from a Solaris server with NFS and autofs. From time to time users complain that they are unable to delete any directories. The error message is "Device or resource busy".
When I look with "nfsstat -m", I can see a lot of mount points for each user, including the directory which cannot be deleted. One user had a total of 200 mounts!
My question is: Why does NFS mount each directory seperately?
Here is an example output for a user:
/ldaphome/username from host:/export/username
Flags: rw,vers=3,rsize=1048576,wsize=1048576,hard,intr, proto=tcp,timeo=600,retrans=2,sec=sys,addr=host
TIA
Stephan
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 4 lines · On Mon, 2008-10-27 at 14:10 +0100, Stephan Windm=C3=BCller wrote:
Hello!
=20
On our Ubuntu (8.04) machine we mount home directories from a Solaris server with NFS and autofs. From time to time users complain that the=
y
Quoted 4 lines
are unable to delete any directories. The error message is "Device or resource busy".
=20
When I look with "nfsstat -m", I can see a lot of mount points for ea=
ch
Quoted 5 lines
user, including the directory which cannot be deleted. One user had a total of 200 mounts!
=20
My question is: Why does NFS mount each directory seperately? =20
Quoted 8 lines
Here is an example output for a user:
=20
/ldaphome/username from host:/export/username
Flags: rw,vers=3D3,rsize=3D1048576,wsize=3D1048576,hard,intr, proto=3Dtcp,timeo=3D600,retrans=3D2,sec=3Dsys,addr=3Dhost
=20
TIA
Stephan
If /export/username is on a different volume from /export on the server= ,
then the NFS client has to mount it as being a different volume on the client. 'cat /proc/fs/nfsfs/volumes' should be able to tell you if your server is exporting more than one volume.
Cheers
Trond
A message that is not in the archive (sent off-list or not yet received): 1225116112.7842.3.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org
Quoted 7 lines · Trond Myklebust
Quoted 3 lines
When I look with "nfsstat -m", I can see a lot of mount points for each user, including the directory which cannot be deleted. One user had a total of 200 mounts!
If /export/username is on a different volume from /export on the server, then the NFS client has to mount it as being a different volume on the client. 'cat
/proc/fs/nfsfs/volumes' should be able to tell you if your server is exporting more than one volume.
/export and /export/home/username are different volumes, but I only share /export/home/username. Also it is not only the homedirectory itself but many subdirectories which cause this error. A sample output from 'nfsstat -m':
-----
/home/username from fileserver:/export/home/username
Flags: rw,vers=3,rsize=1048576,wsize=1048576,hard,intr,proto=tcp,timeo=600,retrans=2,sec=sys,addr=fileserver
/home/username/workspace/ls5/da/text/Konzept from fileserver:/export/home/username/workspace/ls5/da/text/Konzept
Flags: rw,vers=3,rsize=1048576,wsize=1048576,hard,intr,proto=tcp,timeo=600,retrans=2,sec=sys,addr=fileserver
/home/username/.eclipse/org.eclipse.platform_3.3.0_1148896627 from fileserver:/export/home/username/.eclipse/org.eclipse.platform_3.3.0_1148896627
Flags: rw,vers=3,rsize=1048576,wsize=1048576,hard,intr,proto=tcp,timeo=600,retrans=2,sec=sys,addr=fileserver
[...]
-----
The output from /proc/fs/nfsfs/volumes looks like:
NV SERVER PORT DEV FSID v3 81d91add 801 0:29 1000001009f:0 v3 81d91add 801 0:27 1000001010f:0 v3 81d91ade 801 0:30 100000100f1:0 v3 81d91add 801 0:31 1000001018b:0 v3 81d91add 801 0:26 10000010189:0 v3 81d91ade 801 0:28 100000100ef:0 v3 81d91ade 801 0:32 100000100f6:0 v3 81d91add 801 0:33 10000010192:0
- Stephan
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 3 lines · On Mon, 2008-10-27 at 15:29 +0100, Stephan Windm=C3=BCller wrote:
On Mon, 27. Oct 2008, Trond Myklebust wrote:
=20Quoted 1 line
Quoted 1 line
When I look with "nfsstat -m", I can see a lot of mount points fo=
r each
Quoted 1 line
Quoted 1 line
Quoted 1 line
user, including the directory which cannot be deleted. One user h=
ad a
Quoted 2 lines
Quoted 2 lines
Quoted 1 line
total of 200 mounts!
If /export/username is on a different volume from /export on the se=
rver,
Quoted 1 line
Quoted 1 line
then the NFS client has to mount it as being a different volume on =
the
Quoted 1 line
Quoted 1 line
client. 'cat
/proc/fs/nfsfs/volumes' should be able to tell you if =
your
Quoted 5 lines
Quoted 1 line
server is exporting more than one volume.
=20
/export and /export/home/username are different volumes, but I only share /export/home/username. Also it is not only the homedirectory itself but many subdirectories which cause this error. A sample outpu=
t
Quoted 6 lines
from 'nfsstat -m':
=20
-----
=20/home/usernamefrom fileserver:/export/home/username
Flags: rw,vers=3D3,rsize=3D1048576,wsize=3D1048576,hard,intr,proto=3D=
tcp,timeo=3D600,retrans=3D2,sec=3Dsys,addr=3Dfileserver
Quoted 4 lines
=20
/home/username/workspace/ls5/da/text/Konzeptfrom fileserver:/export/home/username/workspace/ls5/da/text/Konzept
Flags: rw,vers=3D3,rsize=3D1048576,wsize=3D1048576,hard,intr,proto=3D=
tcp,timeo=3D600,retrans=3D2,sec=3Dsys,addr=3Dfileserver
Quoted 3 lines
=20
/home/username/.eclipse/org.eclipse.platform_3.3.0_1148896627from fileserver:/export/home/username/.eclipse/org.eclipse.platform_3.3.0_=
1148896627
Quoted 1 line
Flags: rw,vers=3D3,rsize=3D1048576,wsize=3D1048576,hard,intr,proto=3D=
tcp,timeo=3D600,retrans=3D2,sec=3Dsys,addr=3Dfileserver
Quoted 7 lines
=20
[...]
=20
-----
=20
The output from/proc/fs/nfsfs/volumeslooks like:
=20
Quoted 9 lines
NV SERVER PORT DEV FSID v3 81d91add 801 0:29 1000001009f:0 v3 81d91add 801 0:27 1000001010f:0 v3 81d91ade 801 0:30 100000100f1:0 v3 81d91add 801 0:31 1000001018b:0 v3 81d91add 801 0:26 10000010189:0 v3 81d91ade 801 0:28 100000100ef:0 v3 81d91ade 801 0:32 100000100f6:0 v3 81d91add 801 0:33 10000010192:0
Which shows you have at least 5 different volumes mounted from server 129.217.26.221, and 3 different volumes mounted from server 129.217.26.222.
As I said earlier, every time you cross from one volume to another (eve= n
if it is on the same server), a mountpoint is automatically created. Otherwise, you would have issues with two different files possibly sharing the same inode number on the same NFS filesystem.
Cheers
Trond
A message that is not in the archive (sent off-list or not yet received): 1225119712.14242.10.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org
Quoted 2 lines · Trond Myklebust
As I said earlier, every time you cross from one volume to another (even if it is on the same server), a mountpoint is automatically created.
How do I "cross from one volume to another"? Is there something I can test to reproduce this behaviour? It seems that not all users have this problem.
On the server I shared every single home directory instead of /export/home. Could this be the cause of the problem?
- Stephan
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi
Quoted 3 lines · On Wed, 2008-10-29 at 16:09 +0100, Stephan Windm=C3=BCller wrote:
On Mon, 27. Oct 2008, Trond Myklebust wrote:
=20Quoted 1 line
As I said earlier, every time you cross from one volume to another =
(even
Quoted 1 line
Quoted 1 line
if it is on the same server), a mountpoint is automatically created=
=2E
Quoted 2 lines
=20
How do I "cross from one volume to another"?=20
When a user traverses the NFS namespace on the client, and crosses from one server volume to another (fsid change) the NFS client software automagically does a mount. This is required to avoid inode number collisions.
Quoted 2 lines
Is there something I can
test to reproduce this behaviour? It seems that not all users have th=
is
Quoted 1 line
problem.
That's because all users don't traverse the file system in the same way= =2E
Quoted 5 lines
=20
On the server I shared every single home directory instead of /export/home. Could this be the cause of the problem? =20
- Stephan