Răsfoiți Sursa

bio: use offset_in_page macro

Use offset_in_page macro instead of (addr & ~PAGE_MASK).

Signed-off-by: Geliang Tang <geliangtang@163.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Geliang Tang 9 ani în urmă
părinte
comite
bd5cecea43
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      block/bio.c

+ 2 - 2
block/bio.c

@@ -1125,7 +1125,7 @@ struct bio *bio_copy_user_iov(struct request_queue *q,
 	int i, ret;
 	int i, ret;
 	int nr_pages = 0;
 	int nr_pages = 0;
 	unsigned int len = iter->count;
 	unsigned int len = iter->count;
-	unsigned int offset = map_data ? map_data->offset & ~PAGE_MASK : 0;
+	unsigned int offset = map_data ? offset_in_page(map_data->offset) : 0;
 
 
 	for (i = 0; i < iter->nr_segs; i++) {
 	for (i = 0; i < iter->nr_segs; i++) {
 		unsigned long uaddr;
 		unsigned long uaddr;
@@ -1304,7 +1304,7 @@ struct bio *bio_map_user_iov(struct request_queue *q,
 			goto out_unmap;
 			goto out_unmap;
 		}
 		}
 
 
-		offset = uaddr & ~PAGE_MASK;
+		offset = offset_in_page(uaddr);
 		for (j = cur_page; j < page_limit; j++) {
 		for (j = cur_page; j < page_limit; j++) {
 			unsigned int bytes = PAGE_SIZE - offset;
 			unsigned int bytes = PAGE_SIZE - offset;