On 09/02/2015 04:25 AM, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > ->pfn_mkwrite support is needed so that when a page with allocated > backing store first takes a write fault the timestamps on the > file are updated. THis fixes a generic/080 failure. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> I made a patch for this yesterday, but yours is better of-course I feel guilty because I sent the patch for the pfn_mkwrite thing, at the time xfs-dax was not yet in, but I forgot all about it when reviewing the xfs-dax. My bad, sorry. Thanks Dave Boaz > --- > fs/xfs/xfs_file.c | 11 +++++++++++ > fs/xfs/xfs_trace.h | 1 + > 2 files changed, 12 insertions(+) > > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > index de2c237..26535ba 100644 > --- a/fs/xfs/xfs_file.c > +++ b/fs/xfs/xfs_file.c > @@ -1546,10 +1546,21 @@ xfs_filemap_fault( > return ret; > } > > +static int > +xfs_filemap_pfn_mkwrite( > + struct vm_area_struct *vma, > + struct vm_fault *vmf) > +{ > + trace_xfs_filemap_pfn_mkwrite(XFS_I(file_inode(vma->vm_file))); > + > + return dax_pfn_mkwrite(vma, vmf); > +} > + > static const struct vm_operations_struct xfs_file_vm_ops = { > .fault = xfs_filemap_fault, > .map_pages = filemap_map_pages, > .page_mkwrite = xfs_filemap_page_mkwrite, > + .pfn_mkwrite = xfs_filemap_pfn_mkwrite, > }; > > STATIC int > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 8b5432e..63d87f2 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -688,6 +688,7 @@ DEFINE_INODE_EVENT(xfs_inode_free_eofblocks_invalid); > > DEFINE_INODE_EVENT(xfs_filemap_fault); > DEFINE_INODE_EVENT(xfs_filemap_page_mkwrite); > +DEFINE_INODE_EVENT(xfs_filemap_pfn_mkwrite); > > DECLARE_EVENT_CLASS(xfs_iref_class, > TP_PROTO(struct xfs_inode *ip, unsigned long caller_ip), > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs