@@ -177,7 +177,7 @@ static ssize_t btrfs_feature_attr_show(struct kobject *kobj,
177177 } else
178178 val = can_modify_feature (fa );
179179
180- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
180+ return sysfs_emit (buf , "%d\n" , val );
181181}
182182
183183static ssize_t btrfs_feature_attr_store (struct kobject * kobj ,
@@ -330,7 +330,7 @@ static const struct attribute_group btrfs_feature_attr_group = {
330330static ssize_t rmdir_subvol_show (struct kobject * kobj ,
331331 struct kobj_attribute * ka , char * buf )
332332{
333- return scnprintf (buf , PAGE_SIZE , "0\n" );
333+ return sysfs_emit (buf , "0\n" );
334334}
335335BTRFS_ATTR (static_feature , rmdir_subvol , rmdir_subvol_show );
336336
@@ -345,20 +345,20 @@ static ssize_t supported_checksums_show(struct kobject *kobj,
345345 * This "trick" only works as long as 'enum btrfs_csum_type' has
346346 * no holes in it
347347 */
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 ));
350350
351351 }
352352
353- ret += scnprintf (buf + ret , PAGE_SIZE - ret , "\n" );
353+ ret += sysfs_emit_at (buf , ret , "\n" );
354354 return ret ;
355355}
356356BTRFS_ATTR (static_feature , supported_checksums , supported_checksums_show );
357357
358358static ssize_t send_stream_version_show (struct kobject * kobj ,
359359 struct kobj_attribute * ka , char * buf )
360360{
361- return snprintf (buf , PAGE_SIZE , "%d\n" , BTRFS_SEND_STREAM_VERSION );
361+ return sysfs_emit (buf , "%d\n" , BTRFS_SEND_STREAM_VERSION );
362362}
363363BTRFS_ATTR (static_feature , send_stream_version , send_stream_version_show );
364364
@@ -378,9 +378,8 @@ static ssize_t supported_rescue_options_show(struct kobject *kobj,
378378 int i ;
379379
380380 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" );
384383 return ret ;
385384}
386385BTRFS_ATTR (static_feature , supported_rescue_options ,
@@ -394,10 +393,10 @@ static ssize_t supported_sectorsizes_show(struct kobject *kobj,
394393
395394 /* 4K sector size is also supported with 64K page size */
396395 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 );
398397
399398 /* 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 );
401400
402401 return ret ;
403402}
@@ -437,7 +436,7 @@ static ssize_t btrfs_discardable_bytes_show(struct kobject *kobj,
437436{
438437 struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
439438
440- return scnprintf (buf , PAGE_SIZE , "%lld\n" ,
439+ return sysfs_emit (buf , "%lld\n" ,
441440 atomic64_read (& fs_info -> discard_ctl .discardable_bytes ));
442441}
443442BTRFS_ATTR (discard , discardable_bytes , btrfs_discardable_bytes_show );
@@ -448,7 +447,7 @@ static ssize_t btrfs_discardable_extents_show(struct kobject *kobj,
448447{
449448 struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
450449
451- return scnprintf (buf , PAGE_SIZE , "%d\n" ,
450+ return sysfs_emit (buf , "%d\n" ,
452451 atomic_read (& fs_info -> discard_ctl .discardable_extents ));
453452}
454453BTRFS_ATTR (discard , discardable_extents , btrfs_discardable_extents_show );
@@ -459,8 +458,8 @@ static ssize_t btrfs_discard_bitmap_bytes_show(struct kobject *kobj,
459458{
460459 struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
461460
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 );
464463}
465464BTRFS_ATTR (discard , discard_bitmap_bytes , btrfs_discard_bitmap_bytes_show );
466465
@@ -470,7 +469,7 @@ static ssize_t btrfs_discard_bytes_saved_show(struct kobject *kobj,
470469{
471470 struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
472471
473- return scnprintf (buf , PAGE_SIZE , "%lld\n" ,
472+ return sysfs_emit (buf , "%lld\n" ,
474473 atomic64_read (& fs_info -> discard_ctl .discard_bytes_saved ));
475474}
476475BTRFS_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,
481480{
482481 struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
483482
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 );
486485}
487486BTRFS_ATTR (discard , discard_extent_bytes , btrfs_discard_extent_bytes_show );
488487
@@ -492,8 +491,8 @@ static ssize_t btrfs_discard_iops_limit_show(struct kobject *kobj,
492491{
493492 struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
494493
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 ));
497496}
498497
499498static 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,
523522{
524523 struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
525524
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 ));
528527}
529528
530529static 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,
553552{
554553 struct btrfs_fs_info * fs_info = discard_to_fs_info (kobj );
555554
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 ));
558557}
559558
560559static 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)
627626 val = * value_ptr ;
628627 if (lock )
629628 spin_unlock (lock );
630- return scnprintf (buf , PAGE_SIZE , "%llu\n" , val );
629+ return sysfs_emit (buf , "%llu\n" , val );
631630}
632631
633632static ssize_t global_rsv_size_show (struct kobject * kobj ,
@@ -673,7 +672,7 @@ static ssize_t raid_bytes_show(struct kobject *kobj,
673672 val += block_group -> used ;
674673 }
675674 up_read (& sinfo -> groups_sem );
676- return scnprintf (buf , PAGE_SIZE , "%llu\n" , val );
675+ return sysfs_emit (buf , "%llu\n" , val );
677676}
678677
679678/*
@@ -771,7 +770,7 @@ static ssize_t btrfs_label_show(struct kobject *kobj,
771770 ssize_t ret ;
772771
773772 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 );
775774 spin_unlock (& fs_info -> super_lock );
776775
777776 return ret ;
@@ -819,7 +818,7 @@ static ssize_t btrfs_nodesize_show(struct kobject *kobj,
819818{
820819 struct btrfs_fs_info * fs_info = to_fs_info (kobj );
821820
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 );
823822}
824823
825824BTRFS_ATTR (, nodesize , btrfs_nodesize_show );
@@ -829,8 +828,7 @@ static ssize_t btrfs_sectorsize_show(struct kobject *kobj,
829828{
830829 struct btrfs_fs_info * fs_info = to_fs_info (kobj );
831830
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 );
834832}
835833
836834BTRFS_ATTR (, sectorsize , btrfs_sectorsize_show );
@@ -840,7 +838,7 @@ static ssize_t btrfs_clone_alignment_show(struct kobject *kobj,
840838{
841839 struct btrfs_fs_info * fs_info = to_fs_info (kobj );
842840
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 );
844842}
845843
846844BTRFS_ATTR (, clone_alignment , btrfs_clone_alignment_show );
@@ -852,7 +850,7 @@ static ssize_t quota_override_show(struct kobject *kobj,
852850 int quota_override ;
853851
854852 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 );
856854}
857855
858856static ssize_t quota_override_store (struct kobject * kobj ,
@@ -890,8 +888,7 @@ static ssize_t btrfs_metadata_uuid_show(struct kobject *kobj,
890888{
891889 struct btrfs_fs_info * fs_info = to_fs_info (kobj );
892890
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 );
895892}
896893
897894BTRFS_ATTR (, metadata_uuid , btrfs_metadata_uuid_show );
@@ -902,9 +899,9 @@ static ssize_t btrfs_checksum_show(struct kobject *kobj,
902899 struct btrfs_fs_info * fs_info = to_fs_info (kobj );
903900 u16 csum_type = btrfs_super_csum_type (fs_info -> super_copy );
904901
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 ));
908905}
909906
910907BTRFS_ATTR (, checksum , btrfs_checksum_show );
@@ -941,7 +938,7 @@ static ssize_t btrfs_exclusive_operation_show(struct kobject *kobj,
941938 str = "UNKNOWN\n" ;
942939 break ;
943940 }
944- return scnprintf (buf , PAGE_SIZE , "%s" , str );
941+ return sysfs_emit (buf , "%s" , str );
945942}
946943BTRFS_ATTR (, exclusive_operation , btrfs_exclusive_operation_show );
947944
@@ -950,7 +947,7 @@ static ssize_t btrfs_generation_show(struct kobject *kobj,
950947{
951948 struct btrfs_fs_info * fs_info = to_fs_info (kobj );
952949
953- return scnprintf (buf , PAGE_SIZE , "%llu\n" , fs_info -> generation );
950+ return sysfs_emit (buf , "%llu\n" , fs_info -> generation );
954951}
955952BTRFS_ATTR (, generation , btrfs_generation_show );
956953
@@ -1028,8 +1025,7 @@ static ssize_t btrfs_bg_reclaim_threshold_show(struct kobject *kobj,
10281025 struct btrfs_fs_info * fs_info = to_fs_info (kobj );
10291026 ssize_t ret ;
10301027
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 ));
10331029
10341030 return ret ;
10351031}
@@ -1471,7 +1467,7 @@ static ssize_t btrfs_devinfo_in_fs_metadata_show(struct kobject *kobj,
14711467
14721468 val = !!test_bit (BTRFS_DEV_STATE_IN_FS_METADATA , & device -> dev_state );
14731469
1474- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
1470+ return sysfs_emit (buf , "%d\n" , val );
14751471}
14761472BTRFS_ATTR (devid , in_fs_metadata , btrfs_devinfo_in_fs_metadata_show );
14771473
@@ -1484,7 +1480,7 @@ static ssize_t btrfs_devinfo_missing_show(struct kobject *kobj,
14841480
14851481 val = !!test_bit (BTRFS_DEV_STATE_MISSING , & device -> dev_state );
14861482
1487- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
1483+ return sysfs_emit (buf , "%d\n" , val );
14881484}
14891485BTRFS_ATTR (devid , missing , btrfs_devinfo_missing_show );
14901486
@@ -1498,7 +1494,7 @@ static ssize_t btrfs_devinfo_replace_target_show(struct kobject *kobj,
14981494
14991495 val = !!test_bit (BTRFS_DEV_STATE_REPLACE_TGT , & device -> dev_state );
15001496
1501- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
1497+ return sysfs_emit (buf , "%d\n" , val );
15021498}
15031499BTRFS_ATTR (devid , replace_target , btrfs_devinfo_replace_target_show );
15041500
@@ -1509,8 +1505,7 @@ static ssize_t btrfs_devinfo_scrub_speed_max_show(struct kobject *kobj,
15091505 struct btrfs_device * device = container_of (kobj , struct btrfs_device ,
15101506 devid_kobj );
15111507
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 ));
15141509}
15151510
15161511static 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,
15381533
15391534 val = !!test_bit (BTRFS_DEV_STATE_WRITEABLE , & device -> dev_state );
15401535
1541- return scnprintf (buf , PAGE_SIZE , "%d\n" , val );
1536+ return sysfs_emit (buf , "%d\n" , val );
15421537}
15431538BTRFS_ATTR (devid , writeable , btrfs_devinfo_writeable_show );
15441539
@@ -1549,14 +1544,14 @@ static ssize_t btrfs_devinfo_error_stats_show(struct kobject *kobj,
15491544 devid_kobj );
15501545
15511546 if (!device -> dev_stats_valid )
1552- return scnprintf (buf , PAGE_SIZE , "invalid\n" );
1547+ return sysfs_emit (buf , "invalid\n" );
15531548
15541549 /*
15551550 * Print all at once so we get a snapshot of all values from the same
15561551 * time. Keep them in sync and in order of definition of
15571552 * btrfs_dev_stat_values.
15581553 */
1559- return scnprintf (buf , PAGE_SIZE ,
1554+ return sysfs_emit (buf ,
15601555 "write_errs %d\n"
15611556 "read_errs %d\n"
15621557 "flush_errs %d\n"
0 commit comments