f99d4fbdae
This is a simple extension to the block layout driver to use SCSI persistent reservations for access control and fencing, as well as SCSI VPD pages for device identification. For this we need to pass the nfs4_client to the proc_getdeviceinfo method to generate the reservation key, and add a new fence_client method to allow for fence actions in the layout driver. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
19 lines
667 B
C
19 lines
667 B
C
#ifndef _XFS_PNFS_H
|
|
#define _XFS_PNFS_H 1
|
|
|
|
#if defined(CONFIG_NFSD_BLOCKLAYOUT) || defined(CONFIG_NFSD_SCSILAYOUT)
|
|
int xfs_fs_get_uuid(struct super_block *sb, u8 *buf, u32 *len, u64 *offset);
|
|
int xfs_fs_map_blocks(struct inode *inode, loff_t offset, u64 length,
|
|
struct iomap *iomap, bool write, u32 *device_generation);
|
|
int xfs_fs_commit_blocks(struct inode *inode, struct iomap *maps, int nr_maps,
|
|
struct iattr *iattr);
|
|
|
|
int xfs_break_layouts(struct inode *inode, uint *iolock, bool with_imutex);
|
|
#else
|
|
static inline int
|
|
xfs_break_layouts(struct inode *inode, uint *iolock, bool with_imutex)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif /* CONFIG_NFSD_PNFS */
|
|
#endif /* _XFS_PNFS_H */
|