On Fri, 2014-07-18 at 22:35 +0100, Ian Campbell wrote:
[...]
> -static inline void vmr_do_fput(struct vm_region *region,
> - const char func[], int line)
> -{
> - struct file *f = region->vm_file, *pr = region->vm_prfile;
> - aufs_trace(f, pr, func, line, __func__);
> - fput(f);
> - if (f && pr)
> - fput(pr);
> -}
> +#define vmr_pr_or_file(region) vmr_do_pr_or_file(region, __func__, \
> + __LINE__)
>
> -static inline void vma_do_file_update_time(struct vm_area_struct *vma,
> - const char func[], int line)
> -{
> - struct file *f = vma->vm_file, *pr = vma->vm_prfile;
> - aufs_trace(f, pr, func, line, __func__);
> - file_update_time(f);
> - if (f && pr)
> - file_update_time(pr);
> -}
> +#define vmr_fput(_region) do { \
> + struct vm_region *region = _region; \
Parentheses around _region.
> + struct file *f = region->vm_file, *pr = region->vm_prfile; \
> + aufs_trace(f, pr, __func__, __LINE__, vmr_fput); \
Last argument needs to be quoted (but this is #ifndef CONFIG_MMU... who
cares).
> + fput(f); \
> + if (f && pr) \
> + fput(pr); \
> +} while(0);
> +
> +#endif
> +
> +#define vma_file_update_time(_vma) { \
> + struct vm_area_struct *vma = _vma; \
[...]
Same for _vma (and in the other macros below).
Ben.
--
Ben Hutchings
Kids! Bringing about Armageddon can be dangerous. Do not attempt it in
your own home. - Terry Pratchett and Neil Gaiman, `Good Omens'
Attachment:
signature.asc
Description: This is a digitally signed message part