Re: [PATCH 00/10] iov_iter: Add new iters and use with AFS

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

 



On Thu, Sep 13, 2018 at 04:51:35PM +0100, David Howells wrote:
> 
> Hi Al,
> 
> Here's a set of patches that adds two new iov_iter types and then makes AFS
> use them to do I/O.  The iov_iter changes are:
> 
>  (1) Separate the type from the direction in the iov_iter struct and
>      provide accessor functions to wrap type checking.
> 
>  (2) Renumber the type constants to be contiguous small unsigned integers,
>      starting from 0 and then use switch-statements rather than if-else
>      chains using bit-testing.
> 
>      Note that the compiler can optimise this better by using CMP rather
>      than AND/TEST, say, as comparing integers requires fewer CMP
>      instructions or can use jump tables.
> 
>  (3) Change iov_offset from size_t to loff_t.  This allows iov_offset to be
>      then used as a byte offset with ITER_MAPPING and allows 4GiB and larger
>      reads and writes to be proposed.
> 
>      This makes no difference on a 64-bit system, but does make a 32-bit
>      compilation a bit larger.
> 
>  (4) Add an ITER_MAPPING iterator type.  This provides an iterator that
>      directly accesses an address_space, and assumes that the target pages
>      are in some way locked (eg. PG_lock or PG_writeback).
> 
>  (5) Add an ITER_DISCARD iterator type.  This provides an iterator that
>      simply discards anything written to it.  It cannot be used as a data
>      source.

Hmm...   I'll take a look in about an hour (need to finish the sodding tty-ioctl
stuff first), will post review then.  Sorry, I remember seeing it posted several
weeks ago, slipped through the cracks then ;-/



[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