[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140402192759.GD27299@linux.intel.com>
Date: Wed, 2 Apr 2014 15:27:59 -0400
From: Matthew Wilcox <willy@...ux.intel.com>
To: Jan Kara <jack@...e.cz>
Cc: Matthew Wilcox <matthew.r.wilcox@...el.com>,
linux-fsdevel@...r.kernel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 04/22] Change direct_access calling convention
On Sat, Mar 29, 2014 at 05:30:28PM +0100, Jan Kara wrote:
> > @@ -379,7 +379,9 @@ static int brd_direct_access(struct block_device *bdev, sector_t sector,
> > *kaddr = page_address(page);
> > *pfn = page_to_pfn(page);
> >
> > - return 0;
> > + /* Could optimistically check to see if the next page in the
> > + * file is mapped to the next page of physical RAM */
> > + return PAGE_SIZE;
> This should be min_t(long, PAGE_SIZE, size), shouldn't it?
Yes, it should. In practice, I don't think anyone's calling it with
size < PAGE_SIZE, but we might as well future-proof it.
> > @@ -866,25 +866,26 @@ fail:
> > bio_io_error(bio);
> > }
> >
> > -static int
> > +static long
> > dcssblk_direct_access (struct block_device *bdev, sector_t secnum,
> > - void **kaddr, unsigned long *pfn)
> > + void **kaddr, unsigned long *pfn, long size)
> > {
> > struct dcssblk_dev_info *dev_info;
> > - unsigned long pgoff;
> > + unsigned long offset, dev_sz;
> > - return 0;
> > + return min_t(unsigned long, size, dev_sz - offset);
> ^^^ Why unsigned? Everything seems to be long...
offset is unsigned long ... but might as well do the comparison in signed
as unsigned. 'size' shouldn't be passed in as < 0 anyway.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists