Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /* -*- mode: c; c-basic-offset: 8; -*-
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * vim: noexpandtab sw=8 ts=8 sts=0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * localalloc.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  * Function prototypes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)  * Copyright (C) 2002, 2004 Oracle.  All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #ifndef OCFS2_LOCALALLOC_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define OCFS2_LOCALALLOC_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) int ocfs2_load_local_alloc(struct ocfs2_super *osb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) void ocfs2_shutdown_local_alloc(struct ocfs2_super *osb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) void ocfs2_la_set_sizes(struct ocfs2_super *osb, int requested_mb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) unsigned int ocfs2_la_default_mb(struct ocfs2_super *osb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) int ocfs2_begin_local_alloc_recovery(struct ocfs2_super *osb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 				     int node_num,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 				     struct ocfs2_dinode **alloc_copy);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) int ocfs2_complete_local_alloc_recovery(struct ocfs2_super *osb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 					struct ocfs2_dinode *alloc);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) int ocfs2_alloc_should_use_local(struct ocfs2_super *osb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 				 u64 bits);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) struct ocfs2_alloc_context;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) int ocfs2_reserve_local_alloc_bits(struct ocfs2_super *osb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 				   u32 bits_wanted,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 				   struct ocfs2_alloc_context *ac);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) int ocfs2_claim_local_alloc_bits(struct ocfs2_super *osb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 				 handle_t *handle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 				 struct ocfs2_alloc_context *ac,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 				 u32 bits_wanted,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 				 u32 *bit_off,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 				 u32 *num_bits);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) int ocfs2_free_local_alloc_bits(struct ocfs2_super *osb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 				handle_t *handle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 				struct ocfs2_alloc_context *ac,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 				u32 bit_off,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 				u32 num_bits);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) void ocfs2_local_alloc_seen_free_bits(struct ocfs2_super *osb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 				      unsigned int num_clusters);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) void ocfs2_la_enable_worker(struct work_struct *work);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #endif /* OCFS2_LOCALALLOC_H */