commit | 63b6df14134ddd048984c8afadb46e721815bfc6 | [log] [tgz] |
---|---|---|
author | Al Viro <viro@zeniv.linux.org.uk> | Wed Apr 20 17:08:21 2016 -0400 |
committer | Al Viro <viro@zeniv.linux.org.uk> | Mon May 02 19:49:28 2016 -0400 |
tree | 7fecdc7f3ee6d9780b3fa5328a0acd1bb739b16e | |
parent | 9902af79c01a8e39bb99b922fa3eef6d4ea23d69 [diff] [blame] |
give readdir(2)/getdents(2)/etc. uniform exclusion with lseek() same as read() on regular files has, and for the same reason. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/fs/open.c b/fs/open.c index 17cb6b1..938a658 100644 --- a/fs/open.c +++ b/fs/open.c
@@ -713,7 +713,7 @@ } /* POSIX.1-2008/SUSv4 Section XSI 2.9.7 */ - if (S_ISREG(inode->i_mode)) + if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode)) f->f_mode |= FMODE_ATOMIC_POS; f->f_op = fops_get(inode->i_fop);