xref: /linux/fs/orangefs/orangefs-bufmap.h (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * (C) 2001 Clemson University and The University of Chicago
4  *
5  * See COPYING in top-level directory.
6  */
7 
8 #ifndef __ORANGEFS_BUFMAP_H
9 #define __ORANGEFS_BUFMAP_H
10 
11 int orangefs_bufmap_size_query(void);
12 
13 int orangefs_bufmap_shift_query(void);
14 
15 int orangefs_bufmap_initialize(struct ORANGEFS_dev_map_desc *user_desc);
16 
17 void orangefs_bufmap_finalize(void);
18 
19 void orangefs_bufmap_run_down(void);
20 
21 int orangefs_bufmap_get(void);
22 
23 void orangefs_bufmap_put(int buffer_index);
24 
25 int orangefs_readdir_index_get(void);
26 
27 void orangefs_readdir_index_put(int buffer_index);
28 
29 int orangefs_bufmap_copy_from_iovec(struct iov_iter *iter,
30 				int buffer_index,
31 				size_t size);
32 
33 int orangefs_bufmap_copy_to_iovec(struct iov_iter *iter,
34 			      int buffer_index,
35 			      size_t size);
36 
37 void orangefs_bufmap_page_fill(void *kaddr, int buffer_index, int slot_index);
38 
39 #endif /* __ORANGEFS_BUFMAP_H */
40