fs/partitions/check.c: add_partition() warning fixes (take 4)
PATCH 1/1 fs/partitions/check.c: add_partition() warning fixes (take 4)
This patch fixes these warnings:
fs/partitions/check.c: In function 'add_partition':fs/partitions/check.c:391: warning: ignoring return value of 'kobject_add',
declared with attribute warn_unused_resultfs/partitions/check.c:394: warning: ignoring return value of
'sysfs_create_link', declared with attribute warn_unused_resultfs/partitions/check.c:401: warning: ignoring return value of
'sysfs_create_file', declared with attribute warn_unused_result
Got it right this time. Thanks Cornelia for help.
--- fs/partitions/check.c | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-)
fs/partitions/check.c +20 -3
@@ -371,6 +371,7 @@ void delete_partition(struct gendisk *disk, int part)void add_partition (struct gendisk *disk,int part,sector_t start,sector_t len,int flags) {struct hd_struct *p; +int err; p =kzalloc (sizeof (*p),GFP_KERNEL );if (!p)
@@ -388,20 +389,36 @@ void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len, p->kobj.parent = &disk->kobj; p->kobj.ktype = &ktype_part;kobject_init (&p->kobj); -kobject_add (&p->kobj); + err =kobject_add (&p->kobj); +if (err) + goto err_out;if (!disk->part_uevent_suppress)kobject_uevent (&p->kobj,KOBJ_ADD ); -sysfs_create_link (&p->kobj, &block_subsys.kobj,"subsystem" ); + err =sysfs_create_link (&p->kobj, &block_subsys.kobj,"subsystem" ); +if (err) + goto err_out_del_kobj;if (flags &ADDPART_FLAG_WHOLEDISK ) {static struct attribute addpartattr = { .name ="whole_disk" , .mode =S_IRUSR |S_IRGRP |S_IROTH , }; -sysfs_create_file (&p->kobj, &addpartattr); + err =sysfs_create_file (&p->kobj, &addpartattr); +if (err) + goto err_out_del_link; }partition_sysfs_add_subdir (p); disk->part[part-1 ] = p; +return ; + +err_out_del_link: +sysfs_remove_link (&p->kobj,"subsystem" ); +err_out_del_kobj: +if (!disk->part_uevent_suppress) +kobject_uevent (&p->kobj,KOBJ_REMOVE ); +kobject_del (&p->kobj); +err_out: +kobject_put (&p->kobj); }static char *make_block_name (struct gendisk *disk)
Quoted 10 lines · Eugene Teo
This patch fixes these warnings:
fs/partitions/check.c: In function 'add_partition':fs/partitions/check.c:391: warning: ignoring return value of 'kobject_add',
declared with attributewarn_unused_resultfs/partitions/check.c:394: warning: ignoring return value of
'sysfs_create_link', declared with attributewarn_unused_resultfs/partitions/check.c:401: warning: ignoring return value of
'sysfs_create_file', declared with attributewarn_unused_result
Quoted 3 lines
Got it right this time. Thanks Cornelia for help.
Signed-off-by Eugene Teo <[email protected]>
Looks OK.
Quoted 57 lines
--- fs/partitions/check.c | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-)fs/partitions/check.c +20
-3@@ -371,6 +371,7 @@ void delete_partition(struct gendisk *disk, int part)void add_partition (struct gendisk *disk,int part,sector_t start,sector_t len,int flags) {struct hd_struct *p; +int err; p =kzalloc (sizeof (*p),GFP_KERNEL );if (!p)@@ -388,20 +389,36 @@ void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len, p->kobj.parent = &disk->kobj; p->kobj.ktype = &ktype_part;kobject_init (&p->kobj); -kobject_add (&p->kobj); + err =kobject_add (&p->kobj); +if (err) + goto err_out;if (!disk->part_uevent_suppress)kobject_uevent (&p->kobj,KOBJ_ADD ); -sysfs_create_link (&p->kobj, &block_subsys.kobj,"subsystem" ); + err =sysfs_create_link (&p->kobj, &block_subsys.kobj,"subsystem" ); +if (err) + goto err_out_del_kobj;if (flags &ADDPART_FLAG_WHOLEDISK ) {static struct attribute addpartattr = { .name ="whole_disk" , .mode =S_IRUSR |S_IRGRP |S_IROTH , }; -sysfs_create_file (&p->kobj, &addpartattr); + err =sysfs_create_file (&p->kobj, &addpartattr); +if (err) + goto err_out_del_link; }partition_sysfs_add_subdir (p); disk->part[part-1 ] = p; +return ; + +err_out_del_link: +sysfs_remove_link (&p->kobj,"subsystem" ); +err_out_del_kobj: +if (!disk->part_uevent_suppress) +kobject_uevent (&p->kobj,KOBJ_REMOVE ); +kobject_del (&p->kobj); +err_out: +kobject_put (&p->kobj); }static char *make_block_name (struct gendisk *disk)
Quoted 10 lines · Eugene Teo
This patch fixes these warnings:
fs/partitions/check.c: In function 'add_partition':fs/partitions/check.c:391: warning: ignoring return value of 'kobject_add',
declared with attributewarn_unused_resultfs/partitions/check.c:394: warning: ignoring return value of
'sysfs_create_link', declared with attributewarn_unused_resultfs/partitions/check.c:401: warning: ignoring return value of
'sysfs_create_file', declared with attributewarn_unused_result
Quoted 2 lines
Got it right this time. Thanks Cornelia for help.
<snip>
This was already done some months ago, see this:
http://marc.info/?l=linux-mm-commits&m=117624330000536&w=2
I don't know why this work is duplicated.
Signature · 3 lines
To do great work, you have to have a pure mind. You can think only about the mathematics. Everything else is human weakness. Accepting prizes is showing weakness.
Quoted 14 lines · WANG Cong
Quoted 10 lines · Eugene Teo
This patch fixes these warnings:
fs/partitions/check.c: In function 'add_partition':fs/partitions/check.c:391: warning: ignoring return value of 'kobject_add',
declared with attributewarn_unused_resultfs/partitions/check.c:394: warning: ignoring return value of
'sysfs_create_link', declared with attributewarn_unused_resultfs/partitions/check.c:401: warning: ignoring return value of
'sysfs_create_file', declared with attributewarn_unused_resultQuoted 2 lines
Got it right this time. Thanks Cornelia for help.
Quoted 6 lines
<snip>
This was already done some months ago, see this:
http://marc.info/?l=linux-mm-commits&m=117624330000536&w=2I don't know why this work is duplicated.
Ha, that may explain my feeling of deja vu...
IIRC, Andrew dropped the patch from -mm due to clashes with other patches. Did you try to re-submit it?
Quoted 22 lines · Cornelia Huck
Quoted 19 lines · WANG Cong
Quoted 10 lines · Eugene Teo
This patch fixes these warnings:
fs/partitions/check.c: In function 'add_partition':fs/partitions/check.c:391: warning: ignoring return value of 'kobject_add',
declared with attributewarn_unused_resultfs/partitions/check.c:394: warning: ignoring return value of
'sysfs_create_link', declared with attributewarn_unused_resultfs/partitions/check.c:401: warning: ignoring return value of
'sysfs_create_file', declared with attributewarn_unused_resultQuoted 2 lines
Got it right this time. Thanks Cornelia for help.
<snip>
This was already done some months ago, see this:
http://marc.info/?l=linux-mm-commits&m=117624330000536&w=2
Quoted 6 lines
Quoted 1 line
I don't know why this work is duplicated.
Ha, that may explain my feeling of deja vu...
IIRC, Andrew dropped the patch from -mm due to clashes with other patches. Did you try to re-submit it?
I see. I knew there was another patch against these code.
I thought Andrew's tools can deal with this, but it seems the fact is not. Managing patches is really a hard work.
And this patch looks OK for me, too. Thanks!
Signature · 3 lines
To do great work, you have to have a pure mind. You can think only about the mathematics. Everything else is human weakness. Accepting prizes is showing weakness.