mirror of https://gitee.com/openkylin/linux.git
[PATCH] uml: remove empty hostfs_truncate method
Calling truncate() on hostfs spits a kernel warning "Something isn't implemented here", but it still works fine. Indeed, hostfs i_op->truncate doesn't do anything. But hostfs_setattr() -> set_attr() correctly detects ATTR_SIZE and calls truncate() on the host. So we should be safe (using ftruncate() may be better, in case the file is unlinked on the host, but we aren't sure to have the file open for writing, and reopening it would cause the same races; plus nobody should expect UML to be so careful). So, the warning is wrong, because the current implementation is working. Al, am I correct, and can the warning be therefore dropped? CC: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
bd94805735
commit
daa35edc0a
|
@ -793,11 +793,6 @@ int hostfs_rename(struct inode *from_ino, struct dentry *from,
|
|||
return(err);
|
||||
}
|
||||
|
||||
void hostfs_truncate(struct inode *ino)
|
||||
{
|
||||
not_implemented();
|
||||
}
|
||||
|
||||
int hostfs_permission(struct inode *ino, int desired, struct nameidata *nd)
|
||||
{
|
||||
char *name;
|
||||
|
@ -894,7 +889,6 @@ static struct inode_operations hostfs_iops = {
|
|||
.rmdir = hostfs_rmdir,
|
||||
.mknod = hostfs_mknod,
|
||||
.rename = hostfs_rename,
|
||||
.truncate = hostfs_truncate,
|
||||
.permission = hostfs_permission,
|
||||
.setattr = hostfs_setattr,
|
||||
.getattr = hostfs_getattr,
|
||||
|
@ -910,7 +904,6 @@ static struct inode_operations hostfs_dir_iops = {
|
|||
.rmdir = hostfs_rmdir,
|
||||
.mknod = hostfs_mknod,
|
||||
.rename = hostfs_rename,
|
||||
.truncate = hostfs_truncate,
|
||||
.permission = hostfs_permission,
|
||||
.setattr = hostfs_setattr,
|
||||
.getattr = hostfs_getattr,
|
||||
|
|
Loading…
Reference in New Issue