pnfs.h (40dd4b7aee1a8c3b8dac7b67ba710692d7691b77) pnfs.h (f54bcf2ecee982da47c2baf8bd87fd9ad9984651)
1/*
2 * pNFS client data structures.
3 *
4 * Copyright (c) 2002
5 * The Regents of the University of Michigan
6 * All Rights Reserved
7 *
8 * Dean Hildebrand <dhildebz@umich.edu>

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

270void nfs4_delete_deviceid(const struct pnfs_layoutdriver_type *, const struct nfs_client *, const struct nfs4_deviceid *);
271void nfs4_init_deviceid_node(struct nfs4_deviceid_node *, struct nfs_server *,
272 const struct nfs4_deviceid *);
273bool nfs4_put_deviceid_node(struct nfs4_deviceid_node *);
274void nfs4_mark_deviceid_unavailable(struct nfs4_deviceid_node *node);
275bool nfs4_test_deviceid_unavailable(struct nfs4_deviceid_node *node);
276void nfs4_deviceid_purge_client(const struct nfs_client *);
277
1/*
2 * pNFS client data structures.
3 *
4 * Copyright (c) 2002
5 * The Regents of the University of Michigan
6 * All Rights Reserved
7 *
8 * Dean Hildebrand <dhildebz@umich.edu>

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

270void nfs4_delete_deviceid(const struct pnfs_layoutdriver_type *, const struct nfs_client *, const struct nfs4_deviceid *);
271void nfs4_init_deviceid_node(struct nfs4_deviceid_node *, struct nfs_server *,
272 const struct nfs4_deviceid *);
273bool nfs4_put_deviceid_node(struct nfs4_deviceid_node *);
274void nfs4_mark_deviceid_unavailable(struct nfs4_deviceid_node *node);
275bool nfs4_test_deviceid_unavailable(struct nfs4_deviceid_node *node);
276void nfs4_deviceid_purge_client(const struct nfs_client *);
277
278static inline bool nfs_have_layout(struct inode *inode)
279{
280 return NFS_I(inode)->layout != NULL;
281}
278/* pnfs_nfs.c */
279void pnfs_generic_clear_request_commit(struct nfs_page *req,
280 struct nfs_commit_info *cinfo);
281void pnfs_generic_commit_release(void *calldata);
282void pnfs_generic_prepare_to_resend_writes(struct nfs_commit_data *data);
283void pnfs_generic_rw_release(void *data);
284void pnfs_generic_recover_commit_reqs(struct list_head *dst,
285 struct nfs_commit_info *cinfo);
286int pnfs_generic_commit_pagelist(struct inode *inode,
287 struct list_head *mds_pages,
288 int how,
289 struct nfs_commit_info *cinfo,
290 int (*initiate_commit)(struct nfs_commit_data *data,
291 int how));
292int pnfs_generic_scan_commit_lists(struct nfs_commit_info *cinfo, int max);
293void pnfs_generic_write_commit_done(struct rpc_task *task, void *data);
282
283static inline struct nfs4_deviceid_node *
284nfs4_get_deviceid(struct nfs4_deviceid_node *d)
285{
286 atomic_inc(&d->ref);
287 return d;
288}
289

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

317{
318 struct pnfs_layoutdriver_type *ld = NFS_SERVER(inode)->pnfs_curr_ld;
319
320 if (ld == NULL || ld->get_ds_info == NULL)
321 return NULL;
322 return ld->get_ds_info(inode);
323}
324
294
295static inline struct nfs4_deviceid_node *
296nfs4_get_deviceid(struct nfs4_deviceid_node *d)
297{
298 atomic_inc(&d->ref);
299 return d;
300}
301

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

329{
330 struct pnfs_layoutdriver_type *ld = NFS_SERVER(inode)->pnfs_curr_ld;
331
332 if (ld == NULL || ld->get_ds_info == NULL)
333 return NULL;
334 return ld->get_ds_info(inode);
335}
336
337static inline void
338pnfs_generic_mark_devid_invalid(struct nfs4_deviceid_node *node)
339{
340 set_bit(NFS_DEVICEID_INVALID, &node->flags);
341}
342
325static inline bool
326pnfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg,
327 struct nfs_commit_info *cinfo)
328{
329 struct inode *inode = req->wb_context->dentry->d_inode;
330 struct pnfs_layoutdriver_type *ld = NFS_SERVER(inode)->pnfs_curr_ld;
331
332 if (lseg == NULL || ld->mark_request_commit == NULL)

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

427void nfs4_print_deviceid(const struct nfs4_deviceid *dev_id);
428#else
429static inline void nfs4_print_deviceid(const struct nfs4_deviceid *dev_id)
430{
431}
432#endif /* NFS_DEBUG */
433#else /* CONFIG_NFS_V4_1 */
434
343static inline bool
344pnfs_mark_request_commit(struct nfs_page *req, struct pnfs_layout_segment *lseg,
345 struct nfs_commit_info *cinfo)
346{
347 struct inode *inode = req->wb_context->dentry->d_inode;
348 struct pnfs_layoutdriver_type *ld = NFS_SERVER(inode)->pnfs_curr_ld;
349
350 if (lseg == NULL || ld->mark_request_commit == NULL)

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

445void nfs4_print_deviceid(const struct nfs4_deviceid *dev_id);
446#else
447static inline void nfs4_print_deviceid(const struct nfs4_deviceid *dev_id)
448{
449}
450#endif /* NFS_DEBUG */
451#else /* CONFIG_NFS_V4_1 */
452
435static inline bool nfs_have_layout(struct inode *inode)
436{
437 return false;
438}
439
440static inline void pnfs_destroy_all_layouts(struct nfs_client *clp)
441{
442}
443
444static inline void pnfs_destroy_layout(struct nfs_inode *nfsi)
445{
446}
447

--- 136 unchanged lines hidden ---
453static inline void pnfs_destroy_all_layouts(struct nfs_client *clp)
454{
455}
456
457static inline void pnfs_destroy_layout(struct nfs_inode *nfsi)
458{
459}
460

--- 136 unchanged lines hidden ---