Skip to content

Commit a27fcb0

Browse files
committed
Merge tag 'xfs-4.11-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs updates from Darrick Wong: "Here are the XFS changes for 4.11. We aren't introducing any major features in this release cycle except for this being the first merge window I've managed on my own. :) Changes since last update: - Various cleanups - Livelock fixes for eofblocks scanning - Improved input verification for on-disk metadata - Fix races in the copy on write remap mechanism - Fix buffer io error timeout controls - Streamlining of directio copy on write - Asynchronous discard support - Fix asserts when splitting delalloc reservations - Don't bloat bmbt when right shifting extents - Inode alignment fixes for 32k block sizes" * tag 'xfs-4.11-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (39 commits) xfs: remove XFS_ALLOCTYPE_ANY_AG and XFS_ALLOCTYPE_START_AG xfs: simplify xfs_rtallocate_extent xfs: tune down agno asserts in the bmap code xfs: Use xfs_icluster_size_fsb() to calculate inode chunk alignment xfs: don't reserve blocks for right shift transactions xfs: fix len comparison in xfs_extent_busy_trim xfs: fix uninitialized variable in _reflink_convert_cow xfs: split indlen reservations fairly when under reserved xfs: handle indlen shortage on delalloc extent merge xfs: resurrect debug mode drop buffered writes mechanism xfs: clear delalloc and cache on buffered write failure xfs: don't block the log commit handler for discards xfs: improve busy extent sorting xfs: improve handling of busy extents in the low-level allocator xfs: don't fail xfs_extent_busy allocation xfs: correct null checks and error processing in xfs_initialize_perag xfs: update ctime and mtime on clone destinatation inodes xfs: allocate direct I/O COW blocks in iomap_begin xfs: go straight to real allocations for direct I/O COW writes xfs: return the converted extent in __xfs_reflink_convert_cow ...
2 parents 7d91de7 + 8d242e9 commit a27fcb0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+920
-638
lines changed

fs/dax.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,7 +1079,7 @@ dax_iomap_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
10791079
*/
10801080
ssize_t
10811081
dax_iomap_rw(struct kiocb *iocb, struct iov_iter *iter,
1082-
struct iomap_ops *ops)
1082+
const struct iomap_ops *ops)
10831083
{
10841084
struct address_space *mapping = iocb->ki_filp->f_mapping;
10851085
struct inode *inode = mapping->host;
@@ -1127,7 +1127,7 @@ static int dax_fault_return(int error)
11271127
* necessary locking for the page fault to proceed successfully.
11281128
*/
11291129
int dax_iomap_fault(struct vm_area_struct *vma, struct vm_fault *vmf,
1130-
struct iomap_ops *ops)
1130+
const struct iomap_ops *ops)
11311131
{
11321132
struct address_space *mapping = vma->vm_file->f_mapping;
11331133
struct inode *inode = mapping->host;
@@ -1326,7 +1326,7 @@ static int dax_pmd_load_hole(struct vm_area_struct *vma, pmd_t *pmd,
13261326
}
13271327

13281328
int dax_iomap_pmd_fault(struct vm_area_struct *vma, unsigned long address,
1329-
pmd_t *pmd, unsigned int flags, struct iomap_ops *ops)
1329+
pmd_t *pmd, unsigned int flags, const struct iomap_ops *ops)
13301330
{
13311331
struct address_space *mapping = vma->vm_file->f_mapping;
13321332
unsigned long pmd_addr = address & PMD_MASK;

fs/ext2/ext2.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -814,7 +814,7 @@ extern const struct file_operations ext2_file_operations;
814814
/* inode.c */
815815
extern const struct address_space_operations ext2_aops;
816816
extern const struct address_space_operations ext2_nobh_aops;
817-
extern struct iomap_ops ext2_iomap_ops;
817+
extern const struct iomap_ops ext2_iomap_ops;
818818

819819
/* namei.c */
820820
extern const struct inode_operations ext2_dir_inode_operations;

fs/ext2/inode.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -842,13 +842,13 @@ ext2_iomap_end(struct inode *inode, loff_t offset, loff_t length,
842842
return 0;
843843
}
844844

845-
struct iomap_ops ext2_iomap_ops = {
845+
const struct iomap_ops ext2_iomap_ops = {
846846
.iomap_begin = ext2_iomap_begin,
847847
.iomap_end = ext2_iomap_end,
848848
};
849849
#else
850850
/* Define empty ops for !CONFIG_FS_DAX case to avoid ugly ifdefs */
851-
struct iomap_ops ext2_iomap_ops;
851+
const struct iomap_ops ext2_iomap_ops;
852852
#endif /* CONFIG_FS_DAX */
853853

854854
int ext2_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,

fs/ext4/ext4.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3244,7 +3244,7 @@ static inline void ext4_clear_io_unwritten_flag(ext4_io_end_t *io_end)
32443244
}
32453245
}
32463246

