Re: [Problem]NFS Server â Umount results in Device Busy.

From: J. Bruce Fields
Date: Thu May 10 2012 - 06:38:13 EST


On Thu, May 10, 2012 at 06:59:32AM +0000, AMIT SAHRAWAT wrote:
> Linux Kernel: 2.6.35.14
>
> We are using NFS for data transfer from one target to another target.
> On Server we are using 3 mount points â to be used by application. And they are mentioned in /etc/exports
>
> When initially just NFS Server is started -We can mount and safely un-mount the NFS mount point.
> Now, when NFS client is started and we mount at the client. Without doing any IO â if we do un-mount at the NFS Client âit un-mounts safely.
> But â when tried to un-mount the device at the NFS server â it results in error âDevice Busyâ
> âumount: can't umount /mnt: Device or resource busyâ
>
> Now , in order to umount the device - we have to kill the process ânfsdâ â and then it un-mounts easily.
>
> As per our understanding â it should not be an issue with the un-mount when it is not being used and also there should be no dependency to kill ânfsdâ to un-mount the device.
>
> It leads to problem of killing ânfsdâ and restarting it â to make other mount points work without issue.
>
> Is there any method to un-mount the device without getting this âBUSYâ error? Or can we kill only nfsd service which was using that mount point?

If all the clients unmount, and then you run "exportfs -f" on the
server, you'll probably find you can then unmount the export.

But stopping nfsd is the most reliable way to ensure you can unmount the
exported filesystems. I'd recommend doing that using your distro's nfs
scripts (so "service nfs stop" or "systemctl nfs-server.service stop" or
equivalent) rather than killing nfsd yourself.

--b.

> Please share your input on the solution to the above problem. Is this expected behavior?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/