@@ -221,8 +221,7 @@ static void __loop_update_dio(struct loop_device *lo, bool dio)
221
221
}
222
222
223
223
static int
224
- figure_loop_size (struct loop_device * lo , loff_t offset , loff_t sizelimit ,
225
- loff_t logical_blocksize )
224
+ figure_loop_size (struct loop_device * lo , loff_t offset , loff_t sizelimit )
226
225
{
227
226
loff_t size = get_size (offset , sizelimit , lo -> lo_backing_file );
228
227
sector_t x = (sector_t )size ;
@@ -234,12 +233,6 @@ figure_loop_size(struct loop_device *lo, loff_t offset, loff_t sizelimit,
234
233
lo -> lo_offset = offset ;
235
234
if (lo -> lo_sizelimit != sizelimit )
236
235
lo -> lo_sizelimit = sizelimit ;
237
- if (lo -> lo_flags & LO_FLAGS_BLOCKSIZE ) {
238
- lo -> lo_logical_blocksize = logical_blocksize ;
239
- blk_queue_physical_block_size (lo -> lo_queue , lo -> lo_blocksize );
240
- blk_queue_logical_block_size (lo -> lo_queue ,
241
- lo -> lo_logical_blocksize );
242
- }
243
236
set_capacity (lo -> lo_disk , x );
244
237
bd_set_size (bdev , (loff_t )get_capacity (bdev -> bd_disk ) << 9 );
245
238
/* let user-space know about the new size */
@@ -820,7 +813,6 @@ static void loop_config_discard(struct loop_device *lo)
820
813
struct file * file = lo -> lo_backing_file ;
821
814
struct inode * inode = file -> f_mapping -> host ;
822
815
struct request_queue * q = lo -> lo_queue ;
823
- int lo_bits = 9 ;
824
816
825
817
/*
826
818
* We use punch hole to reclaim the free space used by the
@@ -840,11 +832,9 @@ static void loop_config_discard(struct loop_device *lo)
840
832
841
833
q -> limits .discard_granularity = inode -> i_sb -> s_blocksize ;
842
834
q -> limits .discard_alignment = 0 ;
843
- if (lo -> lo_flags & LO_FLAGS_BLOCKSIZE )
844
- lo_bits = blksize_bits (lo -> lo_logical_blocksize );
845
835
846
- blk_queue_max_discard_sectors (q , UINT_MAX >> lo_bits );
847
- blk_queue_max_write_zeroes_sectors (q , UINT_MAX >> lo_bits );
836
+ blk_queue_max_discard_sectors (q , UINT_MAX >> 9 );
837
+ blk_queue_max_write_zeroes_sectors (q , UINT_MAX >> 9 );
848
838
queue_flag_set_unlocked (QUEUE_FLAG_DISCARD , q );
849
839
}
850
840
@@ -938,7 +928,6 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
938
928
939
929
lo -> use_dio = false;
940
930
lo -> lo_blocksize = lo_blocksize ;
941
- lo -> lo_logical_blocksize = 512 ;
942
931
lo -> lo_device = bdev ;
943
932
lo -> lo_flags = lo_flags ;
944
933
lo -> lo_backing_file = file ;
@@ -1104,7 +1093,6 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
1104
1093
int err ;
1105
1094
struct loop_func_table * xfer ;
1106
1095
kuid_t uid = current_uid ();
1107
- int lo_flags = lo -> lo_flags ;
1108
1096
1109
1097
if (lo -> lo_encrypt_key_size &&
1110
1098
!uid_eq (lo -> lo_key_owner , uid ) &&
@@ -1137,26 +1125,9 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
1137
1125
if (err )
1138
1126
goto exit ;
1139
1127
1140
- if (info -> lo_flags & LO_FLAGS_BLOCKSIZE ) {
1141
- if (!(lo -> lo_flags & LO_FLAGS_BLOCKSIZE ))
1142
- lo -> lo_logical_blocksize = 512 ;
1143
- lo -> lo_flags |= LO_FLAGS_BLOCKSIZE ;
1144
- if (LO_INFO_BLOCKSIZE (info ) != 512 &&
1145
- LO_INFO_BLOCKSIZE (info ) != 1024 &&
1146
- LO_INFO_BLOCKSIZE (info ) != 2048 &&
1147
- LO_INFO_BLOCKSIZE (info ) != 4096 )
1148
- return - EINVAL ;
1149
- if (LO_INFO_BLOCKSIZE (info ) > lo -> lo_blocksize )
1150
- return - EINVAL ;
1151
- }
1152
-
1153
1128
if (lo -> lo_offset != info -> lo_offset ||
1154
- lo -> lo_sizelimit != info -> lo_sizelimit ||
1155
- lo -> lo_flags != lo_flags ||
1156
- ((lo -> lo_flags & LO_FLAGS_BLOCKSIZE ) &&
1157
- lo -> lo_logical_blocksize != LO_INFO_BLOCKSIZE (info ))) {
1158
- if (figure_loop_size (lo , info -> lo_offset , info -> lo_sizelimit ,
1159
- LO_INFO_BLOCKSIZE (info ))) {
1129
+ lo -> lo_sizelimit != info -> lo_sizelimit ) {
1130
+ if (figure_loop_size (lo , info -> lo_offset , info -> lo_sizelimit )) {
1160
1131
err = - EFBIG ;
1161
1132
goto exit ;
1162
1133
}
@@ -1348,8 +1319,7 @@ static int loop_set_capacity(struct loop_device *lo)
1348
1319
if (unlikely (lo -> lo_state != Lo_bound ))
1349
1320
return - ENXIO ;
1350
1321
1351
- return figure_loop_size (lo , lo -> lo_offset , lo -> lo_sizelimit ,
1352
- lo -> lo_logical_blocksize );
1322
+ return figure_loop_size (lo , lo -> lo_offset , lo -> lo_sizelimit );
1353
1323
}
1354
1324
1355
1325
static int loop_set_dio (struct loop_device * lo , unsigned long arg )
0 commit comments