On Thu, Sep 28, 2017 at 7:57 PM, Theodore Ts'o <tytso@xxxxxxx> wrote: > On Thu, Sep 14, 2017 at 11:50:46AM +0200, Andreas Gruenbacher wrote: >> +int ext4_inline_data_iomap(struct inode *inode, struct iomap *iomap) >> +{ >> + __u64 addr; >> + int error = -EAGAIN; >> + struct ext4_iloc iloc; >> + >> + down_read(&EXT4_I(inode)->xattr_sem); >> + if (!ext4_has_inline_data(inode)) >> + goto out; > .... >> +out: >> + up_read(&EXT4_I(inode)->xattr_sem); >> + return error; >> +} > > > If we race with the inline data flag getting cleared, > ext4_iomap_begin() will return with -EAGAIN. Actually, in that case, ext4_iomap_begin will treat the file as non-inline. It will not return -EAGAIN. > As near as I can tell, > this will get reflected all the way up to userspace, instead of having > the retry happen in the kernel. Is this intentional? > > It looks like a user visible change, no? That would be a bug. Thanks, Andreas -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html