/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_BLOCKGROUP_LOCK_H #define _LINUX_BLOCKGROUP_LOCK_H /* * Per-blockgroup locking for ext2 and ext3. * * Simple hashed spinlocking. */ #include <linux/spinlock.h> #include <linux/cache.h> #ifdef CONFIG_SMP #define NR_BG_LOCKS … #else #define NR_BG_LOCKS … #endif struct bgl_lock { … } ____cacheline_aligned_in_smp; struct blockgroup_lock { … }; static inline void bgl_lock_init(struct blockgroup_lock *bgl) { … } static inline spinlock_t * bgl_lock_ptr(struct blockgroup_lock *bgl, unsigned int block_group) { … } #endif