Commit daa35edc authored by Paolo 'Blaisorblade' Giarrusso's avatar Paolo 'Blaisorblade' Giarrusso Committed by Linus Torvalds

[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: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent bd948057
...@@ -793,11 +793,6 @@ int hostfs_rename(struct inode *from_ino, struct dentry *from, ...@@ -793,11 +793,6 @@ int hostfs_rename(struct inode *from_ino, struct dentry *from,
return(err); return(err);
} }
void hostfs_truncate(struct inode *ino)
{
not_implemented();
}
int hostfs_permission(struct inode *ino, int desired, struct nameidata *nd) int hostfs_permission(struct inode *ino, int desired, struct nameidata *nd)
{ {
char *name; char *name;
...@@ -894,7 +889,6 @@ static struct inode_operations hostfs_iops = { ...@@ -894,7 +889,6 @@ static struct inode_operations hostfs_iops = {
.rmdir = hostfs_rmdir, .rmdir = hostfs_rmdir,
.mknod = hostfs_mknod, .mknod = hostfs_mknod,
.rename = hostfs_rename, .rename = hostfs_rename,
.truncate = hostfs_truncate,
.permission = hostfs_permission, .permission = hostfs_permission,
.setattr = hostfs_setattr, .setattr = hostfs_setattr,
.getattr = hostfs_getattr, .getattr = hostfs_getattr,
...@@ -910,7 +904,6 @@ static struct inode_operations hostfs_dir_iops = { ...@@ -910,7 +904,6 @@ static struct inode_operations hostfs_dir_iops = {
.rmdir = hostfs_rmdir, .rmdir = hostfs_rmdir,
.mknod = hostfs_mknod, .mknod = hostfs_mknod,
.rename = hostfs_rename, .rename = hostfs_rename,
.truncate = hostfs_truncate,
.permission = hostfs_permission, .permission = hostfs_permission,
.setattr = hostfs_setattr, .setattr = hostfs_setattr,
.getattr = hostfs_getattr, .getattr = hostfs_getattr,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment