Re: [PATCH] hugetlbfs: zero partial pages during fallocate hole punch

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

 



On Mon, Jun 13, 2022 at 11:57:32AM -0700”, Andrew Morton wrote:
> On Mon, 13 Jun 2022 11:36:30 -0700 Mike kravetz <mike.kravetz@xxxxxxxxxx> wrote:
> 
> > On Mon, Jun 13, 2022 at 07:30:22PM +0100”, Matthew Wilcox wrote:
> > > On Mon, Jun 13, 2022 at 11:08:58AM -0700, Mike Kravetz wrote:
> > > > diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
> > > > index eca1d0fabd7e..b0d0947a7e9b 100644
> > > > --- a/fs/hugetlbfs/inode.c
> > > > +++ b/fs/hugetlbfs/inode.c
> > > > @@ -584,41 +584,79 @@ static void hugetlb_vmtruncate(struct inode *inode, loff_t offset)
> > > >  	remove_inode_hugepages(inode, offset, LLONG_MAX);
> > > >  }
> > > >  
> > > > +static void hugetlbfs_zero_partial_page(struct hstate *h,
> > > > +					struct address_space *mapping,
> > > > +					unsigned long start,
> > > 
> > > This should be loff_t.  Otherwise we can truncate on 32-bit machines.
> > > 
> > 
> > Thanks!  I missed that.
> 
> I did this:

Thank you.

I will send an official v2 with this change, just in case there are more
comments.

-- 
Mike Kravetz

> 
> --- a/fs/hugetlbfs/inode.c~hugetlbfs-zero-partial-pages-during-fallocate-hole-punch-fix
> +++ a/fs/hugetlbfs/inode.c
> @@ -602,8 +602,7 @@ static void hugetlb_vmtruncate(struct in
>  
>  static void hugetlbfs_zero_partial_page(struct hstate *h,
>  					struct address_space *mapping,
> -					unsigned long start,
> -					unsigned long end)
> +					loff_t start, loff_t end)
>  {
>  	pgoff_t idx = start >> huge_page_shift(h);
>  	struct page *page;
> _
> 




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux