History log of /freebsd/sys/fs/unionfs/union_vnops.c (Results 101 – 125 of 399)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b16f4eec 09-Dec-2006 Craig Rodrigues <rodrigc@FreeBSD.org>

In unionfs_readdir(), prevent a possible NULL dereference.

CID: 1667
Found by: Coverity Prevent (tm)


# 3d253c11 02-Dec-2006 Craig Rodrigues <rodrigc@FreeBSD.org>

Add missing includes for <sys/buf.h> and <sys/bio.h>.


# d00947d8 02-Dec-2006 Craig Rodrigues <rodrigc@FreeBSD.org>

Many, many thanks to Masanori OZAWA <ozawa@ongs.co.jp>
and Daichi GOTO <daichi@FreeBSD.org> for submitting this
major rewrite of unionfs. This rewrite was done to
try to solve many of the longstandi

Many, many thanks to Masanori OZAWA <ozawa@ongs.co.jp>
and Daichi GOTO <daichi@FreeBSD.org> for submitting this
major rewrite of unionfs. This rewrite was done to
try to solve many of the longstanding crashing and locking
issues in the existing unionfs implementation. This
implementation also adds a 'MASQUERADE mode', which allows
the user to set different user, group, and file permission
modes in the upper layer.

Submitted by: daichi, Masanori OZAWA
Reviewed by: rodrigc (modified for minor style issues)

show more ...


# be54a5ee 06-Jul-2006 Robert Watson <rwatson@FreeBSD.org>

Remove unneeded mac.h include.

MFC after: 3 days


Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0
# 86391603 17-Oct-2005 Florent Thoumie <flz@FreeBSD.org>

- Fix typo.

Approved by: ssouhlal
MFC after: 1 week


Revision tags: release/5.4.0_cvs, release/5.4.0
# d65736a1 03-May-2005 Jeff Roberson <jeff@FreeBSD.org>

- Set the v_object pointer after a successful VOP_OPEN(). This isn't a
perfect solution as the lower vm object can change at unpredictable times
if our lower vp happens to be on another unionf

- Set the v_object pointer after a successful VOP_OPEN(). This isn't a
perfect solution as the lower vm object can change at unpredictable times
if our lower vp happens to be on another unionfs, etc.

Submitted by: Oleg Sharoiko <os@rsu.ru>

show more ...


# 4585e3ac 13-Apr-2005 Jeff Roberson <jeff@FreeBSD.org>

- Change all filesystems and vfs_cache to relock the dvp once the child is
locked in the ISDOTDOT case. Se vfs_lookup.c r1.79 for details.

Sponsored by: Isilon Systems, Inc.


# 9370c333 04-Apr-2005 Jeff Roberson <jeff@FreeBSD.org>

- Fix union's assumptions about when the dvp is unlocked. It is only
unlocked in the ISDOTDOT case now, not for all !ISLASTCN lookups.


# e32addd4 28-Mar-2005 Jeff Roberson <jeff@FreeBSD.org>

- Remove unnecessary LOCKPARENT manipulation.

Sponsored by: Isilon Systems, Inc.


# d9b2d9f7 24-Mar-2005 Jeff Roberson <jeff@FreeBSD.org>

- Update vfs_root implementations to match the new prototype. None of
these filesystems will support shared locks until they are explicitly
modified to do so. Careful review must be done to e

- Update vfs_root implementations to match the new prototype. None of
these filesystems will support shared locks until they are explicitly
modified to do so. Careful review must be done to ensure that this
is safe for each individual filesystem.

Sponsored by: Isilon Systems, Inc.

show more ...


# 8da00465 13-Mar-2005 Jeff Roberson <jeff@FreeBSD.org>

- The VI_DOOMED flag now signals the end of a vnode's relationship with
the filesystem. Check that rather than VI_XLOCK.
- VOP_INACTIVE should no longer drop the vnode lock.
- The vnode lock is

- The VI_DOOMED flag now signals the end of a vnode's relationship with
the filesystem. Check that rather than VI_XLOCK.
- VOP_INACTIVE should no longer drop the vnode lock.
- The vnode lock is required around calls to vrecycle() and vgone().

Sponsored by: Isilon Systems, Inc.

show more ...


# 7bf4b73d 07-Feb-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Deimplement vop_destroyvobject()


# 729fcf7e 25-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Take VOP_GETVOBJECT() out to pasture. We use the direct pointer now.


# 69816ea3 25-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Kill VOP_CREATEVOBJECT(), it is now the responsibility of the filesystem
for a given vnode to create a vnode_pager object if one is needed.


# dcff5b14 25-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Don't call VOP_CREATEVOBJECT(), it's the responsibility of the
filesystem which owns the vnode.


