Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gfs2/sysfs: Replace sprintf/snprintf with sysfs_emit

Documentation/filesystems/sysfs.rst mentions that show() should only
use sysfs_emit() or sysfs_emit_at() when formatting values returned
to user space. This patch updates the GFS2 sysfs interface accordingly.

It replaces uses of sprintf() and snprintf() in all *_show() functions
with sysfs_emit() to align with current kernel sysfs API best practices.
It also updates the TUNE_ATTR_2 macro to use sysfs_emit() instead of
snprintf().

Signed-off-by: Utkarsh Singh <utkarsh.singh.em@gmail.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>

authored by

Utkarsh Singh and committed by
Andreas Gruenbacher
02c03021 dcb6fa37

+15 -15
+15 -15
fs/gfs2/sys.c
··· 59 59 60 60 static ssize_t id_show(struct gfs2_sbd *sdp, char *buf) 61 61 { 62 - return snprintf(buf, PAGE_SIZE, "%u:%u\n", 62 + return sysfs_emit(buf, "%u:%u\n", 63 63 MAJOR(sdp->sd_vfs->s_dev), MINOR(sdp->sd_vfs->s_dev)); 64 64 } 65 65 ··· 68 68 unsigned long f = sdp->sd_flags; 69 69 ssize_t s; 70 70 71 - s = snprintf(buf, PAGE_SIZE, 71 + s = sysfs_emit(buf, 72 72 "Journal Checked: %d\n" 73 73 "Journal Live: %d\n" 74 74 "Journal ID: %d\n" ··· 140 140 141 141 static ssize_t fsname_show(struct gfs2_sbd *sdp, char *buf) 142 142 { 143 - return snprintf(buf, PAGE_SIZE, "%s\n", sdp->sd_fsname); 143 + return sysfs_emit(buf, "%s\n", sdp->sd_fsname); 144 144 } 145 145 146 146 static ssize_t uuid_show(struct gfs2_sbd *sdp, char *buf) ··· 150 150 buf[0] = '\0'; 151 151 if (uuid_is_null(&s->s_uuid)) 152 152 return 0; 153 - return snprintf(buf, PAGE_SIZE, "%pUB\n", &s->s_uuid); 153 + return sysfs_emit(buf, "%pUB\n", &s->s_uuid); 154 154 } 155 155 156 156 static ssize_t freeze_show(struct gfs2_sbd *sdp, char *buf) ··· 158 158 struct super_block *sb = sdp->sd_vfs; 159 159 int frozen = (sb->s_writers.frozen == SB_UNFROZEN) ? 0 : 1; 160 160 161 - return snprintf(buf, PAGE_SIZE, "%d\n", frozen); 161 + return sysfs_emit(buf, "%d\n", frozen); 162 162 } 163 163 164 164 static ssize_t freeze_store(struct gfs2_sbd *sdp, const char *buf, size_t len) ··· 194 194 static ssize_t withdraw_show(struct gfs2_sbd *sdp, char *buf) 195 195 { 196 196 unsigned int b = gfs2_withdrawing_or_withdrawn(sdp); 197 - return snprintf(buf, PAGE_SIZE, "%u\n", b); 197 + return sysfs_emit(buf, "%u\n", b); 198 198 } 199 199 200 200 static ssize_t withdraw_store(struct gfs2_sbd *sdp, const char *buf, size_t len) ··· 397 397 static ssize_t proto_name_show(struct gfs2_sbd *sdp, char *buf) 398 398 { 399 399 const struct lm_lockops *ops = sdp->sd_lockstruct.ls_ops; 400 - return sprintf(buf, "%s\n", ops->lm_proto_name); 400 + return sysfs_emit(buf, "%s\n", ops->lm_proto_name); 401 401 } 402 402 403 403 static ssize_t block_show(struct gfs2_sbd *sdp, char *buf) ··· 408 408 409 409 if (test_bit(DFL_BLOCK_LOCKS, &ls->ls_recover_flags)) 410 410 val = 1; 411 - ret = sprintf(buf, "%d\n", val); 411 + ret = sysfs_emit(buf, "%d\n", val); 412 412 return ret; 413 413 } 414 414 ··· 459 459 static ssize_t lkfirst_show(struct gfs2_sbd *sdp, char *buf) 460 460 { 461 461 struct lm_lockstruct *ls = &sdp->sd_lockstruct; 462 - return sprintf(buf, "%d\n", ls->ls_first); 462 + return sysfs_emit(buf, "%d\n", ls->ls_first); 463 463 } 464 464 465 465 static ssize_t lkfirst_store(struct gfs2_sbd *sdp, const char *buf, size_t len) ··· 492 492 static ssize_t first_done_show(struct gfs2_sbd *sdp, char *buf) 493 493 { 494 494 struct lm_lockstruct *ls = &sdp->sd_lockstruct; 495 - return sprintf(buf, "%d\n", !!test_bit(DFL_FIRST_MOUNT_DONE, &ls->ls_recover_flags)); 495 + return sysfs_emit(buf, "%d\n", !!test_bit(DFL_FIRST_MOUNT_DONE, &ls->ls_recover_flags)); 496 496 } 497 497 498 498 int gfs2_recover_set(struct gfs2_sbd *sdp, unsigned jid) ··· 550 550 static ssize_t recover_done_show(struct gfs2_sbd *sdp, char *buf) 551 551 { 552 552 struct lm_lockstruct *ls = &sdp->sd_lockstruct; 553 - return sprintf(buf, "%d\n", ls->ls_recover_jid_done); 553 + return sysfs_emit(buf, "%d\n", ls->ls_recover_jid_done); 554 554 } 555 555 556 556 static ssize_t recover_status_show(struct gfs2_sbd *sdp, char *buf) 557 557 { 558 558 struct lm_lockstruct *ls = &sdp->sd_lockstruct; 559 - return sprintf(buf, "%d\n", ls->ls_recover_jid_status); 559 + return sysfs_emit(buf, "%d\n", ls->ls_recover_jid_status); 560 560 } 561 561 562 562 static ssize_t jid_show(struct gfs2_sbd *sdp, char *buf) 563 563 { 564 - return sprintf(buf, "%d\n", sdp->sd_lockstruct.ls_jid); 564 + return sysfs_emit(buf, "%d\n", sdp->sd_lockstruct.ls_jid); 565 565 } 566 566 567 567 static ssize_t jid_store(struct gfs2_sbd *sdp, const char *buf, size_t len) ··· 626 626 627 627 static ssize_t quota_scale_show(struct gfs2_sbd *sdp, char *buf) 628 628 { 629 - return snprintf(buf, PAGE_SIZE, "%u %u\n", 629 + return sysfs_emit(buf, "%u %u\n", 630 630 sdp->sd_tune.gt_quota_scale_num, 631 631 sdp->sd_tune.gt_quota_scale_den); 632 632 } ··· 679 679 #define TUNE_ATTR_2(name, store) \ 680 680 static ssize_t name##_show(struct gfs2_sbd *sdp, char *buf) \ 681 681 { \ 682 - return snprintf(buf, PAGE_SIZE, "%u\n", sdp->sd_tune.gt_##name); \ 682 + return sysfs_emit(buf, "%u\n", sdp->sd_tune.gt_##name); \ 683 683 } \ 684 684 TUNE_ATTR_3(name, name##_show, store) 685 685