@@ -177,7 +177,7 @@ static ssize_t btrfs_feature_attr_show(struct kobject *kobj,
177
177
} else
178
178
val = can_modify_feature (fa );
179
179
180
- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
180
+ return sysfs_emit (buf , "%d\n" , val );
181
181
}
182
182
183
183
static ssize_t btrfs_feature_attr_store (struct kobject * kobj ,
@@ -330,7 +330,7 @@ static const struct attribute_group btrfs_feature_attr_group = {
330
330
static ssize_t rmdir_subvol_show (struct kobject * kobj ,
331
331
struct kobj_attribute * ka , char * buf )
332
332
{
333
- return scnprintf (buf , PAGE_SIZE , "0\n" );
333
+ return sysfs_emit (buf , "0\n" );
334
334
}
335
335
BTRFS_ATTR (static_feature , rmdir_subvol , rmdir_subvol_show );
336
336
@@ -345,20 +345,20 @@ static ssize_t supported_checksums_show(struct kobject *kobj,
345
345
* This "trick" only works as long as 'enum btrfs_csum_type' has
346
346
* no holes in it
347
347
*/
348
- ret += scnprintf (buf + ret , PAGE_SIZE - ret , "%s%s" ,
349
- ( i == 0 ? "" : " " ), btrfs_super_csum_name (i ));
348
+ ret += sysfs_emit_at (buf , ret , "%s%s" , ( i == 0 ? "" : " " ) ,
349
+ btrfs_super_csum_name (i ));
350
350
351
351
}
352
352
353
- ret += scnprintf (buf + ret , PAGE_SIZE - ret , "\n" );
353
+ ret += sysfs_emit_at (buf , ret , "\n" );
354
354
return ret ;
355
355
}
356
356
BTRFS_ATTR (static_feature , supported_checksums , supported_checksums_show );
357
357
358
358
static ssize_t send_stream_version_show (struct kobject * kobj ,
359
359
struct kobj_attribute * ka , char * buf )
360
360
{
361
- return snprintf (buf , PAGE_SIZE , "%d\n" , BTRFS_SEND_STREAM_VERSION );
361
+ return sysfs_emit (buf , "%d\n" , BTRFS_SEND_STREAM_VERSION );
362
362
}
363
363
BTRFS_ATTR (static_feature , send_stream_version , send_stream_version_show );
364
364
@@ -378,9 +378,8 @@ static ssize_t supported_rescue_options_show(struct kobject *kobj,
378
378
int i ;
379
379
380
380
for (i = 0 ; i < ARRAY_SIZE (rescue_opts ); i ++ )
381
- ret += scnprintf (buf + ret , PAGE_SIZE - ret , "%s%s" ,
382
- (i ? " " : "" ), rescue_opts [i ]);
383
- ret += scnprintf (buf + ret , PAGE_SIZE - ret , "\n" );
381
+ ret += sysfs_emit_at (buf , ret , "%s%s" , (i ? " " : "" ), rescue_opts [i ]);
382
+ ret += sysfs_emit_at (buf , ret , "\n" );
384
383
return ret ;
385
384
}
386
385
BTRFS_ATTR (static_feature , supported_rescue_options ,
@@ -394,10 +393,10 @@ static ssize_t supported_sectorsizes_show(struct kobject *kobj,
394
393
395
394
/* 4K sector size is also supported with 64K page size */
396
395
if (PAGE_SIZE == SZ_64K )
397
- ret += scnprintf (buf + ret , PAGE_SIZE - ret , "%u " , SZ_4K );
396
+ ret += sysfs_emit_at (buf , ret , "%u " , SZ_4K );
398
397
399
398
/* Only sectorsize == PAGE_SIZE is now supported */
400
- ret += scnprintf (buf + ret , PAGE_SIZE - ret , "%lu\n" , PAGE_SIZE );
399
+ ret += sysfs_emit_at (buf , ret , "%lu\n" , PAGE_SIZE );
401
400
402
401
return ret ;
403
402
}
@@ -437,7 +436,7 @@ static ssize_t btrfs_discardable_bytes_show(struct kobject *kobj,
437
436
{
438
437
struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
439
438
440
- return scnprintf (buf , PAGE_SIZE , "%lld\n" ,
439
+ return sysfs_emit (buf , "%lld\n" ,
441
440
atomic64_read (& fs_info -> discard_ctl .discardable_bytes ));
442
441
}
443
442
BTRFS_ATTR (discard , discardable_bytes , btrfs_discardable_bytes_show );
@@ -448,7 +447,7 @@ static ssize_t btrfs_discardable_extents_show(struct kobject *kobj,
448
447
{
449
448
struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
450
449
451
- return scnprintf (buf , PAGE_SIZE , "%d\n" ,
450
+ return sysfs_emit (buf , "%d\n" ,
452
451
atomic_read (& fs_info -> discard_ctl .discardable_extents ));
453
452
}
454
453
BTRFS_ATTR (discard , discardable_extents , btrfs_discardable_extents_show );
@@ -459,8 +458,8 @@ static ssize_t btrfs_discard_bitmap_bytes_show(struct kobject *kobj,
459
458
{
460
459
struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
461
460
462
- return scnprintf (buf , PAGE_SIZE , "%llu\n" ,
463
- fs_info -> discard_ctl .discard_bitmap_bytes );
461
+ return sysfs_emit (buf , "%llu\n" ,
462
+ fs_info -> discard_ctl .discard_bitmap_bytes );
464
463
}
465
464
BTRFS_ATTR (discard , discard_bitmap_bytes , btrfs_discard_bitmap_bytes_show );
466
465
@@ -470,7 +469,7 @@ static ssize_t btrfs_discard_bytes_saved_show(struct kobject *kobj,
470
469
{
471
470
struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
472
471
473
- return scnprintf (buf , PAGE_SIZE , "%lld\n" ,
472
+ return sysfs_emit (buf , "%lld\n" ,
474
473
atomic64_read (& fs_info -> discard_ctl .discard_bytes_saved ));
475
474
}
476
475
BTRFS_ATTR (discard , discard_bytes_saved , btrfs_discard_bytes_saved_show );
@@ -481,8 +480,8 @@ static ssize_t btrfs_discard_extent_bytes_show(struct kobject *kobj,
481
480
{
482
481
struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
483
482
484
- return scnprintf (buf , PAGE_SIZE , "%llu\n" ,
485
- fs_info -> discard_ctl .discard_extent_bytes );
483
+ return sysfs_emit (buf , "%llu\n" ,
484
+ fs_info -> discard_ctl .discard_extent_bytes );
486
485
}
487
486
BTRFS_ATTR (discard , discard_extent_bytes , btrfs_discard_extent_bytes_show );
488
487
@@ -492,8 +491,8 @@ static ssize_t btrfs_discard_iops_limit_show(struct kobject *kobj,
492
491
{
493
492
struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
494
493
495
- return scnprintf (buf , PAGE_SIZE , "%u\n" ,
496
- READ_ONCE (fs_info -> discard_ctl .iops_limit ));
494
+ return sysfs_emit (buf , "%u\n" ,
495
+ READ_ONCE (fs_info -> discard_ctl .iops_limit ));
497
496
}
498
497
499
498
static ssize_t btrfs_discard_iops_limit_store (struct kobject * kobj ,
@@ -523,8 +522,8 @@ static ssize_t btrfs_discard_kbps_limit_show(struct kobject *kobj,
523
522
{
524
523
struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
525
524
526
- return scnprintf (buf , PAGE_SIZE , "%u\n" ,
527
- READ_ONCE (fs_info -> discard_ctl .kbps_limit ));
525
+ return sysfs_emit (buf , "%u\n" ,
526
+ READ_ONCE (fs_info -> discard_ctl .kbps_limit ));
528
527
}
529
528
530
529
static ssize_t btrfs_discard_kbps_limit_store (struct kobject * kobj ,
@@ -553,8 +552,8 @@ static ssize_t btrfs_discard_max_discard_size_show(struct kobject *kobj,
553
552
{
554
553
struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
555
554
556
- return scnprintf (buf , PAGE_SIZE , "%llu\n" ,
557
- READ_ONCE (fs_info -> discard_ctl .max_discard_size ));
555
+ return sysfs_emit (buf , "%llu\n" ,
556
+ READ_ONCE (fs_info -> discard_ctl .max_discard_size ));
558
557
}
559
558
560
559
static ssize_t btrfs_discard_max_discard_size_store (struct kobject * kobj ,
@@ -627,7 +626,7 @@ static ssize_t btrfs_show_u64(u64 *value_ptr, spinlock_t *lock, char *buf)
627
626
val = * value_ptr ;
628
627
if (lock )
629
628
spin_unlock (lock );
630
- return scnprintf (buf , PAGE_SIZE , "%llu\n" , val );
629
+ return sysfs_emit (buf , "%llu\n" , val );
631
630
}
632
631
633
632
static ssize_t global_rsv_size_show (struct kobject * kobj ,
@@ -673,7 +672,7 @@ static ssize_t raid_bytes_show(struct kobject *kobj,
673
672
val += block_group -> used ;
674
673
}
675
674
up_read (& sinfo -> groups_sem );
676
- return scnprintf (buf , PAGE_SIZE , "%llu\n" , val );
675
+ return sysfs_emit (buf , "%llu\n" , val );
677
676
}
678
677
679
678
/*
@@ -771,7 +770,7 @@ static ssize_t btrfs_label_show(struct kobject *kobj,
771
770
ssize_t ret ;
772
771
773
772
spin_lock (& fs_info -> super_lock );
774
- ret = scnprintf (buf , PAGE_SIZE , label [0 ] ? "%s\n" : "%s" , label );
773
+ ret = sysfs_emit (buf , label [0 ] ? "%s\n" : "%s" , label );
775
774
spin_unlock (& fs_info -> super_lock );
776
775
777
776
return ret ;
@@ -819,7 +818,7 @@ static ssize_t btrfs_nodesize_show(struct kobject *kobj,
819
818
{
820
819
struct btrfs_fs_info * fs_info = to_fs_info (kobj );
821
820
822
- return scnprintf (buf , PAGE_SIZE , "%u\n" , fs_info -> super_copy -> nodesize );
821
+ return sysfs_emit (buf , "%u\n" , fs_info -> super_copy -> nodesize );
823
822
}
824
823
825
824
BTRFS_ATTR (, nodesize , btrfs_nodesize_show );
@@ -829,8 +828,7 @@ static ssize_t btrfs_sectorsize_show(struct kobject *kobj,
829
828
{
830
829
struct btrfs_fs_info * fs_info = to_fs_info (kobj );
831
830
832
- return scnprintf (buf , PAGE_SIZE , "%u\n" ,
833
- fs_info -> super_copy -> sectorsize );
831
+ return sysfs_emit (buf , "%u\n" , fs_info -> super_copy -> sectorsize );
834
832
}
835
833
836
834
BTRFS_ATTR (, sectorsize , btrfs_sectorsize_show );
@@ -840,7 +838,7 @@ static ssize_t btrfs_clone_alignment_show(struct kobject *kobj,
840
838
{
841
839
struct btrfs_fs_info * fs_info = to_fs_info (kobj );
842
840
843
- return scnprintf (buf , PAGE_SIZE , "%u\n" , fs_info -> super_copy -> sectorsize );
841
+ return sysfs_emit (buf , "%u\n" , fs_info -> super_copy -> sectorsize );
844
842
}
845
843
846
844
BTRFS_ATTR (, clone_alignment , btrfs_clone_alignment_show );
@@ -852,7 +850,7 @@ static ssize_t quota_override_show(struct kobject *kobj,
852
850
int quota_override ;
853
851
854
852
quota_override = test_bit (BTRFS_FS_QUOTA_OVERRIDE , & fs_info -> flags );
855
- return scnprintf (buf , PAGE_SIZE , "%d\n" , quota_override );
853
+ return sysfs_emit (buf , "%d\n" , quota_override );
856
854
}
857
855
858
856
static ssize_t quota_override_store (struct kobject * kobj ,
@@ -890,8 +888,7 @@ static ssize_t btrfs_metadata_uuid_show(struct kobject *kobj,
890
888
{
891
889
struct btrfs_fs_info * fs_info = to_fs_info (kobj );
892
890
893
- return scnprintf (buf , PAGE_SIZE , "%pU\n" ,
894
- fs_info -> fs_devices -> metadata_uuid );
891
+ return sysfs_emit (buf , "%pU\n" , fs_info -> fs_devices -> metadata_uuid );
895
892
}
896
893
897
894
BTRFS_ATTR (, metadata_uuid , btrfs_metadata_uuid_show );
@@ -902,9 +899,9 @@ static ssize_t btrfs_checksum_show(struct kobject *kobj,
902
899
struct btrfs_fs_info * fs_info = to_fs_info (kobj );
903
900
u16 csum_type = btrfs_super_csum_type (fs_info -> super_copy );
904
901
905
- return scnprintf (buf , PAGE_SIZE , "%s (%s)\n" ,
906
- btrfs_super_csum_name (csum_type ),
907
- crypto_shash_driver_name (fs_info -> csum_shash ));
902
+ return sysfs_emit (buf , "%s (%s)\n" ,
903
+ btrfs_super_csum_name (csum_type ),
904
+ crypto_shash_driver_name (fs_info -> csum_shash ));
908
905
}
909
906
910
907
BTRFS_ATTR (, checksum , btrfs_checksum_show );
@@ -941,7 +938,7 @@ static ssize_t btrfs_exclusive_operation_show(struct kobject *kobj,
941
938
str = "UNKNOWN\n" ;
942
939
break ;
943
940
}
944
- return scnprintf (buf , PAGE_SIZE , "%s" , str );
941
+ return sysfs_emit (buf , "%s" , str );
945
942
}
946
943
BTRFS_ATTR (, exclusive_operation , btrfs_exclusive_operation_show );
947
944
@@ -950,7 +947,7 @@ static ssize_t btrfs_generation_show(struct kobject *kobj,
950
947
{
951
948
struct btrfs_fs_info * fs_info = to_fs_info (kobj );
952
949
953
- return scnprintf (buf , PAGE_SIZE , "%llu\n" , fs_info -> generation );
950
+ return sysfs_emit (buf , "%llu\n" , fs_info -> generation );
954
951
}
955
952
BTRFS_ATTR (, generation , btrfs_generation_show );
956
953
@@ -1028,8 +1025,7 @@ static ssize_t btrfs_bg_reclaim_threshold_show(struct kobject *kobj,
1028
1025
struct btrfs_fs_info * fs_info = to_fs_info (kobj );
1029
1026
ssize_t ret ;
1030
1027
1031
- ret = scnprintf (buf , PAGE_SIZE , "%d\n" ,
1032
- READ_ONCE (fs_info -> bg_reclaim_threshold ));
1028
+ ret = sysfs_emit (buf , "%d\n" , READ_ONCE (fs_info -> bg_reclaim_threshold ));
1033
1029
1034
1030
return ret ;
1035
1031
}
@@ -1471,7 +1467,7 @@ static ssize_t btrfs_devinfo_in_fs_metadata_show(struct kobject *kobj,
1471
1467
1472
1468
val = !!test_bit (BTRFS_DEV_STATE_IN_FS_METADATA , & device -> dev_state );
1473
1469
1474
- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
1470
+ return sysfs_emit (buf , "%d\n" , val );
1475
1471
}
1476
1472
BTRFS_ATTR (devid , in_fs_metadata , btrfs_devinfo_in_fs_metadata_show );
1477
1473
@@ -1484,7 +1480,7 @@ static ssize_t btrfs_devinfo_missing_show(struct kobject *kobj,
1484
1480
1485
1481
val = !!test_bit (BTRFS_DEV_STATE_MISSING , & device -> dev_state );
1486
1482
1487
- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
1483
+ return sysfs_emit (buf , "%d\n" , val );
1488
1484
}
1489
1485
BTRFS_ATTR (devid , missing , btrfs_devinfo_missing_show );
1490
1486
@@ -1498,7 +1494,7 @@ static ssize_t btrfs_devinfo_replace_target_show(struct kobject *kobj,
1498
1494
1499
1495
val = !!test_bit (BTRFS_DEV_STATE_REPLACE_TGT , & device -> dev_state );
1500
1496
1501
- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
1497
+ return sysfs_emit (buf , "%d\n" , val );
1502
1498
}
1503
1499
BTRFS_ATTR (devid , replace_target , btrfs_devinfo_replace_target_show );
1504
1500
@@ -1509,8 +1505,7 @@ static ssize_t btrfs_devinfo_scrub_speed_max_show(struct kobject *kobj,
1509
1505
struct btrfs_device * device = container_of (kobj , struct btrfs_device ,
1510
1506
devid_kobj );
1511
1507
1512
- return scnprintf (buf , PAGE_SIZE , "%llu\n" ,
1513
- READ_ONCE (device -> scrub_speed_max ));
1508
+ return sysfs_emit (buf , "%llu\n" , READ_ONCE (device -> scrub_speed_max ));
1514
1509
}
1515
1510
1516
1511
static ssize_t btrfs_devinfo_scrub_speed_max_store (struct kobject * kobj ,
@@ -1538,7 +1533,7 @@ static ssize_t btrfs_devinfo_writeable_show(struct kobject *kobj,
1538
1533
1539
1534
val = !!test_bit (BTRFS_DEV_STATE_WRITEABLE , & device -> dev_state );
1540
1535
1541
- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
1536
+ return sysfs_emit (buf , "%d\n" , val );
1542
1537
}
1543
1538
BTRFS_ATTR (devid , writeable , btrfs_devinfo_writeable_show );
1544
1539
@@ -1549,14 +1544,14 @@ static ssize_t btrfs_devinfo_error_stats_show(struct kobject *kobj,
1549
1544
devid_kobj );
1550
1545
1551
1546
if (!device -> dev_stats_valid )
1552
- return scnprintf (buf , PAGE_SIZE , "invalid\n" );
1547
+ return sysfs_emit (buf , "invalid\n" );
1553
1548
1554
1549
/*
1555
1550
* Print all at once so we get a snapshot of all values from the same
1556
1551
* time. Keep them in sync and in order of definition of
1557
1552
* btrfs_dev_stat_values.
1558
1553
*/
1559
- return scnprintf (buf , PAGE_SIZE ,
1554
+ return sysfs_emit (buf ,
1560
1555
"write_errs %d\n"
1561
1556
"read_errs %d\n"
1562
1557
"flush_errs %d\n"
0 commit comments