export.c (07f9479a40cc778bc1462ada11f95b01360ae4ff) export.c (68d93184352f2e723f135b0a9bad93b58f9d120b)
1/*
2 * NFS exporting and validation.
3 *
4 * We maintain a list of clients, each of which has a list of
5 * exports. To export an fs to a given client, you first have
6 * to create the client entry with NFSCTL_ADDCLIENT, which
7 * creates a client control block and adds it to the hash
8 * table. Then, you call NFSCTL_EXPORT for each fs.

--- 1340 unchanged lines hidden (view full) ---

1349{
1350 struct svc_export *exp;
1351 __be32 rv;
1352
1353 exp = find_fsidzero_export(rqstp);
1354 if (IS_ERR(exp))
1355 return nfserrno(PTR_ERR(exp));
1356 rv = fh_compose(fhp, exp, exp->ex_path.dentry, NULL);
1/*
2 * NFS exporting and validation.
3 *
4 * We maintain a list of clients, each of which has a list of
5 * exports. To export an fs to a given client, you first have
6 * to create the client entry with NFSCTL_ADDCLIENT, which
7 * creates a client control block and adds it to the hash
8 * table. Then, you call NFSCTL_EXPORT for each fs.

--- 1340 unchanged lines hidden (view full) ---

1349{
1350 struct svc_export *exp;
1351 __be32 rv;
1352
1353 exp = find_fsidzero_export(rqstp);
1354 if (IS_ERR(exp))
1355 return nfserrno(PTR_ERR(exp));
1356 rv = fh_compose(fhp, exp, exp->ex_path.dentry, NULL);
1357 if (rv)
1358 goto out;
1359 rv = check_nfsd_access(exp, rqstp);
1360 if (rv)
1361 fh_put(fhp);
1362out:
1363 exp_put(exp);
1364 return rv;
1365}
1366
1367/* Iterator */
1368
1369static void *e_start(struct seq_file *m, loff_t *pos)
1370 __acquires(svc_export_cache.hash_lock)

--- 329 unchanged lines hidden ---
1357 exp_put(exp);
1358 return rv;
1359}
1360
1361/* Iterator */
1362
1363static void *e_start(struct seq_file *m, loff_t *pos)
1364 __acquires(svc_export_cache.hash_lock)

--- 329 unchanged lines hidden ---