⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inode_double_lock.h

📁 ocfs1.4.1 oracle分布式文件系统
💻 H
字号:
#ifndef KAPI_INODE_DOUBLE_LOCK_H#define KAPI_INODE_DOUBLE_LOCK_H#ifdef NO_INODE_DOUBLE_LOCKstatic inline void inode_double_lock(struct inode *inode1, struct inode *inode2){	if (inode1 == NULL || inode2 == NULL || inode1 == inode2) {		if (inode1)			mutex_lock(&inode1->i_mutex);		else if (inode2)			mutex_lock(&inode2->i_mutex);		return;	}	if (inode1 < inode2) {		mutex_lock_nested(&inode1->i_mutex, I_MUTEX_PARENT);		mutex_lock_nested(&inode2->i_mutex, I_MUTEX_CHILD);	} else {		mutex_lock_nested(&inode2->i_mutex, I_MUTEX_PARENT);		mutex_lock_nested(&inode1->i_mutex, I_MUTEX_CHILD);	}}static inline void inode_double_unlock(struct inode *inode1, struct inode *inode2){	if (inode1)		mutex_unlock(&inode1->i_mutex);	if (inode2 && inode2 != inode1)		mutex_unlock(&inode2->i_mutex);}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -