X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fopen.c;h=b9ed8b25c108c69d68889b5b6eadac9878eb7bd9;hb=9c225f2655e36a4;hp=4b3e1edf2fe4d917e69e56b3e268e32f2ae7301a;hpb=e345d767f6530ec9cb0aabab7ea248072a9c6975;p=~andy%2Flinux diff --git a/fs/open.c b/fs/open.c index 4b3e1edf2fe..b9ed8b25c10 100644 --- a/fs/open.c +++ b/fs/open.c @@ -705,6 +705,10 @@ static int do_dentry_open(struct file *f, return 0; } + /* POSIX.1-2008/SUSv4 Section XSI 2.9.7 */ + if (S_ISREG(inode->i_mode)) + f->f_mode |= FMODE_ATOMIC_POS; + f->f_op = fops_get(inode->i_fop); if (unlikely(WARN_ON(!f->f_op))) { error = -ENODEV;