do_mounts.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #include <linux/kernel.h>
  3. #include <linux/blkdev.h>
  4. #include <linux/init.h>
  5. #include <linux/syscalls.h>
  6. #include <linux/unistd.h>
  7. #include <linux/slab.h>
  8. #include <linux/mount.h>
  9. #include <linux/major.h>
  10. #include <linux/root_dev.h>
  11. void change_floppy(char *fmt, ...);
  12. void mount_block_root(char *name, int flags);
  13. void mount_root(void);
  14. extern int root_mountflags;
  15. static inline int create_dev(char *name, dev_t dev)
  16. {
  17. sys_unlink(name);
  18. return sys_mknod(name, S_IFBLK|0600, new_encode_dev(dev));
  19. }
  20. static inline u32 bstat(char *name)
  21. {
  22. struct kstat stat;
  23. if (vfs_stat(name, &stat) != 0)
  24. return 0;
  25. if (!S_ISBLK(stat.mode))
  26. return 0;
  27. return stat.rdev;
  28. }
  29. #ifdef CONFIG_BLK_DEV_RAM
  30. int __init rd_load_disk(int n);
  31. int __init rd_load_image(char *from);
  32. #else
  33. static inline int rd_load_disk(int n) { return 0; }
  34. static inline int rd_load_image(char *from) { return 0; }
  35. #endif
  36. #ifdef CONFIG_BLK_DEV_INITRD
  37. bool __init initrd_load(void);
  38. #else
  39. static inline bool initrd_load(void) { return false; }
  40. #endif
  41. #ifdef CONFIG_BLK_DEV_MD
  42. void md_run_setup(void);
  43. #else
  44. static inline void md_run_setup(void) {}
  45. #endif