@@ -254,10 +254,11 @@ static ssize_t flag_store(struct device *dev, struct device_attribute *attr,
254
254
if (err )
255
255
return err ;
256
256
257
+ /* the flags are inverted vs the values in the sysfs files */
257
258
if (val )
258
- bi -> flags |= flag ;
259
- else
260
259
bi -> flags &= ~flag ;
260
+ else
261
+ bi -> flags |= flag ;
261
262
return count ;
262
263
}
263
264
@@ -266,7 +267,7 @@ static ssize_t flag_show(struct device *dev, struct device_attribute *attr,
266
267
{
267
268
struct blk_integrity * bi = dev_to_bi (dev );
268
269
269
- return sysfs_emit (page , "%d\n" , !! (bi -> flags & flag ));
270
+ return sysfs_emit (page , "%d\n" , !(bi -> flags & flag ));
270
271
}
271
272
272
273
static ssize_t format_show (struct device * dev , struct device_attribute * attr ,
@@ -301,26 +302,26 @@ static ssize_t read_verify_store(struct device *dev,
301
302
struct device_attribute * attr ,
302
303
const char * page , size_t count )
303
304
{
304
- return flag_store (dev , attr , page , count , BLK_INTEGRITY_VERIFY );
305
+ return flag_store (dev , attr , page , count , BLK_INTEGRITY_NOVERIFY );
305
306
}
306
307
307
308
static ssize_t read_verify_show (struct device * dev ,
308
309
struct device_attribute * attr , char * page )
309
310
{
310
- return flag_show (dev , attr , page , BLK_INTEGRITY_VERIFY );
311
+ return flag_show (dev , attr , page , BLK_INTEGRITY_NOVERIFY );
311
312
}
312
313
313
314
static ssize_t write_generate_store (struct device * dev ,
314
315
struct device_attribute * attr ,
315
316
const char * page , size_t count )
316
317
{
317
- return flag_store (dev , attr , page , count , BLK_INTEGRITY_GENERATE );
318
+ return flag_store (dev , attr , page , count , BLK_INTEGRITY_NOGENERATE );
318
319
}
319
320
320
321
static ssize_t write_generate_show (struct device * dev ,
321
322
struct device_attribute * attr , char * page )
322
323
{
323
- return flag_show (dev , attr , page , BLK_INTEGRITY_GENERATE );
324
+ return flag_show (dev , attr , page , BLK_INTEGRITY_NOGENERATE );
324
325
}
325
326
326
327
static ssize_t device_is_integrity_capable_show (struct device * dev ,
@@ -371,8 +372,7 @@ void blk_integrity_register(struct gendisk *disk, struct blk_integrity *template
371
372
struct blk_integrity * bi = & disk -> queue -> integrity ;
372
373
373
374
bi -> csum_type = template -> csum_type ;
374
- bi -> flags = BLK_INTEGRITY_VERIFY | BLK_INTEGRITY_GENERATE |
375
- template -> flags ;
375
+ bi -> flags = template -> flags ;
376
376
bi -> interval_exp = template -> interval_exp ? :
377
377
ilog2 (queue_logical_block_size (disk -> queue ));
378
378
bi -> tuple_size = template -> tuple_size ;
0 commit comments