Re: [PATCH] iomap: constify struct iomap_ops

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

 



On Sun, Jan 08, 2017 at 07:51:40PM +0100, Christoph Hellwig wrote:
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> ---
>  fs/dax.c              |  6 +++---
>  fs/ext2/ext2.h        |  2 +-
>  fs/ext2/inode.c       |  4 ++--
>  fs/ext4/ext4.h        |  2 +-
>  fs/ext4/inode.c       |  2 +-
>  fs/internal.h         |  2 +-
>  fs/iomap.c            | 18 +++++++++---------
>  fs/xfs/xfs_iomap.c    |  4 ++--
>  fs/xfs/xfs_iomap.h    |  4 ++--
>  include/linux/dax.h   |  8 ++++----
>  include/linux/iomap.h | 14 +++++++-------
>  11 files changed, 33 insertions(+), 33 deletions(-)

Looks reasonable enough to me, so
Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

> 
> diff --git a/fs/dax.c b/fs/dax.c
> index 5c74f60..d11b481 100644
> --- a/fs/dax.c
> +++ b/fs/dax.c
> @@ -1054,7 +1054,7 @@ dax_iomap_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
>   */
>  ssize_t
>  dax_iomap_rw(struct kiocb *iocb, struct iov_iter *iter,
> -		struct iomap_ops *ops)
> +		const struct iomap_ops *ops)
>  {
>  	struct address_space *mapping = iocb->ki_filp->f_mapping;
>  	struct inode *inode = mapping->host;
> @@ -1098,7 +1098,7 @@ static int dax_fault_return(int error)
>   * necessary locking for the page fault to proceed successfully.
>   */
>  int dax_iomap_fault(struct vm_area_struct *vma, struct vm_fault *vmf,
> -			struct iomap_ops *ops)
> +			const struct iomap_ops *ops)
>  {
>  	struct address_space *mapping = vma->vm_file->f_mapping;
>  	struct inode *inode = mapping->host;
> @@ -1297,7 +1297,7 @@ static int dax_pmd_load_hole(struct vm_area_struct *vma, pmd_t *pmd,
>  }
>  
>  int dax_iomap_pmd_fault(struct vm_area_struct *vma, unsigned long address,
> -		pmd_t *pmd, unsigned int flags, struct iomap_ops *ops)
> +		pmd_t *pmd, unsigned int flags, const struct iomap_ops *ops)
>  {
>  	struct address_space *mapping = vma->vm_file->f_mapping;
>  	unsigned long pmd_addr = address & PMD_MASK;
> diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h
> index 37e2be7..5e64de9 100644
> --- a/fs/ext2/ext2.h
> +++ b/fs/ext2/ext2.h
> @@ -814,7 +814,7 @@ extern const struct file_operations ext2_file_operations;
>  /* inode.c */
>  extern const struct address_space_operations ext2_aops;
>  extern const struct address_space_operations ext2_nobh_aops;
> -extern struct iomap_ops ext2_iomap_ops;
> +extern const struct iomap_ops ext2_iomap_ops;
>  
>  /* namei.c */
>  extern const struct inode_operations ext2_dir_inode_operations;
> diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c
> index f073bfc..128cce5 100644
> --- a/fs/ext2/inode.c
> +++ b/fs/ext2/inode.c
> @@ -842,13 +842,13 @@ ext2_iomap_end(struct inode *inode, loff_t offset, loff_t length,
>  	return 0;
>  }
>  
> -struct iomap_ops ext2_iomap_ops = {
> +const struct iomap_ops ext2_iomap_ops = {
>  	.iomap_begin		= ext2_iomap_begin,
>  	.iomap_end		= ext2_iomap_end,
>  };
>  #else
>  /* Define empty ops for !CONFIG_FS_DAX case to avoid ugly ifdefs */
> -struct iomap_ops ext2_iomap_ops;
> +const struct iomap_ops ext2_iomap_ops;
>  #endif /* CONFIG_FS_DAX */
>  
>  int ext2_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index 2163c1e..ce70403 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -3253,7 +3253,7 @@ static inline void ext4_clear_io_unwritten_flag(ext4_io_end_t *io_end)
>  	}
>  }
>  
> -extern struct iomap_ops ext4_iomap_ops;
> +extern const struct iomap_ops ext4_iomap_ops;
>  
>  #endif	/* __KERNEL__ */
>  
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 88d57af..96c2e12 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -3420,7 +3420,7 @@ static int ext4_iomap_end(struct inode *inode, loff_t offset, loff_t length,
>  	return ret;
>  }
>  
> -struct iomap_ops ext4_iomap_ops = {
> +const struct iomap_ops ext4_iomap_ops = {
>  	.iomap_begin		= ext4_iomap_begin,
>  	.iomap_end		= ext4_iomap_end,
>  };
> diff --git a/fs/internal.h b/fs/internal.h
> index b63cf3a..11c6d89 100644
> --- a/fs/internal.h
> +++ b/fs/internal.h
> @@ -182,7 +182,7 @@ typedef loff_t (*iomap_actor_t)(struct inode *inode, loff_t pos, loff_t len,
>  		void *data, struct iomap *iomap);
>  
>  loff_t iomap_apply(struct inode *inode, loff_t pos, loff_t length,
> -		unsigned flags, struct iomap_ops *ops, void *data,
> +		unsigned flags, const struct iomap_ops *ops, void *data,
>  		iomap_actor_t actor);
>  
>  /* direct-io.c: */
> diff --git a/fs/iomap.c b/fs/iomap.c
> index 354a123..7f08ca0 100644
> --- a/fs/iomap.c
> +++ b/fs/iomap.c
> @@ -41,7 +41,7 @@
>   */
>  loff_t
>  iomap_apply(struct inode *inode, loff_t pos, loff_t length, unsigned flags,
> -		struct iomap_ops *ops, void *data, iomap_actor_t actor)
> +		const struct iomap_ops *ops, void *data, iomap_actor_t actor)
>  {
>  	struct iomap iomap = { 0 };
>  	loff_t written = 0, ret;
> @@ -232,7 +232,7 @@ iomap_write_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
>  
>  ssize_t
>  iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *iter,
> -		struct iomap_ops *ops)
> +		const struct iomap_ops *ops)
>  {
>  	struct inode *inode = iocb->ki_filp->f_mapping->host;
>  	loff_t pos = iocb->ki_pos, ret = 0, written = 0;
> @@ -315,7 +315,7 @@ iomap_dirty_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
>  
>  int
>  iomap_file_dirty(struct inode *inode, loff_t pos, loff_t len,
> -		struct iomap_ops *ops)
> +		const struct iomap_ops *ops)
>  {
>  	loff_t ret;
>  
> @@ -395,7 +395,7 @@ iomap_zero_range_actor(struct inode *inode, loff_t pos, loff_t count,
>  
>  int
>  iomap_zero_range(struct inode *inode, loff_t pos, loff_t len, bool *did_zero,
> -		struct iomap_ops *ops)
> +		const struct iomap_ops *ops)
>  {
>  	loff_t ret;
>  
> @@ -415,7 +415,7 @@ EXPORT_SYMBOL_GPL(iomap_zero_range);
>  
>  int
>  iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero,
> -		struct iomap_ops *ops)
> +		const struct iomap_ops *ops)
>  {
>  	unsigned blocksize = (1 << inode->i_blkbits);
>  	unsigned off = pos & (blocksize - 1);
> @@ -443,7 +443,7 @@ iomap_page_mkwrite_actor(struct inode *inode, loff_t pos, loff_t length,
>  }
>  
>  int iomap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
> -		struct iomap_ops *ops)
> +		const struct iomap_ops *ops)
>  {
>  	struct page *page = vmf->page;
>  	struct inode *inode = file_inode(vma->vm_file);
> @@ -542,7 +542,7 @@ iomap_fiemap_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
>  }
>  
>  int iomap_fiemap(struct inode *inode, struct fiemap_extent_info *fi,
> -		loff_t start, loff_t len, struct iomap_ops *ops)
> +		loff_t start, loff_t len, const struct iomap_ops *ops)
>  {
>  	struct fiemap_ctx ctx;
>  	loff_t ret;
> @@ -836,8 +836,8 @@ iomap_dio_actor(struct inode *inode, loff_t pos, loff_t length,
>  }
>  
>  ssize_t
> -iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, struct iomap_ops *ops,
> -		iomap_dio_end_io_t end_io)
> +iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
> +		const struct iomap_ops *ops, iomap_dio_end_io_t end_io)
>  {
>  	struct address_space *mapping = iocb->ki_filp->f_mapping;
>  	struct inode *inode = file_inode(iocb->ki_filp);
> diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
> index 0d14742..3ec8ff7 100644
> --- a/fs/xfs/xfs_iomap.c
> +++ b/fs/xfs/xfs_iomap.c
> @@ -1144,7 +1144,7 @@ xfs_file_iomap_end(
>  	return 0;
>  }
>  
> -struct iomap_ops xfs_iomap_ops = {
> +const struct iomap_ops xfs_iomap_ops = {
>  	.iomap_begin		= xfs_file_iomap_begin,
>  	.iomap_end		= xfs_file_iomap_end,
>  };
> @@ -1190,6 +1190,6 @@ xfs_xattr_iomap_begin(
>  	return error;
>  }
>  
> -struct iomap_ops xfs_xattr_iomap_ops = {
> +const struct iomap_ops xfs_xattr_iomap_ops = {
>  	.iomap_begin		= xfs_xattr_iomap_begin,
>  };
> diff --git a/fs/xfs/xfs_iomap.h b/fs/xfs/xfs_iomap.h
> index 6d45cf0..705224b 100644
> --- a/fs/xfs/xfs_iomap.h
> +++ b/fs/xfs/xfs_iomap.h
> @@ -33,7 +33,7 @@ void xfs_bmbt_to_iomap(struct xfs_inode *, struct iomap *,
>  		struct xfs_bmbt_irec *);
>  xfs_extlen_t xfs_eof_alignment(struct xfs_inode *ip, xfs_extlen_t extsize);
>  
> -extern struct iomap_ops xfs_iomap_ops;
> -extern struct iomap_ops xfs_xattr_iomap_ops;
> +extern const struct iomap_ops xfs_iomap_ops;
> +extern const struct iomap_ops xfs_xattr_iomap_ops;
>  
>  #endif /* __XFS_IOMAP_H__*/
> diff --git a/include/linux/dax.h b/include/linux/dax.h
> index 24ad711..2983e52 100644
> --- a/include/linux/dax.h
> +++ b/include/linux/dax.h
> @@ -37,9 +37,9 @@ static inline void *dax_radix_locked_entry(sector_t sector, unsigned long flags)
>  }
>  
>  ssize_t dax_iomap_rw(struct kiocb *iocb, struct iov_iter *iter,
> -		struct iomap_ops *ops);
> +		const struct iomap_ops *ops);
>  int dax_iomap_fault(struct vm_area_struct *vma, struct vm_fault *vmf,
> -			struct iomap_ops *ops);
> +			const struct iomap_ops *ops);
>  int dax_delete_mapping_entry(struct address_space *mapping, pgoff_t index);
>  int dax_invalidate_mapping_entry(struct address_space *mapping, pgoff_t index);
>  int dax_invalidate_mapping_entry_sync(struct address_space *mapping,
> @@ -72,7 +72,7 @@ static inline unsigned int dax_radix_order(void *entry)
>  	return 0;
>  }
>  int dax_iomap_pmd_fault(struct vm_area_struct *vma, unsigned long address,
> -		pmd_t *pmd, unsigned int flags, struct iomap_ops *ops);
> +		pmd_t *pmd, unsigned int flags, const struct iomap_ops *ops);
>  #else
>  static inline unsigned int dax_radix_order(void *entry)
>  {
> @@ -80,7 +80,7 @@ static inline unsigned int dax_radix_order(void *entry)
>  }
>  static inline int dax_iomap_pmd_fault(struct vm_area_struct *vma,
>  		unsigned long address, pmd_t *pmd, unsigned int flags,
> -		struct iomap_ops *ops)
> +		const struct iomap_ops *ops)
>  {
>  	return VM_FAULT_FALLBACK;
>  }
> diff --git a/include/linux/iomap.h b/include/linux/iomap.h
> index a4c94b8..891459c 100644
> --- a/include/linux/iomap.h
> +++ b/include/linux/iomap.h
> @@ -72,17 +72,17 @@ struct iomap_ops {
>  };
>  
>  ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from,
> -		struct iomap_ops *ops);
> +		const struct iomap_ops *ops);
>  int iomap_file_dirty(struct inode *inode, loff_t pos, loff_t len,
> -		struct iomap_ops *ops);
> +		const struct iomap_ops *ops);
>  int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len,
> -		bool *did_zero, struct iomap_ops *ops);
> +		bool *did_zero, const struct iomap_ops *ops);
>  int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero,
> -		struct iomap_ops *ops);
> +		const struct iomap_ops *ops);
>  int iomap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
> -		struct iomap_ops *ops);
> +		const struct iomap_ops *ops);
>  int iomap_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
> -		loff_t start, loff_t len, struct iomap_ops *ops);
> +		loff_t start, loff_t len, const struct iomap_ops *ops);
>  
>  /*
>   * Flags for direct I/O ->end_io:
> @@ -92,6 +92,6 @@ int iomap_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
>  typedef int (iomap_dio_end_io_t)(struct kiocb *iocb, ssize_t ret,
>  		unsigned flags);
>  ssize_t iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
> -		struct iomap_ops *ops, iomap_dio_end_io_t end_io);
> +		const struct iomap_ops *ops, iomap_dio_end_io_t end_io);
>  
>  #endif /* LINUX_IOMAP_H */
> -- 
> 2.1.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux