📄 iallocsem_consistency.patch
字号:
Index: linux-2.6.9/fs/attr.c===================================================================--- linux-2.6.9/fs.orig/attr.c 2006-03-10 17:20:39.000000000 +0200+++ linux-2.6.9/fs/attr.c 2006-04-09 01:21:44.000000000 +0300@@ -177,6 +177,9 @@ if (!attr->ia_valid) return 0; + if (ia_valid & ATTR_SIZE)+ down_write(&dentry->d_inode->i_alloc_sem);+ if (inode->i_op && inode->i_op->setattr) { audit_notify_watch(inode, MAY_WRITE); error = security_inode_setattr(dentry, attr);@@ -194,6 +197,10 @@ error = inode_setattr(inode, attr); } }++ if (ia_valid & ATTR_SIZE)+ up_write(&dentry->d_inode->i_alloc_sem);+ if (!error) { unsigned long dn_mask = setattr_mask(ia_valid); if (dn_mask)Index: linux-2.6.9/fs/open.c===================================================================--- linux-2.6.9/fs.orig/open.c 2006-04-09 01:18:08.000000000 +0300+++ linux-2.6.9/fs/open.c 2006-04-09 01:22:29.000000000 +0300@@ -205,16 +205,16 @@ newattrs.ia_size = length; newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME; down(&dentry->d_inode->i_sem);- down_write(&dentry->d_inode->i_alloc_sem); if (called_from_open) newattrs.ia_valid |= ATTR_FROM_OPEN; if (op->setattr_raw) { newattrs.ia_valid |= ATTR_RAW; newattrs.ia_ctime = CURRENT_TIME;+ down_write(&dentry->d_inode->i_alloc_sem); err = op->setattr_raw(dentry->d_inode, &newattrs);+ up_write(&dentry->d_inode->i_alloc_sem); } else err = notify_change(dentry, &newattrs);- up_write(&dentry->d_inode->i_alloc_sem); up(&dentry->d_inode->i_sem); return err; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -