lkml.org 
[lkml]   [2008]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: nfs server patches for 2.6.25
    From
    Date

    fre, 25 01 2008 kl. 18:15 -0500, skrev J. Bruce Fields:
    > Below is a summary of the nfs server patches which I expect to submit
    > (any day now) for 2.6.25; please let me know if you notice anything
    > wrong or missing. I'll follow up to linux-nfs@vger.kernel.org with the
    > full list of patches.

    There are at least two patches that don't compile and break
    bisectability. The errors should be obvious, just checkout and make
    6f310df and 23b4e2e (patch no. 29 and 65 from the posting of the patch
    set on linux-nfs).

    [...]
    > J. Bruce Fields (34):
    > nfsd4: kill unnecessary same_name() in setclientid_confirm
    diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
    index 508b256..d026c24 100644
    --- a/fs/nfsd/nfs4state.c
    +++ b/fs/nfsd/nfs4state.c
    @@ -858,8 +857,7 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
    }
    } else if ((conf && !unconf) ||
    ((conf && unconf) &&
    - (!same_verf(&conf->cl_verifier, &unconf->cl_verifier) ||
    - !same_name(conf->cl_recdir, unconf->cl_recdir)))) {
    + !same_verf(&conf->cl_verifier, &unconf->cl_verifier)) {
    missing ending parenthesis ---------------------------------------^


    [...]
    > Tom Tucker (47):
    > svc: Make close transport independent
    diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
    index f86538e..6dffdda 100644
    --- a/net/sunrpc/svcsock.c
    +++ b/net/sunrpc/svcsock.c
    @@ -1912,66 +1911,63 @@ static void svc_sock_free(struct svc_xprt *xprt)
    }

    /*
    - * Remove a dead socket
    + * Remove a dead transport
    */
    -static void
    -svc_delete_socket(struct svc_sock *svsk)
    +static void svc_delete_xprt(struct svc_xprt *xprt)
    {
    - struct svc_serv *serv;
    - struct sock *sk;
    -
    - dprintk("svc: svc_delete_socket(%p)\n", svsk);
    -
    - serv = svsk->sk_xprt.xpt_server;
    - sk = svsk->sk_sk;
    + struct svc_serv *serv = xprt->xpt_server;

    - svsk->sk_xprt.xpt_ops->xpo_detach(&svsk->sk_xprt);
    + dprintk("svc: svc_delete_xprt(%p)\n", xprt);
    + xprt->xpt_ops->xpo_detach(xprt);

    spin_lock_bh(&serv->sv_lock);
    -
    - if (!test_and_set_bit(XPT_DETACHED, &svsk->sk_xprt.xpt_flags))
    - list_del_init(&svsk->sk_list);
    + if (!test_and_set_bit(XPT_DETACHED, &xprt->xpt_flags))
    + list_del_init(&xprt->xpt_list);
    /*
    - * We used to delete the svc_sock from whichever list
    - * it's sk_ready node was on, but we don't actually
    + * We used to delete the transport from whichever list
    + * it's sk_xprt.xpt_ready node was on, but we don't actually
    * need to. This is because the only time we're called
    * while still attached to a queue, the queue itself
    * is about to be destroyed (in svc_destroy).
    */
    - if (!test_and_set_bit(XPT_DEAD, &svsk->sk_xprt.xpt_flags)) {
    - BUG_ON(atomic_read(&svsk->sk_xprt.xpt_ref.refcount) <
    2);
    - if (test_bit(XPT_TEMP, &svsk->sk_xprt.xpt_flags))
    + if (!test_and_set_bit(XPT_DEAD, &xprt->xpt_flags)) {
    + BUG_ON(atomic_read(&xprt->xpt_ref.refcount) < 2);
    + if (test_bit(XPT_TEMP, &xprt->xpt_flags))
    serv->sv_tmpcnt--;
    svc_xprt_put(&svsk->sk_xprt);
    should have been
    svc_xprt_put(&xprt);

    There might be more errors in the next 15 patches or so; I didn't test
    them with this error corrected.



    Simon Holm Thøgersen

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2008-01-27 21:41    [W:0.024 / U:121.240 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site