[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57dad96341d34822a7943242c9bcad71@AcuMS.aculab.com>
Date: Mon, 11 Jan 2021 11:57:08 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Mikulas Patocka' <mpatocka@...hat.com>
CC: 'Al Viro' <viro@...iv.linux.org.uk>,
Andrew Morton <akpm@...ux-foundation.org>,
Dan Williams <dan.j.williams@...el.com>,
"Vishal Verma" <vishal.l.verma@...el.com>,
Dave Jiang <dave.jiang@...el.com>,
"Ira Weiny" <ira.weiny@...el.com>,
Matthew Wilcox <willy@...radead.org>, Jan Kara <jack@...e.cz>,
Steven Whitehouse <swhiteho@...hat.com>,
Eric Sandeen <esandeen@...hat.com>,
Dave Chinner <dchinner@...hat.com>,
Theodore Ts'o <tytso@....edu>,
Wang Jianchao <jianchao.wan9@...il.com>,
"Kani, Toshi" <toshi.kani@....com>,
"Norton, Scott J" <scott.norton@....com>,
"Tadakamadla, Rajesh" <rajesh.tadakamadla@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>
Subject: RE: [RFC v2] nvfs: a filesystem for persistent memory
From: Mikulas Patocka
> Sent: 11 January 2021 11:44
> On Mon, 11 Jan 2021, David Laight wrote:
>
> > From: Al Viro <viro@....linux.org.uk> On Behalf Of Al Viro
> > > Sent: 10 January 2021 16:20
...
...
> > > while (iov_iter_count(to)) {
...
> > > size = copy_to_iter(to, ptr, size);
> > > if (unlikely(!size)) {
> > > r = -EFAULT;
> > > goto ret_r;
> > > }
> > >
> > > pos += size;
> > > total += size;
> > > } while (iov_iter_count(to));
> >
> > That isn't the best formed loop!
> >
> > David
>
> I removed the second "while" statement and fixed the arguments to
> copy_to_iter - other than that, Al's function works.
The extra while is easy to write and can be difficult to spot.
I've found them looking as the object code before now!
Oh - the error return for copy_to_iter() is wrong.
It should (probably) return 'total' if it is nonzero.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists