fs/coda/coda_linux.c

Source file repositories/reference/linux-study-clean/fs/coda/coda_linux.c

File Facts

System
Linux kernel
Corpus path
fs/coda/coda_linux.c
Extension
.c
Size
5355 bytes
Lines
209
Domain
Core OS
Bucket
VFS And Filesystem Core
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

if ( S_ISDIR(mode) ) {
                vattr->va_type = C_VDIR; 
        } else if ( S_ISREG(mode) ) {
                vattr->va_type = C_VREG;
        } else if ( S_ISLNK(mode) ) {
                vattr->va_type = C_VLNK;
        } else {
                /* don't do others */
                vattr->va_type = C_VNON;
        }
#endif 

        /* set those vattrs that need change */
        valid = iattr->ia_valid;
        if ( valid & ATTR_MODE ) {
                vattr->va_mode = iattr->ia_mode;
	}
        if ( valid & ATTR_UID ) {
                vattr->va_uid = (vuid_t) from_kuid(&init_user_ns, iattr->ia_uid);
	}
        if ( valid & ATTR_GID ) {
                vattr->va_gid = (vgid_t) from_kgid(&init_user_ns, iattr->ia_gid);
	}
        if ( valid & ATTR_SIZE ) {
                vattr->va_size = iattr->ia_size;
	}
        if ( valid & ATTR_ATIME ) {
		vattr->va_atime = timespec64_to_coda(iattr->ia_atime);
	}
        if ( valid & ATTR_MTIME ) {
		vattr->va_mtime = timespec64_to_coda(iattr->ia_mtime);
	}
        if ( valid & ATTR_CTIME ) {
		vattr->va_ctime = timespec64_to_coda(iattr->ia_ctime);
	}
}

Annotation

Implementation Notes