The only caller of the bstat function becomes cleaner and simpler when open coding the function.
Unified · Split
| @@ -20,16 +20,6 @@ static inline int create_dev(char *name, dev_t dev) · 19 unmodified lines | |||
| 20 | return ksys_mknod(name, S_IFBLK|0600, new_encode_dev(dev)); | 20 | return ksys_mknod(name, S_IFBLK|0600, new_encode_dev(dev)); |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | static inline u32 bstat(char *name) | ||
| 24 | { | ||
| 25 | struct kstat stat; | ||
| 26 | if (vfs_stat(name, &stat) != 0) | ||
| 27 | return 0; | ||
| 28 | if (!S_ISBLK(stat.mode)) | ||
| 29 | return 0; | ||
| 30 | return stat.rdev; | ||
| 31 | } | ||
| 32 | |||
| 33 | #ifdef CONFIG_BLK_DEV_RAM | 23 | #ifdef CONFIG_BLK_DEV_RAM |
| 34 | 24 | ||
| 35 | int __init rd_load_disk(int n); | 25 | int __init rd_load_disk(int n); |
| @@ -138,9 +138,9 @@ static void __init md_setup_drive(void) · 137 unmodified lines | |||
| 138 | dev = MKDEV(MD_MAJOR, minor); | 138 | dev = MKDEV(MD_MAJOR, minor); |
| 139 | create_dev(name, dev); | 139 | create_dev(name, dev); |
| 140 | for (i = 0; i < MD_SB_DISKS && devname != NULL; i++) { | 140 | for (i = 0; i < MD_SB_DISKS && devname != NULL; i++) { |
| 141 | struct kstat stat; | ||
| 141 | char *p; | 142 | char *p; |
| 142 | char comp_name[64]; | 143 | char comp_name[64]; |
| 143 | u32 rdev; | ||
| 144 | 144 | ||
| 145 | p = strchr(devname, ','); | 145 | p = strchr(devname, ','); |
| 146 | if (p) | 146 | if (p) |
| @@ -150,9 +150,9 @@ static void __init md_setup_drive(void) · 3 unmodified lines | |||
| 150 | if (strncmp(devname, "/dev/", 5) == 0) | 150 | if (strncmp(devname, "/dev/", 5) == 0) |
| 151 | devname += 5; | 151 | devname += 5; |
| 152 | snprintf(comp_name, 63, "/dev/%s", devname); | 152 | snprintf(comp_name, 63, "/dev/%s", devname); |
| 153 | rdev = bstat(comp_name); | 153 | if (vfs_stat(comp_name, &stat) == 0 && |
| 154 | if (rdev) | 154 | S_ISBLK(stat.mode)) |
| 155 | dev = new_decode_dev(rdev); | 155 | dev = new_decode_dev(stat.rdev); |
| 156 | if (!dev) { | 156 | if (!dev) { |
| 157 | printk(KERN_WARNING "md: Unknown device name: %s\n", devname); | 157 | printk(KERN_WARNING "md: Unknown device name: %s\n", devname); |
| 158 | break; | 158 | break; |