Hi, Recently I was reading some code about filesystems, and I found the usage of struct blockgroup_lock is confusing. I have 3 questions about it, and please help give me some instuctions on them. http://lxr.linux.no/#linux+v2.6.32/include/linux/blockgroup_lock.h 1) What is the relationship between NR_CPUS and NR_BG_LOCKS ? 2) And how to understand the usage of struct blockgroup_lock? 3) What is the relationship between block_group and NR_BG_LOCKS, e.g. in blk_lock_ptr? 56static inline spinlock_t * 57bgl_lock_ptr(struct blockgroup_lock *bgl, unsigned int block_group) 58{ 59 return &bgl->locks[(block_group) & (NR_BG_LOCKS-1)].lock; 60} thanks, -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