Lines Matching full:server

78 static void nfs_mark_return_delegation(struct nfs_server *server,  in nfs_mark_return_delegation()  argument
82 set_bit(NFS4SERV_DELEGRETURN, &server->delegation_flags); in nfs_mark_return_delegation()
83 set_bit(NFS4CLNT_DELEGRETURN, &server->nfs_client->cl_state); in nfs_mark_return_delegation()
334 struct nfs_server *server, int err) in nfs_abort_delegation_return() argument
341 &server->delegation_flags); in nfs_abort_delegation_return()
343 &server->nfs_client->cl_state); in nfs_abort_delegation_return()
374 struct nfs_server *server) in nfs_detach_delegation() argument
376 struct nfs_client *clp = server->nfs_client; in nfs_detach_delegation()
388 struct nfs_server *server = NFS_SERVER(inode); in nfs_inode_detach_delegation() local
394 delegation = nfs_detach_delegation(nfsi, delegation, server); in nfs_inode_detach_delegation()
445 struct nfs_server *server = NFS_SERVER(inode); in nfs_inode_set_delegation() local
446 struct nfs_client *clp = server->nfs_client; in nfs_inode_set_delegation()
492 dfprintk(FILE, "%s: server %s handed out " in nfs_inode_set_delegation()
525 list_add_tail_rcu(&delegation->super_list, &server->delegations); in nfs_inode_set_delegation()
549 * Basic procedure for returning a delegation to the server
553 struct nfs_server *server = NFS_SERVER(inode); in nfs_end_delegation_return() local
575 err = nfs4_wait_clnt_recover(server->nfs_client); in nfs_end_delegation_return()
579 nfs_abort_delegation_return(delegation, server, err); in nfs_end_delegation_return()
604 static int nfs_server_return_marked_delegations(struct nfs_server *server, in nfs_server_return_marked_delegations() argument
615 &server->delegation_flags)) in nfs_server_return_marked_delegations()
621 * list delegation in the server from the delegations in nfs_server_return_marked_delegations()
633 delegation = list_entry_rcu(server->delegations.next, in nfs_server_return_marked_delegations()
635 list_for_each_entry_from_rcu(delegation, &server->delegations, super_list) { in nfs_server_return_marked_delegations()
668 set_bit(NFS4SERV_DELEGRETURN, &server->delegation_flags); in nfs_server_return_marked_delegations()
669 set_bit(NFS4CLNT_DELEGRETURN, &server->nfs_client->cl_state); in nfs_server_return_marked_delegations()
678 static bool nfs_server_clear_delayed_delegations(struct nfs_server *server) in nfs_server_clear_delayed_delegations() argument
684 &server->delegation_flags)) in nfs_server_clear_delayed_delegations()
686 list_for_each_entry_rcu (d, &server->delegations, super_list) { in nfs_server_clear_delayed_delegations()
689 nfs_mark_return_delegation(server, d); in nfs_server_clear_delayed_delegations()
699 struct nfs_server *server; in nfs_client_clear_delayed_delegations() local
705 list_for_each_entry_rcu (server, &clp->cl_superblocks, client_link) { in nfs_client_clear_delayed_delegations()
706 if (nfs_server_clear_delayed_delegations(server)) in nfs_client_clear_delayed_delegations()
882 nfs_mark_return_if_closed_delegation(struct nfs_server *server, in nfs_mark_return_if_closed_delegation() argument
895 nfs_mark_return_delegation(server, delegation); in nfs_mark_return_if_closed_delegation()
902 static bool nfs_server_mark_return_all_delegations(struct nfs_server *server) in nfs_server_mark_return_all_delegations() argument
907 list_for_each_entry_rcu(delegation, &server->delegations, super_list) { in nfs_server_mark_return_all_delegations()
908 nfs_mark_return_delegation(server, delegation); in nfs_server_mark_return_all_delegations()
916 struct nfs_server *server; in nfs_client_mark_return_all_delegations() local
919 list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) in nfs_client_mark_return_all_delegations()
920 nfs_server_mark_return_all_delegations(server); in nfs_client_mark_return_all_delegations()
943 * @server: pointer to nfs_server to process
946 void nfs_server_return_all_delegations(struct nfs_server *server) in nfs_server_return_all_delegations() argument
948 struct nfs_client *clp = server->nfs_client; in nfs_server_return_all_delegations()
955 need_wait = nfs_server_mark_return_all_delegations(server); in nfs_server_return_all_delegations()
964 static void nfs_mark_return_unused_delegation_types(struct nfs_server *server, in nfs_mark_return_unused_delegation_types() argument
969 list_for_each_entry_rcu(delegation, &server->delegations, super_list) { in nfs_mark_return_unused_delegation_types()
973 nfs_mark_return_if_closed_delegation(server, delegation); in nfs_mark_return_unused_delegation_types()
980 struct nfs_server *server; in nfs_client_mark_return_unused_delegation_types() local
983 list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) in nfs_client_mark_return_unused_delegation_types()
984 nfs_mark_return_unused_delegation_types(server, flags); in nfs_client_mark_return_unused_delegation_types()
1083 static void nfs_mark_return_unreferenced_delegations(struct nfs_server *server) in nfs_mark_return_unreferenced_delegations() argument
1087 list_for_each_entry_rcu(delegation, &server->delegations, super_list) { in nfs_mark_return_unreferenced_delegations()
1090 nfs_mark_return_if_closed_delegation(server, delegation); in nfs_mark_return_unreferenced_delegations()
1101 struct nfs_server *server; in nfs_expire_unreferenced_delegations() local
1104 list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) in nfs_expire_unreferenced_delegations()
1105 nfs_mark_return_unreferenced_delegations(server); in nfs_expire_unreferenced_delegations()
1121 struct nfs_server *server = NFS_SERVER(inode); in nfs_async_inode_return_delegation() local
1122 struct nfs_client *clp = server->nfs_client; in nfs_async_inode_return_delegation()
1132 nfs_mark_return_delegation(server, delegation); in nfs_async_inode_return_delegation()
1146 nfs_delegation_find_inode_server(struct nfs_server *server, in nfs_delegation_find_inode_server() argument
1153 list_for_each_entry_rcu(delegation, &server->delegations, super_list) { in nfs_delegation_find_inode_server()
1158 if (nfs_sb_active(server->super)) { in nfs_delegation_find_inode_server()
1159 freeme = server->super; in nfs_delegation_find_inode_server()
1188 struct nfs_server *server; in nfs_delegation_find_inode() local
1192 list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) { in nfs_delegation_find_inode()
1193 res = nfs_delegation_find_inode_server(server, fhandle); in nfs_delegation_find_inode()
1203 static void nfs_delegation_mark_reclaim_server(struct nfs_server *server) in nfs_delegation_mark_reclaim_server() argument
1207 list_for_each_entry_rcu(delegation, &server->delegations, super_list) { in nfs_delegation_mark_reclaim_server()
1225 struct nfs_server *server; in nfs_delegation_mark_reclaim() local
1228 list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) in nfs_delegation_mark_reclaim()
1229 nfs_delegation_mark_reclaim_server(server); in nfs_delegation_mark_reclaim()
1233 static int nfs_server_reap_unclaimed_delegations(struct nfs_server *server, in nfs_server_reap_unclaimed_delegations() argument
1240 list_for_each_entry_rcu(delegation, &server->delegations, super_list) { in nfs_server_reap_unclaimed_delegations()
1255 server) != NULL) in nfs_server_reap_unclaimed_delegations()
1286 static void nfs_mark_test_expired_delegation(struct nfs_server *server, in nfs_mark_test_expired_delegation() argument
1293 set_bit(NFS4SERV_DELEGATION_EXPIRED, &server->delegation_flags); in nfs_mark_test_expired_delegation()
1294 set_bit(NFS4CLNT_DELEGATION_EXPIRED, &server->nfs_client->cl_state); in nfs_mark_test_expired_delegation()
1297 static void nfs_inode_mark_test_expired_delegation(struct nfs_server *server, in nfs_inode_mark_test_expired_delegation() argument
1305 nfs_mark_test_expired_delegation(server, delegation); in nfs_inode_mark_test_expired_delegation()
1310 static void nfs_delegation_mark_test_expired_server(struct nfs_server *server) in nfs_delegation_mark_test_expired_server() argument
1314 list_for_each_entry_rcu(delegation, &server->delegations, super_list) in nfs_delegation_mark_test_expired_server()
1315 nfs_mark_test_expired_delegation(server, delegation); in nfs_delegation_mark_test_expired_server()
1322 * Iterates through all the delegations associated with this server and
1327 struct nfs_server *server; in nfs_mark_test_expired_all_delegations() local
1330 list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) in nfs_mark_test_expired_all_delegations()
1331 nfs_delegation_mark_test_expired_server(server); in nfs_mark_test_expired_all_delegations()
1339 * Helper for handling "recallable state revoked" status from server.
1352 struct nfs_server *server = NFS_SERVER(inode); in nfs_delegation_test_free_expired() local
1353 const struct nfs4_minor_version_ops *ops = server->nfs_client->cl_mvops; in nfs_delegation_test_free_expired()
1358 status = ops->test_and_free_expired(server, stateid, cred); in nfs_delegation_test_free_expired()
1363 static int nfs_server_reap_expired_delegations(struct nfs_server *server, in nfs_server_reap_expired_delegations() argument
1370 unsigned long gen = ++server->delegation_gen; in nfs_server_reap_expired_delegations()
1373 &server->delegation_flags)) in nfs_server_reap_expired_delegations()
1377 list_for_each_entry_rcu(delegation, &server->delegations, super_list) { in nfs_server_reap_expired_delegations()
1398 if (!nfs4_server_rebooted(server->nfs_client)) { in nfs_server_reap_expired_delegations()
1403 nfs_inode_mark_test_expired_delegation(server,inode); in nfs_server_reap_expired_delegations()
1404 set_bit(NFS4SERV_DELEGATION_EXPIRED, &server->delegation_flags); in nfs_server_reap_expired_delegations()
1406 &server->nfs_client->cl_state); in nfs_server_reap_expired_delegations()
1418 * Iterates through all the delegations associated with this server and
1420 * expected to be called in cases where the server may have lost its
1458 struct nfs_server *server; in nfs_delegations_present() local
1462 list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) in nfs_delegations_present()
1463 if (!list_empty(&server->delegations)) { in nfs_delegations_present()