sysfs.c (2a267e7c41aa88215de2b542de797d03d16ecdfd) sysfs.c (4d3aed70902f299ff2ed7048ef44f0d4d573d786)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * f2fs sysfs interface
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 * Copyright (c) 2017 Chao Yu <chao@kernel.org>
8 */

--- 54 unchanged lines hidden (view full) ---

63
64static ssize_t dirty_segments_show(struct f2fs_attr *a,
65 struct f2fs_sb_info *sbi, char *buf)
66{
67 return snprintf(buf, PAGE_SIZE, "%llu\n",
68 (unsigned long long)(dirty_segments(sbi)));
69}
70
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * f2fs sysfs interface
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 * Copyright (c) 2017 Chao Yu <chao@kernel.org>
8 */

--- 54 unchanged lines hidden (view full) ---

63
64static ssize_t dirty_segments_show(struct f2fs_attr *a,
65 struct f2fs_sb_info *sbi, char *buf)
66{
67 return snprintf(buf, PAGE_SIZE, "%llu\n",
68 (unsigned long long)(dirty_segments(sbi)));
69}
70
71static ssize_t unusable_show(struct f2fs_attr *a,
72 struct f2fs_sb_info *sbi, char *buf)
73{
74 block_t unusable;
75
76 if (test_opt(sbi, DISABLE_CHECKPOINT))
77 unusable = sbi->unusable_block_count;
78 else
79 unusable = f2fs_get_unusable_blocks(sbi);
80 return snprintf(buf, PAGE_SIZE, "%llu\n",
81 (unsigned long long)unusable);
82}
83
84
71static ssize_t lifetime_write_kbytes_show(struct f2fs_attr *a,
72 struct f2fs_sb_info *sbi, char *buf)
73{
74 struct super_block *sb = sbi->sb;
75
76 if (!sb->s_bdev->bd_part)
77 return snprintf(buf, PAGE_SIZE, "0\n");
78

--- 356 unchanged lines hidden (view full) ---

435#ifdef CONFIG_F2FS_FAULT_INJECTION
436F2FS_RW_ATTR(FAULT_INFO_RATE, f2fs_fault_info, inject_rate, inject_rate);
437F2FS_RW_ATTR(FAULT_INFO_TYPE, f2fs_fault_info, inject_type, inject_type);
438#endif
439F2FS_GENERAL_RO_ATTR(dirty_segments);
440F2FS_GENERAL_RO_ATTR(lifetime_write_kbytes);
441F2FS_GENERAL_RO_ATTR(features);
442F2FS_GENERAL_RO_ATTR(current_reserved_blocks);
85static ssize_t lifetime_write_kbytes_show(struct f2fs_attr *a,
86 struct f2fs_sb_info *sbi, char *buf)
87{
88 struct super_block *sb = sbi->sb;
89
90 if (!sb->s_bdev->bd_part)
91 return snprintf(buf, PAGE_SIZE, "0\n");
92

--- 356 unchanged lines hidden (view full) ---

449#ifdef CONFIG_F2FS_FAULT_INJECTION
450F2FS_RW_ATTR(FAULT_INFO_RATE, f2fs_fault_info, inject_rate, inject_rate);
451F2FS_RW_ATTR(FAULT_INFO_TYPE, f2fs_fault_info, inject_type, inject_type);
452#endif
453F2FS_GENERAL_RO_ATTR(dirty_segments);
454F2FS_GENERAL_RO_ATTR(lifetime_write_kbytes);
455F2FS_GENERAL_RO_ATTR(features);
456F2FS_GENERAL_RO_ATTR(current_reserved_blocks);
457F2FS_GENERAL_RO_ATTR(unusable);
443
444#ifdef CONFIG_FS_ENCRYPTION
445F2FS_FEATURE_RO_ATTR(encryption, FEAT_CRYPTO);
446#endif
447#ifdef CONFIG_BLK_DEV_ZONED
448F2FS_FEATURE_RO_ATTR(block_zoned, FEAT_BLKZONED);
449#endif
450F2FS_FEATURE_RO_ATTR(atomic_write, FEAT_ATOMIC_WRITE);

--- 39 unchanged lines hidden (view full) ---

490 ATTR_LIST(readdir_ra),
491 ATTR_LIST(gc_pin_file_thresh),
492 ATTR_LIST(extension_list),
493#ifdef CONFIG_F2FS_FAULT_INJECTION
494 ATTR_LIST(inject_rate),
495 ATTR_LIST(inject_type),
496#endif
497 ATTR_LIST(dirty_segments),
458
459#ifdef CONFIG_FS_ENCRYPTION
460F2FS_FEATURE_RO_ATTR(encryption, FEAT_CRYPTO);
461#endif
462#ifdef CONFIG_BLK_DEV_ZONED
463F2FS_FEATURE_RO_ATTR(block_zoned, FEAT_BLKZONED);
464#endif
465F2FS_FEATURE_RO_ATTR(atomic_write, FEAT_ATOMIC_WRITE);

--- 39 unchanged lines hidden (view full) ---

505 ATTR_LIST(readdir_ra),
506 ATTR_LIST(gc_pin_file_thresh),
507 ATTR_LIST(extension_list),
508#ifdef CONFIG_F2FS_FAULT_INJECTION
509 ATTR_LIST(inject_rate),
510 ATTR_LIST(inject_type),
511#endif
512 ATTR_LIST(dirty_segments),
513 ATTR_LIST(unusable),
498 ATTR_LIST(lifetime_write_kbytes),
499 ATTR_LIST(features),
500 ATTR_LIST(reserved_blocks),
501 ATTR_LIST(current_reserved_blocks),
502 NULL,
503};
504
505static struct attribute *f2fs_feat_attrs[] = {

--- 230 unchanged lines hidden ---
514 ATTR_LIST(lifetime_write_kbytes),
515 ATTR_LIST(features),
516 ATTR_LIST(reserved_blocks),
517 ATTR_LIST(current_reserved_blocks),
518 NULL,
519};
520
521static struct attribute *f2fs_feat_attrs[] = {

--- 230 unchanged lines hidden ---