1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _LINUX_BLOCKGROUP_LOCK_H 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _LINUX_BLOCKGROUP_LOCK_H 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/spinlock.h> 16951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/cache.h> 17951a39d68df598db08dfced8b4707755864a0492Ying Wang 18951a39d68df598db08dfced8b4707755864a0492Ying Wang#define NR_BG_LOCKS 1 19951a39d68df598db08dfced8b4707755864a0492Ying Wang 20951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct bgl_lock { 21951a39d68df598db08dfced8b4707755864a0492Ying Wang spinlock_t lock; 22951a39d68df598db08dfced8b4707755864a0492Ying Wang} ____cacheline_aligned_in_smp; 23951a39d68df598db08dfced8b4707755864a0492Ying Wang 24951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct blockgroup_lock { 25951a39d68df598db08dfced8b4707755864a0492Ying Wang struct bgl_lock locks[NR_BG_LOCKS]; 26951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 27951a39d68df598db08dfced8b4707755864a0492Ying Wang 28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define sb_bgl_lock(sb, block_group) (&(sb)->s_blockgroup_lock.locks[(block_group) & (NR_BG_LOCKS-1)].lock) 29951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 30