# 35764be3 24-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Kill the VV_OBJBUF and test the v_object for NULL instead.


Revision tags: release/4.11.0_cvs, release/4.11.0
# 83c64397 13-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Whitespace in vop_vector{} initializations.


# e39db32a 13-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Ditch vfs_object_create() and make the callers call VOP_CREATEVOBJECT()
directly.


# 63f89abf 13-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Change the generated VOP_ macro implementations to improve type checking
and KASSERT coverage.

After this check there is only one "nasty" cast in this code but there
is a KASSERT to protect against

Change the generated VOP_ macro implementations to improve type checking
and KASSERT coverage.

After this check there is only one "nasty" cast in this code but there
is a KASSERT to protect against the wrong argument structure behind
that cast.

Un-inlining the meat of VOP_FOO() saves 35kB of text segment on a typical
kernel with no change in performance.

We also now run the checking and tracing on VOP's which have been layered
by nullfs, umapfs, deadfs or unionfs.

Add new (non-inline) VOP_FOO_AP() functions which take a "struct
foo_args" argument and does everything the VOP_FOO() macros
used to do with checks and debugging code.

Add KASSERT to VOP_FOO_AP() check for argument type being
correct.

Slim down VOP_FOO() inline functions to just stuff arguments
into the struct foo_args and call VOP_FOO_AP().

Put function pointer to VOP_FOO_AP() into vop_foo_desc structure
and make VCALL() use it instead of the current offsetoff() hack.

Retire vcall() which implemented the offsetoff()

Make deadfs and unionfs use VOP_FOO_AP() calls instead of
VCALL(), we know which specific call we want already.

Remove unneeded arguments to VCALL() in nullfs and umapfs bypass
functions.

Remove unused vdesc_offset and VOFFSET().

Generally improve style/readability of the generated code.

show more ...


# 8df6bac4 11-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Remove the unused credential argument from VOP_FSYNC() and VFS_SYNC().

I'm not sure why a credential was added to these in the first place, it is
not used anywhere and it doesn't make much sense:

Remove the unused credential argument from VOP_FSYNC() and VFS_SYNC().

I'm not sure why a credential was added to these in the first place, it is
not used anywhere and it doesn't make much sense:

The credentials for syncing a file (ability to write to the
file) should be checked at the system call level.

Credentials for syncing one or more filesystems ("none")
should be checked at the system call level as well.

If the filesystem implementation needs a particular credential
to carry out the syncing it would logically have to the
cached mount credential, or a credential cached along with
any delayed write data.

Discussed with: rwatson

show more ...


# d167cf6f 06-Jan-2005 Warner Losh <imp@FreeBSD.org>

/* -> /*- for copyright notices, minor format tweaks as necessary


# aec0fb7b 02-Dec-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Back when VOP_* was introduced, we did not have new-style struct
initializations but we did have lofty goals and big ideals.

Adjust to more contemporary circumstances and gain type checking.

Repla

Back when VOP_* was introduced, we did not have new-style struct
initializations but we did have lofty goals and big ideals.

Adjust to more contemporary circumstances and gain type checking.

Replace the entire vop_t frobbing thing with properly typed
structures. The only casualty is that we can not add a new
VOP_ method with a loadable module. History has not given
us reason to belive this would ever be feasible in the the
first place.

Eliminate in toto VOCALL(), vop_t, VNODEOP_SET() etc.

Give coda correct prototypes and function definitions for
all vop_()s.

Generate a bit more data from the vnode_if.src file: a
struct vop_vector and protype typedefs for all vop methods.

Add a new vop_bypass() and make vop_default be a pointer
to another struct vop_vector.

Remove a lot of vfs_init since vop_vector is ready to use
from the compiler.

Cast various vop_mumble() to void * with uppercase name,
for instance VOP_PANIC, VOP_NULL etc.

Implement VCALL() by making vdesc_offset the offsetof() the
relevant function pointer in vop_vector. This is disgusting
but since the code is generated by a script comparatively
safe. The alternative for nullfs etc. would be much worse.

Fix up all vnode method vectors to remove casts so they
become typesafe. (The bulk of this is generated by scripts)

show more ...


# 0731e6df 01-Dec-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Correctly prototype union_write with vop_write_t, not vop_read_t.


# 6fde64c7 01-Dec-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Mechanically change prototypes for vnode operations to use the new typedefs.


# ecbcedb9 13-Nov-2004 Poul-Henning Kamp <phk@FreeBSD.org>

VOP_REVOKE() is only ever for VCHR vnodes, so unionfs does not
need a vop_revoke() method.


12345678910>>...16