7782 nfs: READDIR for referrals should conform to RFC 7530

Review Request #436 - Created April 22, 2017 and updated

Information
Vitaliy Gusev
illumos-gate
master
7782
80c3a0c...
Reviewers
general
marcel

7782 nfs: READDIR for referrals should conform to RFC 7530

This patch add returning error for whole READDIR operation if rdattr_error wasn't requested and:
- met referral
- any other error occured during getting attributes (it could be permission denied, for instance).

The patch intensionally misses first part of 8.3.2: returning success if fs_locations is set.

For more information look at Section 16.24.4:

"In some cases, the server may encounter an error while obtaining the
attributes for a directory entry..."

With Linux 4.8.5 kernel and vSphere-6.3. Both works fine.

For testing:

  1. Create nfs referral via nfsref: nfsref add somename 192.168.1.1:/data
  2. Do ls in directory that contains referral.

Linux client sends READDIR with rdattr_error attribute, but vSphere doesn't.

Before patch for vSphere client:
READDIR reply contains directory entry (that is referral) with empty attributes, i.e. w/o previously requested attributes.

After pathch for vSphere client:
READDIR reply with error NFS4ERR_MOVED, i.e. whole READDIR operation fails.

Issues

  • 0
  • 10
  • 1
  • 11
Description From Last Updated
Marcel Telka
Vitaliy Gusev
Vitaliy Gusev
Marcel Telka
Vitaliy Gusev
Vitaliy Gusev
Vitaliy Gusev
Toomas Soome
Toomas Soome
Marcel Telka
Vitaliy Gusev
Marcel Telka
Vitaliy Gusev
Review request changed

Change Summary:

Updated according with Marcel's comments.

Commit:

-ec687c65ee9b2e64439870e27afd8c26ccefb4c0
+80c3a0c0bec5fa1e0da63be2767841aa019ab3ad

Diff:

Revision 6 (+123 -140)

Show changes

Loading...