diff options
Diffstat (limited to 'fs/partitions/check.c')
-rw-r--r-- | fs/partitions/check.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c index 739da701ae7b..9a64045ff845 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c | |||
@@ -319,6 +319,14 @@ void delete_partition(struct gendisk *disk, int part) | |||
319 | put_device(&p->dev); | 319 | put_device(&p->dev); |
320 | } | 320 | } |
321 | 321 | ||
322 | static ssize_t whole_disk_show(struct device *dev, | ||
323 | struct device_attribute *attr, char *buf) | ||
324 | { | ||
325 | return 0; | ||
326 | } | ||
327 | static DEVICE_ATTR(whole_disk, S_IRUSR | S_IRGRP | S_IROTH, | ||
328 | whole_disk_show, NULL); | ||
329 | |||
322 | void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len, int flags) | 330 | void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len, int flags) |
323 | { | 331 | { |
324 | struct hd_struct *p; | 332 | struct hd_struct *p; |
@@ -352,13 +360,8 @@ void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len, | |||
352 | device_add(&p->dev); | 360 | device_add(&p->dev); |
353 | partition_sysfs_add_subdir(p); | 361 | partition_sysfs_add_subdir(p); |
354 | p->dev.uevent_suppress = 0; | 362 | p->dev.uevent_suppress = 0; |
355 | if (flags & ADDPART_FLAG_WHOLEDISK) { | 363 | if (flags & ADDPART_FLAG_WHOLEDISK) |
356 | static struct attribute addpartattr = { | 364 | err = device_create_file(&p->dev, &dev_attr_whole_disk); |
357 | .name = "whole_disk", | ||
358 | .mode = S_IRUSR | S_IRGRP | S_IROTH, | ||
359 | }; | ||
360 | err = sysfs_create_file(&p->dev.kobj, &addpartattr); | ||
361 | } | ||
362 | 365 | ||
363 | /* suppress uevent if the disk supresses it */ | 366 | /* suppress uevent if the disk supresses it */ |
364 | if (!disk->dev.uevent_suppress) | 367 | if (!disk->dev.uevent_suppress) |