count -= result;
offset += result;
buffer += result;
- dentry->d_inode->i_atime = CURRENT_TIME;
+ dentry->d_inode->i_atime =
+ current_fs_time(dentry->d_inode->i_sb);
if (result < rsize)
break;
} while (count);
/*
* Update the inode now rather than waiting for a refresh.
*/
- inode->i_mtime = inode->i_atime = CURRENT_TIME;
+ inode->i_mtime = inode->i_atime = current_fs_time(inode->i_sb);
SMB_I(inode)->flags |= SMB_F_LOCALWRITE;
if (offset > inode->i_size)
inode->i_size = offset;
static ssize_t
smb_file_sendfile(struct file *file, loff_t *ppos,
- size_t count, read_actor_t actor, void __user *target)
+ size_t count, read_actor_t actor, void *target)
{
struct dentry *dentry = file->f_dentry;
ssize_t status;
status = smb_revalidate_inode(dentry);
if (status) {
- PARANOIA("%s/%s validation failed, error=%zd\n",
+ PARANOIA("%s/%s validation failed, error=%Zd\n",
DENTRY_PATH(dentry), status);
goto out;
}
SMB_I(inode)->openers++;
out:
unlock_kernel();
- return 0;
+ return result;
}
static int