Home | History | Annotate | Download | only in ext2fs
History log of /src/sys/ufs/ext2fs/ext2fs_rename.c
RevisionDateAuthorComments
 1.13  26-Aug-2023  riastradh ext2fs: Nix trailing whitespace.
 1.12  20-Oct-2021  thorpej Overhaul of the EVFILT_VNODE kevent(2) filter:

- Centralize vnode kevent handling in the VOP_*() wrappers, rather than
forcing each individual file system to deal with it (except VOP_RENAME(),
because VOP_RENAME() is a mess and we currently have 2 different ways
of handling it; at least it's reasonably well-centralized in the "new"
way).
- Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ,
compatible with the same events in FreeBSD.
- Track which kevent notifications clients are interested in receiving
to avoid doing work for events no one cares about (avoiding, e.g.
taking locks and traversing the klist to send a NOTE_WRITE when
someone is merely watching for a file to be deleted, for example).

In support of the above:

- Add support in vnode_if.sh for specifying PRE- and POST-op handlers,
to be invoked before and after vop_pre() and vop_post(), respectively.
Basic idea from FreeBSD, but implemented differently.
- Add support in vnode_if.sh for specifying CONTEXT fields in the
vop_*_args structures. These context fields are used to convey information
between the file system VOP function and the VOP wrapper, but do not
occupy an argument slot in the VOP_*() call itself. These context fields
are initialized and subsequently interpreted by PRE- and POST-op handlers.
- Version VOP_REMOVE(), uses the a context field for the file system to report
back the resulting link count of the target vnode. Return this in tmpfs,
udf, nfs, chfs, ext2fs, lfs, and ufs.

NetBSD 9.99.92.
 1.11  15-Aug-2016  jdolecek bump link limit to 65000 for files, and add support for EXT2F_ROCOMPAT_DIR_NLINK to make link count unlimited for directories
 1.10  13-Aug-2016  christos KNF, no functional changes...
 1.9  06-Aug-2016  jdolecek actually pass the d_type from the on-disk directory entry to the lookup results
 1.8  27-Mar-2015  riastradh Disentangle buffer-cached I/O from page-cached I/O in UFS.

Page-cached I/O is used for regular files, and is initiated by VFS
users such as userland and NFS.

Buffer-cached I/O is used for directories and symlinks, and is issued
only internally by UFS.

New UFS routine ufs_bufio replaces vn_rdwr for internal use.
ufs_bufio is implemented by new UFS operations uo_bufrd/uo_bufwr,
which sit in ufs_readwrite.c alongside the VOP_READ/VOP_WRITE
implementations.

I preserved the code as much as possible and will leave further
simplification for future commits. I kept the ulfs_readwrite.c
copypasta close to ufs_readwrite.c in case we ever want to merge them
back; likewise ext2fs_readwrite.c.

No externally visible semantic change. All atf fs tests still pass.
 1.7  25-May-2014  hannken branches: 1.7.4;
ext2fs_gro_genealogy: use vcache_get() to lookup DOTDOT.
 1.6  28-Jan-2014  martin branches: 1.6.2;
Quell a (bogus) "may be used unintialized" warning from gcc 4.8
 1.5  22-Jan-2013  dholland branches: 1.5.2;
Stuff UFS_ in front of a few of ufs's symbols to reduce namespace
pollution. Specifically:
ROOTINO -> UFS_ROOTINO
WINO -> UFS_WINO
NXADDR -> UFS_NXADDR
NDADDR -> UFS_NDADDR
NIADDR -> UFS_NIADDR
MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN
MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)

Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have
the same values in ext2fs and ffs.

No functional change intended.
 1.4  04-Jun-2012  riastradh branches: 1.4.2;
Kill the IN_RENAME in-core inode flag in ufs and ext2fs.

Now that rename works we need not to wave this sort of voodoo at it.

ok dholland
 1.3  04-Jun-2012  riastradh Fix ext2fs's scary cross-block directory message too.

(See rev. 1.3 of sys/ufs/ufs/ufs_rename.c for the analysis.)
 1.2  10-May-2012  riastradh branches: 1.2.2; 1.2.4;
Swap byte order of ext2fs_direct fields in ext2fs_rename_recalculate_fulr.

Symptom found and fix tested by martin.

ok martin
 1.1  09-May-2012  riastradh Adapt ffs, lfs, and ext2fs to use genfs_rename.

ok dholland, rmind
 1.2.4.2  02-Jun-2012  mrg sync to latest -current.
 1.2.4.1  10-May-2012  mrg file ext2fs_rename.c was added on branch jmcneill-usbmp on 2012-06-02 11:09:40 +0000
 1.2.2.5  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.2.4  23-Jan-2013  yamt sync with head
 1.2.2.3  30-Oct-2012  yamt sync with head
 1.2.2.2  23-May-2012  yamt sync with head.
 1.2.2.1  10-May-2012  yamt file ext2fs_rename.c was added on branch yamt-pagecache on 2012-05-23 10:08:18 +0000
 1.4.2.3  03-Dec-2017  jdolecek update from HEAD
 1.4.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1  25-Feb-2013  tls resync with head
 1.5.2.1  18-May-2014  rmind sync with head
 1.6.2.1  10-Aug-2014  tls Rebase.
 1.7.4.2  05-Oct-2016  skrll Sync with HEAD
 1.7.4.1  06-Apr-2015  skrll Sync with HEAD

RSS XML Feed