@@ -508,10 +508,6 @@ iomap_migrate_page(struct address_space *mapping, struct page *newpage,
508
508
EXPORT_SYMBOL_GPL (iomap_migrate_page );
509
509
#endif /* CONFIG_MIGRATION */
510
510
511
- enum {
512
- IOMAP_WRITE_F_UNSHARE = (1 << 0 ),
513
- };
514
-
515
511
static void
516
512
iomap_write_failed (struct inode * inode , loff_t pos , unsigned len )
517
513
{
@@ -541,7 +537,7 @@ iomap_read_page_sync(loff_t block_start, struct page *page, unsigned poff,
541
537
}
542
538
543
539
static int __iomap_write_begin (struct iomap_iter * iter , loff_t pos ,
544
- unsigned len , int flags , struct page * page )
540
+ unsigned len , struct page * page )
545
541
{
546
542
struct iomap * srcmap = iomap_iter_srcmap (iter );
547
543
struct iomap_page * iop = iomap_page_create (iter -> inode , page );
@@ -560,13 +556,13 @@ static int __iomap_write_begin(struct iomap_iter *iter, loff_t pos,
560
556
if (plen == 0 )
561
557
break ;
562
558
563
- if (!(flags & IOMAP_WRITE_F_UNSHARE ) &&
559
+ if (!(iter -> flags & IOMAP_UNSHARE ) &&
564
560
(from <= poff || from >= poff + plen ) &&
565
561
(to <= poff || to >= poff + plen ))
566
562
continue ;
567
563
568
564
if (iomap_block_needs_zeroing (iter , block_start )) {
569
- if (WARN_ON_ONCE (flags & IOMAP_WRITE_F_UNSHARE ))
565
+ if (WARN_ON_ONCE (iter -> flags & IOMAP_UNSHARE ))
570
566
return - EIO ;
571
567
zero_user_segments (page , poff , from , to , poff + plen );
572
568
} else {
@@ -596,7 +592,7 @@ static int iomap_write_begin_inline(struct iomap_iter *iter,
596
592
}
597
593
598
594
static int iomap_write_begin (struct iomap_iter * iter , loff_t pos , unsigned len ,
599
- unsigned flags , struct page * * pagep )
595
+ struct page * * pagep )
600
596
{
601
597
const struct iomap_page_ops * page_ops = iter -> iomap .page_ops ;
602
598
struct iomap * srcmap = iomap_iter_srcmap (iter );
@@ -628,7 +624,7 @@ static int iomap_write_begin(struct iomap_iter *iter, loff_t pos, unsigned len,
628
624
else if (srcmap -> flags & IOMAP_F_BUFFER_HEAD )
629
625
status = __block_write_begin_int (page , pos , len , NULL , srcmap );
630
626
else
631
- status = __iomap_write_begin (iter , pos , len , flags , page );
627
+ status = __iomap_write_begin (iter , pos , len , page );
632
628
633
629
if (unlikely (status ))
634
630
goto out_unlock ;
@@ -759,7 +755,7 @@ static loff_t iomap_write_iter(struct iomap_iter *iter, struct iov_iter *i)
759
755
break ;
760
756
}
761
757
762
- status = iomap_write_begin (iter , pos , bytes , 0 , & page );
758
+ status = iomap_write_begin (iter , pos , bytes , & page );
763
759
if (unlikely (status ))
764
760
break ;
765
761
@@ -836,8 +832,7 @@ static loff_t iomap_unshare_iter(struct iomap_iter *iter)
836
832
unsigned long bytes = min_t (loff_t , PAGE_SIZE - offset , length );
837
833
struct page * page ;
838
834
839
- status = iomap_write_begin (iter , pos , bytes ,
840
- IOMAP_WRITE_F_UNSHARE , & page );
835
+ status = iomap_write_begin (iter , pos , bytes , & page );
841
836
if (unlikely (status ))
842
837
return status ;
843
838
@@ -865,7 +860,7 @@ iomap_file_unshare(struct inode *inode, loff_t pos, loff_t len,
865
860
.inode = inode ,
866
861
.pos = pos ,
867
862
.len = len ,
868
- .flags = IOMAP_WRITE ,
863
+ .flags = IOMAP_WRITE | IOMAP_UNSHARE ,
869
864
};
870
865
int ret ;
871
866
@@ -882,7 +877,7 @@ static s64 __iomap_zero_iter(struct iomap_iter *iter, loff_t pos, u64 length)
882
877
unsigned offset = offset_in_page (pos );
883
878
unsigned bytes = min_t (u64 , PAGE_SIZE - offset , length );
884
879
885
- status = iomap_write_begin (iter , pos , bytes , 0 , & page );
880
+ status = iomap_write_begin (iter , pos , bytes , & page );
886
881
if (status )
887
882
return status ;
888
883
0 commit comments