loop.c (b0bd158dd630bd47640e0e418c062cda1e0da5ad) | loop.c (0a6ed1b5ff6757f11ad2d57906ceb40488a5ee52) |
---|---|
1/* 2 * linux/drivers/block/loop.c 3 * 4 * Written by Theodore Ts'o, 3/29/93 5 * 6 * Copyright 1993 by Theodore Ts'o. Redistribution of this file is 7 * permitted under the GNU General Public License. 8 * --- 231 unchanged lines hidden (view full) --- 240{ 241 struct block_device *bdev = lo->lo_device; 242 243 bd_set_size(bdev, size << SECTOR_SHIFT); 244 245 set_capacity_revalidate_and_notify(lo->lo_disk, size, false); 246} 247 | 1/* 2 * linux/drivers/block/loop.c 3 * 4 * Written by Theodore Ts'o, 3/29/93 5 * 6 * Copyright 1993 by Theodore Ts'o. Redistribution of this file is 7 * permitted under the GNU General Public License. 8 * --- 231 unchanged lines hidden (view full) --- 240{ 241 struct block_device *bdev = lo->lo_device; 242 243 bd_set_size(bdev, size << SECTOR_SHIFT); 244 245 set_capacity_revalidate_and_notify(lo->lo_disk, size, false); 246} 247 |
248static void 249figure_loop_size(struct loop_device *lo, loff_t offset, loff_t sizelimit) 250{ 251 loff_t size = get_size(offset, sizelimit, lo->lo_backing_file); 252 253 loop_set_size(lo, size); 254} 255 | |
256static inline int 257lo_do_transfer(struct loop_device *lo, int cmd, 258 struct page *rpage, unsigned roffs, 259 struct page *lpage, unsigned loffs, 260 int size, sector_t rblock) 261{ 262 int ret; 263 --- 1265 unchanged lines hidden (view full) --- 1529 if (!err && copy_to_user(arg, &info64, sizeof(info64))) 1530 err = -EFAULT; 1531 1532 return err; 1533} 1534 1535static int loop_set_capacity(struct loop_device *lo) 1536{ | 248static inline int 249lo_do_transfer(struct loop_device *lo, int cmd, 250 struct page *rpage, unsigned roffs, 251 struct page *lpage, unsigned loffs, 252 int size, sector_t rblock) 253{ 254 int ret; 255 --- 1265 unchanged lines hidden (view full) --- 1521 if (!err && copy_to_user(arg, &info64, sizeof(info64))) 1522 err = -EFAULT; 1523 1524 return err; 1525} 1526 1527static int loop_set_capacity(struct loop_device *lo) 1528{ |
1529 loff_t size; 1530 |
|
1537 if (unlikely(lo->lo_state != Lo_bound)) 1538 return -ENXIO; 1539 | 1531 if (unlikely(lo->lo_state != Lo_bound)) 1532 return -ENXIO; 1533 |
1540 figure_loop_size(lo, lo->lo_offset, lo->lo_sizelimit); | 1534 size = get_loop_size(lo, lo->lo_backing_file); 1535 loop_set_size(lo, size); |
1541 1542 return 0; 1543} 1544 1545static int loop_set_dio(struct loop_device *lo, unsigned long arg) 1546{ 1547 int error = -ENXIO; 1548 if (lo->lo_state != Lo_bound) --- 813 unchanged lines hidden --- | 1536 1537 return 0; 1538} 1539 1540static int loop_set_dio(struct loop_device *lo, unsigned long arg) 1541{ 1542 int error = -ENXIO; 1543 if (lo->lo_state != Lo_bound) --- 813 unchanged lines hidden --- |