Re: [PATCH] Add "-e" option to rpc.gssd to allow error on ticketexpiry. Try 2 with added man pages.

From: Trond Myklebust
Date: Fri Nov 18 2011 - 17:37:37 EST


On Fri, 2011-11-18 at 23:33 +0100, John Hughes wrote:
> On 11/18/2011 10:03 PM, Trond Myklebust wrote:
> > On Fri, 2011-11-18 at 15:57 -0500, Jim Rees wrote:
> >
> >>
> >> The write() syscall doesn't indicate whether the data is safe or not. That
> >> would be the close() syscall.
> >>
> > fsync(). Which may succeed if the user renews their ticket first.
> > However you may still have data loss if dirty data has been lost because
> > of EKEYEXPIRED returns on the WRITE RPC call...
> >
> Only if the write(2) returned EKEYEXPIRED, surely,

What part of "write is asynchronous" is so hard to understand?

> > Also, for the fsync() to return EKEYEXPIRED _after_ the user has renewed
> > their ticket would seem counter-intuitive to most people.
> >
>
> I would want to know if data was lost.
>
> Intuition means nothing if I get an error.
>
> If it were possible I'd like:
>
> 1. write works
> 1a. WRITE RPC fails, data stays in cache
> 2. ticket renewed
> 3. fsync works, data written

Which is _exactly_ how it works today, so what is the problem?

--
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com

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