Re: [RFC] write(2) semantics wrt return values and current position

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 08, 2015 at 09:57:37PM +0100, Al Viro wrote:
> ... and having looked through old mail, there's _another_ breakage that
> might have inspired that one; this one is mine - "ocfs2 syncs the wrong range".
> It was syncing the wrong range with O_APPEND, all right, but after that
> patch it was syncing the wrong range in _all_ cases.  What it should've
> been doing instead is
>                 ret = filemap_fdatawrite_range(file->f_mapping,
> 					       iocb->ki_pos - written,
>                                                iocb->ki_pos - 1);
> ...
>                         ret = filemap_fdatawait_range(file->f_mapping,
> 						      iocb->ki_pos - written,
>                                                       iocb->ki_pos - 1);
> 
> Joseph, my apologies for missing your mail back in January - you are absolutely
> correct, *ppos (aka iocb->ki_pos) _is_ changed.  Unlike pos, it can be used
> to get the right range reliably (as above; pos, back when it existed,
> hadn't been affected by generic_write_checks() call in what used to be
> ocfs2_file_aio_write()), but the actual calculation had been completely
> wrong.
> 
> If that had contributed to confusion, my deep apologies...

Folks, could you please take a look through vfs.git#for-linus (the last
three commits in there) and see if you are OK with those?
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux