Re: [PATCH] target/file: fix inclusive vfs_fsync_range() end

From: Zach Brown
Date: Tue Oct 07 2014 - 15:12:56 EST


On Mon, Oct 06, 2014 at 11:39:45PM -0700, Christoph Hellwig wrote:
> On Mon, Oct 06, 2014 at 04:40:13PM -0700, Zach Brown wrote:
> > Both of the file target's calls to vfs_fsync_range() got the end offset
> > off by one. The range is inclusive, not exclusive. It would sync a bit
> > more data than was required.
> >
> > The sync path already tested the length of the range and fell back to
> > LLONG_MAX so I copied that pattern in the rw path.
> >
> > This is untested. I found the errors by inspection while following other
> > code.
>
> Maybe it's time to move vfs_fsync_range to a more normal calling
> convention?

Yeah, I wanted to just fix the bugs before going too far.

The current interface does seem like a bad fit. 3 of the 5 non-core
callers got it wrong. They all generate start,end from off,count and
fall back to LLONG_MAX.

I'll put something together if no one beats me to it.

- z
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/