diff options
Diffstat (limited to 'fs/xfs/support/move.c')
-rw-r--r-- | fs/xfs/support/move.c | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/fs/xfs/support/move.c b/fs/xfs/support/move.c deleted file mode 100644 index ac8617ca3909..000000000000 --- a/fs/xfs/support/move.c +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc. | ||
3 | * All Rights Reserved. | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or | ||
6 | * modify it under the terms of the GNU General Public License as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it would be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write the Free Software Foundation, | ||
16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
17 | */ | ||
18 | #include <xfs.h> | ||
19 | |||
20 | /* Read from kernel buffer at src to user/kernel buffer defined | ||
21 | * by the uio structure. Advance the pointer in the uio struct | ||
22 | * as we go. | ||
23 | */ | ||
24 | int | ||
25 | xfs_uio_read(caddr_t src, size_t len, struct uio *uio) | ||
26 | { | ||
27 | size_t count; | ||
28 | |||
29 | if (!len || !uio->uio_resid) | ||
30 | return 0; | ||
31 | |||
32 | count = uio->uio_iov->iov_len; | ||
33 | if (!count) | ||
34 | return 0; | ||
35 | if (count > len) | ||
36 | count = len; | ||
37 | |||
38 | if (uio->uio_segflg == UIO_USERSPACE) { | ||
39 | if (copy_to_user(uio->uio_iov->iov_base, src, count)) | ||
40 | return EFAULT; | ||
41 | } else { | ||
42 | ASSERT(uio->uio_segflg == UIO_SYSSPACE); | ||
43 | memcpy(uio->uio_iov->iov_base, src, count); | ||
44 | } | ||
45 | |||
46 | uio->uio_iov->iov_base = (void*)((char*)uio->uio_iov->iov_base + count); | ||
47 | uio->uio_iov->iov_len -= count; | ||
48 | uio->uio_offset += count; | ||
49 | uio->uio_resid -= count; | ||
50 | return 0; | ||
51 | } | ||