forked from Minki/linux
ntfs: remove ntfs_file_write
do_sync_write() does the right thing for turning the aio_writev method into a normal non-vectored synchronous write, no need to duplicate it in ntfs. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
562787a5c3
commit
8a9f47ddb1
@ -2145,46 +2145,6 @@ static ssize_t ntfs_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* ntfs_file_writev -
|
||||
*
|
||||
* Basically the same as generic_file_writev() except that it ends up calling
|
||||
* ntfs_file_aio_write_nolock() instead of __generic_file_aio_write_nolock().
|
||||
*/
|
||||
static ssize_t ntfs_file_writev(struct file *file, const struct iovec *iov,
|
||||
unsigned long nr_segs, loff_t *ppos)
|
||||
{
|
||||
struct address_space *mapping = file->f_mapping;
|
||||
struct inode *inode = mapping->host;
|
||||
struct kiocb kiocb;
|
||||
ssize_t ret;
|
||||
|
||||
mutex_lock(&inode->i_mutex);
|
||||
init_sync_kiocb(&kiocb, file);
|
||||
ret = ntfs_file_aio_write_nolock(&kiocb, iov, nr_segs, ppos);
|
||||
if (ret == -EIOCBQUEUED)
|
||||
ret = wait_on_sync_kiocb(&kiocb);
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
if (ret > 0) {
|
||||
int err = generic_write_sync(file, *ppos - ret, ret);
|
||||
if (err < 0)
|
||||
ret = err;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* ntfs_file_write - simple wrapper for ntfs_file_writev()
|
||||
*/
|
||||
static ssize_t ntfs_file_write(struct file *file, const char __user *buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct iovec local_iov = { .iov_base = (void __user *)buf,
|
||||
.iov_len = count };
|
||||
|
||||
return ntfs_file_writev(file, &local_iov, 1, ppos);
|
||||
}
|
||||
|
||||
/**
|
||||
* ntfs_file_fsync - sync a file to disk
|
||||
* @filp: file to be synced
|
||||
@ -2247,7 +2207,7 @@ const struct file_operations ntfs_file_ops = {
|
||||
.read = do_sync_read, /* Read from file. */
|
||||
.aio_read = generic_file_aio_read, /* Async read from file. */
|
||||
#ifdef NTFS_RW
|
||||
.write = ntfs_file_write, /* Write to file. */
|
||||
.write = do_sync_write, /* Write to file. */
|
||||
.aio_write = ntfs_file_aio_write, /* Async write to file. */
|
||||
/*.release = ,*/ /* Last file is closed. See
|
||||
fs/ext2/file.c::
|
||||
|
Loading…
Reference in New Issue
Block a user