inode->i_nlink = pos + nr_tids; 
static int proc_task_readdir(struct file * filp, void * dirent, filldir_t filldir){	unsigned int tid_array[PROC_MAXPIDS];	char buf[PROC_NUMBUF];	unsigned int nr_tids, i;	struct dentry *dentry = filp->f_dentry;	struct inode *inode = dentry->d_inode;	int retval = -ENOENT;	ino_t ino;	unsigned long pos = filp->f_pos;  /* avoiding "long long" filp->f_pos */	if (!pid_alive(proc_task(inode)))		goto out;	retval = 0;	switch (pos) {	case 0:		ino = inode->i_ino;		if (filldir(dirent, ".", 1, pos, ino, DT_DIR) < 0)			goto out;		pos++;		/* fall through */	case 1:		ino = parent_ino(dentry);		if (filldir(dirent, "..", 2, pos, ino, DT_DIR) < 0)			goto out;		pos++;		/* fall through */	}	nr_tids = get_tid_list(pos, tid_array, inode);	for (i = 0; i < nr_tids; i++) {		unsigned long j = PROC_NUMBUF;		int tid = tid_array[i];		ino = fake_ino(tid,PROC_TID_INO);		do			buf[--j] = '0' + (tid % 10);		while ((tid /= 10) != 0);		if (filldir(dirent, buf+j, PROC_NUMBUF-j, pos, ino, DT_DIR) < 0)			break;		pos++;	}out:	filp->f_pos = pos;	return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f246315e1ab96c40978777d1e159820ecca45aa8/base.c/clean/fs/proc/base.c