Deleted Added
full compact
ffs_vnops.c (112181) ffs_vnops.c (112694)
1/*
2 * Copyright (c) 2002 Networks Associates Technology, Inc.
3 * All rights reserved.
4 *
5 * This software was developed for the FreeBSD Project by Marshall
6 * Kirk McKusick and Network Associates Laboratories, the Security
7 * Research Division of Network Associates, Inc. under DARPA/SPAWAR
8 * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS

--- 26 unchanged lines hidden (view full) ---

35 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
36 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
37 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
38 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
39 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
40 * SUCH DAMAGE.
41 *
42 * @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95
1/*
2 * Copyright (c) 2002 Networks Associates Technology, Inc.
3 * All rights reserved.
4 *
5 * This software was developed for the FreeBSD Project by Marshall
6 * Kirk McKusick and Network Associates Laboratories, the Security
7 * Research Division of Network Associates, Inc. under DARPA/SPAWAR
8 * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS

--- 26 unchanged lines hidden (view full) ---

35 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
36 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
37 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
38 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
39 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
40 * SUCH DAMAGE.
41 *
42 * @(#)ffs_vnops.c 8.15 (Berkeley) 5/14/95
43 * $FreeBSD: head/sys/ufs/ffs/ffs_vnops.c 112181 2003-03-13 07:19:23Z jeff $
43 * $FreeBSD: head/sys/ufs/ffs/ffs_vnops.c 112694 2003-03-26 23:40:42Z tegge $
44 */
45
46#include <sys/param.h>
47#include <sys/bio.h>
48#include <sys/systm.h>
49#include <sys/buf.h>
50#include <sys/conf.h>
51#include <sys/extattr.h>

--- 19 unchanged lines hidden (view full) ---

71#include <ufs/ufs/extattr.h>
72#include <ufs/ufs/quota.h>
73#include <ufs/ufs/inode.h>
74#include <ufs/ufs/ufs_extern.h>
75#include <ufs/ufs/ufsmount.h>
76
77#include <ufs/ffs/fs.h>
78#include <ufs/ffs/ffs_extern.h>
44 */
45
46#include <sys/param.h>
47#include <sys/bio.h>
48#include <sys/systm.h>
49#include <sys/buf.h>
50#include <sys/conf.h>
51#include <sys/extattr.h>

--- 19 unchanged lines hidden (view full) ---

71#include <ufs/ufs/extattr.h>
72#include <ufs/ufs/quota.h>
73#include <ufs/ufs/inode.h>
74#include <ufs/ufs/ufs_extern.h>
75#include <ufs/ufs/ufsmount.h>
76
77#include <ufs/ffs/fs.h>
78#include <ufs/ffs/ffs_extern.h>
79#include "opt_directio.h"
79
80
81#ifdef DIRECTIO
82extern int ffs_rawread(struct vnode *vp, struct uio *uio, int *workdone);
83#endif
80static int ffs_fsync(struct vop_fsync_args *);
81static int ffs_getpages(struct vop_getpages_args *);
82static int ffs_read(struct vop_read_args *);
83static int ffs_write(struct vop_write_args *);
84static int ffs_extread(struct vnode *vp, struct uio *uio, int ioflag);
85static int ffs_extwrite(struct vnode *vp, struct uio *uio, int ioflag,
86 struct ucred *cred);
87static int ffsext_strategy(struct vop_strategy_args *);

--- 256 unchanged lines hidden (view full) ---

344 uio = ap->a_uio;
345 ioflag = ap->a_ioflag;
346 if (ap->a_ioflag & IO_EXT)
347#ifdef notyet
348 return (ffs_extread(vp, uio, ioflag));
349#else
350 panic("ffs_read+IO_EXT");
351#endif
84static int ffs_fsync(struct vop_fsync_args *);
85static int ffs_getpages(struct vop_getpages_args *);
86static int ffs_read(struct vop_read_args *);
87static int ffs_write(struct vop_write_args *);
88static int ffs_extread(struct vnode *vp, struct uio *uio, int ioflag);
89static int ffs_extwrite(struct vnode *vp, struct uio *uio, int ioflag,
90 struct ucred *cred);
91static int ffsext_strategy(struct vop_strategy_args *);

--- 256 unchanged lines hidden (view full) ---

348 uio = ap->a_uio;
349 ioflag = ap->a_ioflag;
350 if (ap->a_ioflag & IO_EXT)
351#ifdef notyet
352 return (ffs_extread(vp, uio, ioflag));
353#else
354 panic("ffs_read+IO_EXT");
355#endif
356#ifdef DIRECTIO
357 if ((ioflag & IO_DIRECT) != 0) {
358 int workdone;
352
359
360 error = ffs_rawread(vp, uio, &workdone);
361 if (error != 0 || workdone != 0)
362 return error;
363 }
364#endif
365
353 GIANT_REQUIRED;
354
355 seqcount = ap->a_ioflag >> 16;
356 ip = VTOI(vp);
357 mode = ip->i_mode;
358
359#ifdef DIAGNOSTIC
360 if (uio->uio_rw != UIO_READ)

--- 1301 unchanged lines hidden ---
366 GIANT_REQUIRED;
367
368 seqcount = ap->a_ioflag >> 16;
369 ip = VTOI(vp);
370 mode = ip->i_mode;
371
372#ifdef DIAGNOSTIC
373 if (uio->uio_rw != UIO_READ)

--- 1301 unchanged lines hidden ---