Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys

Module Name:    src
Committed By:   dholland
Date:           Sun Jan  2 05:09:33 UTC 2011

Modified Files:
        src/sys/fs/msdosfs: msdosfs_vnops.c
        src/sys/fs/udf: udf_vnops.c
        src/sys/fs/union: union_subr.c union_vnops.c
        src/sys/fs/unionfs: unionfs_subr.c
        src/sys/kern: vfs_lookup.c vfs_syscalls.c
        src/sys/nfs: nfs_serv.c
        src/sys/sys: namei.src
        src/sys/ufs/ext2fs: ext2fs_vnops.c
        src/sys/ufs/lfs: lfs_vnops.c
        src/sys/ufs/ufs: ufs_vnops.c ufs_wapbl.c

Log Message:
Remove the special refcount behavior (adding an extra reference to the
parent dir) associated with SAVESTART in relookup().

Check all call sites to make sure that SAVESTART wasn't set while
calling relookup(); if it was, adjust the refcount behavior. Remove
related references to SAVESTART.

The only code that was reaching the extra ref was msdosfs_rename,
where the refcount behavior was already fairly broken and/or gross;
repair it.

Add a dummy 4th argument to relookup to make sure code that hasn't
been inspected won't compile. (This will go away next time the
relookup semantics change, which they will.)

To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 src/sys/fs/msdosfs/msdosfs_vnops.c
cvs rdiff -u -r1.61 -r1.62 src/sys/fs/udf/udf_vnops.c
cvs rdiff -u -r1.41 -r1.42 src/sys/fs/union/union_subr.c
cvs rdiff -u -r1.38 -r1.39 src/sys/fs/union/union_vnops.c
cvs rdiff -u -r1.11 -r1.12 src/sys/fs/unionfs/unionfs_subr.c
cvs rdiff -u -r1.129 -r1.130 src/sys/kern/vfs_lookup.c
cvs rdiff -u -r1.411 -r1.412 src/sys/kern/vfs_syscalls.c
cvs rdiff -u -r1.153 -r1.154 src/sys/nfs/nfs_serv.c
cvs rdiff -u -r1.19 -r1.20 src/sys/sys/namei.src
cvs rdiff -u -r1.96 -r1.97 src/sys/ufs/ext2fs/ext2fs_vnops.c
cvs rdiff -u -r1.232 -r1.233 src/sys/ufs/lfs/lfs_vnops.c
cvs rdiff -u -r1.185 -r1.186 src/sys/ufs/ufs/ufs_vnops.c
cvs rdiff -u -r1.11 -r1.12 src/sys/ufs/ufs/ufs_wapbl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index