| .. | .. |
|---|
| 15 | 15 | #define NFS_DEF_FILE_IO_SIZE (4096U) |
|---|
| 16 | 16 | #define NFS_MIN_FILE_IO_SIZE (1024U) |
|---|
| 17 | 17 | |
|---|
| 18 | +#define NFS_BITMASK_SZ 3 |
|---|
| 19 | + |
|---|
| 18 | 20 | struct nfs4_string { |
|---|
| 19 | 21 | unsigned int len; |
|---|
| 20 | 22 | char *data; |
|---|
| .. | .. |
|---|
| 62 | 64 | struct nfs_fsid fsid; |
|---|
| 63 | 65 | __u64 fileid; |
|---|
| 64 | 66 | __u64 mounted_on_fileid; |
|---|
| 65 | | - struct timespec atime; |
|---|
| 66 | | - struct timespec mtime; |
|---|
| 67 | | - struct timespec ctime; |
|---|
| 67 | + struct timespec64 atime; |
|---|
| 68 | + struct timespec64 mtime; |
|---|
| 69 | + struct timespec64 ctime; |
|---|
| 68 | 70 | __u64 change_attr; /* NFSv4 change attribute */ |
|---|
| 69 | 71 | __u64 pre_change_attr;/* pre-op NFSv4 change attribute */ |
|---|
| 70 | 72 | __u64 pre_size; /* pre_op_attr.size */ |
|---|
| 71 | | - struct timespec pre_mtime; /* pre_op_attr.mtime */ |
|---|
| 72 | | - struct timespec pre_ctime; /* pre_op_attr.ctime */ |
|---|
| 73 | + struct timespec64 pre_mtime; /* pre_op_attr.mtime */ |
|---|
| 74 | + struct timespec64 pre_ctime; /* pre_op_attr.ctime */ |
|---|
| 73 | 75 | unsigned long time_start; |
|---|
| 74 | 76 | unsigned long gencount; |
|---|
| 75 | 77 | struct nfs4_string *owner_name; |
|---|
| 76 | 78 | struct nfs4_string *group_name; |
|---|
| 77 | 79 | struct nfs4_threshold *mdsthreshold; /* pNFS threshold hints */ |
|---|
| 80 | + struct nfs4_label *label; |
|---|
| 78 | 81 | }; |
|---|
| 79 | 82 | |
|---|
| 80 | 83 | #define NFS_ATTR_FATTR_TYPE (1U << 0) |
|---|
| .. | .. |
|---|
| 143 | 146 | __u32 wtmult; /* writes should be multiple of this */ |
|---|
| 144 | 147 | __u32 dtpref; /* pref. readdir transfer size */ |
|---|
| 145 | 148 | __u64 maxfilesize; |
|---|
| 146 | | - struct timespec time_delta; /* server time granularity */ |
|---|
| 149 | + struct timespec64 time_delta; /* server time granularity */ |
|---|
| 147 | 150 | __u32 lease_time; /* in seconds */ |
|---|
| 148 | 151 | __u32 nlayouttypes; /* number of layouttypes */ |
|---|
| 149 | 152 | __u32 layouttype[NFS_MAX_LAYOUT_TYPES]; /* supported pnfs layout driver */ |
|---|
| 150 | 153 | __u32 blksize; /* preferred pnfs io block size */ |
|---|
| 151 | 154 | __u32 clone_blksize; /* granularity of a CLONE operation */ |
|---|
| 155 | + __u32 xattr_support; /* User xattrs supported */ |
|---|
| 152 | 156 | }; |
|---|
| 153 | 157 | |
|---|
| 154 | 158 | struct nfs_fsstat { |
|---|
| .. | .. |
|---|
| 270 | 274 | struct nfs4_layoutget { |
|---|
| 271 | 275 | struct nfs4_layoutget_args args; |
|---|
| 272 | 276 | struct nfs4_layoutget_res res; |
|---|
| 273 | | - struct rpc_cred *cred; |
|---|
| 277 | + const struct cred *cred; |
|---|
| 274 | 278 | gfp_t gfp_flags; |
|---|
| 275 | 279 | }; |
|---|
| 276 | 280 | |
|---|
| .. | .. |
|---|
| 309 | 313 | struct rpc_task task; |
|---|
| 310 | 314 | struct nfs_fattr fattr; |
|---|
| 311 | 315 | struct list_head lseg_list; |
|---|
| 312 | | - struct rpc_cred *cred; |
|---|
| 316 | + const struct cred *cred; |
|---|
| 313 | 317 | struct inode *inode; |
|---|
| 314 | 318 | struct nfs4_layoutcommit_args args; |
|---|
| 315 | 319 | struct nfs4_layoutcommit_res res; |
|---|
| .. | .. |
|---|
| 334 | 338 | struct nfs4_layoutreturn { |
|---|
| 335 | 339 | struct nfs4_layoutreturn_args args; |
|---|
| 336 | 340 | struct nfs4_layoutreturn_res res; |
|---|
| 337 | | - struct rpc_cred *cred; |
|---|
| 341 | + const struct cred *cred; |
|---|
| 338 | 342 | struct nfs_client *clp; |
|---|
| 339 | 343 | struct inode *inode; |
|---|
| 340 | 344 | int rpc_status; |
|---|
| .. | .. |
|---|
| 381 | 385 | struct inode *inode; |
|---|
| 382 | 386 | struct nfs42_layoutstat_args args; |
|---|
| 383 | 387 | struct nfs42_layoutstat_res res; |
|---|
| 388 | +}; |
|---|
| 389 | + |
|---|
| 390 | +struct nfs42_device_error { |
|---|
| 391 | + struct nfs4_deviceid dev_id; |
|---|
| 392 | + int status; |
|---|
| 393 | + enum nfs_opnum4 opnum; |
|---|
| 394 | +}; |
|---|
| 395 | + |
|---|
| 396 | +struct nfs42_layout_error { |
|---|
| 397 | + __u64 offset; |
|---|
| 398 | + __u64 length; |
|---|
| 399 | + nfs4_stateid stateid; |
|---|
| 400 | + struct nfs42_device_error errors[1]; |
|---|
| 401 | +}; |
|---|
| 402 | + |
|---|
| 403 | +#define NFS42_LAYOUTERROR_MAX 5 |
|---|
| 404 | + |
|---|
| 405 | +struct nfs42_layouterror_args { |
|---|
| 406 | + struct nfs4_sequence_args seq_args; |
|---|
| 407 | + struct inode *inode; |
|---|
| 408 | + unsigned int num_errors; |
|---|
| 409 | + struct nfs42_layout_error errors[NFS42_LAYOUTERROR_MAX]; |
|---|
| 410 | +}; |
|---|
| 411 | + |
|---|
| 412 | +struct nfs42_layouterror_res { |
|---|
| 413 | + struct nfs4_sequence_res seq_res; |
|---|
| 414 | + unsigned int num_errors; |
|---|
| 415 | + int rpc_status; |
|---|
| 416 | +}; |
|---|
| 417 | + |
|---|
| 418 | +struct nfs42_layouterror_data { |
|---|
| 419 | + struct nfs42_layouterror_args args; |
|---|
| 420 | + struct nfs42_layouterror_res res; |
|---|
| 421 | + struct inode *inode; |
|---|
| 422 | + struct pnfs_layout_segment *lseg; |
|---|
| 384 | 423 | }; |
|---|
| 385 | 424 | |
|---|
| 386 | 425 | struct nfs42_clone_args { |
|---|
| .. | .. |
|---|
| 489 | 528 | fmode_t fmode; |
|---|
| 490 | 529 | u32 share_access; |
|---|
| 491 | 530 | const u32 * bitmask; |
|---|
| 531 | + u32 bitmask_store[NFS_BITMASK_SZ]; |
|---|
| 492 | 532 | struct nfs4_layoutreturn_args *lr_args; |
|---|
| 493 | 533 | }; |
|---|
| 494 | 534 | |
|---|
| .. | .. |
|---|
| 571 | 611 | struct nfs4_sequence_args seq_args; |
|---|
| 572 | 612 | const struct nfs_fh *fhandle; |
|---|
| 573 | 613 | const nfs4_stateid *stateid; |
|---|
| 574 | | - const u32 * bitmask; |
|---|
| 614 | + const u32 *bitmask; |
|---|
| 615 | + u32 bitmask_store[NFS_BITMASK_SZ]; |
|---|
| 575 | 616 | struct nfs4_layoutreturn_args *lr_args; |
|---|
| 576 | 617 | }; |
|---|
| 577 | 618 | |
|---|
| .. | .. |
|---|
| 608 | 649 | __u32 count; |
|---|
| 609 | 650 | unsigned int pgbase; |
|---|
| 610 | 651 | struct page ** pages; |
|---|
| 611 | | - const u32 * bitmask; /* used by write */ |
|---|
| 612 | | - enum nfs3_stable_how stable; /* used by write */ |
|---|
| 652 | + union { |
|---|
| 653 | + unsigned int replen; /* used by read */ |
|---|
| 654 | + struct { |
|---|
| 655 | + const u32 * bitmask; /* used by write */ |
|---|
| 656 | + u32 bitmask_store[NFS_BITMASK_SZ]; /* used by write */ |
|---|
| 657 | + enum nfs3_stable_how stable; /* used by write */ |
|---|
| 658 | + }; |
|---|
| 659 | + }; |
|---|
| 613 | 660 | }; |
|---|
| 614 | 661 | |
|---|
| 615 | 662 | struct nfs_pgio_res { |
|---|
| 616 | 663 | struct nfs4_sequence_res seq_res; |
|---|
| 617 | 664 | struct nfs_fattr * fattr; |
|---|
| 618 | | - __u32 count; |
|---|
| 665 | + __u64 count; |
|---|
| 619 | 666 | __u32 op_status; |
|---|
| 620 | | - int eof; /* used by read */ |
|---|
| 621 | | - struct nfs_writeverf * verf; /* used by write */ |
|---|
| 622 | | - const struct nfs_server *server; /* used by write */ |
|---|
| 623 | | - |
|---|
| 667 | + union { |
|---|
| 668 | + struct { |
|---|
| 669 | + unsigned int replen; /* used by read */ |
|---|
| 670 | + int eof; /* used by read */ |
|---|
| 671 | + }; |
|---|
| 672 | + struct { |
|---|
| 673 | + struct nfs_writeverf * verf; /* used by write */ |
|---|
| 674 | + const struct nfs_server *server; /* used by write */ |
|---|
| 675 | + }; |
|---|
| 676 | + }; |
|---|
| 624 | 677 | }; |
|---|
| 625 | 678 | |
|---|
| 626 | 679 | /* |
|---|
| .. | .. |
|---|
| 823 | 876 | struct nfs_fh * fh; |
|---|
| 824 | 877 | struct iattr * sattr; |
|---|
| 825 | 878 | unsigned int guard; |
|---|
| 826 | | - struct timespec guardtime; |
|---|
| 879 | + struct timespec64 guardtime; |
|---|
| 827 | 880 | }; |
|---|
| 828 | 881 | |
|---|
| 829 | 882 | struct nfs3_diropargs { |
|---|
| .. | .. |
|---|
| 1180 | 1233 | |
|---|
| 1181 | 1234 | struct nfs4_secinfo_flavors { |
|---|
| 1182 | 1235 | unsigned int num_flavors; |
|---|
| 1183 | | - struct nfs4_secinfo4 flavors[0]; |
|---|
| 1236 | + struct nfs4_secinfo4 flavors[]; |
|---|
| 1184 | 1237 | }; |
|---|
| 1185 | 1238 | |
|---|
| 1186 | 1239 | struct nfs4_secinfo_arg { |
|---|
| .. | .. |
|---|
| 1219 | 1272 | struct pnfs_commit_bucket { |
|---|
| 1220 | 1273 | struct list_head written; |
|---|
| 1221 | 1274 | struct list_head committing; |
|---|
| 1222 | | - struct pnfs_layout_segment *wlseg; |
|---|
| 1223 | | - struct pnfs_layout_segment *clseg; |
|---|
| 1275 | + struct pnfs_layout_segment *lseg; |
|---|
| 1224 | 1276 | struct nfs_writeverf direct_verf; |
|---|
| 1225 | 1277 | }; |
|---|
| 1226 | 1278 | |
|---|
| 1279 | +struct pnfs_commit_array { |
|---|
| 1280 | + struct list_head cinfo_list; |
|---|
| 1281 | + struct list_head lseg_list; |
|---|
| 1282 | + struct pnfs_layout_segment *lseg; |
|---|
| 1283 | + struct rcu_head rcu; |
|---|
| 1284 | + refcount_t refcount; |
|---|
| 1285 | + unsigned int nbuckets; |
|---|
| 1286 | + struct pnfs_commit_bucket buckets[]; |
|---|
| 1287 | +}; |
|---|
| 1288 | + |
|---|
| 1227 | 1289 | struct pnfs_ds_commit_info { |
|---|
| 1228 | | - int nwritten; |
|---|
| 1229 | | - int ncommitting; |
|---|
| 1230 | | - int nbuckets; |
|---|
| 1231 | | - struct pnfs_commit_bucket *buckets; |
|---|
| 1290 | + struct list_head commits; |
|---|
| 1291 | + unsigned int nwritten; |
|---|
| 1292 | + unsigned int ncommitting; |
|---|
| 1293 | + const struct pnfs_commit_ops *ops; |
|---|
| 1232 | 1294 | }; |
|---|
| 1233 | 1295 | |
|---|
| 1234 | 1296 | struct nfs41_state_protection { |
|---|
| .. | .. |
|---|
| 1261 | 1323 | struct nfstime4 date; |
|---|
| 1262 | 1324 | }; |
|---|
| 1263 | 1325 | |
|---|
| 1326 | +#define MAX_BIND_CONN_TO_SESSION_RETRIES 3 |
|---|
| 1264 | 1327 | struct nfs41_bind_conn_to_session_args { |
|---|
| 1265 | 1328 | struct nfs_client *client; |
|---|
| 1266 | 1329 | struct nfs4_sessionid sessionid; |
|---|
| 1267 | 1330 | u32 dir; |
|---|
| 1268 | 1331 | bool use_conn_in_rdma_mode; |
|---|
| 1332 | + int retries; |
|---|
| 1269 | 1333 | }; |
|---|
| 1270 | 1334 | |
|---|
| 1271 | 1335 | struct nfs41_bind_conn_to_session_res { |
|---|
| .. | .. |
|---|
| 1339 | 1403 | unsigned int status; |
|---|
| 1340 | 1404 | }; |
|---|
| 1341 | 1405 | |
|---|
| 1342 | | -static inline void |
|---|
| 1343 | | -nfs_free_pnfs_ds_cinfo(struct pnfs_ds_commit_info *cinfo) |
|---|
| 1344 | | -{ |
|---|
| 1345 | | - kfree(cinfo->buckets); |
|---|
| 1346 | | -} |
|---|
| 1347 | | - |
|---|
| 1348 | 1406 | #else |
|---|
| 1349 | 1407 | |
|---|
| 1350 | 1408 | struct pnfs_ds_commit_info { |
|---|
| 1351 | 1409 | }; |
|---|
| 1352 | | - |
|---|
| 1353 | | -static inline void |
|---|
| 1354 | | -nfs_free_pnfs_ds_cinfo(struct pnfs_ds_commit_info *cinfo) |
|---|
| 1355 | | -{ |
|---|
| 1356 | | -} |
|---|
| 1357 | 1410 | |
|---|
| 1358 | 1411 | #endif /* CONFIG_NFS_V4_1 */ |
|---|
| 1359 | 1412 | |
|---|
| .. | .. |
|---|
| 1389 | 1442 | |
|---|
| 1390 | 1443 | u64 count; |
|---|
| 1391 | 1444 | bool sync; |
|---|
| 1445 | + struct nl4_server *cp_src; |
|---|
| 1392 | 1446 | }; |
|---|
| 1393 | 1447 | |
|---|
| 1394 | 1448 | struct nfs42_write_res { |
|---|
| .. | .. |
|---|
| 1417 | 1471 | int osr_status; |
|---|
| 1418 | 1472 | }; |
|---|
| 1419 | 1473 | |
|---|
| 1474 | +struct nfs42_copy_notify_args { |
|---|
| 1475 | + struct nfs4_sequence_args cna_seq_args; |
|---|
| 1476 | + |
|---|
| 1477 | + struct nfs_fh *cna_src_fh; |
|---|
| 1478 | + nfs4_stateid cna_src_stateid; |
|---|
| 1479 | + struct nl4_server cna_dst; |
|---|
| 1480 | +}; |
|---|
| 1481 | + |
|---|
| 1482 | +struct nfs42_copy_notify_res { |
|---|
| 1483 | + struct nfs4_sequence_res cnr_seq_res; |
|---|
| 1484 | + |
|---|
| 1485 | + struct nfstime4 cnr_lease_time; |
|---|
| 1486 | + nfs4_stateid cnr_stateid; |
|---|
| 1487 | + struct nl4_server cnr_src; |
|---|
| 1488 | +}; |
|---|
| 1489 | + |
|---|
| 1420 | 1490 | struct nfs42_seek_args { |
|---|
| 1421 | 1491 | struct nfs4_sequence_args seq_args; |
|---|
| 1422 | 1492 | |
|---|
| .. | .. |
|---|
| 1433 | 1503 | u32 sr_eof; |
|---|
| 1434 | 1504 | u64 sr_offset; |
|---|
| 1435 | 1505 | }; |
|---|
| 1436 | | -#endif |
|---|
| 1506 | + |
|---|
| 1507 | +struct nfs42_setxattrargs { |
|---|
| 1508 | + struct nfs4_sequence_args seq_args; |
|---|
| 1509 | + struct nfs_fh *fh; |
|---|
| 1510 | + const char *xattr_name; |
|---|
| 1511 | + u32 xattr_flags; |
|---|
| 1512 | + size_t xattr_len; |
|---|
| 1513 | + struct page **xattr_pages; |
|---|
| 1514 | +}; |
|---|
| 1515 | + |
|---|
| 1516 | +struct nfs42_setxattrres { |
|---|
| 1517 | + struct nfs4_sequence_res seq_res; |
|---|
| 1518 | + struct nfs4_change_info cinfo; |
|---|
| 1519 | +}; |
|---|
| 1520 | + |
|---|
| 1521 | +struct nfs42_getxattrargs { |
|---|
| 1522 | + struct nfs4_sequence_args seq_args; |
|---|
| 1523 | + struct nfs_fh *fh; |
|---|
| 1524 | + const char *xattr_name; |
|---|
| 1525 | + size_t xattr_len; |
|---|
| 1526 | + struct page **xattr_pages; |
|---|
| 1527 | +}; |
|---|
| 1528 | + |
|---|
| 1529 | +struct nfs42_getxattrres { |
|---|
| 1530 | + struct nfs4_sequence_res seq_res; |
|---|
| 1531 | + size_t xattr_len; |
|---|
| 1532 | +}; |
|---|
| 1533 | + |
|---|
| 1534 | +struct nfs42_listxattrsargs { |
|---|
| 1535 | + struct nfs4_sequence_args seq_args; |
|---|
| 1536 | + struct nfs_fh *fh; |
|---|
| 1537 | + u32 count; |
|---|
| 1538 | + u64 cookie; |
|---|
| 1539 | + struct page **xattr_pages; |
|---|
| 1540 | +}; |
|---|
| 1541 | + |
|---|
| 1542 | +struct nfs42_listxattrsres { |
|---|
| 1543 | + struct nfs4_sequence_res seq_res; |
|---|
| 1544 | + struct page *scratch; |
|---|
| 1545 | + void *xattr_buf; |
|---|
| 1546 | + size_t xattr_len; |
|---|
| 1547 | + u64 cookie; |
|---|
| 1548 | + bool eof; |
|---|
| 1549 | + size_t copied; |
|---|
| 1550 | +}; |
|---|
| 1551 | + |
|---|
| 1552 | +struct nfs42_removexattrargs { |
|---|
| 1553 | + struct nfs4_sequence_args seq_args; |
|---|
| 1554 | + struct nfs_fh *fh; |
|---|
| 1555 | + const char *xattr_name; |
|---|
| 1556 | +}; |
|---|
| 1557 | + |
|---|
| 1558 | +struct nfs42_removexattrres { |
|---|
| 1559 | + struct nfs4_sequence_res seq_res; |
|---|
| 1560 | + struct nfs4_change_info cinfo; |
|---|
| 1561 | +}; |
|---|
| 1562 | + |
|---|
| 1563 | +#endif /* CONFIG_NFS_V4_2 */ |
|---|
| 1437 | 1564 | |
|---|
| 1438 | 1565 | struct nfs_page; |
|---|
| 1439 | 1566 | |
|---|
| .. | .. |
|---|
| 1458 | 1585 | struct nfs_io_completion; |
|---|
| 1459 | 1586 | struct nfs_pgio_header { |
|---|
| 1460 | 1587 | struct inode *inode; |
|---|
| 1461 | | - struct rpc_cred *cred; |
|---|
| 1588 | + const struct cred *cred; |
|---|
| 1462 | 1589 | struct list_head pages; |
|---|
| 1463 | 1590 | struct nfs_page *req; |
|---|
| 1464 | 1591 | struct nfs_writeverf verf; /* Used for writes */ |
|---|
| .. | .. |
|---|
| 1471 | 1598 | const struct nfs_rw_ops *rw_ops; |
|---|
| 1472 | 1599 | struct nfs_io_completion *io_completion; |
|---|
| 1473 | 1600 | struct nfs_direct_req *dreq; |
|---|
| 1474 | | - spinlock_t lock; |
|---|
| 1475 | | - /* fields protected by lock */ |
|---|
| 1601 | + |
|---|
| 1476 | 1602 | int pnfs_error; |
|---|
| 1477 | 1603 | int error; /* merge with pnfs_error */ |
|---|
| 1478 | | - unsigned long good_bytes; /* boundary of good data */ |
|---|
| 1604 | + unsigned int good_bytes; /* boundary of good data */ |
|---|
| 1479 | 1605 | unsigned long flags; |
|---|
| 1480 | 1606 | |
|---|
| 1481 | 1607 | /* |
|---|
| .. | .. |
|---|
| 1490 | 1616 | __u64 mds_offset; /* Filelayout dense stripe */ |
|---|
| 1491 | 1617 | struct nfs_page_array page_array; |
|---|
| 1492 | 1618 | struct nfs_client *ds_clp; /* pNFS data server */ |
|---|
| 1493 | | - int ds_commit_idx; /* ds index if ds_clp is set */ |
|---|
| 1494 | | - int pgio_mirror_idx;/* mirror index in pgio layer */ |
|---|
| 1619 | + u32 ds_commit_idx; /* ds index if ds_clp is set */ |
|---|
| 1620 | + u32 pgio_mirror_idx;/* mirror index in pgio layer */ |
|---|
| 1495 | 1621 | }; |
|---|
| 1496 | 1622 | |
|---|
| 1497 | 1623 | struct nfs_mds_commit_info { |
|---|
| .. | .. |
|---|
| 1519 | 1645 | struct nfs_commit_data { |
|---|
| 1520 | 1646 | struct rpc_task task; |
|---|
| 1521 | 1647 | struct inode *inode; |
|---|
| 1522 | | - struct rpc_cred *cred; |
|---|
| 1648 | + const struct cred *cred; |
|---|
| 1523 | 1649 | struct nfs_fattr fattr; |
|---|
| 1524 | 1650 | struct nfs_writeverf verf; |
|---|
| 1525 | 1651 | struct list_head pages; /* Coalesced requests we wish to flush */ |
|---|
| .. | .. |
|---|
| 1550 | 1676 | struct nfs_removeres res; |
|---|
| 1551 | 1677 | struct dentry *dentry; |
|---|
| 1552 | 1678 | wait_queue_head_t wq; |
|---|
| 1553 | | - struct rpc_cred *cred; |
|---|
| 1679 | + const struct cred *cred; |
|---|
| 1554 | 1680 | struct nfs_fattr dir_attr; |
|---|
| 1555 | 1681 | long timeout; |
|---|
| 1556 | 1682 | }; |
|---|
| .. | .. |
|---|
| 1558 | 1684 | struct nfs_renamedata { |
|---|
| 1559 | 1685 | struct nfs_renameargs args; |
|---|
| 1560 | 1686 | struct nfs_renameres res; |
|---|
| 1561 | | - struct rpc_cred *cred; |
|---|
| 1687 | + const struct cred *cred; |
|---|
| 1562 | 1688 | struct inode *old_dir; |
|---|
| 1563 | 1689 | struct dentry *old_dentry; |
|---|
| 1564 | 1690 | struct nfs_fattr old_fattr; |
|---|
| .. | .. |
|---|
| 1577 | 1703 | struct nfs_mount_info; |
|---|
| 1578 | 1704 | struct nfs_client_initdata; |
|---|
| 1579 | 1705 | struct nfs_pageio_descriptor; |
|---|
| 1706 | +struct fs_context; |
|---|
| 1580 | 1707 | |
|---|
| 1581 | 1708 | /* |
|---|
| 1582 | 1709 | * RPC procedure vector for NFSv2/NFSv3 demuxing |
|---|
| .. | .. |
|---|
| 1591 | 1718 | |
|---|
| 1592 | 1719 | int (*getroot) (struct nfs_server *, struct nfs_fh *, |
|---|
| 1593 | 1720 | struct nfs_fsinfo *); |
|---|
| 1594 | | - struct vfsmount *(*submount) (struct nfs_server *, struct dentry *, |
|---|
| 1595 | | - struct nfs_fh *, struct nfs_fattr *); |
|---|
| 1596 | | - struct dentry *(*try_mount) (int, const char *, struct nfs_mount_info *, |
|---|
| 1597 | | - struct nfs_subversion *); |
|---|
| 1721 | + int (*submount) (struct fs_context *, struct nfs_server *); |
|---|
| 1722 | + int (*try_get_tree) (struct fs_context *); |
|---|
| 1598 | 1723 | int (*getattr) (struct nfs_server *, struct nfs_fh *, |
|---|
| 1599 | 1724 | struct nfs_fattr *, struct nfs4_label *, |
|---|
| 1600 | 1725 | struct inode *); |
|---|
| 1601 | 1726 | int (*setattr) (struct dentry *, struct nfs_fattr *, |
|---|
| 1602 | 1727 | struct iattr *); |
|---|
| 1603 | | - int (*lookup) (struct inode *, const struct qstr *, |
|---|
| 1728 | + int (*lookup) (struct inode *, struct dentry *, |
|---|
| 1604 | 1729 | struct nfs_fh *, struct nfs_fattr *, |
|---|
| 1605 | 1730 | struct nfs4_label *); |
|---|
| 1606 | 1731 | int (*lookupp) (struct inode *, struct nfs_fh *, |
|---|
| .. | .. |
|---|
| 1624 | 1749 | unsigned int, struct iattr *); |
|---|
| 1625 | 1750 | int (*mkdir) (struct inode *, struct dentry *, struct iattr *); |
|---|
| 1626 | 1751 | int (*rmdir) (struct inode *, const struct qstr *); |
|---|
| 1627 | | - int (*readdir) (struct dentry *, struct rpc_cred *, |
|---|
| 1752 | + int (*readdir) (struct dentry *, const struct cred *, |
|---|
| 1628 | 1753 | u64, struct page **, unsigned int, bool); |
|---|
| 1629 | 1754 | int (*mknod) (struct inode *, struct dentry *, struct iattr *, |
|---|
| 1630 | 1755 | dev_t); |
|---|
| .. | .. |
|---|
| 1661 | 1786 | struct nfs_client *(*init_client) (struct nfs_client *, |
|---|
| 1662 | 1787 | const struct nfs_client_initdata *); |
|---|
| 1663 | 1788 | void (*free_client) (struct nfs_client *); |
|---|
| 1664 | | - struct nfs_server *(*create_server)(struct nfs_mount_info *, struct nfs_subversion *); |
|---|
| 1789 | + struct nfs_server *(*create_server)(struct fs_context *); |
|---|
| 1665 | 1790 | struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *, |
|---|
| 1666 | 1791 | struct nfs_fattr *, rpc_authflavor_t); |
|---|
| 1667 | 1792 | }; |
|---|