Re: Grace period NEVER ends

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

 



On Fri, Aug 12, 2011 at 10:32 AM, J. Bruce Fields <bfields@xxxxxxxxxx> wrote:
> On Fri, Aug 12, 2011 at 10:08:03AM -0400, Casey Bodley wrote:
>> On Thu, Aug 11, 2011 at 10:15 PM, J. Bruce Fields <bfields@xxxxxxxxxx> wrote:
>> > On Thu, Aug 11, 2011 at 06:29:20PM -0700, Boaz Harrosh wrote:
>> >> With this patch I'm back to the previous behavior. That is
>> >> wait your grace period then continue.
>> >
>> > Is it true for some reason that the client never sends RECLAIM_COMPLETE?
>>
>> I tested this yesterday with the windows client and saw the same
>> never-ending grace period on OPEN.  We do send RECLAIM_COMPLETE, and
>> it completes successfully.  Other operations like CREATE and REMOVE
>> succeed as well.
>
> Argh.  Does this help?

Bruce, I've not been able to reproduce since applying this patch.

>
> Unfortunately, this doesn't explain Malcolm Locke's problem, as it's 4.1
> specific.
>
> --b.
>
> commit d43b4d070a24edcbe5f5e9ffcf7a33bbeccdd47d
> Author: J. Bruce Fields <bfields@xxxxxxxxxx>
> Date:   Fri Aug 12 10:27:18 2011 -0400
>
>    nfsd4: fix failure to end nfsd4 grace period
>
>    Even if we fail to write a recovery record to stable storage, we should
>    still mark the client as having acquired its first state.  Otherwise we
>    leave 4.1 clients with indefinite ERR_GRACE returns.
>
>    Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx>
>
> diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
> index 29d77f6..4c7537d 100644
> --- a/fs/nfsd/nfs4recover.c
> +++ b/fs/nfsd/nfs4recover.c
> @@ -156,10 +156,9 @@ out_put:
>        dput(dentry);
>  out_unlock:
>        mutex_unlock(&dir->d_inode->i_mutex);
> -       if (status == 0) {
> -               clp->cl_firststate = 1;
> +       if (status == 0)
>                vfs_fsync(rec_file, 0);
> -       }
> +       clp->cl_firststate = 1;
>        nfs4_reset_creds(original_cred);
>        dprintk("NFSD: nfsd4_create_clid_dir returns %d\n", status);
>        return status;
>
--
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