Re: [RFC PATCH] nfs: Add NFS3PROC_UMOUNT procedure.

From: Fields James
Date: Tue Jun 26 2012 - 07:10:28 EST


On Tue, Jun 26, 2012 at 02:51:52PM +0900, Namjae Jeon wrote:
> 2012/6/25, Fields James <bfields@xxxxxxxxxxxx>:
> > On Sun, Jun 24, 2012 at 02:12:49PM +0900, Namjae Jeon wrote:
> >> 2012/6/24, Fields James <bfields@xxxxxxxxxxxx>:
> >> > On Sat, Jun 23, 2012 at 11:57:10AM -0400, Fields James wrote:
> >> >> On Sat, Jun 23, 2012 at 03:52:20PM +0000, Myklebust, Trond wrote:
> >> >> > The other objection is that NFSv3 already has a way to do this via
> >> >> > the
> >> >> > MOUNT protocol. We already call MOUNTPROC3_UMNT/MOUNTPROC_UMNT on
> >> >> > unmount of a filesystem.
> >> >> >
> >> >> > The problem with this approach is that if the NFS client crashes
> >> >> > before
> >> >> > it can call this function, then the server never gets notified. That
> >> >> > is
> >> >> > a problem that your patch has too...
> >> >>
> >> >> Yes. Could you instead work on describing *exactly* what the original
> >> >> problem was that prompted this?
> >> >
> >> > ("You" here meaning Namjae Jeon, of course).
> >> >
> >> > And note here we've all read the changelog, that's not what I'm asking
> >> > for.
> >> >
> >> > I want to know the details of *your* specific case. "I have X clients
> >> > that I use for Y, periodically I want to unmount the exported
> >> > filesystem
> >> > to do Z, I tried doing W but it didn't work...".
> >> As you remember, We discussed this
> >> issue(http://www.spinics.net/lists/linux-nfs/msg29997.html) with you
> >> before. you guided me to use exportfs -f call on nfs server.
> >> It is hard to use this method on our system
> >
> > Why is it hard?
> Two target are connected by only nfs.. we can't manually hand exportfs -f..

So how can you call umount?

--b.

> And I should make each new App on client / server to call exportfs -f.
> >
> > Could you hack umount to do the equivalent of "exportfs -f" before
> > calling the umount?
> Good Idea! I will check your suggestion.
>
> >
> >> and nomally the user is
> >> thinking it is problem device busy happen after umounting.
> >>
> >> The details of specific case.
> >> 1. There are two target or two PC. and Client want to access files of
> >> usb device on server.
> >> 2. the client try to mount usb mount point using nfs on sever after
> >> plugging usb device.
> >> 3. we try to umount mount point directory on client.
> >> 4. and when we try to umount usb device mount directory server, device
> >> busy message occured like this (umount: can't umount /mnt: Device or
> >> resource busy)
> >
> > Right, so I don't think you want protocol modifications. They take a
> > few years to get hammered out and then make it into implementations, and
> > they won't help a great deal with your problem anyway. (Because of
> > problems like the possibility of lost "unmount" calls that Trond
> > mentions.)
> >
> > Either modify umount itself to flush the export cache before attempting
> > the unmount, or if that doesn't work perhaps you could patch the kernel
> > to notify nfsd on unmount and let it attemt to clear its caches before
> > deciding whether the filesystem is busy.
> After checking your suggestion I will share with you.
> Thanks a lot. James.
> >
> > --b.
> >
--
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/