|
|
@@ -63,6 +63,13 @@ static unsigned char *__struct_ptr(struct f2fs_sb_info *sbi, int struct_type)
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
+static ssize_t dirty_segments_show(struct f2fs_attr *a,
|
|
|
+ struct f2fs_sb_info *sbi, char *buf)
|
|
|
+{
|
|
|
+ return snprintf(buf, PAGE_SIZE, "%llu\n",
|
|
|
+ (unsigned long long)(dirty_segments(sbi)));
|
|
|
+}
|
|
|
+
|
|
|
static ssize_t lifetime_write_kbytes_show(struct f2fs_attr *a,
|
|
|
struct f2fs_sb_info *sbi, char *buf)
|
|
|
{
|
|
|
@@ -278,6 +285,7 @@ F2FS_RW_ATTR(F2FS_SBI, f2fs_sb_info, iostat_enable, iostat_enable);
|
|
|
F2FS_RW_ATTR(FAULT_INFO_RATE, f2fs_fault_info, inject_rate, inject_rate);
|
|
|
F2FS_RW_ATTR(FAULT_INFO_TYPE, f2fs_fault_info, inject_type, inject_type);
|
|
|
#endif
|
|
|
+F2FS_GENERAL_RO_ATTR(dirty_segments);
|
|
|
F2FS_GENERAL_RO_ATTR(lifetime_write_kbytes);
|
|
|
F2FS_GENERAL_RO_ATTR(features);
|
|
|
|
|
|
@@ -320,6 +328,7 @@ static struct attribute *f2fs_attrs[] = {
|
|
|
ATTR_LIST(inject_rate),
|
|
|
ATTR_LIST(inject_type),
|
|
|
#endif
|
|
|
+ ATTR_LIST(dirty_segments),
|
|
|
ATTR_LIST(lifetime_write_kbytes),
|
|
|
ATTR_LIST(features),
|
|
|
ATTR_LIST(reserved_blocks),
|