diff options
Diffstat (limited to 'fs/nfs/objlayout/objlayout.h')
-rw-r--r-- | fs/nfs/objlayout/objlayout.h | 17 |
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 | */ | ||
51 | struct objlayout { | ||
52 | struct pnfs_layout_hdr pnfs_layout; | ||
53 | }; | ||
54 | |||
55 | static inline struct objlayout * | ||
56 | OBJLAYOUT(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 | */ |
51 | extern int objio_alloc_lseg(struct pnfs_layout_segment **outp, | 64 | extern 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 | |||
83 | extern struct pnfs_layout_hdr *objlayout_alloc_layout_hdr(struct inode *, gfp_t gfp_flags); | ||
84 | extern void objlayout_free_layout_hdr(struct pnfs_layout_hdr *); | ||
85 | |||
69 | extern struct pnfs_layout_segment *objlayout_alloc_lseg( | 86 | extern 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 *, |