Linux-fsdevel – [PATCH] fs:使用O_PONIES指出任何进程

2021-01-31 10:18:28

[列表中的上一个] [列表中的下一个] [线程中的上一个] [线程中的下一个]列表:linux-fsdevelSubject:[PATCH] fs:指出使用O_PONIES的所有进程来自:" Josef' Jeff&#39 ;西佩克< jeffpc()josefsipek! net>日期:2009-04-01 4:18:43消息ID:20090401041843.GN19690()josefsipek! net [下载RAW消息或正文]来自:Josef' Jeff' Sipek< [email protected]>在几个邮件列表以及其他互联网论坛的近期讨论中,很明显,用户空间正在寻找内核不提供的语义。显然,尽管今天这些应用程序仅坚持要求内核更好地了解并隐式同步应用程序上的数据。代表很快,应用程序将需要更多的时间(例如粉红色的小马)。任何希望通知内核它具有这些不合理假设的应用程序(POSIX均不保证这一点,因此任何假定操作系统确实同步的应用程序隐式定义数据是不可移植的和/或已损坏的)应使用O_PONIES标志打开所有文件。此修补程序引入了一个新的open(2)标志O_PONIES,无论何时使用,它都会打印一条消息以标识该进程(pid和comm )。这类似于用于指出使用旧的和/或规范化接口的进程的printks。(注:仅编译测试)签名者:Josef' Jeff' Sipek< [email protected]> --- fs / open.c | 3 +++ include / asm-generic / fcntl.h | 3 +++ 2个文件已更改,6个插入(+),0个删除(-)diff --git a / fs / open.cb / fs / open.cindex a3a78ce..e162a6e 100644 --- a / fs / open。 c +++ b / fs / open.c @@ -1039,6 +1039,9 @@ long do_sys_open(int dfd,const char __user * filename,int flags,int mode)}否则{fsnotify_open(f-> f_path.dentry ); fd_install(fd,f); + if(flags& O_PONIES)+ printk(KERN_WARNING"'%s'使用O_PONIES \ n&#34 ;, current-> comm); }} putname(tmp); diff --git a / include / asm-generic / fcntl.hb / include / asm-generic / fcntl.hindex b847741..9648af4 100644 --- a / include / asm-generic / fcntl。 h +++ b / include / asm-generic / fcntl.h @@ -51,6 +51,9 @@ #ifndef O_CLOEXEC #define O_CLOEXEC 02000000 / * set close_on_exec * /#endif +#ifndef O_PONIES +#define O_PONIES 04000000 / *不合理的fs假设* / +#endif #ifndef O_NDELAY#定义O_NDELAY O_NONBLOCK#endif-- 1.6.2.107.ge47ee--要退订此列表:发送行"退订linux-fsdevel"在发给[email protected]的邮件正文中的更多majordomo信息,位于http://vger.kernel.org/majordomo-info.html [列表中的上一个] [列表中的下一个] [线程中的上一个] [线程中的上一个]