forked from mirrors/linux
		
	init: add an init_unlink helper
Add a simple helper to unlink with a kernel space file name and switch the early init code over to it. Remove the now unused ksys_unlink. Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
		
							parent
							
								
									09267defa3
								
							
						
					
					
						commit
						8fb9f73e5a
					
				
					 7 changed files with 12 additions and 12 deletions
				
			
		|  | @ -37,3 +37,8 @@ int __init init_umount(const char *name, int flags) | |||
| 		return ret; | ||||
| 	return path_umount(&path, flags); | ||||
| } | ||||
| 
 | ||||
| int __init init_unlink(const char *pathname) | ||||
| { | ||||
| 	return do_unlinkat(AT_FDCWD, getname_kernel(pathname)); | ||||
| } | ||||
|  |  | |||
|  | @ -3,3 +3,4 @@ | |||
| int __init init_mount(const char *dev_name, const char *dir_name, | ||||
| 		const char *type_page, unsigned long flags, void *data_page); | ||||
| int __init init_umount(const char *name, int flags); | ||||
| int __init init_unlink(const char *pathname); | ||||
|  |  | |||
|  | @ -1273,13 +1273,6 @@ int compat_ksys_ipc(u32 call, int first, int second, | |||
|  * The following kernel syscall equivalents are just wrappers to fs-internal | ||||
|  * functions. Therefore, provide stubs to be inlined at the callsites. | ||||
|  */ | ||||
| extern long do_unlinkat(int dfd, struct filename *name); | ||||
| 
 | ||||
| static inline long ksys_unlink(const char __user *pathname) | ||||
| { | ||||
| 	return do_unlinkat(AT_FDCWD, getname(pathname)); | ||||
| } | ||||
| 
 | ||||
| long do_rmdir(int dfd, struct filename *name); | ||||
| 
 | ||||
| static inline long ksys_rmdir(const char __user *pathname) | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ extern int root_mountflags; | |||
| 
 | ||||
| static inline __init int create_dev(char *name, dev_t dev) | ||||
| { | ||||
| 	ksys_unlink(name); | ||||
| 	init_unlink(name); | ||||
| 	return ksys_mknod(name, S_IFBLK|0600, new_encode_dev(dev)); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -137,11 +137,11 @@ bool __init initrd_load(void) | |||
| 		 * mounted in the normal path. | ||||
| 		 */ | ||||
| 		if (rd_load_image("/initrd.image") && ROOT_DEV != Root_RAM0) { | ||||
| 			ksys_unlink("/initrd.image"); | ||||
| 			init_unlink("/initrd.image"); | ||||
| 			handle_initrd(); | ||||
| 			return true; | ||||
| 		} | ||||
| 	} | ||||
| 	ksys_unlink("/initrd.image"); | ||||
| 	init_unlink("/initrd.image"); | ||||
| 	return false; | ||||
| } | ||||
|  |  | |||
|  | @ -272,7 +272,7 @@ int __init rd_load_image(char *from) | |||
| 	fput(out_file); | ||||
| out: | ||||
| 	kfree(buf); | ||||
| 	ksys_unlink("/dev/ram"); | ||||
| 	init_unlink("/dev/ram"); | ||||
| 	return res; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -12,6 +12,7 @@ | |||
| #include <linux/file.h> | ||||
| #include <linux/memblock.h> | ||||
| #include <linux/namei.h> | ||||
| #include <linux/init_syscalls.h> | ||||
| 
 | ||||
| static ssize_t __init xwrite(struct file *file, const char *p, size_t count, | ||||
| 		loff_t *pos) | ||||
|  | @ -301,7 +302,7 @@ static void __init clean_path(char *path, umode_t fmode) | |||
| 		if (S_ISDIR(st.mode)) | ||||
| 			ksys_rmdir(path); | ||||
| 		else | ||||
| 			ksys_unlink(path); | ||||
| 			init_unlink(path); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig