brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · 40f84d0 Raw
41 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 * Symlink inode operations for Coda filesystem4 * Original version: (C) 1996 P. Braam and M. Callahan5 * Rewritten for Linux 2.1. (C) 1997 Carnegie Mellon University6 * 7 * Carnegie Mellon encourages users to contribute improvements to8 * the Coda project. Contact Peter Braam (coda@cs.cmu.edu).9 */10 11#include <linux/types.h>12#include <linux/kernel.h>13#include <linux/time.h>14#include <linux/fs.h>15#include <linux/stat.h>16#include <linux/errno.h>17#include <linux/pagemap.h>18 19#include <linux/coda.h>20#include "coda_psdev.h"21#include "coda_linux.h"22 23static int coda_symlink_filler(struct file *file, struct folio *folio)24{25	struct inode *inode = folio->mapping->host;26	int error;27	struct coda_inode_info *cii;28	unsigned int len = PAGE_SIZE;29	char *p = folio_address(folio);30 31	cii = ITOC(inode);32 33	error = venus_readlink(inode->i_sb, &cii->c_fid, p, &len);34	folio_end_read(folio, error == 0);35	return error;36}37 38const struct address_space_operations coda_symlink_aops = {39	.read_folio	= coda_symlink_filler,40};41