fs: move inode_dio_wait calls into ->setattr
Let filesystems handle waiting for direct I/O requests themselves instead of doing it beforehand. This means filesystem-specific locks to prevent new dio referenes from appearing can be held. This is important to allow generalizing i_dio_count to non-DIO_LOCKING filesystems. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:

committed by
Al Viro

parent
11b80f459a
commit
562c72aa57
@@ -3114,6 +3114,9 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
error = -EFBIG;
|
||||
goto out;
|
||||
}
|
||||
|
||||
inode_dio_wait(inode);
|
||||
|
||||
/* fill in hole pointers in the expanding truncate case. */
|
||||
if (attr->ia_size > inode->i_size) {
|
||||
error = generic_cont_expand_simple(inode, attr->ia_size);
|
||||
|
Reference in New Issue
Block a user