Re: [RFC] unifying write variants for filesystems

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

 



On 02/03/2014 09:12 AM, Christoph Hellwig wrote:
> On Sat, Feb 01, 2014 at 10:43:01PM +0000, Al Viro wrote:
>> * WTF bother passing 'pos' separately?  It's the same mistake that was
>> made with ->aio_read/->aio_write and just as with those, *all* callers
>> provably have pos == iocb->ki_pos.
> 
> I think this landed with the initial aio support, which planned for
> allowing AIO retries for a workqueue with a partially incremented
> pos.  None of this ever got merged, probably because it was too ugly
> to live.

Yeah, when these patches were first written, AIO looked a lot different.

>> * We *definitely* want a variant structure with tag - unsigned long thing
>> was just plain insane.  I see at least two variants - array of iovecs
>> and array of (at least) triples <page, offset, length>.  Quite possibly -
>> quadruples, with "here's how to try to steal this page" thrown in, if
>> we want that as replacement for ->splice_write() as well (it looks like
>> the few instances that do steal on pipe-to-file splices could be dealt
>> with the same way as the dumb ones, provided that ->write_iter or whatever
>> we end up calling it is allowed to try and steal pages).   Possibly more
>> variants on the read side of things...  FWIW, I'm not sure that bio_vec
>> makes a lot of sense here.
> 
> bio_vec just is one of the many page+offset+len containers we have, I
> guess Dave took it because loop uses it.  We could either invent a new
> one here or finally have a common one for the different uses all over
> the kernel.

With Kent's immutable bio_vec changes, peeking inside the bio to get to
the bio_vec is uglier than it was before, so there's no need to stick
with that.

Shaggy

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux