Commit 81039f1f204a0fd2952112a240284e114f1a25e6

Authored by Trond Myklebust
1 parent f7b422b17e

NFS: Display the chosen RPCSEC_GSS security flavour in /proc/mounts

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

Showing 3 changed files with 32 additions and 0 deletions Side-by-side Diff

... ... @@ -318,6 +318,34 @@
318 318  
319 319 }
320 320  
  321 +static const char *nfs_pseudoflavour_to_name(rpc_authflavor_t flavour)
  322 +{
  323 + static struct {
  324 + rpc_authflavor_t flavour;
  325 + const char *str;
  326 + } sec_flavours[] = {
  327 + { RPC_AUTH_NULL, "null" },
  328 + { RPC_AUTH_UNIX, "sys" },
  329 + { RPC_AUTH_GSS_KRB5, "krb5" },
  330 + { RPC_AUTH_GSS_KRB5I, "krb5i" },
  331 + { RPC_AUTH_GSS_KRB5P, "krb5p" },
  332 + { RPC_AUTH_GSS_LKEY, "lkey" },
  333 + { RPC_AUTH_GSS_LKEYI, "lkeyi" },
  334 + { RPC_AUTH_GSS_LKEYP, "lkeyp" },
  335 + { RPC_AUTH_GSS_SPKM, "spkm" },
  336 + { RPC_AUTH_GSS_SPKMI, "spkmi" },
  337 + { RPC_AUTH_GSS_SPKMP, "spkmp" },
  338 + { -1, "unknown" }
  339 + };
  340 + int i;
  341 +
  342 + for (i=0; sec_flavours[i].flavour != -1; i++) {
  343 + if (sec_flavours[i].flavour == flavour)
  344 + break;
  345 + }
  346 + return sec_flavours[i].str;
  347 +}
  348 +
321 349 /*
322 350 * Describe the mount options in force on this server representation
323 351 */
... ... @@ -371,6 +399,7 @@
371 399 seq_printf(m, ",proto=%s", proto);
372 400 seq_printf(m, ",timeo=%lu", 10U * nfss->retrans_timeo / HZ);
373 401 seq_printf(m, ",retrans=%u", nfss->retrans_count);
  402 + seq_printf(m, ",sec=%s", nfs_pseudoflavour_to_name(nfss->client->cl_auth->au_flavor));
374 403 }
375 404  
376 405 /*
net/sunrpc/auth_null.c
... ... @@ -118,6 +118,8 @@
118 118 .au_cslack = 4,
119 119 .au_rslack = 2,
120 120 .au_ops = &authnull_ops,
  121 + .au_flavor = RPC_AUTH_NULL,
  122 + .au_count = ATOMIC_INIT(0),
121 123 };
122 124  
123 125 static
net/sunrpc/auth_unix.c
... ... @@ -225,6 +225,7 @@
225 225 .au_cslack = UNX_WRITESLACK,
226 226 .au_rslack = 2, /* assume AUTH_NULL verf */
227 227 .au_ops = &authunix_ops,
  228 + .au_flavor = RPC_AUTH_UNIX,
228 229 .au_count = ATOMIC_INIT(0),
229 230 .au_credcache = &unix_cred_cache,
230 231 };