1/*-
2 * Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
--- 9 unchanged lines hidden (view full) ---
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/fs/udf/udf_vnops.c 111119 2003-02-19 05:47:46Z imp $
27 */
28
29/* udf_vnops.c */
30/* Take care of the vnode side of things */
31
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/namei.h>
--- 366 unchanged lines hidden (view full) ---
401 fsize = node->fentry->inf_len;
402
403 while (uio->uio_offset < fsize && uio->uio_resid > 0) {
404 offset = uio->uio_offset;
405 size = uio->uio_resid;
406 error = udf_readatoffset(node, &size, offset, &bp, &data);
407 if (error)
408 return (error);
409 error = uiomove((caddr_t)data, size, uio);
410 if (bp != NULL)
411 brelse(bp);
412 if (error)
413 break;
414 };
415
416 return (error);
417}
--- 101 unchanged lines hidden (view full) ---
519 *uiodir->cookies++ = cookie;
520 }
521
522 if (uio->uio_resid < de_size) {
523 uiodir->eofflag = 0;
524 return (-1);
525 }
526
527 return (uiomove((caddr_t)uiodir->dirent, de_size, uio));
528}
529
530static struct udf_dirstream *
531udf_opendir(struct udf_node *node, int offset, int fsize, struct udf_mnt *udfmp)
532{
533 struct udf_dirstream *ds;
534
535 ds = uma_zalloc(udf_zone_ds, M_WAITOK | M_ZERO);
--- 666 unchanged lines hidden ---
2 * Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
--- 9 unchanged lines hidden (view full) ---
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/fs/udf/udf_vnops.c 111119 2003-02-19 05:47:46Z imp $
27 */
28
29/* udf_vnops.c */
30/* Take care of the vnode side of things */
31
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/namei.h>
--- 366 unchanged lines hidden (view full) ---
401 fsize = node->fentry->inf_len;
402
403 while (uio->uio_offset < fsize && uio->uio_resid > 0) {
404 offset = uio->uio_offset;
405 size = uio->uio_resid;
406 error = udf_readatoffset(node, &size, offset, &bp, &data);
407 if (error)
408 return (error);
409 error = uiomove((caddr_t)data, size, uio);
410 if (bp != NULL)
411 brelse(bp);
412 if (error)
413 break;
414 };
415
416 return (error);
417}
--- 101 unchanged lines hidden (view full) ---
519 *uiodir->cookies++ = cookie;
520 }
521
522 if (uio->uio_resid < de_size) {
523 uiodir->eofflag = 0;
524 return (-1);
525 }
526
527 return (uiomove((caddr_t)uiodir->dirent, de_size, uio));
528}
529
530static struct udf_dirstream *
531udf_opendir(struct udf_node *node, int offset, int fsize, struct udf_mnt *udfmp)
532{
533 struct udf_dirstream *ds;
534
535 ds = uma_zalloc(udf_zone_ds, M_WAITOK | M_ZERO);
--- 666 unchanged lines hidden ---