Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
No, you shouldn't. We could theoretically introduce a new API for this,
but I think it would be preferable if you can fix the race in the fs.
Actually, I might be able to do better.
When making a StoreData call to the AFS server, I send all the parameters
first, and at that point, the server will abort it, I think, if permission is
not available, and won't wait for the payload to be delivered.
So if I tell AF_RXRPC to send the parameter data with an explicit ACK request
and then wait till it's either hard-ACK'd or aborted, I should then be able to
deal with the permissions failure at a state where I have locked *all* the
pages to be sent.
At that point, I should be able to tell truncate to simple discard all these
locked pages.
How's that sound?