* [f2fs-dev] [PATCH 1/2] f2fs: don't kobject_put in the error case @ 2025-01-31 22:24 ` Jaegeuk Kim 0 siblings, 0 replies; 12+ messages in thread From: Jaegeuk Kim via Linux-f2fs-devel @ 2025-01-31 22:24 UTC (permalink / raw) To: linux-kernel, linux-f2fs-devel; +Cc: Jaegeuk Kim Fix a wrong kobject_put in the error path. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> --- fs/f2fs/sysfs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c index d15c68b28952..001e97cd0a96 100644 --- a/fs/f2fs/sysfs.c +++ b/fs/f2fs/sysfs.c @@ -1605,7 +1605,7 @@ int __init f2fs_init_sysfs(void) ret = kobject_init_and_add(&f2fs_feat, &f2fs_feat_ktype, NULL, "features"); if (ret) - goto put_kobject; + goto unregister_out; f2fs_proc_root = proc_mkdir("fs/f2fs", NULL); if (!f2fs_proc_root) { @@ -1616,6 +1616,7 @@ int __init f2fs_init_sysfs(void) return 0; put_kobject: kobject_put(&f2fs_feat); +unregister_out: kset_unregister(&f2fs_kset); return ret; } -- 2.48.1.362.g079036d154-goog _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 1/2] f2fs: don't kobject_put in the error case @ 2025-01-31 22:24 ` Jaegeuk Kim 0 siblings, 0 replies; 12+ messages in thread From: Jaegeuk Kim @ 2025-01-31 22:24 UTC (permalink / raw) To: linux-kernel, linux-f2fs-devel; +Cc: Jaegeuk Kim Fix a wrong kobject_put in the error path. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> --- fs/f2fs/sysfs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c index d15c68b28952..001e97cd0a96 100644 --- a/fs/f2fs/sysfs.c +++ b/fs/f2fs/sysfs.c @@ -1605,7 +1605,7 @@ int __init f2fs_init_sysfs(void) ret = kobject_init_and_add(&f2fs_feat, &f2fs_feat_ktype, NULL, "features"); if (ret) - goto put_kobject; + goto unregister_out; f2fs_proc_root = proc_mkdir("fs/f2fs", NULL); if (!f2fs_proc_root) { @@ -1616,6 +1616,7 @@ int __init f2fs_init_sysfs(void) return 0; put_kobject: kobject_put(&f2fs_feat); +unregister_out: kset_unregister(&f2fs_kset); return ret; } -- 2.48.1.362.g079036d154-goog ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [f2fs-dev] [PATCH 2/2] f2fs: introduce f2fs_base_attr for global sysfs entries 2025-01-31 22:24 ` Jaegeuk Kim @ 2025-01-31 22:24 ` Jaegeuk Kim -1 siblings, 0 replies; 12+ messages in thread From: Jaegeuk Kim via Linux-f2fs-devel @ 2025-01-31 22:24 UTC (permalink / raw) To: linux-kernel, linux-f2fs-devel; +Cc: Jaegeuk Kim In /sys/fs/f2fs/features, there's no f2fs_sb_info, so let's avoid to get the pointer. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> --- fs/f2fs/sysfs.c | 74 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 22 deletions(-) diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c index 001e97cd0a96..4bd7b17a20c8 100644 --- a/fs/f2fs/sysfs.c +++ b/fs/f2fs/sysfs.c @@ -61,6 +61,12 @@ struct f2fs_attr { int id; }; +struct f2fs_base_attr { + struct attribute attr; + ssize_t (*show)(struct f2fs_base_attr *a, char *buf); + ssize_t (*store)(struct f2fs_base_attr *a, const char *buf, size_t len); +}; + static ssize_t f2fs_sbi_show(struct f2fs_attr *a, struct f2fs_sb_info *sbi, char *buf); @@ -862,6 +868,25 @@ static void f2fs_sb_release(struct kobject *kobj) complete(&sbi->s_kobj_unregister); } +static ssize_t f2fs_base_attr_show(struct kobject *kobj, + struct attribute *attr, char *buf) +{ + struct f2fs_base_attr *a = container_of(attr, + struct f2fs_base_attr, attr); + + return a->show ? a->show(a, buf) : 0; +} + +static ssize_t f2fs_base_attr_store(struct kobject *kobj, + struct attribute *attr, + const char *buf, size_t len) +{ + struct f2fs_base_attr *a = container_of(attr, + struct f2fs_base_attr, attr); + + return a->store ? a->store(a, buf, len) : 0; +} + /* * Note that there are three feature list entries: * 1) /sys/fs/f2fs/features @@ -880,14 +905,13 @@ static void f2fs_sb_release(struct kobject *kobj) * please add new on-disk feature in this list only. * - ref. F2FS_SB_FEATURE_RO_ATTR() */ -static ssize_t f2fs_feature_show(struct f2fs_attr *a, - struct f2fs_sb_info *sbi, char *buf) +static ssize_t f2fs_feature_show(struct f2fs_base_attr *a, char *buf) { return sysfs_emit(buf, "supported\n"); } #define F2FS_FEATURE_RO_ATTR(_name) \ -static struct f2fs_attr f2fs_attr_##_name = { \ +static struct f2fs_base_attr f2fs_base_attr_##_name = { \ .attr = {.name = __stringify(_name), .mode = 0444 }, \ .show = f2fs_feature_show, \ } @@ -1256,37 +1280,38 @@ static struct attribute *f2fs_attrs[] = { }; ATTRIBUTE_GROUPS(f2fs); +#define BASE_ATTR_LIST(name) (&f2fs_base_attr_##name.attr) static struct attribute *f2fs_feat_attrs[] = { #ifdef CONFIG_FS_ENCRYPTION - ATTR_LIST(encryption), - ATTR_LIST(test_dummy_encryption_v2), + BASE_ATTR_LIST(encryption), + BASE_ATTR_LIST(test_dummy_encryption_v2), #if IS_ENABLED(CONFIG_UNICODE) - ATTR_LIST(encrypted_casefold), + BASE_ATTR_LIST(encrypted_casefold), #endif #endif /* CONFIG_FS_ENCRYPTION */ #ifdef CONFIG_BLK_DEV_ZONED - ATTR_LIST(block_zoned), + BASE_ATTR_LIST(block_zoned), #endif - ATTR_LIST(atomic_write), - ATTR_LIST(extra_attr), - ATTR_LIST(project_quota), - ATTR_LIST(inode_checksum), - ATTR_LIST(flexible_inline_xattr), - ATTR_LIST(quota_ino), - ATTR_LIST(inode_crtime), - ATTR_LIST(lost_found), + BASE_ATTR_LIST(atomic_write), + BASE_ATTR_LIST(extra_attr), + BASE_ATTR_LIST(project_quota), + BASE_ATTR_LIST(inode_checksum), + BASE_ATTR_LIST(flexible_inline_xattr), + BASE_ATTR_LIST(quota_ino), + BASE_ATTR_LIST(inode_crtime), + BASE_ATTR_LIST(lost_found), #ifdef CONFIG_FS_VERITY - ATTR_LIST(verity), + BASE_ATTR_LIST(verity), #endif - ATTR_LIST(sb_checksum), + BASE_ATTR_LIST(sb_checksum), #if IS_ENABLED(CONFIG_UNICODE) - ATTR_LIST(casefold), + BASE_ATTR_LIST(casefold), #endif - ATTR_LIST(readonly), + BASE_ATTR_LIST(readonly), #ifdef CONFIG_F2FS_FS_COMPRESSION - ATTR_LIST(compression), + BASE_ATTR_LIST(compression), #endif - ATTR_LIST(pin_file), + BASE_ATTR_LIST(pin_file), NULL, }; ATTRIBUTE_GROUPS(f2fs_feat); @@ -1362,9 +1387,14 @@ static struct kset f2fs_kset = { .kobj = {.ktype = &f2fs_ktype}, }; +static const struct sysfs_ops f2fs_feat_attr_ops = { + .show = f2fs_base_attr_show, + .store = f2fs_base_attr_store, +}; + static const struct kobj_type f2fs_feat_ktype = { .default_groups = f2fs_feat_groups, - .sysfs_ops = &f2fs_attr_ops, + .sysfs_ops = &f2fs_feat_attr_ops, }; static struct kobject f2fs_feat = { -- 2.48.1.362.g079036d154-goog _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/2] f2fs: introduce f2fs_base_attr for global sysfs entries @ 2025-01-31 22:24 ` Jaegeuk Kim 0 siblings, 0 replies; 12+ messages in thread From: Jaegeuk Kim @ 2025-01-31 22:24 UTC (permalink / raw) To: linux-kernel, linux-f2fs-devel; +Cc: Jaegeuk Kim In /sys/fs/f2fs/features, there's no f2fs_sb_info, so let's avoid to get the pointer. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> --- fs/f2fs/sysfs.c | 74 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 22 deletions(-) diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c index 001e97cd0a96..4bd7b17a20c8 100644 --- a/fs/f2fs/sysfs.c +++ b/fs/f2fs/sysfs.c @@ -61,6 +61,12 @@ struct f2fs_attr { int id; }; +struct f2fs_base_attr { + struct attribute attr; + ssize_t (*show)(struct f2fs_base_attr *a, char *buf); + ssize_t (*store)(struct f2fs_base_attr *a, const char *buf, size_t len); +}; + static ssize_t f2fs_sbi_show(struct f2fs_attr *a, struct f2fs_sb_info *sbi, char *buf); @@ -862,6 +868,25 @@ static void f2fs_sb_release(struct kobject *kobj) complete(&sbi->s_kobj_unregister); } +static ssize_t f2fs_base_attr_show(struct kobject *kobj, + struct attribute *attr, char *buf) +{ + struct f2fs_base_attr *a = container_of(attr, + struct f2fs_base_attr, attr); + + return a->show ? a->show(a, buf) : 0; +} + +static ssize_t f2fs_base_attr_store(struct kobject *kobj, + struct attribute *attr, + const char *buf, size_t len) +{ + struct f2fs_base_attr *a = container_of(attr, + struct f2fs_base_attr, attr); + + return a->store ? a->store(a, buf, len) : 0; +} + /* * Note that there are three feature list entries: * 1) /sys/fs/f2fs/features @@ -880,14 +905,13 @@ static void f2fs_sb_release(struct kobject *kobj) * please add new on-disk feature in this list only. * - ref. F2FS_SB_FEATURE_RO_ATTR() */ -static ssize_t f2fs_feature_show(struct f2fs_attr *a, - struct f2fs_sb_info *sbi, char *buf) +static ssize_t f2fs_feature_show(struct f2fs_base_attr *a, char *buf) { return sysfs_emit(buf, "supported\n"); } #define F2FS_FEATURE_RO_ATTR(_name) \ -static struct f2fs_attr f2fs_attr_##_name = { \ +static struct f2fs_base_attr f2fs_base_attr_##_name = { \ .attr = {.name = __stringify(_name), .mode = 0444 }, \ .show = f2fs_feature_show, \ } @@ -1256,37 +1280,38 @@ static struct attribute *f2fs_attrs[] = { }; ATTRIBUTE_GROUPS(f2fs); +#define BASE_ATTR_LIST(name) (&f2fs_base_attr_##name.attr) static struct attribute *f2fs_feat_attrs[] = { #ifdef CONFIG_FS_ENCRYPTION - ATTR_LIST(encryption), - ATTR_LIST(test_dummy_encryption_v2), + BASE_ATTR_LIST(encryption), + BASE_ATTR_LIST(test_dummy_encryption_v2), #if IS_ENABLED(CONFIG_UNICODE) - ATTR_LIST(encrypted_casefold), + BASE_ATTR_LIST(encrypted_casefold), #endif #endif /* CONFIG_FS_ENCRYPTION */ #ifdef CONFIG_BLK_DEV_ZONED - ATTR_LIST(block_zoned), + BASE_ATTR_LIST(block_zoned), #endif - ATTR_LIST(atomic_write), - ATTR_LIST(extra_attr), - ATTR_LIST(project_quota), - ATTR_LIST(inode_checksum), - ATTR_LIST(flexible_inline_xattr), - ATTR_LIST(quota_ino), - ATTR_LIST(inode_crtime), - ATTR_LIST(lost_found), + BASE_ATTR_LIST(atomic_write), + BASE_ATTR_LIST(extra_attr), + BASE_ATTR_LIST(project_quota), + BASE_ATTR_LIST(inode_checksum), + BASE_ATTR_LIST(flexible_inline_xattr), + BASE_ATTR_LIST(quota_ino), + BASE_ATTR_LIST(inode_crtime), + BASE_ATTR_LIST(lost_found), #ifdef CONFIG_FS_VERITY - ATTR_LIST(verity), + BASE_ATTR_LIST(verity), #endif - ATTR_LIST(sb_checksum), + BASE_ATTR_LIST(sb_checksum), #if IS_ENABLED(CONFIG_UNICODE) - ATTR_LIST(casefold), + BASE_ATTR_LIST(casefold), #endif - ATTR_LIST(readonly), + BASE_ATTR_LIST(readonly), #ifdef CONFIG_F2FS_FS_COMPRESSION - ATTR_LIST(compression), + BASE_ATTR_LIST(compression), #endif - ATTR_LIST(pin_file), + BASE_ATTR_LIST(pin_file), NULL, }; ATTRIBUTE_GROUPS(f2fs_feat); @@ -1362,9 +1387,14 @@ static struct kset f2fs_kset = { .kobj = {.ktype = &f2fs_ktype}, }; +static const struct sysfs_ops f2fs_feat_attr_ops = { + .show = f2fs_base_attr_show, + .store = f2fs_base_attr_store, +}; + static const struct kobj_type f2fs_feat_ktype = { .default_groups = f2fs_feat_groups, - .sysfs_ops = &f2fs_attr_ops, + .sysfs_ops = &f2fs_feat_attr_ops, }; static struct kobject f2fs_feat = { -- 2.48.1.362.g079036d154-goog ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [f2fs-dev] [PATCH 2/2] f2fs: introduce f2fs_base_attr for global sysfs entries 2025-01-31 22:24 ` Jaegeuk Kim @ 2025-02-06 2:11 ` Chao Yu -1 siblings, 0 replies; 12+ messages in thread From: Chao Yu via Linux-f2fs-devel @ 2025-02-06 2:11 UTC (permalink / raw) To: Jaegeuk Kim, linux-kernel, linux-f2fs-devel On 2/1/25 06:24, Jaegeuk Kim via Linux-f2fs-devel wrote: > In /sys/fs/f2fs/features, there's no f2fs_sb_info, so let's avoid to get > the pointer. > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> Reviewed-by: Chao Yu <chao@kernel.org> Thanks, _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [f2fs-dev] [PATCH 2/2] f2fs: introduce f2fs_base_attr for global sysfs entries @ 2025-02-06 2:11 ` Chao Yu 0 siblings, 0 replies; 12+ messages in thread From: Chao Yu @ 2025-02-06 2:11 UTC (permalink / raw) To: Jaegeuk Kim, linux-kernel, linux-f2fs-devel; +Cc: chao On 2/1/25 06:24, Jaegeuk Kim via Linux-f2fs-devel wrote: > In /sys/fs/f2fs/features, there's no f2fs_sb_info, so let's avoid to get > the pointer. > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> Reviewed-by: Chao Yu <chao@kernel.org> Thanks, ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [f2fs-dev] [PATCH 1/2] f2fs: don't kobject_put in the error case 2025-01-31 22:24 ` Jaegeuk Kim @ 2025-02-02 14:58 ` Markus Elfring -1 siblings, 0 replies; 12+ messages in thread From: Markus Elfring via Linux-f2fs-devel @ 2025-02-02 14:58 UTC (permalink / raw) To: Jaegeuk Kim, linux-f2fs-devel; +Cc: LKML > Fix a wrong kobject_put in the error path. * How do you think about to add any tags (like “Fixes” and “Cc”) accordingly? * Will cover letters be usually helpful for such patch series? Regards, Markus _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] f2fs: don't kobject_put in the error case @ 2025-02-02 14:58 ` Markus Elfring 0 siblings, 0 replies; 12+ messages in thread From: Markus Elfring @ 2025-02-02 14:58 UTC (permalink / raw) To: Jaegeuk Kim, linux-f2fs-devel; +Cc: LKML > Fix a wrong kobject_put in the error path. * How do you think about to add any tags (like “Fixes” and “Cc”) accordingly? * Will cover letters be usually helpful for such patch series? Regards, Markus ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [f2fs-dev] [PATCH 1/2] f2fs: don't kobject_put in the error case 2025-01-31 22:24 ` Jaegeuk Kim @ 2025-02-03 18:32 ` Jaegeuk Kim -1 siblings, 0 replies; 12+ messages in thread From: Jaegeuk Kim via Linux-f2fs-devel @ 2025-02-03 18:32 UTC (permalink / raw) To: linux-kernel, linux-f2fs-devel I checked this patch is wrong. Sorry for the noise. On 01/31, Jaegeuk Kim wrote: > Fix a wrong kobject_put in the error path. > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> > --- > fs/f2fs/sysfs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c > index d15c68b28952..001e97cd0a96 100644 > --- a/fs/f2fs/sysfs.c > +++ b/fs/f2fs/sysfs.c > @@ -1605,7 +1605,7 @@ int __init f2fs_init_sysfs(void) > ret = kobject_init_and_add(&f2fs_feat, &f2fs_feat_ktype, > NULL, "features"); > if (ret) > - goto put_kobject; > + goto unregister_out; > > f2fs_proc_root = proc_mkdir("fs/f2fs", NULL); > if (!f2fs_proc_root) { > @@ -1616,6 +1616,7 @@ int __init f2fs_init_sysfs(void) > return 0; > put_kobject: > kobject_put(&f2fs_feat); > +unregister_out: > kset_unregister(&f2fs_kset); > return ret; > } > -- > 2.48.1.362.g079036d154-goog _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/2] f2fs: don't kobject_put in the error case @ 2025-02-03 18:32 ` Jaegeuk Kim 0 siblings, 0 replies; 12+ messages in thread From: Jaegeuk Kim @ 2025-02-03 18:32 UTC (permalink / raw) To: linux-kernel, linux-f2fs-devel I checked this patch is wrong. Sorry for the noise. On 01/31, Jaegeuk Kim wrote: > Fix a wrong kobject_put in the error path. > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> > --- > fs/f2fs/sysfs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c > index d15c68b28952..001e97cd0a96 100644 > --- a/fs/f2fs/sysfs.c > +++ b/fs/f2fs/sysfs.c > @@ -1605,7 +1605,7 @@ int __init f2fs_init_sysfs(void) > ret = kobject_init_and_add(&f2fs_feat, &f2fs_feat_ktype, > NULL, "features"); > if (ret) > - goto put_kobject; > + goto unregister_out; > > f2fs_proc_root = proc_mkdir("fs/f2fs", NULL); > if (!f2fs_proc_root) { > @@ -1616,6 +1616,7 @@ int __init f2fs_init_sysfs(void) > return 0; > put_kobject: > kobject_put(&f2fs_feat); > +unregister_out: > kset_unregister(&f2fs_kset); > return ret; > } > -- > 2.48.1.362.g079036d154-goog ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [f2fs-dev] [PATCH 1/2] f2fs: don't kobject_put in the error case 2025-01-31 22:24 ` Jaegeuk Kim @ 2025-02-06 18:40 ` patchwork-bot+f2fs -1 siblings, 0 replies; 12+ messages in thread From: patchwork-bot+f2fs--- via Linux-f2fs-devel @ 2025-02-06 18:40 UTC (permalink / raw) To: Jaegeuk Kim; +Cc: linux-kernel, linux-f2fs-devel Hello: This series was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Fri, 31 Jan 2025 22:24:56 +0000 you wrote: > Fix a wrong kobject_put in the error path. > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> > --- > fs/f2fs/sysfs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Here is the summary with links: - [f2fs-dev,1/2] f2fs: don't kobject_put in the error case (no matching commit) - [f2fs-dev,2/2] f2fs: introduce f2fs_base_attr for global sysfs entries https://git.kernel.org/jaegeuk/f2fs/c/21925ede449e You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [f2fs-dev] [PATCH 1/2] f2fs: don't kobject_put in the error case @ 2025-02-06 18:40 ` patchwork-bot+f2fs 0 siblings, 0 replies; 12+ messages in thread From: patchwork-bot+f2fs @ 2025-02-06 18:40 UTC (permalink / raw) To: Jaegeuk Kim; +Cc: linux-kernel, linux-f2fs-devel Hello: This series was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Fri, 31 Jan 2025 22:24:56 +0000 you wrote: > Fix a wrong kobject_put in the error path. > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> > --- > fs/f2fs/sysfs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Here is the summary with links: - [f2fs-dev,1/2] f2fs: don't kobject_put in the error case (no matching commit) - [f2fs-dev,2/2] f2fs: introduce f2fs_base_attr for global sysfs entries https://git.kernel.org/jaegeuk/f2fs/c/21925ede449e You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-02-06 18:40 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-01-31 22:24 [f2fs-dev] [PATCH 1/2] f2fs: don't kobject_put in the error case Jaegeuk Kim via Linux-f2fs-devel 2025-01-31 22:24 ` Jaegeuk Kim 2025-01-31 22:24 ` [f2fs-dev] [PATCH 2/2] f2fs: introduce f2fs_base_attr for global sysfs entries Jaegeuk Kim via Linux-f2fs-devel 2025-01-31 22:24 ` Jaegeuk Kim 2025-02-06 2:11 ` [f2fs-dev] " Chao Yu via Linux-f2fs-devel 2025-02-06 2:11 ` Chao Yu 2025-02-02 14:58 ` [f2fs-dev] [PATCH 1/2] f2fs: don't kobject_put in the error case Markus Elfring via Linux-f2fs-devel 2025-02-02 14:58 ` Markus Elfring 2025-02-03 18:32 ` [f2fs-dev] " Jaegeuk Kim via Linux-f2fs-devel 2025-02-03 18:32 ` Jaegeuk Kim 2025-02-06 18:40 ` [f2fs-dev] " patchwork-bot+f2fs--- via Linux-f2fs-devel 2025-02-06 18:40 ` patchwork-bot+f2fs
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.