fs/nfs/symlink.c

Source file repositories/reference/linux-study-clean/fs/nfs/symlink.c

File Facts

System
Linux kernel
Corpus path
fs/nfs/symlink.c
Extension
.c
Size
1875 bytes
Lines
81
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 (!folio_test_uptodate(folio)) {
			folio_put(folio);
			return ERR_PTR(-ECHILD);
		}
	} else {
		err = ERR_PTR(nfs_revalidate_mapping(inode, inode->i_mapping));
		if (err)
			return err;
		folio = read_cache_folio(&inode->i_data, 0, nfs_symlink_filler,
				NULL);
		if (IS_ERR(folio))
			return ERR_CAST(folio);
	}
	set_delayed_call(done, page_put_link, folio);
	return folio_address(folio);
}

/*
 * symlinks can't do much...
 */
const struct inode_operations nfs_symlink_inode_operations = {
	.get_link	= nfs_get_link,
	.getattr	= nfs_getattr,
	.setattr	= nfs_setattr,
	.fileattr_get	= nfs_fileattr_get,
};

Annotation

Implementation Notes