aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--block/cfq-iosched.c6
-rw-r--r--block/genhd.c4
-rw-r--r--drivers/block/loop.c4
-rw-r--r--fs/char_dev.c2
-rw-r--r--fs/nfsd/vfs.c4
-rw-r--r--fs/splice.c43
6 files changed, 17 insertions, 46 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 9b186fd6bf47..c19d015ac5a5 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -2103,12 +2103,6 @@ static void choose_service_tree(struct cfq_data *cfqd, struct cfq_group *cfqg)
2103 unsigned group_slice; 2103 unsigned group_slice;
2104 enum wl_prio_t original_prio = cfqd->serving_prio; 2104 enum wl_prio_t original_prio = cfqd->serving_prio;
2105 2105
2106 if (!cfqg) {
2107 cfqd->serving_prio = IDLE_WORKLOAD;
2108 cfqd->workload_expires = jiffies + 1;
2109 return;
2110 }
2111
2112 /* Choose next priority. RT > BE > IDLE */ 2106 /* Choose next priority. RT > BE > IDLE */
2113 if (cfq_group_busy_queues_wl(RT_WORKLOAD, cfqd, cfqg)) 2107 if (cfq_group_busy_queues_wl(RT_WORKLOAD, cfqd, cfqg))
2114 cfqd->serving_prio = RT_WORKLOAD; 2108 cfqd->serving_prio = RT_WORKLOAD;
diff --git a/block/genhd.c b/block/genhd.c
index 5465a824d489..743317381632 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -244,7 +244,7 @@ static struct blk_major_name {
244} *major_names[BLKDEV_MAJOR_HASH_SIZE]; 244} *major_names[BLKDEV_MAJOR_HASH_SIZE];
245 245
246/* index in the above - for now: assume no multimajor ranges */ 246/* index in the above - for now: assume no multimajor ranges */
247static inline int major_to_index(int major) 247static inline int major_to_index(unsigned major)
248{ 248{
249 return major % BLKDEV_MAJOR_HASH_SIZE; 249 return major % BLKDEV_MAJOR_HASH_SIZE;
250} 250}
@@ -828,7 +828,7 @@ static void *show_partition_start(struct seq_file *seqf, loff_t *pos)
828 static void *p; 828 static void *p;
829 829
830 p = disk_seqf_start(seqf, pos); 830 p = disk_seqf_start(seqf, pos);
831 if (!IS_ERR(p) && p && !*pos) 831 if (!IS_ERR_OR_NULL(p) && !*pos)
832 seq_puts(seqf, "major minor #blocks name\n\n"); 832 seq_puts(seqf, "major minor #blocks name\n\n");
833 return p; 833 return p;
834} 834}
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 7ea0bea2f7e3..c87b0840d2cb 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -397,10 +397,6 @@ lo_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
397 sector_t IV; 397 sector_t IV;
398 int size, ret; 398 int size, ret;
399 399
400 ret = buf->ops->confirm(pipe, buf);
401 if (unlikely(ret))
402 return ret;
403
404 IV = ((sector_t) page->index << (PAGE_CACHE_SHIFT - 9)) + 400 IV = ((sector_t) page->index << (PAGE_CACHE_SHIFT - 9)) +
405 (buf->offset >> 9); 401 (buf->offset >> 9);
406 size = sd->len; 402 size = sd->len;
diff --git a/fs/char_dev.c b/fs/char_dev.c
index e5b9df993b93..143f0207c7eb 100644
--- a/fs/char_dev.c
+++ b/fs/char_dev.c
@@ -59,7 +59,7 @@ static struct char_device_struct {
59} *chrdevs[CHRDEV_MAJOR_HASH_SIZE]; 59} *chrdevs[CHRDEV_MAJOR_HASH_SIZE];
60 60
61/* index in the above */ 61/* index in the above */
62static inline int major_to_index(int major) 62static inline int major_to_index(unsigned major)
63{ 63{
64 return major % CHRDEV_MAJOR_HASH_SIZE; 64 return major % CHRDEV_MAJOR_HASH_SIZE;
65} 65}
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 184938fcff04..c6e08661adee 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -847,10 +847,6 @@ nfsd_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
847 size_t size; 847 size_t size;
848 int ret; 848 int ret;
849 849
850 ret = buf->ops->confirm(pipe, buf);
851 if (unlikely(ret))
852 return ret;
853
854 size = sd->len; 850 size = sd->len;
855 851
856 if (rqstp->rq_res.page_len == 0) { 852 if (rqstp->rq_res.page_len == 0) {
diff --git a/fs/splice.c b/fs/splice.c
index 8f1dfaecc8f0..d2026382ac3e 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -682,19 +682,14 @@ static int pipe_to_sendpage(struct pipe_inode_info *pipe,
682{ 682{
683 struct file *file = sd->u.file; 683 struct file *file = sd->u.file;
684 loff_t pos = sd->pos; 684 loff_t pos = sd->pos;
685 int ret, more; 685 int more;
686
687 ret = buf->ops->confirm(pipe, buf);
688 if (!ret) {
689 more = (sd->flags & SPLICE_F_MORE) || sd->len < sd->total_len;
690 if (file->f_op && file->f_op->sendpage)
691 ret = file->f_op->sendpage(file, buf->page, buf->offset,
692 sd->len, &pos, more);
693 else
694 ret = -EINVAL;
695 }
696 686
697 return ret; 687 if (!likely(file->f_op && file->f_op->sendpage))
688 return -EINVAL;
689
690 more = (sd->flags & SPLICE_F_MORE) || sd->len < sd->total_len;
691 return file->f_op->sendpage(file, buf->page, buf->offset,
692 sd->len, &pos, more);
698} 693}
699 694
700/* 695/*
@@ -727,13 +722,6 @@ int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
727 void *fsdata; 722 void *fsdata;
728 int ret; 723 int ret;
729 724
730 /*
731 * make sure the data in this buffer is uptodate
732 */
733 ret = buf->ops->confirm(pipe, buf);
734 if (unlikely(ret))
735 return ret;
736
737 offset = sd->pos & ~PAGE_CACHE_MASK; 725 offset = sd->pos & ~PAGE_CACHE_MASK;
738 726
739 this_len = sd->len; 727 this_len = sd->len;
@@ -805,12 +793,17 @@ int splice_from_pipe_feed(struct pipe_inode_info *pipe, struct splice_desc *sd,
805 if (sd->len > sd->total_len) 793 if (sd->len > sd->total_len)
806 sd->len = sd->total_len; 794 sd->len = sd->total_len;
807 795
808 ret = actor(pipe, buf, sd); 796 ret = buf->ops->confirm(pipe, buf);
809 if (ret <= 0) { 797 if (unlikely(ret)) {
810 if (ret == -ENODATA) 798 if (ret == -ENODATA)
811 ret = 0; 799 ret = 0;
812 return ret; 800 return ret;
813 } 801 }
802
803 ret = actor(pipe, buf, sd);
804 if (ret <= 0)
805 return ret;
806
814 buf->offset += ret; 807 buf->offset += ret;
815 buf->len -= ret; 808 buf->len -= ret;
816 809
@@ -1044,10 +1037,6 @@ static int write_pipe_buf(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
1044 int ret; 1037 int ret;
1045 void *data; 1038 void *data;
1046 1039
1047 ret = buf->ops->confirm(pipe, buf);
1048 if (ret)
1049 return ret;
1050
1051 data = buf->ops->map(pipe, buf, 0); 1040 data = buf->ops->map(pipe, buf, 0);
1052 ret = kernel_write(sd->u.file, data + buf->offset, sd->len, sd->pos); 1041 ret = kernel_write(sd->u.file, data + buf->offset, sd->len, sd->pos);
1053 buf->ops->unmap(pipe, buf, data); 1042 buf->ops->unmap(pipe, buf, data);
@@ -1507,10 +1496,6 @@ static int pipe_to_user(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
1507 char *src; 1496 char *src;
1508 int ret; 1497 int ret;
1509 1498
1510 ret = buf->ops->confirm(pipe, buf);
1511 if (unlikely(ret))
1512 return ret;
1513
1514 /* 1499 /*
1515 * See if we can use the atomic maps, by prefaulting in the 1500 * See if we can use the atomic maps, by prefaulting in the
1516 * pages and doing an atomic copy 1501 * pages and doing an atomic copy