Re: [PATCH v4 07/10] NFSD create new stateid for async copy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 28, 2017 at 03:21:54PM -0400, Olga Kornievskaia wrote:
> On Thu, Sep 28, 2017 at 3:12 PM, J. Bruce Fields <bfields@xxxxxxxxxx> wrote:
> > On Thu, Sep 28, 2017 at 01:29:42PM -0400, Olga Kornievskaia wrote:
> >> Generate a new stateid to be used for reply to the asynchronous
> >> COPY (this would also be used later by COPY_NOTIFY as well).
> >> Associate the stateid with the parent OPEN/LOCK/DELEG stateid
> >> that can be freed during the free of the parent stateid. However,
> >> right now deciding to bind the lifetime to when the vfs copy
> >> is done. This way don't need to keep the nfsd_net structure for
> >> the callback. The drawback is that time copy state information
> >> is available for query by OFFLOAD_STATUS is slightly less.
> >
> > I don't think we're under any obligation to handle OFFLOAD_STATUS after
> > the copy is done, are we?
> 
> It depends on how you define “copy is done”. I’d say copy is done once the
> server sent the CB_OFFLOAD. But I’m choosing to clear the state once the
> vfs_copy_file_range() is done. Then the callback is queued up (what if
> there is wait until the callback can be processed) and there is a period
> where if the client were to send a OFFLOAD_STATUS it should get the
> bytes representing the full copy but instead the client will get an error back.
> 
> I was worried about what if some implementation depend on querying for
> the status and stopping to poll only when they received that all bytes were
> copied and they might not get that with how the server is coded right now?

I don't see the spec providing any guarantee that the copy status be
kept around any minimum length of time, so I don't think a client would
be correct to do that.

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux