Project

General

Profile

Actions

Bug #16390

open

BACKCHANNEL op implementation.

Added by Toomas Soome 2 months ago. Updated 2 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
nfs - NFS server and client
Start date:
Due date:
% Done:

90%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

Original description:

    FIR-484 - BACKCHANNEL op implementation.

    Reviewed by: Suresh Jayaraman <sjayaraman@tintri.com>
    Reviewed by: Spoorthi M <smuralidhara@tintri.com>
    Reviewed by: Evan Layton <elayton@tintri.com>

Backchannel is mandatory feature for NFS 4.1 support. The original implementation is changed by me (Toomas Soome) to use sys/list.h API instead of custom list code. The reason for this update is, there was bug in original implementation, the freed list item was left in list and when the referred memory got reused, we got "garbage" in our list. Instead of attempting to fix this custom list code, I figured it is more appropriate to use existing API.

It also may be good idea to use kmem cache for struct cm_xprt allocations, but if at all, it should be done with followup work.

Testing done: used pynfs nfs 4.1 testkit, no panics (after change to use list.h API), results from illumos-gate:

Command line asked for 171 of 262 tests
Of those: 0 Skipped, 32 Failed, 0 Warned, 139 Passed

and results from backchannel branch:

Command line asked for 171 of 262 tests
Of those: 0 Skipped, 16 Failed, 0 Warned, 155 Passed

This work is picked up from https://github.com/Nexenta/illumos-nexenta/tree/upstream-queue-nfs41


Related issues

Blocks illumos gate - Bug #16447: NFS 4.1 OPEN and OPEN_DOWNGRADE need proper implementation of WANT DELEG supportNewVitaliy Gusev

Actions
Actions

Also available in: Atom PDF