mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Consistent precondition formatting
Our "Preconditions:" blocks are very useful to determine the input invariants, but they are bit inconsistent throughout the codebase, which makes them harder to read (particularly cases with 5+ conditions in a single paragraph). I've reformatted all of the cases to fit in simple rules: 1. Cases with a single condition are placed on a single line. 2. Cases with multiple conditions are placed in a bulleted list. This format has been added to the style guide. I've also mentioned "Postconditions:", though those are much less frequently used, and all uses already match this style. PiperOrigin-RevId: 327687465
This commit is contained in:
committed by
gVisor bot
parent
f12b545d8f
commit
129018ab3d
@@ -57,8 +57,9 @@ func (fs *filesystem) newDirectory(kuid auth.KUID, kgid auth.KGID, mode linux.Fi
|
||||
return dir
|
||||
}
|
||||
|
||||
// Preconditions: filesystem.mu must be locked for writing. dir must not
|
||||
// already contain a child with the given name.
|
||||
// Preconditions:
|
||||
// * filesystem.mu must be locked for writing.
|
||||
// * dir must not already contain a child with the given name.
|
||||
func (dir *directory) insertChildLocked(child *dentry, name string) {
|
||||
child.parent = &dir.dentry
|
||||
child.name = name
|
||||
|
||||
@@ -39,7 +39,9 @@ func (fs *filesystem) Sync(ctx context.Context) error {
|
||||
//
|
||||
// stepLocked is loosely analogous to fs/namei.c:walk_component().
|
||||
//
|
||||
// Preconditions: filesystem.mu must be locked. !rp.Done().
|
||||
// Preconditions:
|
||||
// * filesystem.mu must be locked.
|
||||
// * !rp.Done().
|
||||
func stepLocked(ctx context.Context, rp *vfs.ResolvingPath, d *dentry) (*dentry, error) {
|
||||
dir, ok := d.inode.impl.(*directory)
|
||||
if !ok {
|
||||
@@ -97,7 +99,9 @@ afterSymlink:
|
||||
// walkParentDirLocked is loosely analogous to Linux's
|
||||
// fs/namei.c:path_parentat().
|
||||
//
|
||||
// Preconditions: filesystem.mu must be locked. !rp.Done().
|
||||
// Preconditions:
|
||||
// * filesystem.mu must be locked.
|
||||
// * !rp.Done().
|
||||
func walkParentDirLocked(ctx context.Context, rp *vfs.ResolvingPath, d *dentry) (*directory, error) {
|
||||
for !rp.Final() {
|
||||
next, err := stepLocked(ctx, rp, d)
|
||||
@@ -139,8 +143,9 @@ func resolveLocked(ctx context.Context, rp *vfs.ResolvingPath) (*dentry, error)
|
||||
// doCreateAt is loosely analogous to a conjunction of Linux's
|
||||
// fs/namei.c:filename_create() and done_path_create().
|
||||
//
|
||||
// Preconditions: !rp.Done(). For the final path component in rp,
|
||||
// !rp.ShouldFollowSymlink().
|
||||
// Preconditions:
|
||||
// * !rp.Done().
|
||||
// * For the final path component in rp, !rp.ShouldFollowSymlink().
|
||||
func (fs *filesystem) doCreateAt(ctx context.Context, rp *vfs.ResolvingPath, dir bool, create func(parentDir *directory, name string) error) error {
|
||||
fs.mu.Lock()
|
||||
defer fs.mu.Unlock()
|
||||
|
||||
@@ -28,8 +28,8 @@ type namedPipe struct {
|
||||
}
|
||||
|
||||
// Preconditions:
|
||||
// * fs.mu must be locked.
|
||||
// * rp.Mount().CheckBeginWrite() has been called successfully.
|
||||
// * fs.mu must be locked.
|
||||
// * rp.Mount().CheckBeginWrite() has been called successfully.
|
||||
func (fs *filesystem) newNamedPipe(kuid auth.KUID, kgid auth.KGID, mode linux.FileMode) *inode {
|
||||
file := &namedPipe{pipe: pipe.NewVFSPipe(true /* isNamed */, pipe.DefaultPipeSize, usermem.PageSize)}
|
||||
file.inode.init(file, fs, kuid, kgid, linux.S_IFIFO|mode)
|
||||
|
||||
@@ -340,8 +340,10 @@ func (i *inode) init(impl interface{}, fs *filesystem, kuid auth.KUID, kgid auth
|
||||
|
||||
// incLinksLocked increments i's link count.
|
||||
//
|
||||
// Preconditions: filesystem.mu must be locked for writing. i.nlink != 0.
|
||||
// i.nlink < maxLinks.
|
||||
// Preconditions:
|
||||
// * filesystem.mu must be locked for writing.
|
||||
// * i.nlink != 0.
|
||||
// * i.nlink < maxLinks.
|
||||
func (i *inode) incLinksLocked() {
|
||||
if i.nlink == 0 {
|
||||
panic("tmpfs.inode.incLinksLocked() called with no existing links")
|
||||
@@ -355,7 +357,9 @@ func (i *inode) incLinksLocked() {
|
||||
// decLinksLocked decrements i's link count. If the link count reaches 0, we
|
||||
// remove a reference on i as well.
|
||||
//
|
||||
// Preconditions: filesystem.mu must be locked for writing. i.nlink != 0.
|
||||
// Preconditions:
|
||||
// * filesystem.mu must be locked for writing.
|
||||
// * i.nlink != 0.
|
||||
func (i *inode) decLinksLocked(ctx context.Context) {
|
||||
if i.nlink == 0 {
|
||||
panic("tmpfs.inode.decLinksLocked() called with no existing links")
|
||||
@@ -594,8 +598,9 @@ func (i *inode) touchCMtime() {
|
||||
i.mu.Unlock()
|
||||
}
|
||||
|
||||
// Preconditions: The caller has called vfs.Mount.CheckBeginWrite() and holds
|
||||
// inode.mu.
|
||||
// Preconditions:
|
||||
// * The caller has called vfs.Mount.CheckBeginWrite().
|
||||
// * inode.mu must be locked.
|
||||
func (i *inode) touchCMtimeLocked() {
|
||||
now := i.fs.clock.Now().Nanoseconds()
|
||||
atomic.StoreInt64(&i.mtime, now)
|
||||
|
||||
Reference in New Issue
Block a user