Blame view
fs/nfsd/blocklayoutxdr.h
1.35 KB
b24413180 License cleanup: ... |
1 |
/* SPDX-License-Identifier: GPL-2.0 */ |
8650b8a05 nfsd: pNFS block ... |
2 3 4 5 6 7 8 9 |
#ifndef _NFSD_BLOCKLAYOUTXDR_H #define _NFSD_BLOCKLAYOUTXDR_H 1 #include <linux/blkdev.h> #include "xdr4.h" struct iomap; struct xdr_stream; |
8650b8a05 nfsd: pNFS block ... |
10 11 12 13 14 15 16 |
struct pnfs_block_extent { struct nfsd4_deviceid vol_id; u64 foff; u64 len; u64 soff; enum pnfs_block_extent_state es; }; |
8650b8a05 nfsd: pNFS block ... |
17 |
|
f99d4fbda nfsd: add SCSI la... |
18 19 20 21 |
struct pnfs_block_range { u64 foff; u64 len; }; |
8650b8a05 nfsd: pNFS block ... |
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
/* * Random upper cap for the uuid length to avoid unbounded allocation. * Not actually limited by the protocol. */ #define PNFS_BLOCK_UUID_LEN 128 struct pnfs_block_volume { enum pnfs_block_volume_type type; union { struct { u64 offset; u32 sig_len; u8 sig[PNFS_BLOCK_UUID_LEN]; } simple; |
f99d4fbda nfsd: add SCSI la... |
36 37 38 39 40 41 42 |
struct { enum scsi_code_set code_set; enum scsi_designator_type designator_type; int designator_len; u8 designator[256]; u64 pr_key; } scsi; |
8650b8a05 nfsd: pNFS block ... |
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
}; }; struct pnfs_block_deviceaddr { u32 nr_volumes; struct pnfs_block_volume volumes[]; }; __be32 nfsd4_block_encode_getdeviceinfo(struct xdr_stream *xdr, struct nfsd4_getdeviceinfo *gdp); __be32 nfsd4_block_encode_layoutget(struct xdr_stream *xdr, struct nfsd4_layoutget *lgp); int nfsd4_block_decode_layoutupdate(__be32 *p, u32 len, struct iomap **iomapp, u32 block_size); |
f99d4fbda nfsd: add SCSI la... |
57 58 |
int nfsd4_scsi_decode_layoutupdate(__be32 *p, u32 len, struct iomap **iomapp, u32 block_size); |
8650b8a05 nfsd: pNFS block ... |
59 60 |
#endif /* _NFSD_BLOCKLAYOUTXDR_H */ |