3247-
extern struct iomap_ops ext4_iomap_ops;
3247+
extern const struct iomap_ops ext4_iomap_ops;
32483248

32493249
#endif /* __KERNEL__ */
32503250

fs/ext4/inode.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3450,7 +3450,7 @@ static int ext4_iomap_end(struct inode *inode, loff_t offset, loff_t length,
34503450
return ret;
34513451
}
34523452

3453-
struct iomap_ops ext4_iomap_ops = {
3453+
const struct iomap_ops ext4_iomap_ops = {
34543454
.iomap_begin = ext4_iomap_begin,
34553455
.iomap_end = ext4_iomap_end,
34563456
};

fs/internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ typedef loff_t (*iomap_actor_t)(struct inode *inode, loff_t pos, loff_t len,
182182
void *data, struct iomap *iomap);
183183

184184
loff_t iomap_apply(struct inode *inode, loff_t pos, loff_t length,
185-
unsigned flags, struct iomap_ops *ops, void *data,
185+
unsigned flags, const struct iomap_ops *ops, void *data,
186186
iomap_actor_t actor);
187187

188188
/* direct-io.c: */

fs/iomap.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
*/
4242
loff_t
4343
iomap_apply(struct inode *inode, loff_t pos, loff_t length, unsigned flags,
44-
struct iomap_ops *ops, void *data, iomap_actor_t actor)
44+
const struct iomap_ops *ops, void *data, iomap_actor_t actor)
4545
{
4646
struct iomap iomap = { 0 };
4747
loff_t written = 0, ret;
@@ -235,7 +235,7 @@ iomap_write_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
235235

236236
ssize_t
237237
iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *iter,
238-
struct iomap_ops *ops)
238+
const struct iomap_ops *ops)
239239
{
240240
struct inode *inode = iocb->ki_filp->f_mapping->host;
241241
loff_t pos = iocb->ki_pos, ret = 0, written = 0;
@@ -318,7 +318,7 @@ iomap_dirty_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
318318

319319
int
320320
iomap_file_dirty(struct inode *inode, loff_t pos, loff_t len,
321-
struct iomap_ops *ops)
321+
const struct iomap_ops *ops)
322322
{
323323
loff_t ret;
324324

@@ -398,7 +398,7 @@ iomap_zero_range_actor(struct inode *inode, loff_t pos, loff_t count,
398398

399399
int
400400
iomap_zero_range(struct inode *inode, loff_t pos, loff_t len, bool *did_zero,
401-
struct iomap_ops *ops)
401+
const struct iomap_ops *ops)
402402
{
403403
loff_t ret;
404404

@@ -418,7 +418,7 @@ EXPORT_SYMBOL_GPL(iomap_zero_range);
418418

419419
int
420420
iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero,
421-
struct iomap_ops *ops)
421+
const struct iomap_ops *ops)
422422
{
423423
unsigned blocksize = (1 << inode->i_blkbits);
424424
unsigned off = pos & (blocksize - 1);
@@ -446,7 +446,7 @@ iomap_page_mkwrite_actor(struct inode *inode, loff_t pos, loff_t length,
446446
}
447447

448448
int iomap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
449-
struct iomap_ops *ops)
449+
const struct iomap_ops *ops)
450450
{
451451
struct page *page = vmf->page;
452452
struct inode *inode = file_inode(vma->vm_file);
@@ -545,7 +545,7 @@ iomap_fiemap_actor(struct inode *inode, loff_t pos, loff_t length, void *data,
545545
}
546546

547547
int iomap_fiemap(struct inode *inode, struct fiemap_extent_info *fi,
548-
loff_t start, loff_t len, struct iomap_ops *ops)
548+
loff_t start, loff_t len, const struct iomap_ops *ops)
549549
{
550550
struct fiemap_ctx ctx;
551551
loff_t ret;
@@ -839,8 +839,8 @@ iomap_dio_actor(struct inode *inode, loff_t pos, loff_t length,
839839
}
840840

841841
ssize_t
842-
iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, struct iomap_ops *ops,
843-
iomap_dio_end_io_t end_io)
842+
iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
843+
const struct iomap_ops *ops, iomap_dio_end_io_t end_io)
844844
{
845845
struct address_space *mapping = iocb->ki_filp->f_mapping;
846846
struct inode *inode = file_inode(iocb->ki_filp);

0 commit comments

Comments
 (0)