Re: [PATCH v3 17/18] ext4: make punch hole code path work with bigalloc

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

 



On Wed, Apr 24, 2013 at 01:08:17PM +0200, Lukáš Czerner wrote:
> On Tue, 23 Apr 2013, Zheng Liu wrote:
[snip]
> > > > Also update respective tracepoints to use signed long long type for
> > > > partial_cluster.
> > >   The patch looks OK. You can add:
> > > Reviewed-by: Jan Kara <jack@xxxxxxx>
> > > 
> > >   Just a minor nit - sometimes you use 'signed long long', sometimes 'long
> > > long int', sometimes just 'long long'. In kernel we tend to always use just
> > > 'long long' so it would be good to clean that up.
> > 
> > Another question is that in patch 01/18 invalidatepage signature is
> > changed from
> >   int (*invalidatepage) (struct page *, unsigned long);
> > to
> >   void (*invalidatepage) (struct page *, unsigned int, unsigned int);
> > 
> > The argument type is changed from 'unsigned long' to 'unsigned int'.  My
> > question is why we need to change it.
> > 
> > Thanks,
> >                                                 - Zheng
> > 
> 
> Hi Zheng,
> 
> this was changed on Hugh Dickins request because it makes it clearer
> that those args are indeed intended to be offsets within a page
> (0..PAGE_CACHE_SIZE).
> 
> Even though PAGE_CACHE_SIZE can be defined as unsigned long, this is
> only for convenience. Here is quote from Hugh:
> 
>   "
>   They would be defined as unsigned long so that they can be used in
>   masks like ~(PAGE_SIZE - 1), and behave as expected on addresses,
>   without needing casts to be added all over.
> 
>   We do not (currently!) expect PAGE_SIZE or PAGE_CACHE_SIZE to grow
>   beyond an unsigned int - but indeed they can be larger than what's
>   held in an unsigned short (look no further than ia64 or ppc64).
> 
>   For more reassurance, see include/linux/highmem.h, which declares
>   zero_user_segments() and others: unsigned int (well, unsigned with
>   the int implicit) for offsets within a page.
> 
>   Hugh
>   "
> 
> I should probably mention that in the description.

Ah, thanks for your explanation.  I must miss something. :-(

Regards,
                                                - Zheng

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




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