aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/objlayout/objlayout.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/objlayout/objlayout.h')
-rw-r--r--fs/nfs/objlayout/objlayout.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/nfs/objlayout/objlayout.h b/fs/nfs/objlayout/objlayout.h
index 0814271bb9ba..fa0262149f59 100644
--- a/fs/nfs/objlayout/objlayout.h
+++ b/fs/nfs/objlayout/objlayout.h
@@ -46,6 +46,19 @@
46#include "../pnfs.h" 46#include "../pnfs.h"
47 47
48/* 48/*
49 * per-inode layout
50 */
51struct objlayout {
52 struct pnfs_layout_hdr pnfs_layout;
53};
54
55static inline struct objlayout *
56OBJLAYOUT(struct pnfs_layout_hdr *lo)
57{
58 return container_of(lo, struct objlayout, pnfs_layout);
59}
60
61/*
49 * Raid engine I/O API 62 * Raid engine I/O API
50 */ 63 */
51extern int objio_alloc_lseg(struct pnfs_layout_segment **outp, 64extern int objio_alloc_lseg(struct pnfs_layout_segment **outp,
@@ -66,6 +79,10 @@ extern void objlayout_put_deviceinfo(struct pnfs_osd_deviceaddr *deviceaddr);
66/* 79/*
67 * exported generic objects function vectors 80 * exported generic objects function vectors
68 */ 81 */
82
83extern struct pnfs_layout_hdr *objlayout_alloc_layout_hdr(struct inode *, gfp_t gfp_flags);
84extern void objlayout_free_layout_hdr(struct pnfs_layout_hdr *);
85
69extern struct pnfs_layout_segment *objlayout_alloc_lseg( 86extern struct pnfs_layout_segment *objlayout_alloc_lseg(
70 struct pnfs_layout_hdr *, 87 struct pnfs_layout_hdr *,
71 struct nfs4_layoutget_res *, 88 struct nfs4_layoutget_res *,