taglinefilesource code
inode16fs/block_dev.cint block_write(struct inode * inode, struct file * filp, char * buf, int count)
inode27fs/block_dev.cdev = inode->i_rdev;
inode62fs/block_dev.cint block_read(struct inode * inode, struct file * filp, char * buf, int count)
inode76fs/block_dev.cdev = inode->i_rdev;
inode49fs/devices.cint blkdev_open(struct inode * inode, struct file * filp)
inode53fs/devices.ci = MAJOR(inode->i_rdev);
inode58fs/devices.creturn filp->f_op->open(inode,filp);
inode100fs/devices.cint chrdev_open(struct inode * inode, struct file * filp)
inode104fs/devices.ci = MAJOR(inode->i_rdev);
inode109fs/devices.creturn filp->f_op->open(inode,filp);
inode50fs/exec.cwhile (file.f_op->write(inode,&file,(char *)(addr),(nr)) != (nr)) goto close_coredump
inode54fs/exec.cif (file.f_op->lseek(inode,&file,(offset),0) != (offset)) \
inode69fs/exec.cstruct inode * inode = NULL;
inode84fs/exec.cif (open_namei("core",O_CREAT | O_WRONLY | O_TRUNC,0600,&inode,NULL)) {
inode85fs/exec.cinode = NULL;
inode88fs/exec.cif (!S_ISREG(inode->i_mode))
inode90fs/exec.cif (!inode->i_op || !inode->i_op->default_file_ops)
inode95fs/exec.cfile.f_inode = inode;
inode98fs/exec.cfile.f_op = inode->i_op->default_file_ops;
inode100fs/exec.cif (file.f_op->open(inode,&file))
inode168fs/exec.cfile.f_op->release(inode,&file);
inode171fs/exec.ciput(inode);
inode184fs/exec.cstruct inode * inode;
inode194fs/exec.cerror = namei(library,&inode);
inode197fs/exec.cif (!inode->i_sb || !S_ISREG(inode->i_mode) || !permission(inode,MAY_READ)) {
inode198fs/exec.ciput(inode);
inode201fs/exec.cif (!inode->i_op || !inode->i_op->bmap) {
inode202fs/exec.ciput(inode);
inode205fs/exec.cif (!(bh = bread(inode->i_dev,bmap(inode,0),inode->i_sb->s_blocksize))) {
inode206fs/exec.ciput(inode);
inode209fs/exec.cif (!IS_RDONLY(inode)) {
inode210fs/exec.cinode->i_atime = CURRENT_TIME;
inode211fs/exec.cinode->i_dirt = 1;
inode217fs/exec.cinode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) {
inode218fs/exec.ciput(inode);
inode221fs/exec.ccurrent->libraries[libnum].library = inode;
inode384fs/exec.cstatic int read_exec(struct inode *inode, unsigned long offset,
inode390fs/exec.cif (!inode->i_op || !inode->i_op->default_file_ops)
inode395fs/exec.cfile.f_inode = inode;
inode398fs/exec.cfile.f_op = inode->i_op->default_file_ops;
inode400fs/exec.cif (file.f_op->open(inode,&file))
inode405fs/exec.cif (file.f_op->lseek(inode,&file,offset,0) != offset)
inode409fs/exec.cresult = file.f_op->read(inode, &file, addr, count);
inode412fs/exec.cfile.f_op->release(inode,&file);
inode426fs/exec.cstruct inode * inode;
inode442fs/exec.cretval = namei(filename,&inode);  /* get executable inode */
inode449fs/exec.cif (!S_ISREG(inode->i_mode)) {  /* must be regular file */
inode453fs/exec.cif (IS_NOEXEC(inode)) {    /* FS mustn't be mounted noexec */
inode457fs/exec.cif (!inode->i_sb) {
inode461fs/exec.ci = inode->i_mode;
inode462fs/exec.cif (IS_NOSUID(inode) && (((i & S_ISUID) && inode->i_uid != current->
inode463fs/exec.ceuid) || ((i & S_ISGID) && !in_group_p(inode->i_gid))) &&
inode473fs/exec.ce_uid = (i & S_ISUID) ? inode->i_uid : current->euid;
inode474fs/exec.ce_gid = (i & S_ISGID) ? inode->i_gid : current->egid;
inode476fs/exec.cif (current->euid == inode->i_uid)
inode478fs/exec.celse if (in_group_p(inode->i_gid))
inode481fs/exec.c!((inode->i_mode & 0111) && suser())) {
inode488fs/exec.cretval = read_exec(inode,0,buf,128);
inode501fs/exec.ciput(inode);
inode561fs/exec.cretval = open_namei(interp,0,0,&inode,NULL);
inode568fs/exec.cinode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) {
inode604fs/exec.c!permission(inode,MAY_READ))
inode633fs/exec.cread_exec(inode, 32, (char *) 0, ex.a_text+ex.a_data);
inode634fs/exec.ciput(inode);
inode635fs/exec.c} else if (!inode->i_op || !inode->i_op->bmap) {
inode636fs/exec.cread_exec(inode, 1024, (char *) 0, ex.a_text+ex.a_data);
inode637fs/exec.ciput(inode);
inode639fs/exec.ccurrent->executable = inode;
inode647fs/exec.ciput(inode);
inode23fs/ext/dir.cstatic int ext_dir_read(struct inode * inode, struct file * filp, char * buf, int count)
inode28fs/ext/dir.cstatic int ext_readdir(struct inode *, struct file *, struct dirent *, int);
inode64fs/ext/dir.cstatic int ext_readdir(struct inode * inode, struct file * filp,
inode72fs/ext/dir.cif (!inode || !S_ISDIR(inode->i_mode))
inode76fs/ext/dir.cwhile (filp->f_pos < inode->i_size) {
inode78fs/ext/dir.cbh = ext_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0);
inode84fs/ext/dir.cwhile (offset < 1024 && filp->f_pos < inode->i_size) {
inode90fs/ext/dir.cinode->i_dev, inode->i_ino, offset, de->rec_len, de->name_len);
inode92fs/ext/dir.cif (filp->f_pos > inode->i_size)
inode93fs/ext/dir.cfilp->f_pos = inode->i_size;
inode98fs/ext/dir.cif (de->inode) {
inode105fs/ext/dir.cput_fs_long(de->inode,&dirent->d_ino);
inode34fs/ext/file.cstatic int ext_file_read(struct inode *, struct file *, char *, int);
inode35fs/ext/file.cstatic int ext_file_write(struct inode *, struct file *, char *, int);
inode72fs/ext/file.cstatic int ext_file_read(struct inode * inode, struct file * filp, char * buf, int count)
inode82fs/ext/file.cif (!inode) {
inode86fs/ext/file.cif (!S_ISREG(inode->i_mode)) {
inode87fs/ext/file.cprintk("ext_file_read: mode = %07o\n",inode->i_mode);
inode91fs/ext/file.csize = inode->i_size;
inode107fs/ext/file.cblocks += read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9);
inode127fs/ext/file.c*bhb = ext_getblk(inode, block++, 0);
inode186fs/ext/file.cif (!IS_RDONLY(inode)) {
inode187fs/ext/file.cinode->i_atime = CURRENT_TIME;
inode188fs/ext/file.cinode->i_dirt = 1;
inode193fs/ext/file.cstatic int ext_file_write(struct inode * inode, struct file * filp, char * buf, int count)
inode200fs/ext/file.cif (!inode) {
inode204fs/ext/file.cif (!S_ISREG(inode->i_mode)) {
inode205fs/ext/file.cprintk("ext_file_write: mode = %07o\n",inode->i_mode);
inode213fs/ext/file.cpos = inode->i_size;
inode218fs/ext/file.cbh = ext_getblk(inode,pos/BLOCK_SIZE,1);
inode239fs/ext/file.cif (pos > inode->i_size) {
inode240fs/ext/file.cinode->i_size = pos;
inode241fs/ext/file.cinode->i_dirt = 1;
inode250fs/ext/file.cinode->i_mtime = CURRENT_TIME;
inode251fs/ext/file.cinode->i_ctime = CURRENT_TIME;
inode253fs/ext/file.cinode->i_dirt = 1;
inode181fs/ext/freelists.cvoid ext_free_inode(struct inode * inode)
inode187fs/ext/freelists.cif (!inode)
inode189fs/ext/freelists.cif (!inode->i_dev) {
inode193fs/ext/freelists.cif (inode->i_count != 1) {
inode194fs/ext/freelists.cprintk("free_inode: inode has count=%d\n",inode->i_count);
inode197fs/ext/freelists.cif (inode->i_nlink) {
inode198fs/ext/freelists.cprintk("free_inode: inode has nlink=%d\n",inode->i_nlink);
inode201fs/ext/freelists.cif (!inode->i_sb) {
inode205fs/ext/freelists.clock_super (inode->i_sb);
inode206fs/ext/freelists.cif (inode->i_ino < 1 || inode->i_ino > inode->i_sb->u.ext_sb.s_ninodes) {
inode208fs/ext/freelists.cunlock_super (inode->i_sb);
inode211fs/ext/freelists.cif (inode->i_sb->u.ext_sb.s_firstfreeinodeblock)
inode212fs/ext/freelists.cefi = ((struct ext_free_inode *) inode->i_sb->u.ext_sb.s_firstfreeinodeblock->b_data) +
inode213fs/ext/freelists.c(inode->i_sb->u.ext_sb.s_firstfreeinodenumber-1)%EXT_INODES_PER_BLOCK;
inode214fs/ext/freelists.cif (!inode->i_sb->u.ext_sb.s_firstfreeinodeblock || efi->count == 14) {
inode216fs/ext/freelists.cprintk("ext_free_inode: inode full, skipping to %d\n", inode->i_ino);
inode218fs/ext/freelists.cif (inode->i_sb->u.ext_sb.s_firstfreeinodeblock)
inode219fs/ext/freelists.cbrelse (inode->i_sb->u.ext_sb.s_firstfreeinodeblock);
inode220fs/ext/freelists.cblock = 2 + (inode->i_ino - 1) / EXT_INODES_PER_BLOCK;
inode221fs/ext/freelists.cif (!(bh = bread(inode->i_dev, block, inode->i_sb->s_blocksize)))
inode224fs/ext/freelists.c(inode->i_ino - 1) % EXT_INODES_PER_BLOCK;
inode225fs/ext/freelists.cefi->next = inode->i_sb->u.ext_sb.s_firstfreeinodenumber;
inode227fs/ext/freelists.cinode->i_sb->u.ext_sb.s_firstfreeinodenumber = inode->i_ino;
inode228fs/ext/freelists.cinode->i_sb->u.ext_sb.s_firstfreeinodeblock = bh;
inode230fs/ext/freelists.cefi->free[efi->count++] = inode->i_ino;
inode232fs/ext/freelists.cinode->i_sb->u.ext_sb.s_freeinodescount ++;
inode233fs/ext/freelists.cinode->i_sb->s_dirt = 1;
inode234fs/ext/freelists.cinode->i_sb->u.ext_sb.s_firstfreeinodeblock->b_dirt = 1;
inode235fs/ext/freelists.cunlock_super (inode->i_sb);
inode236fs/ext/freelists.cclear_inode(inode);
inode239fs/ext/freelists.cstruct inode * ext_new_inode(const struct inode * dir)
inode242fs/ext/freelists.cstruct inode * inode;
inode247fs/ext/freelists.cif (!dir || !(inode=get_empty_inode()))
inode250fs/ext/freelists.cinode->i_sb = sb;
inode251fs/ext/freelists.cinode->i_flags = sb->s_flags;
inode282fs/ext/freelists.cinode->i_count = 1;
inode283fs/ext/freelists.cinode->i_nlink = 1;
inode284fs/ext/freelists.cinode->i_dev = sb->s_dev;
inode285fs/ext/freelists.cinode->i_uid = current->euid;
inode286fs/ext/freelists.cinode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid;
inode287fs/ext/freelists.cinode->i_dirt = 1;
inode288fs/ext/freelists.cinode->i_ino = j;
inode289fs/ext/freelists.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode290fs/ext/freelists.cinode->i_op = NULL;
inode291fs/ext/freelists.cinode->i_blocks = inode->i_blksize = 0;
inode293fs/ext/freelists.cprintk("ext_new_inode : allocating inode %d\n", inode->i_ino);
inode296fs/ext/freelists.creturn inode;
inode24fs/ext/inode.cvoid ext_put_inode(struct inode *inode)
inode26fs/ext/inode.cif (inode->i_nlink)
inode28fs/ext/inode.cinode->i_size = 0;
inode29fs/ext/inode.cext_truncate(inode);
inode30fs/ext/inode.cext_free_inode(inode);
inode161fs/ext/inode.c#define inode_bmap(inode,nr) ((inode)->u.ext_i.i_data[(nr)])
inode174fs/ext/inode.cint ext_bmap(struct inode * inode,int block)
inode187fs/ext/inode.creturn inode_bmap(inode,block);
inode190fs/ext/inode.ci = inode_bmap(inode,9);
inode193fs/ext/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block);
inode197fs/ext/inode.ci = inode_bmap(inode,10);
inode200fs/ext/inode.ci = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>8);
inode203fs/ext/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 255);
inode206fs/ext/inode.ci = inode_bmap(inode,11);
inode209fs/ext/inode.ci = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>16);
inode212fs/ext/inode.ci = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),(block>>8) & 255);
inode215fs/ext/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 255);
inode218fs/ext/inode.cstatic struct buffer_head * inode_getblk(struct inode * inode, int nr, int create)
inode224fs/ext/inode.cp = inode->u.ext_i.i_data + nr;
inode228fs/ext/inode.cresult = getblk(inode->i_dev, tmp, BLOCK_SIZE);
inode236fs/ext/inode.ctmp = ext_new_block(inode->i_sb);
inode239fs/ext/inode.cresult = getblk(inode->i_dev, tmp, BLOCK_SIZE);
inode241fs/ext/inode.cext_free_block(inode->i_sb,tmp);
inode246fs/ext/inode.cinode->i_ctime = CURRENT_TIME;
inode247fs/ext/inode.cinode->i_dirt = 1;
inode251fs/ext/inode.cstatic struct buffer_head * block_getblk(struct inode * inode,
inode284fs/ext/inode.ctmp = ext_new_block(inode->i_sb);
inode291fs/ext/inode.cext_free_block(inode->i_sb,tmp);
inode301fs/ext/inode.cstruct buffer_head * ext_getblk(struct inode * inode, int block, int create)
inode314fs/ext/inode.creturn inode_getblk(inode,block,create);
inode317fs/ext/inode.cbh = inode_getblk(inode,9,create);
inode318fs/ext/inode.creturn block_getblk(inode,bh,block,create);
inode322fs/ext/inode.cbh = inode_getblk(inode,10,create);
inode323fs/ext/inode.cbh = block_getblk(inode,bh,block>>8,create);
inode324fs/ext/inode.creturn block_getblk(inode,bh,block & 255,create);
inode327fs/ext/inode.cbh = inode_getblk(inode,11,create);
inode328fs/ext/inode.cbh = block_getblk(inode,bh,block>>16,create);
inode329fs/ext/inode.cbh = block_getblk(inode,bh,(block>>8) & 255,create);
inode330fs/ext/inode.creturn block_getblk(inode,bh,block & 255,create);
inode333fs/ext/inode.cstruct buffer_head * ext_bread(struct inode * inode, int block, int create)
inode337fs/ext/inode.cbh = ext_getblk(inode,block,create);
inode348fs/ext/inode.cvoid ext_read_inode(struct inode * inode)
inode354fs/ext/inode.cblock = 2 + (inode->i_ino-1)/EXT_INODES_PER_BLOCK;
inode355fs/ext/inode.cif (!(bh=bread(inode->i_dev, block, BLOCK_SIZE)))
inode358fs/ext/inode.c(inode->i_ino-1)%EXT_INODES_PER_BLOCK;
inode359fs/ext/inode.cinode->i_mode = raw_inode->i_mode;
inode360fs/ext/inode.cinode->i_uid = raw_inode->i_uid;
inode361fs/ext/inode.cinode->i_gid = raw_inode->i_gid;
inode362fs/ext/inode.cinode->i_nlink = raw_inode->i_nlinks;
inode363fs/ext/inode.cinode->i_size = raw_inode->i_size;
inode364fs/ext/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = raw_inode->i_time;
inode365fs/ext/inode.cinode->i_blocks = inode->i_blksize = 0;
inode366fs/ext/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode367fs/ext/inode.cinode->i_rdev = raw_inode->i_zone[0];
inode369fs/ext/inode.cinode->u.ext_i.i_data[block] = raw_inode->i_zone[block];
inode371fs/ext/inode.cinode->i_op = NULL;
inode372fs/ext/inode.cif (S_ISREG(inode->i_mode))
inode373fs/ext/inode.cinode->i_op = &ext_file_inode_operations;
inode374fs/ext/inode.celse if (S_ISDIR(inode->i_mode))
inode375fs/ext/inode.cinode->i_op = &ext_dir_inode_operations;
inode376fs/ext/inode.celse if (S_ISLNK(inode->i_mode))
inode377fs/ext/inode.cinode->i_op = &ext_symlink_inode_operations;
inode378fs/ext/inode.celse if (S_ISCHR(inode->i_mode))
inode379fs/ext/inode.cinode->i_op = &chrdev_inode_operations;
inode380fs/ext/inode.celse if (S_ISBLK(inode->i_mode))
inode381fs/ext/inode.cinode->i_op = &blkdev_inode_operations;
inode382fs/ext/inode.celse if (S_ISFIFO(inode->i_mode))
inode383fs/ext/inode.cinit_fifo(inode);
inode386fs/ext/inode.cvoid ext_write_inode(struct inode * inode)
inode392fs/ext/inode.cblock = 2 + (inode->i_ino-1)/EXT_INODES_PER_BLOCK;
inode393fs/ext/inode.cif (!(bh=bread(inode->i_dev, block, BLOCK_SIZE)))
inode396fs/ext/inode.c(inode->i_ino-1)%EXT_INODES_PER_BLOCK;
inode397fs/ext/inode.craw_inode->i_mode = inode->i_mode;
inode398fs/ext/inode.craw_inode->i_uid = inode->i_uid;
inode399fs/ext/inode.craw_inode->i_gid = inode->i_gid;
inode400fs/ext/inode.craw_inode->i_nlinks = inode->i_nlink;
inode401fs/ext/inode.craw_inode->i_size = inode->i_size;
inode402fs/ext/inode.craw_inode->i_time = inode->i_mtime;
inode403fs/ext/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode404fs/ext/inode.craw_inode->i_zone[0] = inode->i_rdev;
inode406fs/ext/inode.craw_inode->i_zone[block] = inode->u.ext_i.i_data[block];
inode408fs/ext/inode.cinode->i_dirt=0;
inode60fs/ext/namei.cif (!de || !de->inode || len > EXT_NAME_LEN)
inode87fs/ext/namei.cstatic struct buffer_head * ext_find_entry(struct inode * dir,
inode157fs/ext/namei.cint ext_lookup(struct inode * dir,const char * name, int len,
inode158fs/ext/namei.cstruct inode ** result)
inode175fs/ext/namei.cino = de->inode;
inode195fs/ext/namei.cstatic struct buffer_head * ext_add_entry(struct inode * dir,
inode242fs/ext/namei.cde->inode = 0;
inode263fs/ext/namei.cde->inode=0;
inode278fs/ext/namei.cif (!de->inode && de->rec_len >= rec_len) {
inode286fs/ext/namei.cde1->inode = 0;
inode306fs/ext/namei.cint ext_create(struct inode * dir,const char * name, int len, int mode,
inode307fs/ext/namei.cstruct inode ** result)
inode309fs/ext/namei.cstruct inode * inode;
inode316fs/ext/namei.cinode = ext_new_inode(dir);
inode317fs/ext/namei.cif (!inode) {
inode321fs/ext/namei.cinode->i_op = &ext_file_inode_operations;
inode322fs/ext/namei.cinode->i_mode = mode;
inode323fs/ext/namei.cinode->i_dirt = 1;
inode326fs/ext/namei.cinode->i_nlink--;
inode327fs/ext/namei.cinode->i_dirt = 1;
inode328fs/ext/namei.ciput(inode);
inode332fs/ext/namei.cde->inode = inode->i_ino;
inode336fs/ext/namei.c*result = inode;
inode340fs/ext/namei.cint ext_mknod(struct inode * dir, const char * name, int len, int mode, int rdev)
inode342fs/ext/namei.cstruct inode * inode;
inode354fs/ext/namei.cinode = ext_new_inode(dir);
inode355fs/ext/namei.cif (!inode) {
inode359fs/ext/namei.cinode->i_uid = current->euid;
inode360fs/ext/namei.cinode->i_mode = mode;
inode361fs/ext/namei.cinode->i_op = NULL;
inode362fs/ext/namei.cif (S_ISREG(inode->i_mode))
inode363fs/ext/namei.cinode->i_op = &ext_file_inode_operations;
inode364fs/ext/namei.celse if (S_ISDIR(inode->i_mode)) {
inode365fs/ext/namei.cinode->i_op = &ext_dir_inode_operations;
inode367fs/ext/namei.cinode->i_mode |= S_ISGID;
inode369fs/ext/namei.celse if (S_ISLNK(inode->i_mode))
inode370fs/ext/namei.cinode->i_op = &ext_symlink_inode_operations;
inode371fs/ext/namei.celse if (S_ISCHR(inode->i_mode))
inode372fs/ext/namei.cinode->i_op = &chrdev_inode_operations;
inode373fs/ext/namei.celse if (S_ISBLK(inode->i_mode))
inode374fs/ext/namei.cinode->i_op = &blkdev_inode_operations;
inode375fs/ext/namei.celse if (S_ISFIFO(inode->i_mode))
inode376fs/ext/namei.cinit_fifo(inode);
inode378fs/ext/namei.cinode->i_rdev = rdev;
inode379fs/ext/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode380fs/ext/namei.cinode->i_dirt = 1;
inode383fs/ext/namei.cinode->i_nlink--;
inode384fs/ext/namei.cinode->i_dirt = 1;
inode385fs/ext/namei.ciput(inode);
inode389fs/ext/namei.cde->inode = inode->i_ino;
inode393fs/ext/namei.ciput(inode);
inode397fs/ext/namei.cint ext_mkdir(struct inode * dir, const char * name, int len, int mode)
inode399fs/ext/namei.cstruct inode * inode;
inode409fs/ext/namei.cinode = ext_new_inode(dir);
inode410fs/ext/namei.cif (!inode) {
inode414fs/ext/namei.cinode->i_op = &ext_dir_inode_operations;
inode415fs/ext/namei.cinode->i_size = 2 * 16; /* Each entry is coded on 16 bytes for "." and ".."
inode420fs/ext/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode421fs/ext/namei.cdir_block = ext_bread(inode,0,1);
inode424fs/ext/namei.cinode->i_nlink--;
inode425fs/ext/namei.cinode->i_dirt = 1;
inode426fs/ext/namei.ciput(inode);
inode430fs/ext/namei.cde->inode=inode->i_ino;
inode435fs/ext/namei.cde->inode = dir->i_ino;
inode439fs/ext/namei.cinode->i_nlink = 2;
inode442fs/ext/namei.cinode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask);
inode444fs/ext/namei.cinode->i_mode |= S_ISGID;
inode445fs/ext/namei.cinode->i_dirt = 1;
inode449fs/ext/namei.cinode->i_nlink=0;
inode450fs/ext/namei.ciput(inode);
inode453fs/ext/namei.cde->inode = inode->i_ino;
inode458fs/ext/namei.ciput(inode);
inode466fs/ext/namei.cstatic int empty_dir(struct inode * inode)
inode472fs/ext/namei.cif (inode->i_size < 2 * 12 || !(bh = ext_bread(inode,0,0))) {
inode473fs/ext/namei.cprintk("warning - bad directory on dev %04x\n",inode->i_dev);
inode478fs/ext/namei.cif (de->inode != inode->i_ino || !de1->inode || 
inode480fs/ext/namei.cprintk("warning - bad directory on dev %04x\n",inode->i_dev);
inode485fs/ext/namei.cwhile (offset < inode->i_size ) {
inode488fs/ext/namei.cbh = ext_bread(inode, offset >> BLOCK_SIZE_BITS,1);
inode499fs/ext/namei.cinode->i_dev, inode->i_ino, offset, de->rec_len, de->name_len);
inode503fs/ext/namei.cif (de->inode) {
inode517fs/ext/namei.cif (nde && !nde->inode)
inode519fs/ext/namei.cif (pde && !pde->inode)
inode523fs/ext/namei.cint ext_rmdir(struct inode * dir, const char * name, int len)
inode526fs/ext/namei.cstruct inode * inode;
inode530fs/ext/namei.cinode = NULL;
inode536fs/ext/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode539fs/ext/namei.cinode->i_uid != current->euid)
inode541fs/ext/namei.cif (inode->i_dev != dir->i_dev)
inode543fs/ext/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode545fs/ext/namei.cif (!S_ISDIR(inode->i_mode)) {
inode549fs/ext/namei.cif (!empty_dir(inode)) {
inode553fs/ext/namei.cif (inode->i_count > 1) {
inode557fs/ext/namei.cif (inode->i_nlink != 2)
inode558fs/ext/namei.cprintk("empty directory has nlink!=2 (%d)\n",inode->i_nlink);
inode559fs/ext/namei.cde->inode = 0;
inode563fs/ext/namei.cinode->i_nlink=0;
inode564fs/ext/namei.cinode->i_dirt=1;
inode571fs/ext/namei.ciput(inode);
inode576fs/ext/namei.cint ext_unlink(struct inode * dir, const char * name, int len)
inode579fs/ext/namei.cstruct inode * inode;
inode584fs/ext/namei.cinode = NULL;
inode588fs/ext/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode592fs/ext/namei.ccurrent->euid != inode->i_uid &&
inode595fs/ext/namei.cif (S_ISDIR(inode->i_mode))
inode597fs/ext/namei.cif (!inode->i_nlink) {
inode599fs/ext/namei.cinode->i_dev,inode->i_ino,inode->i_nlink);
inode600fs/ext/namei.cinode->i_nlink=1;
inode602fs/ext/namei.cde->inode = 0;
inode606fs/ext/namei.cinode->i_nlink--;
inode607fs/ext/namei.cinode->i_dirt = 1;
inode608fs/ext/namei.cinode->i_ctime = CURRENT_TIME;
inode614fs/ext/namei.ciput(inode);
inode619fs/ext/namei.cint ext_symlink(struct inode * dir, const char * name, int len, const char * symname)
inode622fs/ext/namei.cstruct inode * inode = NULL;
inode627fs/ext/namei.cif (!(inode = ext_new_inode(dir))) {
inode631fs/ext/namei.cinode->i_mode = S_IFLNK | 0777;
inode632fs/ext/namei.cinode->i_op = &ext_symlink_inode_operations;
inode633fs/ext/namei.cname_block = ext_bread(inode,0,1);
inode636fs/ext/namei.cinode->i_nlink--;
inode637fs/ext/namei.cinode->i_dirt = 1;
inode638fs/ext/namei.ciput(inode);
inode647fs/ext/namei.cinode->i_size = i;
inode648fs/ext/namei.cinode->i_dirt = 1;
inode651fs/ext/namei.cinode->i_nlink--;
inode652fs/ext/namei.cinode->i_dirt = 1;
inode653fs/ext/namei.ciput(inode);
inode660fs/ext/namei.cinode->i_nlink--;
inode661fs/ext/namei.cinode->i_dirt = 1;
inode662fs/ext/namei.ciput(inode);
inode666fs/ext/namei.cde->inode = inode->i_ino;
inode670fs/ext/namei.ciput(inode);
inode674fs/ext/namei.cint ext_link(struct inode * oldinode, struct inode * dir, const char * name, int len)
inode702fs/ext/namei.cde->inode = oldinode->i_ino;
inode713fs/ext/namei.cstatic int subdir(struct inode * new, struct inode * old)
inode739fs/ext/namei.c((struct ext_dir_entry *) buffer)->rec_len))->inode
inode755fs/ext/namei.cstatic int do_ext_rename(struct inode * old_dir, const char * old_name, int old_len,
inode756fs/ext/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode758fs/ext/namei.cstruct inode * old_inode, * new_inode;
inode779fs/ext/namei.cold_inode = iget(old_dir->i_sb, old_de->inode);
inode789fs/ext/namei.cnew_inode = iget(new_dir->i_sb, new_de->inode);
inode831fs/ext/namei.cif (new_inode && (new_de->inode != new_inode->i_ino))
inode833fs/ext/namei.cif (new_de->inode && !new_inode)
inode835fs/ext/namei.cif (old_de->inode != old_inode->i_ino)
inode838fs/ext/namei.cold_de->inode = 0;
inode840fs/ext/namei.cnew_de->inode = old_inode->i_ino;
inode877fs/ext/namei.cint ext_rename(struct inode * old_dir, const char * old_name, int old_len,
inode878fs/ext/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode23fs/ext/symlink.cstatic int ext_readlink(struct inode *, char *, int);
inode24fs/ext/symlink.cstatic int ext_follow_link(struct inode *, struct inode *, int, int, struct inode **);
inode47fs/ext/symlink.cstatic int ext_follow_link(struct inode * dir, struct inode * inode,
inode48fs/ext/symlink.cint flag, int mode, struct inode ** res_inode)
inode58fs/ext/symlink.cif (!inode) {
inode62fs/ext/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode64fs/ext/symlink.c*res_inode = inode;
inode69fs/ext/symlink.ciput(inode);
inode72fs/ext/symlink.cif (!(bh = ext_bread(inode, 0, 0))) {
inode73fs/ext/symlink.ciput(inode);
inode77fs/ext/symlink.ciput(inode);
inode85fs/ext/symlink.cstatic int ext_readlink(struct inode * inode, char * buffer, int buflen)
inode91fs/ext/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode92fs/ext/symlink.ciput(inode);
inode97fs/ext/symlink.cbh = ext_bread(inode, 0, 0);
inode98fs/ext/symlink.ciput(inode);
inode33fs/ext/truncate.cstatic int trunc_direct(struct inode * inode)
inode39fs/ext/truncate.c#define DIRECT_BLOCK ((inode->i_size + 1023) >> 10)
inode43fs/ext/truncate.cp = inode->u.ext_i.i_data+i;
inode46fs/ext/truncate.cbh = getblk(inode->i_dev,tmp,BLOCK_SIZE);
inode57fs/ext/truncate.cinode->i_dirt = 1;
inode59fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode64fs/ext/truncate.cstatic int trunc_indirect(struct inode * inode, int offset, unsigned long * p)
inode76fs/ext/truncate.cind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode95fs/ext/truncate.cbh = getblk(inode->i_dev,tmp,BLOCK_SIZE);
inode108fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode120fs/ext/truncate.cinode->i_dirt = 1;
inode121fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode127fs/ext/truncate.cstatic int trunc_dindirect(struct inode * inode, int offset, unsigned long * p)
inode138fs/ext/truncate.cdind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode157fs/ext/truncate.cretry |= trunc_indirect(inode,offset+(i<<8),dind);
inode170fs/ext/truncate.cinode->i_dirt = 1;
inode171fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode177fs/ext/truncate.cstatic int trunc_tindirect(struct inode * inode)
inode185fs/ext/truncate.cp = inode->u.ext_i.i_data+11;
inode188fs/ext/truncate.ctind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode204fs/ext/truncate.cretry |= trunc_dindirect(inode,9+256+256*256+(i<<16),tind);
inode217fs/ext/truncate.cinode->i_dirt = 1;
inode218fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode224fs/ext/truncate.cvoid ext_truncate(struct inode * inode)
inode228fs/ext/truncate.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode229fs/ext/truncate.cS_ISLNK(inode->i_mode)))
inode232fs/ext/truncate.cretry = trunc_direct(inode);
inode233fs/ext/truncate.cretry |= trunc_indirect(inode,9,inode->u.ext_i.i_data+9);
inode234fs/ext/truncate.cretry |= trunc_dindirect(inode,9+256,inode->u.ext_i.i_data+10);
inode235fs/ext/truncate.cretry |= trunc_tindirect(inode);
inode241fs/ext/truncate.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode242fs/ext/truncate.cinode->i_dirt = 1;
inode250fs/ext/truncate.cvoid ext_release(struct inode * inode, struct file * filp)
inode24fs/ext2/dir.cstatic int ext2_dir_read (struct inode * inode, struct file * filp,
inode31fs/ext2/dir.c/* static */ int ext2_file_read (struct inode *, struct file *, char *, int);
inode32fs/ext2/dir.cstatic int ext2_readdir (struct inode *, struct file *, struct dirent *, int);
inode68fs/ext2/dir.cint ext2_check_dir_entry (char * function, struct inode * dir,
inode88fs/ext2/dir.coffset, de->inode, de->rec_len,  de->name_len);
inode93fs/ext2/dir.cstatic int ext2_readdir (struct inode * inode, struct file * filp,
inode101fs/ext2/dir.cif (!inode || !S_ISDIR(inode->i_mode))
inode103fs/ext2/dir.csb = inode->i_sb;
inode104fs/ext2/dir.cwhile (filp->f_pos < inode->i_size) {
inode106fs/ext2/dir.cbh = ext2_bread (inode, (filp->f_pos) >> EXT2_BLOCK_SIZE_BITS(sb), 0);
inode112fs/ext2/dir.cwhile (offset < sb->s_blocksize && filp->f_pos < inode->i_size) {
inode113fs/ext2/dir.cif (! ext2_check_dir_entry ("ext2_readdir", inode, de,
inode120fs/ext2/dir.cif (de->inode) {
inode123fs/ext2/dir.cput_fs_long (de->inode, &dirent->d_ino);
inode127fs/ext2/dir.cext2_dcache_add (inode->i_dev, inode->i_ino,
inode129fs/ext2/dir.cde->inode);
inode34fs/ext2/file.c/* static */ int ext2_file_read (struct inode *, struct file *, char *, int);
inode35fs/ext2/file.cstatic int ext2_file_write (struct inode *, struct file *, char *, int);
inode72fs/ext2/file.c/* static */ int ext2_file_read (struct inode * inode, struct file * filp,
inode84fs/ext2/file.cif (!inode) {
inode88fs/ext2/file.csb = inode->i_sb;
inode89fs/ext2/file.cif (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode)) {
inode90fs/ext2/file.cprintk ("ext2_file_read: mode = %07o\n", inode->i_mode);
inode94fs/ext2/file.csize = inode->i_size;
inode110fs/ext2/file.cblocks += read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9);
inode130fs/ext2/file.c*bhb = ext2_getblk (inode, block++, 0);
inode191fs/ext2/file.cif (!IS_RDONLY(inode)) {
inode192fs/ext2/file.cinode->i_atime = CURRENT_TIME;
inode193fs/ext2/file.cinode->i_dirt = 1;
inode198fs/ext2/file.cstatic int ext2_file_write (struct inode * inode, struct file * filp,
inode207fs/ext2/file.cif (!inode) {
inode211fs/ext2/file.csb = inode->i_sb;
inode212fs/ext2/file.cif (!S_ISREG(inode->i_mode)) {
inode213fs/ext2/file.cprintk ("ext2_file_write: mode = %07o\n", inode->i_mode);
inode221fs/ext2/file.cpos = inode->i_size;
inode226fs/ext2/file.cbh = ext2_getblk (inode, pos / sb->s_blocksize, 1);
inode250fs/ext2/file.cif (pos > inode->i_size) {
inode251fs/ext2/file.cinode->i_size = pos;
inode252fs/ext2/file.cinode->i_dirt = 1;
inode261fs/ext2/file.cinode->i_mtime = CURRENT_TIME;
inode262fs/ext2/file.cinode->i_ctime = CURRENT_TIME;
inode264fs/ext2/file.cinode->i_dirt = 1;
inode161fs/ext2/ialloc.cstatic void set_inode_dtime (struct inode * inode,
inode168fs/ext2/ialloc.cinode_block = gdp[desc].bg_inode_table + (((inode->i_ino - 1) %
inode169fs/ext2/ialloc.cEXT2_INODES_PER_GROUP(inode->i_sb)) /
inode170fs/ext2/ialloc.cEXT2_INODES_PER_BLOCK(inode->i_sb));
inode171fs/ext2/ialloc.cbh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize);
inode173fs/ext2/ialloc.cprintk ("inode=%d, inode_block=%d\n", inode->i_ino, inode_block);
inode177fs/ext2/ialloc.c(((inode->i_ino - 1) %
inode178fs/ext2/ialloc.cEXT2_INODES_PER_GROUP(inode->i_sb)) %
inode179fs/ext2/ialloc.cEXT2_INODES_PER_BLOCK(inode->i_sb));
inode185fs/ext2/ialloc.cvoid ext2_free_inode (struct inode * inode)
inode198fs/ext2/ialloc.cif (!inode)
inode200fs/ext2/ialloc.cif (!inode->i_dev) {
inode204fs/ext2/ialloc.cif (inode->i_count > 1) {
inode206fs/ext2/ialloc.cinode->i_count);
inode209fs/ext2/ialloc.cif (inode->i_nlink) {
inode211fs/ext2/ialloc.cinode->i_nlink);
inode214fs/ext2/ialloc.cif (!inode->i_sb) {
inode219fs/ext2/ialloc.cprintk ("ext2_free_inode: freeing inode %d\n", inode->i_ino);
inode221fs/ext2/ialloc.csb = inode->i_sb;
inode223fs/ext2/ialloc.cif (inode->i_ino < 1 || inode->i_ino > sb->u.ext2_sb.s_inodes_count) {
inode229fs/ext2/ialloc.cblock_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(sb);
inode230fs/ext2/ialloc.cbit = (inode->i_ino - 1) % EXT2_INODES_PER_GROUP(sb);
inode239fs/ext2/ialloc.csb->s_dev, inode->i_ino);
inode250fs/ext2/ialloc.cif (S_ISDIR(inode->i_mode))
inode253fs/ext2/ialloc.cset_inode_dtime (inode, gdp, desc);
inode260fs/ext2/ialloc.cclear_inode (inode);
inode268fs/ext2/ialloc.cstatic void inc_inode_version (struct inode * inode,
inode276fs/ext2/ialloc.cinode_block = gdp->bg_inode_table + (((inode->i_ino - 1) %
inode277fs/ext2/ialloc.cEXT2_INODES_PER_GROUP(inode->i_sb)) /
inode278fs/ext2/ialloc.cEXT2_INODES_PER_BLOCK(inode->i_sb));
inode279fs/ext2/ialloc.cbh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize);
inode282fs/ext2/ialloc.cinode->i_ino, inode_block);
inode284fs/ext2/ialloc.cinode->u.ext2_i.i_version = 1;
inode288fs/ext2/ialloc.c(((inode->i_ino - 1) %
inode289fs/ext2/ialloc.cEXT2_INODES_PER_GROUP(inode->i_sb)) %
inode290fs/ext2/ialloc.cEXT2_INODES_PER_BLOCK(inode->i_sb));
inode293fs/ext2/ialloc.cinode->u.ext2_i.i_version = raw_inode->i_version;
inode322fs/ext2/ialloc.cstruct inode * ext2_new_inode (const struct inode * dir, int mode)
inode327fs/ext2/ialloc.cstruct inode * inode;
inode332fs/ext2/ialloc.cif (!dir || !(inode = get_empty_inode ()))
inode335fs/ext2/ialloc.cinode->i_sb = sb;
inode336fs/ext2/ialloc.cinode->i_flags = sb->s_flags;
inode439fs/ext2/ialloc.cinode->i_sb = sb;
inode440fs/ext2/ialloc.cinode->i_count = 1;
inode441fs/ext2/ialloc.cinode->i_nlink = 1;
inode442fs/ext2/ialloc.cinode->i_dev = sb->s_dev;
inode443fs/ext2/ialloc.cinode->i_uid = current->euid;
inode444fs/ext2/ialloc.cinode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid;
inode445fs/ext2/ialloc.cinode->i_dirt = 1;
inode446fs/ext2/ialloc.cinode->i_ino = j;
inode447fs/ext2/ialloc.cinode->i_blksize = sb->s_blocksize;
inode448fs/ext2/ialloc.cinode->i_blocks = 0;
inode449fs/ext2/ialloc.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode450fs/ext2/ialloc.cinode->u.ext2_i.i_flags = 0;
inode451fs/ext2/ialloc.cinode->u.ext2_i.i_faddr = 0;
inode452fs/ext2/ialloc.cinode->u.ext2_i.i_frag = 0;
inode453fs/ext2/ialloc.cinode->u.ext2_i.i_fsize = 0;
inode454fs/ext2/ialloc.cinode->u.ext2_i.i_file_acl = 0;
inode455fs/ext2/ialloc.cinode->u.ext2_i.i_dir_acl = 0;
inode456fs/ext2/ialloc.cinode->u.ext2_i.i_dtime = 0;
inode458fs/ext2/ialloc.cinode->u.ext2_i.i_block_group = i;
inode459fs/ext2/ialloc.cinode->i_op = NULL;
inode460fs/ext2/ialloc.cinc_inode_version (inode, gdp, mode);
inode462fs/ext2/ialloc.cprintk ("ext2_new_inode : allocating inode %d\n", inode->i_ino);
inode465fs/ext2/ialloc.creturn inode;
inode26fs/ext2/inode.cvoid ext2_put_inode (struct inode * inode)
inode28fs/ext2/inode.cif (inode->i_nlink)
inode30fs/ext2/inode.cinode->i_size = 0;
inode31fs/ext2/inode.cif (inode->i_blocks)
inode32fs/ext2/inode.cext2_truncate (inode);
inode33fs/ext2/inode.cext2_free_inode (inode);
inode346fs/ext2/inode.c#define inode_bmap(inode, nr) ((inode)->u.ext2_i.i_data[(nr)])
inode359fs/ext2/inode.cint ext2_bmap (struct inode * inode, int block)
inode362fs/ext2/inode.cint addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode375fs/ext2/inode.creturn inode_bmap (inode, block);
inode378fs/ext2/inode.ci = inode_bmap (inode, EXT2_IND_BLOCK);
inode381fs/ext2/inode.creturn block_bmap (bread (inode->i_dev, i,
inode382fs/ext2/inode.cinode->i_sb->s_blocksize), block);
inode386fs/ext2/inode.ci = inode_bmap (inode, EXT2_DIND_BLOCK);
inode389fs/ext2/inode.ci = block_bmap (bread (inode->i_dev, i,
inode390fs/ext2/inode.cinode->i_sb->s_blocksize),
inode394fs/ext2/inode.creturn block_bmap (bread (inode->i_dev, i,
inode395fs/ext2/inode.cinode->i_sb->s_blocksize),
inode399fs/ext2/inode.ci = inode_bmap (inode, EXT2_TIND_BLOCK);
inode402fs/ext2/inode.ci = block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize),
inode406fs/ext2/inode.ci = block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize),
inode410fs/ext2/inode.creturn block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize),
inode414fs/ext2/inode.cstatic struct buffer_head * inode_getblk (struct inode * inode, int nr,
inode420fs/ext2/inode.cint blocks = inode->i_sb->s_blocksize / 512;
inode422fs/ext2/inode.cp = inode->u.ext2_i.i_data + nr;
inode426fs/ext2/inode.cresult = getblk (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode434fs/ext2/inode.cEXT2_BLOCK_SIZE_BITS(inode->i_sb)))
inode436fs/ext2/inode.cif (inode->u.ext2_i.i_next_alloc_block == new_block)
inode437fs/ext2/inode.cgoal = inode->u.ext2_i.i_next_alloc_goal;
inode443fs/ext2/inode.cif (inode->u.ext2_i.i_data[tmp]) {
inode444fs/ext2/inode.cgoal = inode->u.ext2_i.i_data[tmp];
inode449fs/ext2/inode.cgoal = (inode->u.ext2_i.i_block_group * 
inode450fs/ext2/inode.cEXT2_BLOCKS_PER_GROUP(inode->i_sb))
inode451fs/ext2/inode.c+ inode->i_sb->u.ext2_sb.s_first_data_block;
inode457fs/ext2/inode.ctmp = ext2_new_block (inode->i_sb, goal);
inode460fs/ext2/inode.cresult = getblk (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode462fs/ext2/inode.cext2_free_block (inode->i_sb, tmp);
inode467fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block = new_block;
inode468fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal = tmp;
inode469fs/ext2/inode.cinode->i_ctime = CURRENT_TIME;
inode470fs/ext2/inode.cinode->i_blocks += blocks;
inode471fs/ext2/inode.cinode->i_dirt = 1;
inode475fs/ext2/inode.cstatic struct buffer_head * block_getblk (struct inode * inode,
inode482fs/ext2/inode.cint blocks = inode->i_sb->s_blocksize / 512;
inode508fs/ext2/inode.cEXT2_BLOCK_SIZE_BITS(inode->i_sb))) {
inode512fs/ext2/inode.cif (inode->u.ext2_i.i_next_alloc_block == new_block)
inode513fs/ext2/inode.cgoal = inode->u.ext2_i.i_next_alloc_goal;
inode524fs/ext2/inode.ctmp = ext2_new_block (inode->i_sb, goal);
inode534fs/ext2/inode.cext2_free_block (inode->i_sb, tmp);
inode540fs/ext2/inode.cinode->i_ctime = CURRENT_TIME;
inode541fs/ext2/inode.cinode->i_blocks += blocks;
inode542fs/ext2/inode.cinode->i_dirt = 1;
inode543fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block = new_block;
inode544fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal = tmp;
inode549fs/ext2/inode.cstruct buffer_head * ext2_getblk (struct inode * inode, int block,
inode554fs/ext2/inode.cunsigned long addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode571fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block,
inode572fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal);
inode574fs/ext2/inode.cif (block == inode->u.ext2_i.i_next_alloc_block + 1) {
inode575fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block++;
inode576fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal++;
inode581fs/ext2/inode.creturn inode_getblk (inode, block, create, b);
inode584fs/ext2/inode.cbh = inode_getblk (inode, EXT2_IND_BLOCK, create, b);
inode585fs/ext2/inode.creturn block_getblk (inode, bh, block, create,
inode586fs/ext2/inode.cinode->i_sb->s_blocksize, b);
inode590fs/ext2/inode.cbh = inode_getblk (inode, EXT2_DIND_BLOCK, create,b );
inode591fs/ext2/inode.cbh = block_getblk (inode, bh, block / addr_per_block, create,
inode592fs/ext2/inode.cinode->i_sb->s_blocksize, b);
inode593fs/ext2/inode.creturn block_getblk (inode, bh, block & (addr_per_block - 1),
inode594fs/ext2/inode.ccreate, inode->i_sb->s_blocksize, b);
inode597fs/ext2/inode.cbh = inode_getblk (inode, EXT2_TIND_BLOCK, create, b);
inode598fs/ext2/inode.cbh = block_getblk (inode, bh, block / (addr_per_block * addr_per_block),
inode599fs/ext2/inode.ccreate, inode->i_sb->s_blocksize, b);
inode600fs/ext2/inode.cbh = block_getblk (inode, bh, (block / addr_per_block) & (addr_per_block - 1),
inode601fs/ext2/inode.ccreate, inode->i_sb->s_blocksize, b);
inode602fs/ext2/inode.creturn block_getblk (inode, bh, block & (addr_per_block - 1), create,
inode603fs/ext2/inode.cinode->i_sb->s_blocksize, b);
inode606fs/ext2/inode.cstruct buffer_head * ext2_bread (struct inode * inode, int block, int create)
inode610fs/ext2/inode.cbh = ext2_getblk (inode, block, create);
inode621fs/ext2/inode.cvoid ext2_read_inode (struct inode * inode)
inode631fs/ext2/inode.cif ((inode->i_ino != EXT2_ROOT_INO && inode->i_ino < EXT2_FIRST_INO) ||
inode632fs/ext2/inode.cinode->i_ino > inode->i_sb->u.ext2_sb.s_inodes_count) {
inode634fs/ext2/inode.cinode->i_dev, inode->i_ino);
inode637fs/ext2/inode.cblock_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb);
inode638fs/ext2/inode.cif (block_group >= inode->i_sb->u.ext2_sb.s_groups_count)
inode640fs/ext2/inode.cgroup_desc = block_group / EXT2_DESC_PER_BLOCK(inode->i_sb);
inode641fs/ext2/inode.cdesc = block_group % EXT2_DESC_PER_BLOCK(inode->i_sb);
inode642fs/ext2/inode.cbh = inode->i_sb->u.ext2_sb.s_group_desc[group_desc];
inode647fs/ext2/inode.c(((inode->i_ino - 1) % EXT2_INODES_PER_GROUP(inode->i_sb))
inode648fs/ext2/inode.c/ EXT2_INODES_PER_BLOCK(inode->i_sb));
inode649fs/ext2/inode.cif (!(bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize)))
inode652fs/ext2/inode.c(inode->i_ino - 1) % EXT2_INODES_PER_BLOCK(inode->i_sb);
inode653fs/ext2/inode.cinode->i_mode = raw_inode->i_mode;
inode654fs/ext2/inode.cinode->i_uid = raw_inode->i_uid;
inode655fs/ext2/inode.cinode->i_gid = raw_inode->i_gid;
inode656fs/ext2/inode.cinode->i_nlink = raw_inode->i_links_count;
inode657fs/ext2/inode.cinode->i_size = raw_inode->i_size;
inode658fs/ext2/inode.cinode->i_atime = raw_inode->i_atime;
inode659fs/ext2/inode.cinode->i_ctime = raw_inode->i_ctime;
inode660fs/ext2/inode.cinode->i_mtime = raw_inode->i_mtime;
inode661fs/ext2/inode.cif (!S_ISFIFO(inode->i_mode))
inode662fs/ext2/inode.cinode->u.ext2_i.i_dtime = raw_inode->i_dtime;
inode663fs/ext2/inode.cinode->i_blksize = inode->i_sb->s_blocksize;
inode664fs/ext2/inode.cinode->i_blocks = raw_inode->i_blocks;
inode665fs/ext2/inode.cif (!S_ISFIFO(inode->i_mode)) {
inode666fs/ext2/inode.cinode->u.ext2_i.i_flags = raw_inode->i_flags;
inode667fs/ext2/inode.cinode->u.ext2_i.i_faddr = raw_inode->i_faddr;
inode668fs/ext2/inode.cinode->u.ext2_i.i_frag = raw_inode->i_frag;
inode669fs/ext2/inode.cinode->u.ext2_i.i_fsize = raw_inode->i_fsize;
inode670fs/ext2/inode.cinode->u.ext2_i.i_file_acl = raw_inode->i_file_acl;
inode671fs/ext2/inode.cinode->u.ext2_i.i_dir_acl = raw_inode->i_dir_acl;
inode672fs/ext2/inode.cinode->u.ext2_i.i_version = raw_inode->i_version;
inode673fs/ext2/inode.cinode->u.ext2_i.i_block_group = block_group;
inode674fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block = 0;
inode675fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal = 0;
inode676fs/ext2/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode677fs/ext2/inode.cinode->i_rdev = raw_inode->i_block[0];
inode679fs/ext2/inode.cinode->u.ext2_i.i_data[block] = raw_inode->i_block[block];
inode682fs/ext2/inode.cinode->i_op = NULL;
inode683fs/ext2/inode.cif (S_ISREG(inode->i_mode))
inode684fs/ext2/inode.cinode->i_op = &ext2_file_inode_operations;
inode685fs/ext2/inode.celse if (S_ISDIR(inode->i_mode))
inode686fs/ext2/inode.cinode->i_op = &ext2_dir_inode_operations;
inode687fs/ext2/inode.celse if (S_ISLNK(inode->i_mode))
inode688fs/ext2/inode.cinode->i_op = &ext2_symlink_inode_operations;
inode689fs/ext2/inode.celse if (S_ISCHR(inode->i_mode))
inode690fs/ext2/inode.cinode->i_op = &chrdev_inode_operations;
inode691fs/ext2/inode.celse if (S_ISBLK(inode->i_mode))
inode692fs/ext2/inode.cinode->i_op = &blkdev_inode_operations;
inode693fs/ext2/inode.celse if (S_ISFIFO(inode->i_mode))
inode694fs/ext2/inode.cinit_fifo(inode);
inode697fs/ext2/inode.cvoid ext2_write_inode (struct inode * inode)
inode707fs/ext2/inode.cif ((inode->i_ino != EXT2_ROOT_INO && inode->i_ino < EXT2_FIRST_INO) ||
inode708fs/ext2/inode.cinode->i_ino > inode->i_sb->u.ext2_sb.s_inodes_count) {
inode710fs/ext2/inode.cinode->i_dev, inode->i_ino);
inode713fs/ext2/inode.cblock_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb);
inode714fs/ext2/inode.cif (block_group >= inode->i_sb->u.ext2_sb.s_groups_count)
inode716fs/ext2/inode.cgroup_desc = block_group / EXT2_DESC_PER_BLOCK(inode->i_sb);
inode717fs/ext2/inode.cdesc = block_group % EXT2_DESC_PER_BLOCK(inode->i_sb);
inode718fs/ext2/inode.cbh = inode->i_sb->u.ext2_sb.s_group_desc[group_desc];
inode723fs/ext2/inode.c(((inode->i_ino - 1) % EXT2_INODES_PER_GROUP(inode->i_sb))
inode724fs/ext2/inode.c/ EXT2_INODES_PER_BLOCK(inode->i_sb));
inode725fs/ext2/inode.cif (!(bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize)))
inode728fs/ext2/inode.c(inode->i_ino - 1) % EXT2_INODES_PER_BLOCK(inode->i_sb);
inode729fs/ext2/inode.craw_inode->i_mode = inode->i_mode;
inode730fs/ext2/inode.craw_inode->i_uid = inode->i_uid;
inode731fs/ext2/inode.craw_inode->i_gid = inode->i_gid;
inode732fs/ext2/inode.craw_inode->i_links_count = inode->i_nlink;
inode733fs/ext2/inode.craw_inode->i_size = inode->i_size;
inode734fs/ext2/inode.craw_inode->i_atime = inode->i_atime;
inode735fs/ext2/inode.craw_inode->i_ctime = inode->i_ctime;
inode736fs/ext2/inode.craw_inode->i_mtime = inode->i_mtime;
inode737fs/ext2/inode.craw_inode->i_blocks = inode->i_blocks;
inode738fs/ext2/inode.cif (!S_ISFIFO(inode->i_mode)) {
inode739fs/ext2/inode.craw_inode->i_dtime = inode->u.ext2_i.i_dtime;
inode740fs/ext2/inode.craw_inode->i_flags = inode->u.ext2_i.i_flags;
inode741fs/ext2/inode.craw_inode->i_faddr = inode->u.ext2_i.i_faddr;
inode742fs/ext2/inode.craw_inode->i_frag = inode->u.ext2_i.i_frag;
inode743fs/ext2/inode.craw_inode->i_fsize = inode->u.ext2_i.i_fsize;
inode744fs/ext2/inode.craw_inode->i_file_acl = inode->u.ext2_i.i_file_acl;
inode745fs/ext2/inode.craw_inode->i_dir_acl = inode->u.ext2_i.i_dir_acl;
inode746fs/ext2/inode.craw_inode->i_version = inode->u.ext2_i.i_version;
inode747fs/ext2/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode748fs/ext2/inode.craw_inode->i_block[0] = inode->i_rdev;
inode750fs/ext2/inode.craw_inode->i_block[block] = inode->u.ext2_i.i_data[block];
inode753fs/ext2/inode.cinode->i_dirt = 0;
inode41fs/ext2/namei.cif (!de || !de->inode || len > EXT2_NAME_LEN)
inode69fs/ext2/namei.cstatic struct buffer_head * ext2_find_entry (struct inode * dir,
inode126fs/ext2/namei.cint ext2_lookup (struct inode * dir, const char * name, int len,
inode127fs/ext2/namei.cstruct inode ** result)
inode147fs/ext2/namei.cino = de->inode;
inode174fs/ext2/namei.cstatic struct buffer_head * ext2_add_entry (struct inode * dir,
inode217fs/ext2/namei.cde->inode = 0;
inode233fs/ext2/namei.cif ((!de->inode && de->rec_len >= rec_len) ||
inode236fs/ext2/namei.cif (de->inode) {
inode244fs/ext2/namei.cde->inode = 0;
inode270fs/ext2/namei.cdir->inode = 0;
inode273fs/ext2/namei.cint ext2_create (struct inode * dir,const char * name, int len, int mode,
inode274fs/ext2/namei.cstruct inode ** result)
inode276fs/ext2/namei.cstruct inode * inode;
inode283fs/ext2/namei.cinode = ext2_new_inode (dir, mode);
inode284fs/ext2/namei.cif (!inode) {
inode288fs/ext2/namei.cinode->i_op = &ext2_file_inode_operations;
inode289fs/ext2/namei.cinode->i_mode = mode;
inode290fs/ext2/namei.cinode->i_dirt = 1;
inode293fs/ext2/namei.cinode->i_nlink --;
inode294fs/ext2/namei.cinode->i_dirt = 1;
inode295fs/ext2/namei.ciput (inode);
inode299fs/ext2/namei.cde->inode = inode->i_ino;
inode302fs/ext2/namei.cde->inode);
inode307fs/ext2/namei.c*result = inode;
inode311fs/ext2/namei.cint ext2_mknod (struct inode * dir, const char * name, int len, int mode,
inode314fs/ext2/namei.cstruct inode * inode;
inode326fs/ext2/namei.cinode = ext2_new_inode (dir, mode);
inode327fs/ext2/namei.cif (!inode) {
inode331fs/ext2/namei.cinode->i_uid = current->euid;
inode332fs/ext2/namei.cinode->i_mode = mode;
inode333fs/ext2/namei.cinode->i_op = NULL;
inode334fs/ext2/namei.cif (S_ISREG(inode->i_mode))
inode335fs/ext2/namei.cinode->i_op = &ext2_file_inode_operations;
inode336fs/ext2/namei.celse if (S_ISDIR(inode->i_mode)) {
inode337fs/ext2/namei.cinode->i_op = &ext2_dir_inode_operations;
inode339fs/ext2/namei.cinode->i_mode |= S_ISGID;
inode341fs/ext2/namei.celse if (S_ISLNK(inode->i_mode))
inode342fs/ext2/namei.cinode->i_op = &ext2_symlink_inode_operations;
inode343fs/ext2/namei.celse if (S_ISCHR(inode->i_mode))
inode344fs/ext2/namei.cinode->i_op = &chrdev_inode_operations;
inode345fs/ext2/namei.celse if (S_ISBLK(inode->i_mode))
inode346fs/ext2/namei.cinode->i_op = &blkdev_inode_operations;
inode347fs/ext2/namei.celse if (S_ISFIFO(inode->i_mode)) 
inode348fs/ext2/namei.cinit_fifo(inode);
inode350fs/ext2/namei.cinode->i_rdev = rdev;
inode351fs/ext2/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode352fs/ext2/namei.cinode->i_dirt = 1;
inode355fs/ext2/namei.cinode->i_nlink --;
inode356fs/ext2/namei.cinode->i_dirt = 1;
inode357fs/ext2/namei.ciput (inode);
inode361fs/ext2/namei.cde->inode = inode->i_ino;
inode364fs/ext2/namei.cde->inode);
inode369fs/ext2/namei.ciput (inode);
inode373fs/ext2/namei.cint ext2_mkdir (struct inode * dir, const char * name, int len, int mode)
inode375fs/ext2/namei.cstruct inode * inode;
inode385fs/ext2/namei.cinode = ext2_new_inode (dir, S_IFDIR);
inode386fs/ext2/namei.cif (!inode) {
inode390fs/ext2/namei.cinode->i_op = &ext2_dir_inode_operations;
inode391fs/ext2/namei.cinode->i_size = inode->i_sb->s_blocksize;
inode392fs/ext2/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode393fs/ext2/namei.cdir_block = ext2_bread (inode, 0, 1);
inode396fs/ext2/namei.cinode->i_nlink --;
inode397fs/ext2/namei.cinode->i_dirt = 1;
inode398fs/ext2/namei.ciput (inode);
inode401fs/ext2/namei.cinode->i_blocks = inode->i_sb->s_blocksize / 512;
inode403fs/ext2/namei.cde->inode = inode->i_ino;
inode408fs/ext2/namei.cde->inode = dir->i_ino;
inode409fs/ext2/namei.cde->rec_len = inode->i_sb->s_blocksize - EXT2_DIR_REC_LEN(1);
inode412fs/ext2/namei.cinode->i_nlink = 2;
inode415fs/ext2/namei.cinode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask);
inode417fs/ext2/namei.cinode->i_mode |= S_ISGID;
inode418fs/ext2/namei.cinode->i_dirt = 1;
inode422fs/ext2/namei.cinode->i_nlink = 0;
inode423fs/ext2/namei.ciput (inode);
inode426fs/ext2/namei.cde->inode = inode->i_ino;
inode429fs/ext2/namei.cde->inode);
inode435fs/ext2/namei.ciput (inode);
inode443fs/ext2/namei.cstatic int empty_dir (struct inode * inode)
inode450fs/ext2/namei.csb = inode->i_sb;
inode451fs/ext2/namei.cif (inode->i_size < EXT2_DIR_REC_LEN(1) + EXT2_DIR_REC_LEN(2) ||
inode452fs/ext2/namei.c!(bh = ext2_bread (inode, 0, 0))) {
inode454fs/ext2/namei.cinode->i_dev, inode->i_ino);
inode459fs/ext2/namei.cif (de->inode != inode->i_ino || !de1->inode || 
inode462fs/ext2/namei.cinode->i_dev, inode->i_ino);
inode467fs/ext2/namei.cwhile (offset < inode->i_size ) {
inode470fs/ext2/namei.cbh = ext2_bread (inode, offset >> EXT2_BLOCK_SIZE_BITS(sb), 1);
inode477fs/ext2/namei.cif (! ext2_check_dir_entry ("empty_dir", inode, de, bh,
inode482fs/ext2/namei.cif (de->inode) {
inode493fs/ext2/namei.cint ext2_rmdir (struct inode * dir, const char * name, int len)
inode496fs/ext2/namei.cstruct inode * inode;
inode500fs/ext2/namei.cinode = NULL;
inode506fs/ext2/namei.cif (!(inode = iget (dir->i_sb, de->inode)))
inode509fs/ext2/namei.cinode->i_uid != current->euid)
inode511fs/ext2/namei.cif (inode->i_dev != dir->i_dev)
inode513fs/ext2/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode515fs/ext2/namei.cif (!S_ISDIR(inode->i_mode)) {
inode519fs/ext2/namei.cif (!empty_dir (inode)) {
inode523fs/ext2/namei.cif (inode->i_count > 1) {
inode527fs/ext2/namei.cif (inode->i_nlink != 2)
inode528fs/ext2/namei.cprintk ("empty  directory has nlink!=2 (%d)\n", inode->i_nlink);
inode537fs/ext2/namei.cde->inode = 0;
inode540fs/ext2/namei.cinode->i_nlink = 0;
inode541fs/ext2/namei.cinode->i_dirt = 1;
inode548fs/ext2/namei.ciput (inode);
inode553fs/ext2/namei.cint ext2_unlink (struct inode * dir, const char * name, int len)
inode556fs/ext2/namei.cstruct inode * inode;
inode561fs/ext2/namei.cinode = NULL;
inode565fs/ext2/namei.cif (!(inode = iget (dir->i_sb, de->inode)))
inode569fs/ext2/namei.ccurrent->euid != inode->i_uid &&
inode572fs/ext2/namei.cif (S_ISDIR(inode->i_mode))
inode574fs/ext2/namei.cif (!inode->i_nlink) {
inode576fs/ext2/namei.cinode->i_dev, inode->i_ino, inode->i_nlink);
inode577fs/ext2/namei.cinode->i_nlink = 1;
inode587fs/ext2/namei.cde->inode = 0;
inode592fs/ext2/namei.cinode->i_nlink --;
inode593fs/ext2/namei.cinode->i_dirt = 1;
inode594fs/ext2/namei.cinode->i_ctime = CURRENT_TIME;
inode598fs/ext2/namei.ciput (inode);
inode603fs/ext2/namei.cint ext2_symlink (struct inode * dir, const char * name, int len,
inode607fs/ext2/namei.cstruct inode * inode = NULL;
inode614fs/ext2/namei.cif (!(inode = ext2_new_inode (dir, S_IFLNK))) {
inode618fs/ext2/namei.cinode->i_mode = S_IFLNK | 0777;
inode619fs/ext2/namei.cinode->i_op = &ext2_symlink_inode_operations;
inode620fs/ext2/namei.cfor (l = 0; l < inode->i_sb->s_blocksize - 1 &&
inode627fs/ext2/namei.cname_block = ext2_bread (inode, 0, 1);
inode630fs/ext2/namei.cinode->i_nlink --;
inode631fs/ext2/namei.cinode->i_dirt = 1;
inode632fs/ext2/namei.ciput (inode);
inode637fs/ext2/namei.clink = (char *) inode->u.ext2_i.i_data;
inode643fs/ext2/namei.cwhile (i < inode->i_sb->s_blocksize - 1 && (c = *(symname ++)))
inode650fs/ext2/namei.cinode->i_size = i;
inode651fs/ext2/namei.cinode->i_dirt = 1;
inode654fs/ext2/namei.cinode->i_nlink --;
inode655fs/ext2/namei.cinode->i_dirt = 1;
inode656fs/ext2/namei.ciput (inode);
inode663fs/ext2/namei.cinode->i_nlink --;
inode664fs/ext2/namei.cinode->i_dirt = 1;
inode665fs/ext2/namei.ciput (inode);
inode669fs/ext2/namei.cde->inode = inode->i_ino;
inode672fs/ext2/namei.cde->inode);
inode677fs/ext2/namei.ciput (inode);
inode681fs/ext2/namei.cint ext2_link (struct inode * oldinode, struct inode * dir,
inode710fs/ext2/namei.cde->inode = oldinode->i_ino;
inode713fs/ext2/namei.cde->inode);
inode725fs/ext2/namei.cstatic int subdir (struct inode * new, struct inode * old)
inode751fs/ext2/namei.c((struct ext2_dir_entry *) buffer)->rec_len))->inode
inode768fs/ext2/namei.cstatic int do_ext2_rename (struct inode * old_dir, const char * old_name,
inode769fs/ext2/namei.cint old_len, struct inode * new_dir,
inode772fs/ext2/namei.cstruct inode * old_inode, * new_inode;
inode793fs/ext2/namei.cold_inode = iget (old_dir->i_sb, old_de->inode);
inode802fs/ext2/namei.cnew_inode = iget (new_dir->i_sb, new_de->inode);
inode844fs/ext2/namei.cif (new_inode && (new_de->inode != new_inode->i_ino))
inode846fs/ext2/namei.cif (new_de->inode && !new_inode)
inode848fs/ext2/namei.cif (old_de->inode != old_inode->i_ino)
inode851fs/ext2/namei.cnew_de->inode = old_inode->i_ino;
inode856fs/ext2/namei.cnew_de->name_len, new_de->inode);
inode869fs/ext2/namei.cold_de->inode = 0;
inode910fs/ext2/namei.cint ext2_rename (struct inode * old_dir, const char * old_name, int old_len,
inode911fs/ext2/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode23fs/ext2/symlink.cstatic int ext2_readlink (struct inode *, char *, int);
inode24fs/ext2/symlink.cstatic int ext2_follow_link (struct inode *, struct inode *, int, int,
inode25fs/ext2/symlink.cstruct inode **);
inode48fs/ext2/symlink.cstatic int ext2_follow_link(struct inode * dir, struct inode * inode,
inode49fs/ext2/symlink.cint flag, int mode, struct inode ** res_inode)
inode60fs/ext2/symlink.cif (!inode) {
inode64fs/ext2/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode66fs/ext2/symlink.c*res_inode = inode;
inode71fs/ext2/symlink.ciput (inode);
inode74fs/ext2/symlink.cif (inode->i_blocks) {
inode75fs/ext2/symlink.cif (!(bh = ext2_bread (inode, 0, 0))) {
inode77fs/ext2/symlink.ciput (inode);
inode82fs/ext2/symlink.clink = (char *) inode->u.ext2_i.i_data;
inode86fs/ext2/symlink.ciput (inode);
inode92fs/ext2/symlink.cstatic int ext2_readlink (struct inode * inode, char * buffer, int buflen)
inode99fs/ext2/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode100fs/ext2/symlink.ciput (inode);
inode103fs/ext2/symlink.cif (buflen > inode->i_sb->s_blocksize - 1)
inode104fs/ext2/symlink.cbuflen = inode->i_sb->s_blocksize - 1;
inode105fs/ext2/symlink.cif (inode->i_blocks) {
inode106fs/ext2/symlink.cbh = ext2_bread (inode, 0, 0);
inode108fs/ext2/symlink.ciput (inode);
inode114fs/ext2/symlink.clink = (char *) inode->u.ext2_i.i_data;
inode120fs/ext2/symlink.ciput (inode);
inode33fs/ext2/truncate.cstatic int trunc_direct (struct inode * inode)
inode39fs/ext2/truncate.cint blocks = inode->i_sb->s_blocksize / 512;
inode40fs/ext2/truncate.c#define DIRECT_BLOCK ((inode->i_size + inode->i_sb->s_blocksize - 1) / \
inode41fs/ext2/truncate.cinode->i_sb->s_blocksize)
inode46fs/ext2/truncate.cp = inode->u.ext2_i.i_data + i;
inode50fs/ext2/truncate.cbh = get_hash_table (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode61fs/ext2/truncate.cinode->i_blocks -= blocks;
inode62fs/ext2/truncate.cinode->i_dirt = 1;
inode64fs/ext2/truncate.cext2_free_block (inode->i_sb, tmp);
inode69fs/ext2/truncate.cstatic int trunc_indirect (struct inode * inode, int offset, unsigned long * p)
inode76fs/ext2/truncate.cint addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode77fs/ext2/truncate.cint blocks = inode->i_sb->s_blocksize / 512;
inode84fs/ext2/truncate.cind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode103fs/ext2/truncate.cbh = get_hash_table (inode->i_dev, tmp,
inode104fs/ext2/truncate.cinode->i_sb->s_blocksize);
inode117fs/ext2/truncate.cext2_free_block (inode->i_sb, tmp);
inode118fs/ext2/truncate.cinode->i_blocks -= blocks;
inode119fs/ext2/truncate.cinode->i_dirt = 1;
inode131fs/ext2/truncate.cinode->i_blocks -= blocks;
inode132fs/ext2/truncate.cinode->i_dirt = 1;
inode133fs/ext2/truncate.cext2_free_block (inode->i_sb, tmp);
inode139fs/ext2/truncate.cstatic int trunc_dindirect (struct inode * inode, int offset,
inode146fs/ext2/truncate.cint addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode147fs/ext2/truncate.cint blocks = inode->i_sb->s_blocksize / 512;
inode154fs/ext2/truncate.cdind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode173fs/ext2/truncate.cretry |= trunc_indirect (inode, offset + (i * addr_per_block),
inode187fs/ext2/truncate.cinode->i_blocks -= blocks;
inode188fs/ext2/truncate.cinode->i_dirt = 1;
inode189fs/ext2/truncate.cext2_free_block (inode->i_sb, tmp);
inode195fs/ext2/truncate.cstatic int trunc_tindirect (struct inode * inode)
inode201fs/ext2/truncate.cint addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode202fs/ext2/truncate.cint blocks = inode->i_sb->s_blocksize / 512;
inode208fs/ext2/truncate.cp = inode->u.ext2_i.i_data + EXT2_TIND_BLOCK;
inode211fs/ext2/truncate.ctind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode227fs/ext2/truncate.cretry |= trunc_dindirect(inode, EXT2_NDIR_BLOCKS +
inode244fs/ext2/truncate.cinode->i_blocks -= blocks;
inode245fs/ext2/truncate.cinode->i_dirt = 1;
inode246fs/ext2/truncate.cext2_free_block (inode->i_sb, tmp);
inode252fs/ext2/truncate.cvoid ext2_truncate (struct inode * inode)
inode256fs/ext2/truncate.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode257fs/ext2/truncate.cS_ISLNK(inode->i_mode)))
inode260fs/ext2/truncate.cretry = trunc_direct(inode);
inode261fs/ext2/truncate.cretry |= trunc_indirect (inode, EXT2_IND_BLOCK,
inode262fs/ext2/truncate.c(unsigned long *) &inode->u.ext2_i.i_data[EXT2_IND_BLOCK]);
inode263fs/ext2/truncate.cretry |= trunc_dindirect (inode, EXT2_IND_BLOCK +
inode264fs/ext2/truncate.cEXT2_ADDR_PER_BLOCK(inode->i_sb),
inode265fs/ext2/truncate.c(unsigned long *) &inode->u.ext2_i.i_data[EXT2_DIND_BLOCK]);
inode266fs/ext2/truncate.cretry |= trunc_tindirect (inode);
inode272fs/ext2/truncate.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode273fs/ext2/truncate.cinode->i_dirt = 1;
inode281fs/ext2/truncate.cvoid ext2_release (struct inode * inode, struct file * filp)
inode16fs/fifo.cstatic int fifo_open(struct inode * inode,struct file * filp)
inode30fs/fifo.cif (!PIPE_READERS(*inode)++)
inode31fs/fifo.cwake_up(&PIPE_WRITE_WAIT(*inode));
inode32fs/fifo.cif (!(filp->f_flags & O_NONBLOCK) && !PIPE_WRITERS(*inode)) {
inode33fs/fifo.cPIPE_RD_OPENERS(*inode)++;
inode34fs/fifo.cwhile (!PIPE_WRITERS(*inode)) {
inode36fs/fifo.cif (PIPE_HEAD(*inode) != PIPE_TAIL(*inode))
inode43fs/fifo.cinterruptible_sleep_on(&PIPE_READ_WAIT(*inode));
inode45fs/fifo.cif (!--PIPE_RD_OPENERS(*inode))
inode46fs/fifo.cwake_up(&PIPE_WRITE_WAIT(*inode));
inode48fs/fifo.cwhile (PIPE_WR_OPENERS(*inode))
inode49fs/fifo.cinterruptible_sleep_on(&PIPE_READ_WAIT(*inode));
inode50fs/fifo.cif (retval && !--PIPE_READERS(*inode))
inode51fs/fifo.cwake_up(&PIPE_WRITE_WAIT(*inode));
inode60fs/fifo.cif ((filp->f_flags & O_NONBLOCK) && !PIPE_READERS(*inode)) {
inode65fs/fifo.cif (!PIPE_WRITERS(*inode)++)
inode66fs/fifo.cwake_up(&PIPE_READ_WAIT(*inode));
inode67fs/fifo.cif (!PIPE_READERS(*inode)) {
inode68fs/fifo.cPIPE_WR_OPENERS(*inode)++;
inode69fs/fifo.cwhile (!PIPE_READERS(*inode)) {
inode74fs/fifo.cinterruptible_sleep_on(&PIPE_WRITE_WAIT(*inode));
inode76fs/fifo.cif (!--PIPE_WR_OPENERS(*inode))
inode77fs/fifo.cwake_up(&PIPE_READ_WAIT(*inode));
inode79fs/fifo.cwhile (PIPE_RD_OPENERS(*inode))
inode80fs/fifo.cinterruptible_sleep_on(&PIPE_WRITE_WAIT(*inode));
inode81fs/fifo.cif (retval && !--PIPE_WRITERS(*inode))
inode82fs/fifo.cwake_up(&PIPE_READ_WAIT(*inode));
inode93fs/fifo.cif (!PIPE_READERS(*inode)++)
inode94fs/fifo.cwake_up(&PIPE_WRITE_WAIT(*inode));
inode95fs/fifo.cwhile (PIPE_WR_OPENERS(*inode))
inode96fs/fifo.cinterruptible_sleep_on(&PIPE_READ_WAIT(*inode));
inode97fs/fifo.cif (!PIPE_WRITERS(*inode)++)
inode98fs/fifo.cwake_up(&PIPE_READ_WAIT(*inode));
inode99fs/fifo.cwhile (PIPE_RD_OPENERS(*inode))
inode100fs/fifo.cinterruptible_sleep_on(&PIPE_WRITE_WAIT(*inode));
inode106fs/fifo.cif (retval || PIPE_BASE(*inode))
inode109fs/fifo.cif (PIPE_BASE(*inode)) {
inode115fs/fifo.cPIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0;
inode116fs/fifo.cPIPE_BASE(*inode) = (char *) page;
inode156fs/fifo.cvoid init_fifo(struct inode * inode)
inode158fs/fifo.cinode->i_op = &fifo_inode_operations;
inode159fs/fifo.cinode->i_pipe = 1;
inode160fs/fifo.cPIPE_BASE(*inode) = NULL;
inode161fs/fifo.cPIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0;
inode162fs/fifo.cPIPE_RD_OPENERS(*inode) = PIPE_WR_OPENERS(*inode) = 0;
inode163fs/fifo.cPIPE_READ_WAIT(*inode) = PIPE_WRITE_WAIT(*inode) = NULL;
inode164fs/fifo.cPIPE_READERS(*inode) = PIPE_WRITERS(*inode) = 0;
inode15fs/inode.cstatic struct inode * inode_table;
inode16fs/inode.cstatic struct inode * last_inode;
inode23fs/inode.cinode_table = (struct inode *) start;
inode26fs/inode.cmemset(inode_table,0,NR_INODE*sizeof(struct inode));
inode30fs/inode.cstatic void __wait_on_inode(struct inode *);
inode32fs/inode.cstatic inline void wait_on_inode(struct inode * inode)
inode34fs/inode.cif (inode->i_lock)
inode35fs/inode.c__wait_on_inode(inode);
inode38fs/inode.cstatic inline void lock_inode(struct inode * inode)
inode40fs/inode.cwait_on_inode(inode);
inode41fs/inode.cinode->i_lock = 1;
inode44fs/inode.cstatic inline void unlock_inode(struct inode * inode)
inode46fs/inode.cinode->i_lock = 0;
inode47fs/inode.cwake_up(&inode->i_wait);
inode62fs/inode.cvoid clear_inode(struct inode * inode)
inode66fs/inode.cwait_on_inode(inode);
inode67fs/inode.cwait = ((volatile struct inode *) inode)->i_wait;
inode68fs/inode.cmemset(inode,0,sizeof(*inode));
inode69fs/inode.c((volatile struct inode *) inode)->i_wait = wait;
inode74fs/inode.cstruct inode * inode;
inode76fs/inode.cfor (inode = inode_table+0 ; inode < inode_table+NR_INODE ; inode++) {
inode77fs/inode.cif (inode->i_dev != dev)
inode79fs/inode.cif (inode->i_count || inode->i_dirt || inode->i_lock)
inode81fs/inode.cclear_inode(inode);
inode86fs/inode.cint fs_may_umount(dev_t dev, struct inode * mount_root)
inode88fs/inode.cstruct inode * inode;
inode90fs/inode.cfor (inode = inode_table+0 ; inode < inode_table+NR_INODE ; inode++) {
inode91fs/inode.cif (inode->i_dev==dev && inode->i_count)
inode92fs/inode.cif (inode == mount_root && inode->i_count == 1)
inode100fs/inode.cstatic void write_inode(struct inode * inode)
inode102fs/inode.cif (!inode->i_dirt)
inode104fs/inode.cwait_on_inode(inode);
inode105fs/inode.cif (!inode->i_dirt)
inode107fs/inode.cif (!inode->i_sb || !inode->i_sb->s_op || !inode->i_sb->s_op->write_inode) {
inode108fs/inode.cinode->i_dirt = 0;
inode111fs/inode.cinode->i_lock = 1;  
inode112fs/inode.cinode->i_sb->s_op->write_inode(inode);
inode113fs/inode.cunlock_inode(inode);
inode116fs/inode.cstatic void read_inode(struct inode * inode)
inode118fs/inode.clock_inode(inode);
inode119fs/inode.cif (inode->i_sb && inode->i_sb->s_op && inode->i_sb->s_op->read_inode)
inode120fs/inode.cinode->i_sb->s_op->read_inode(inode);
inode121fs/inode.cunlock_inode(inode);
inode132fs/inode.cint notify_change(int flags, struct inode * inode)
inode134fs/inode.cif (inode->i_sb && inode->i_sb->s_op  &&
inode135fs/inode.cinode->i_sb->s_op->notify_change)
inode136fs/inode.creturn inode->i_sb->s_op->notify_change(flags, inode);
inode150fs/inode.cint bmap(struct inode * inode, int block)
inode152fs/inode.cif (inode->i_op && inode->i_op->bmap)
inode153fs/inode.creturn inode->i_op->bmap(inode,block);
inode160fs/inode.cstruct inode * inode;
inode162fs/inode.cinode = 0+inode_table;
inode163fs/inode.cfor(i=0 ; i<NR_INODE ; i++,inode++) {
inode164fs/inode.cwait_on_inode(inode);
inode165fs/inode.cif (inode->i_dev == dev) {
inode166fs/inode.cif (inode->i_count) {
inode171fs/inode.cclear_inode(inode);
inode178fs/inode.cstruct inode * inode;
inode180fs/inode.cfor(inode = 0+inode_table ; inode < NR_INODE+inode_table ; inode++) {
inode181fs/inode.cif (dev && inode->i_dev != dev)
inode183fs/inode.cwait_on_inode(inode);
inode184fs/inode.cif (inode->i_dirt)
inode185fs/inode.cwrite_inode(inode);
inode189fs/inode.cvoid iput(struct inode * inode)
inode191fs/inode.cif (!inode)
inode193fs/inode.cwait_on_inode(inode);
inode194fs/inode.cif (!inode->i_count) {
inode197fs/inode.cMAJOR(inode->i_rdev), MINOR(inode->i_rdev),
inode198fs/inode.cinode->i_ino, inode->i_mode);
inode201fs/inode.cif (inode->i_pipe) {
inode202fs/inode.cwake_up(&PIPE_READ_WAIT(*inode));
inode203fs/inode.cwake_up(&PIPE_WRITE_WAIT(*inode));
inode206fs/inode.cif (inode->i_count>1) {
inode207fs/inode.cinode->i_count--;
inode211fs/inode.cif (inode->i_pipe) {
inode212fs/inode.cunsigned long page = (unsigned long) PIPE_BASE(*inode);
inode213fs/inode.cPIPE_BASE(*inode) = NULL;
inode216fs/inode.cif (inode->i_sb && inode->i_sb->s_op && inode->i_sb->s_op->put_inode) {
inode217fs/inode.cinode->i_sb->s_op->put_inode(inode);
inode218fs/inode.cif (!inode->i_nlink)
inode221fs/inode.cif (inode->i_dirt) {
inode222fs/inode.cwrite_inode(inode);  /* we can sleep - so do again */
inode223fs/inode.cwait_on_inode(inode);
inode226fs/inode.cinode->i_count--;
inode230fs/inode.cstruct inode * get_empty_inode(void)
inode232fs/inode.cstruct inode * inode;
inode236fs/inode.cinode = NULL;
inode241fs/inode.cinode = last_inode;
inode242fs/inode.cif (!inode->i_dirt && !inode->i_lock)
inode246fs/inode.cif (!inode) {
inode251fs/inode.cif (inode->i_lock) {
inode252fs/inode.cwait_on_inode(inode);
inode255fs/inode.cif (inode->i_dirt) {
inode256fs/inode.cwrite_inode(inode);
inode259fs/inode.cif (inode->i_count)
inode261fs/inode.cclear_inode(inode);
inode262fs/inode.cinode->i_count = 1;
inode263fs/inode.cinode->i_nlink = 1;
inode264fs/inode.creturn inode;
inode267fs/inode.cstruct inode * get_pipe_inode(void)
inode269fs/inode.cstruct inode * inode;
inode271fs/inode.cif (!(inode = get_empty_inode()))
inode273fs/inode.cif (!(PIPE_BASE(*inode) = (char *) get_free_page(GFP_USER))) {
inode274fs/inode.cinode->i_count = 0;
inode277fs/inode.cinode->i_count = 2;  /* sum of readers/writers */
inode278fs/inode.cPIPE_READ_WAIT(*inode) = PIPE_WRITE_WAIT(*inode) = NULL;
inode279fs/inode.cPIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0;
inode280fs/inode.cPIPE_RD_OPENERS(*inode) = PIPE_WR_OPENERS(*inode) = 0;
inode281fs/inode.cPIPE_READERS(*inode) = PIPE_WRITERS(*inode) = 1;
inode282fs/inode.cinode->i_pipe = 1;
inode283fs/inode.cinode->i_mode |= S_IFIFO;
inode284fs/inode.cinode->i_uid = current->euid;
inode285fs/inode.cinode->i_gid = current->egid;
inode286fs/inode.cinode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode287fs/inode.creturn inode;
inode290fs/inode.cstruct inode * iget(struct super_block * sb,int nr)
inode292fs/inode.cstruct inode * inode, * empty;
inode297fs/inode.cinode = inode_table;
inode298fs/inode.cwhile (inode < NR_INODE+inode_table) {
inode299fs/inode.cif (inode->i_dev != sb->s_dev || inode->i_ino != nr) {
inode300fs/inode.cinode++;
inode303fs/inode.cwait_on_inode(inode);
inode304fs/inode.cif (inode->i_dev != sb->s_dev || inode->i_ino != nr) {
inode305fs/inode.cinode = inode_table;
inode308fs/inode.cinode->i_count++;
inode309fs/inode.cif (inode->i_mount) {
inode313fs/inode.cif (super_block[i].s_covered==inode)
inode325fs/inode.creturn inode;
inode327fs/inode.ciput(inode);
inode328fs/inode.cif (!(inode = super_block[i].s_mounted))
inode330fs/inode.cMAJOR(inode->i_dev), MINOR(inode->i_dev));
inode332fs/inode.cinode->i_count++;
inode333fs/inode.cwait_on_inode(inode);
inode344fs/inode.creturn inode;
inode348fs/inode.cinode = empty;
inode349fs/inode.cinode->i_sb = sb;
inode350fs/inode.cinode->i_dev = sb->s_dev;
inode351fs/inode.cinode->i_ino = nr;
inode352fs/inode.cinode->i_flags = sb->s_flags;
inode353fs/inode.cread_inode(inode);
inode354fs/inode.creturn inode;
inode363fs/inode.cstatic void __wait_on_inode(struct inode * inode)
inode367fs/inode.cadd_wait_queue(&inode->i_wait, &wait);
inode370fs/inode.cif (inode->i_lock) {
inode374fs/inode.cremove_wait_queue(&inode->i_wait, &wait);
inode22fs/isofs/dir.cstatic int isofs_readdir(struct inode *, struct file *, struct dirent *, int);
inode63fs/isofs/dir.cstatic int isofs_readdir(struct inode * inode, struct file * filp,
inode76fs/isofs/dir.cif (!inode || !S_ISDIR(inode->i_mode))
inode80fs/isofs/dir.cblock = isofs_bmap(inode,(filp->f_pos)>>BLOCK_SIZE_BITS);
inode81fs/isofs/dir.cif (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE)))
inode84fs/isofs/dir.cwhile (filp->f_pos < inode->i_size) {
inode98fs/isofs/dir.cblock = isofs_bmap(inode,(filp->f_pos)>>BLOCK_SIZE_BITS);
inode99fs/isofs/dir.cif (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE)))
inode117fs/isofs/dir.cblock = isofs_bmap(inode,(filp->f_pos)>>BLOCK_SIZE_BITS);
inode118fs/isofs/dir.cif (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE)))
inode129fs/isofs/dir.cinode_number = inode->i_ino;
inode140fs/isofs/dir.cif((inode->i_sb->u.isofs_sb.s_firstdatazone << BLOCK_SIZE_BITS) != inode->i_ino)
inode141fs/isofs/dir.cinode_number = inode->u.isofs_i.i_backlink;
inode143fs/isofs/dir.cinode_number = inode->i_ino;
inode148fs/isofs/dir.cisofs_lookup_grandparent(inode,
inode149fs/isofs/dir.cfind_rock_ridge_relocation(de, inode));
inode164fs/isofs/dir.crrflag = get_rock_ridge_filename(de, &dpnt, &dlen, inode);
inode176fs/isofs/dir.cif(inode->i_sb->u.isofs_sb.s_mapping == 'n')
inode197fs/isofs/dir.ccache.dir = inode->i_ino;
inode198fs/isofs/dir.ccache.dev = inode->i_dev;
inode32fs/isofs/file.cstatic int isofs_file_read(struct inode *, struct file *, char *, int);
inode88fs/isofs/file.cstatic void isofs_determine_filetype(struct inode * inode)
inode95fs/isofs/file.cblock = isofs_bmap(inode,0);
inode96fs/isofs/file.cif (block && (bh = bread(inode->i_dev,block, ISOFS_BUFFER_SIZE))) {
inode99fs/isofs/file.cfor(i=0;i<(inode->i_size < ISOFS_BUFFER_SIZE ? inode->i_size : ISOFS_BUFFER_SIZE);
inode109fs/isofs/file.cinode->u.isofs_i.i_file_format = result;
inode113fs/isofs/file.cstatic int isofs_file_read(struct inode * inode, struct file * filp, char * buf, int count)
inode123fs/isofs/file.cif (!inode) {
inode127fs/isofs/file.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) {
inode128fs/isofs/file.cprintk("isofs_file_read: mode = %07o\n",inode->i_mode);
inode131fs/isofs/file.cif (inode->u.isofs_i.i_file_format == ISOFS_FILE_UNKNOWN)
inode132fs/isofs/file.cisofs_determine_filetype(inode);
inode133fs/isofs/file.cif (filp->f_pos > inode->i_size)
inode136fs/isofs/file.cleft = inode->i_size - filp->f_pos;
inode147fs/isofs/file.cra_blocks = read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9);
inode148fs/isofs/file.cmax_block = (inode->i_size + BLOCK_SIZE - 1)/BLOCK_SIZE;
inode166fs/isofs/file.c*bhb = getblk(inode->i_dev,isofs_bmap(inode, block++), ISOFS_BUFFER_SIZE);
inode192fs/isofs/file.c*bhb = getblk(inode->i_dev,isofs_bmap(inode, block++), ISOFS_BUFFER_SIZE);
inode231fs/isofs/file.cif (inode->u.isofs_i.i_file_format == ISOFS_FILE_TEXT ||
inode232fs/isofs/file.cinode->u.isofs_i.i_file_format == ISOFS_FILE_TEXT_M)
inode234fs/isofs/file.cchars, inode->u.isofs_i.i_file_format);
inode256fs/isofs/inode.cint isofs_bmap(struct inode * inode,int block)
inode263fs/isofs/inode.creturn inode->u.isofs_i.i_first_extent + block;
inode266fs/isofs/inode.cvoid isofs_read_inode(struct inode * inode)
inode275fs/isofs/inode.cblock = inode->i_ino >> ISOFS_BUFFER_BITS;
inode276fs/isofs/inode.cif (!(bh=bread(inode->i_dev,block, ISOFS_BUFFER_SIZE)))
inode279fs/isofs/inode.cpnt = ((char *) bh->b_data) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1));
inode282fs/isofs/inode.chigh_sierra = inode->i_sb->u.isofs_sb.s_high_sierra;
inode284fs/isofs/inode.cif ((inode->i_ino & (ISOFS_BUFFER_SIZE - 1)) + *pnt > ISOFS_BUFFER_SIZE){
inode288fs/isofs/inode.cif (!(bh = bread(inode->i_dev,++block, ISOFS_BUFFER_SIZE)))
inode291fs/isofs/inode.cpnt = ((char *) cpnt) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1));
inode296fs/isofs/inode.cinode->i_mode = 0444; /* Everybody gets to read the file. */
inode297fs/isofs/inode.cinode->i_nlink = 1;
inode300fs/isofs/inode.cinode->i_mode = 0555 | S_IFDIR;
inode301fs/isofs/inode.cinode->i_nlink = 2; /* There are always at least 2.  It is
inode304fs/isofs/inode.cinode->i_mode = 0444; /* Everybody gets to read the file. */
inode305fs/isofs/inode.cinode->i_nlink = 1;
inode306fs/isofs/inode.cinode->i_mode |= S_IFREG;
inode312fs/isofs/inode.cinode->i_mode |= 0111; /* execute permission */
inode314fs/isofs/inode.cinode->i_uid = 0;
inode315fs/isofs/inode.cinode->i_gid = 0;
inode316fs/isofs/inode.cinode->i_size = isonum_733 (raw_inode->size);
inode320fs/isofs/inode.cif(inode->i_size < 0 || inode->i_size > 700000000) {
inode322fs/isofs/inode.cinode->i_sb->u.isofs_sb.s_cruft = 'y';
inode329fs/isofs/inode.cif(inode->i_sb->u.isofs_sb.s_cruft == 'y' && 
inode330fs/isofs/inode.cinode->i_size & 0xff000000){
inode332fs/isofs/inode.cinode->i_size &= 0x00ffffff;
inode341fs/isofs/inode.cinode->i_size = 0;
inode349fs/isofs/inode.cinode->i_ino);
inode356fs/isofs/inode.cprintk("File unit size != 0 for ISO file.(%d)\n",inode->i_ino);
inode363fs/isofs/inode.cinode->i_ino, raw_inode->flags[-high_sierra]);
inode367fs/isofs/inode.cprintk("Get inode %d: %d %d: %d\n",inode->i_ino, block, 
inode368fs/isofs/inode.c((int)pnt) & 0x3ff, inode->i_size);
inode371fs/isofs/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = 
inode374fs/isofs/inode.cinode->u.isofs_i.i_first_extent = isonum_733 (raw_inode->extent) << 
inode377fs/isofs/inode.cinode->u.isofs_i.i_backlink = -1; /* Will be used for previous directory */
inode378fs/isofs/inode.cswitch (inode->i_sb->u.isofs_sb.s_conversion){
inode380fs/isofs/inode.cinode->u.isofs_i.i_file_format = ISOFS_FILE_UNKNOWN; /* File type */
inode383fs/isofs/inode.cinode->u.isofs_i.i_file_format = ISOFS_FILE_BINARY; /* File type */
inode386fs/isofs/inode.cinode->u.isofs_i.i_file_format = ISOFS_FILE_TEXT; /* File type */
inode389fs/isofs/inode.cinode->u.isofs_i.i_file_format = ISOFS_FILE_TEXT_M; /* File type */
inode398fs/isofs/inode.cparse_rock_ridge_inode(raw_inode, inode);
inode401fs/isofs/inode.cprintk("Inode: %x extent: %x\n",inode->i_ino, inode->u.isofs_i.i_first_extent);
inode410fs/isofs/inode.cinode->i_op = NULL;
inode411fs/isofs/inode.cif (S_ISREG(inode->i_mode))
inode412fs/isofs/inode.cinode->i_op = &isofs_file_inode_operations;
inode413fs/isofs/inode.celse if (S_ISDIR(inode->i_mode))
inode414fs/isofs/inode.cinode->i_op = &isofs_dir_inode_operations;
inode415fs/isofs/inode.celse if (S_ISLNK(inode->i_mode))
inode416fs/isofs/inode.cinode->i_op = &isofs_symlink_inode_operations;
inode417fs/isofs/inode.celse if (S_ISCHR(inode->i_mode))
inode418fs/isofs/inode.cinode->i_op = &chrdev_inode_operations;
inode419fs/isofs/inode.celse if (S_ISBLK(inode->i_mode))
inode420fs/isofs/inode.cinode->i_op = &blkdev_inode_operations;
inode421fs/isofs/inode.celse if (S_ISFIFO(inode->i_mode))
inode422fs/isofs/inode.cinit_fifo(inode);
inode444fs/isofs/inode.cint isofs_lookup_grandparent(struct inode * parent, int extent) {
inode64fs/isofs/namei.cstatic struct buffer_head * isofs_find_entry(struct inode * dir,
inode193fs/isofs/namei.cint isofs_lookup(struct inode * dir,const char * name, int len,
inode194fs/isofs/namei.cstruct inode ** result)
inode81fs/isofs/rock.cstruct inode * inode) {
inode96fs/isofs/rock.cif (!inode->i_sb->u.isofs_sb.s_rock) return retval;
inode146fs/isofs/rock.cMAYBE_CONTINUE(repeat, inode->i_dev);
inode154fs/isofs/rock.cchar ** name, int * namlen, struct inode * inode)
inode162fs/isofs/rock.cif (!inode->i_sb->u.isofs_sb.s_rock) return 0;
inode213fs/isofs/rock.cprintk("RR: RE (%x)\n", inode->i_ino);
inode223fs/isofs/rock.cMAYBE_CONTINUE(repeat,inode->i_dev);
inode237fs/isofs/rock.cstruct inode * inode){
inode242fs/isofs/rock.cif (!inode->i_sb->u.isofs_sb.s_rock) return 0;
inode248fs/isofs/rock.cstruct inode * reloc;
inode277fs/isofs/rock.cinode->i_mode  = isonum_733(rr->u.PX.mode);
inode278fs/isofs/rock.cinode->i_nlink = isonum_733(rr->u.PX.n_links);
inode279fs/isofs/rock.cinode->i_uid   = isonum_733(rr->u.PX.uid);
inode280fs/isofs/rock.cinode->i_gid   = isonum_733(rr->u.PX.gid);
inode286fs/isofs/rock.cinode->i_rdev = ((high << 8) | (low & 0xff)) & 0xffff;
inode291fs/isofs/rock.cif(rr->u.TF.flags & TF_CREATE) inode->i_ctime = iso_date(rr->u.TF.times[cnt++].time, 0);
inode292fs/isofs/rock.cif(rr->u.TF.flags & TF_MODIFY) inode->i_mtime = iso_date(rr->u.TF.times[cnt++].time, 0);
inode293fs/isofs/rock.cif(rr->u.TF.flags & TF_ACCESS) inode->i_atime = iso_date(rr->u.TF.times[cnt++].time, 0);
inode303fs/isofs/rock.cinode->i_size += slp->len;
inode306fs/isofs/rock.cinode->i_size += 1;
inode309fs/isofs/rock.cinode->i_size += 2;
inode312fs/isofs/rock.cinode->i_size += 1;
inode321fs/isofs/rock.cinode->i_size += 1;
inode330fs/isofs/rock.cprintk("RR CL (%x)\n",inode->i_ino);
inode332fs/isofs/rock.cinode->u.isofs_i.i_first_extent = isonum_733(rr->u.CL.location) <<
inode334fs/isofs/rock.creloc = iget(inode->i_sb, inode->u.isofs_i.i_first_extent << ISOFS_BUFFER_BITS);
inode335fs/isofs/rock.cinode->i_mode = reloc->i_mode;
inode336fs/isofs/rock.cinode->i_nlink = reloc->i_nlink;
inode337fs/isofs/rock.cinode->i_uid = reloc->i_uid;
inode338fs/isofs/rock.cinode->i_gid = reloc->i_gid;
inode339fs/isofs/rock.cinode->i_rdev = reloc->i_rdev;
inode340fs/isofs/rock.cinode->i_size = reloc->i_size;
inode341fs/isofs/rock.cinode->i_atime = reloc->i_atime;
inode342fs/isofs/rock.cinode->i_ctime = reloc->i_ctime;
inode343fs/isofs/rock.cinode->i_mtime = reloc->i_mtime;
inode351fs/isofs/rock.cMAYBE_CONTINUE(repeat,inode->i_dev);
inode362fs/isofs/rock.cchar * get_rock_ridge_symlink(struct inode * inode)
inode375fs/isofs/rock.cif (!inode->i_sb->u.isofs_sb.s_rock)
inode380fs/isofs/rock.cblock = inode->i_ino >> ISOFS_BUFFER_BITS;
inode381fs/isofs/rock.cif (!(bh=bread(inode->i_dev,block, ISOFS_BUFFER_SIZE)))
inode384fs/isofs/rock.cpnt = ((char *) bh->b_data) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1));
inode388fs/isofs/rock.cif ((inode->i_ino & (ISOFS_BUFFER_SIZE - 1)) + *pnt > ISOFS_BUFFER_SIZE){
inode392fs/isofs/rock.cif (!(bh = bread(inode->i_dev,++block, ISOFS_BUFFER_SIZE)))
inode395fs/isofs/rock.cpnt = ((char *) cpnt) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1));
inode427fs/isofs/rock.crpnt = (char *) kmalloc (inode->i_size +1, GFP_KERNEL);
inode458fs/isofs/rock.cMAYBE_CONTINUE(repeat,inode->i_dev);
inode20fs/isofs/symlink.cstatic int isofs_readlink(struct inode *, char *, int);
inode21fs/isofs/symlink.cstatic int isofs_follow_link(struct inode *, struct inode *, int, int, struct inode **);
inode44fs/isofs/symlink.cstatic int isofs_follow_link(struct inode * dir, struct inode * inode,
inode45fs/isofs/symlink.cint flag, int mode, struct inode ** res_inode)
inode54fs/isofs/symlink.cif (!inode) {
inode59fs/isofs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode61fs/isofs/symlink.c*res_inode = inode;
inode65fs/isofs/symlink.c!(pnt = get_rock_ridge_symlink(inode))) {
inode67fs/isofs/symlink.ciput(inode);
inode71fs/isofs/symlink.ciput(inode);
inode79fs/isofs/symlink.cstatic int isofs_readlink(struct inode * inode, char * buffer, int buflen)
inode85fs/isofs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode86fs/isofs/symlink.ciput(inode);
inode92fs/isofs/symlink.cpnt = get_rock_ridge_symlink(inode);
inode94fs/isofs/symlink.ciput(inode);
inode142fs/minix/bitmap.cvoid minix_free_inode(struct inode * inode)
inode146fs/minix/bitmap.cif (!inode)
inode148fs/minix/bitmap.cif (!inode->i_dev) {
inode152fs/minix/bitmap.cif (inode->i_count != 1) {
inode153fs/minix/bitmap.cprintk("free_inode: inode has count=%d\n",inode->i_count);
inode156fs/minix/bitmap.cif (inode->i_nlink) {
inode157fs/minix/bitmap.cprintk("free_inode: inode has nlink=%d\n",inode->i_nlink);
inode160fs/minix/bitmap.cif (!inode->i_sb) {
inode164fs/minix/bitmap.cif (inode->i_ino < 1 || inode->i_ino >= inode->i_sb->u.minix_sb.s_ninodes) {
inode168fs/minix/bitmap.cif (!(bh=inode->i_sb->u.minix_sb.s_imap[inode->i_ino>>13])) {
inode172fs/minix/bitmap.cif (clear_bit(inode->i_ino&8191,bh->b_data))
inode173fs/minix/bitmap.cprintk("free_inode: bit %d already cleared.\n",inode->i_ino);
inode175fs/minix/bitmap.cclear_inode(inode);
inode178fs/minix/bitmap.cstruct inode * minix_new_inode(const struct inode * dir)
inode181fs/minix/bitmap.cstruct inode * inode;
inode185fs/minix/bitmap.cif (!dir || !(inode = get_empty_inode()))
inode188fs/minix/bitmap.cinode->i_sb = sb;
inode189fs/minix/bitmap.cinode->i_flags = inode->i_sb->s_flags;
inode192fs/minix/bitmap.cif ((bh = inode->i_sb->u.minix_sb.s_imap[i]) != NULL)
inode196fs/minix/bitmap.ciput(inode);
inode201fs/minix/bitmap.ciput(inode);
inode206fs/minix/bitmap.cif (!j || j >= inode->i_sb->u.minix_sb.s_ninodes) {
inode207fs/minix/bitmap.ciput(inode);
inode210fs/minix/bitmap.cinode->i_count = 1;
inode211fs/minix/bitmap.cinode->i_nlink = 1;
inode212fs/minix/bitmap.cinode->i_dev = sb->s_dev;
inode213fs/minix/bitmap.cinode->i_uid = current->euid;
inode214fs/minix/bitmap.cinode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid;
inode215fs/minix/bitmap.cinode->i_dirt = 1;
inode216fs/minix/bitmap.cinode->i_ino = j;
inode217fs/minix/bitmap.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode218fs/minix/bitmap.cinode->i_op = NULL;
inode219fs/minix/bitmap.cinode->i_blocks = inode->i_blksize = 0;
inode220fs/minix/bitmap.creturn inode;
inode16fs/minix/dir.cstatic int minix_dir_read(struct inode * inode, struct file * filp, char * buf, int count)
inode21fs/minix/dir.cstatic int minix_readdir(struct inode *, struct file *, struct dirent *, int);
inode57fs/minix/dir.cstatic int minix_readdir(struct inode * inode, struct file * filp,
inode66fs/minix/dir.cif (!inode || !inode->i_sb || !S_ISDIR(inode->i_mode))
inode68fs/minix/dir.cinfo = &inode->i_sb->u.minix_sb;
inode71fs/minix/dir.cwhile (filp->f_pos < inode->i_size) {
inode73fs/minix/dir.cbh = minix_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0);
inode78fs/minix/dir.cwhile (offset < 1024 && filp->f_pos < inode->i_size) {
inode82fs/minix/dir.cif (de->inode) {
inode89fs/minix/dir.cput_fs_long(de->inode,&dirent->d_ino);
inode28fs/minix/file.cstatic int minix_file_read(struct inode *, struct file *, char *, int);
inode29fs/minix/file.cstatic int minix_file_write(struct inode *, struct file *, char *, int);
inode66fs/minix/file.cstatic int minix_file_read(struct inode * inode, struct file * filp, char * buf, int count)
inode76fs/minix/file.cif (!inode) {
inode80fs/minix/file.cif (!S_ISREG(inode->i_mode)) {
inode81fs/minix/file.cprintk("minix_file_read: mode = %07o\n",inode->i_mode);
inode85fs/minix/file.csize = inode->i_size;
inode101fs/minix/file.cblocks += read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9);
inode121fs/minix/file.c*bhb = minix_getblk(inode, block++, 0);
inode180fs/minix/file.cif (!IS_RDONLY(inode)) {
inode181fs/minix/file.cinode->i_atime = CURRENT_TIME;
inode182fs/minix/file.cinode->i_dirt = 1;
inode187fs/minix/file.cstatic int minix_file_write(struct inode * inode, struct file * filp, char * buf, int count)
inode194fs/minix/file.cif (!inode) {
inode198fs/minix/file.cif (!S_ISREG(inode->i_mode)) {
inode199fs/minix/file.cprintk("minix_file_write: mode = %07o\n",inode->i_mode);
inode207fs/minix/file.cpos = inode->i_size;
inode212fs/minix/file.cbh = minix_getblk(inode,pos/BLOCK_SIZE,1);
inode233fs/minix/file.cif (pos > inode->i_size) {
inode234fs/minix/file.cinode->i_size = pos;
inode235fs/minix/file.cinode->i_dirt = 1;
inode244fs/minix/file.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode246fs/minix/file.cinode->i_dirt = 1;
inode18fs/minix/inode.cvoid minix_put_inode(struct inode *inode)
inode20fs/minix/inode.cif (inode->i_nlink)
inode22fs/minix/inode.cinode->i_size = 0;
inode23fs/minix/inode.cminix_truncate(inode);
inode24fs/minix/inode.cminix_free_inode(inode);
inode148fs/minix/inode.c#define inode_bmap(inode,nr) ((inode)->u.minix_i.i_data[(nr)])
inode161fs/minix/inode.cint minix_bmap(struct inode * inode,int block)
inode174fs/minix/inode.creturn inode_bmap(inode,block);
inode177fs/minix/inode.ci = inode_bmap(inode,7);
inode180fs/minix/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block);
inode183fs/minix/inode.ci = inode_bmap(inode,8);
inode186fs/minix/inode.ci = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>9);
inode189fs/minix/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 511);
inode192fs/minix/inode.cstatic struct buffer_head * inode_getblk(struct inode * inode, int nr, int create)
inode198fs/minix/inode.cp = inode->u.minix_i.i_data + nr;
inode202fs/minix/inode.cresult = getblk(inode->i_dev, tmp, BLOCK_SIZE);
inode210fs/minix/inode.ctmp = minix_new_block(inode->i_sb);
inode213fs/minix/inode.cresult = getblk(inode->i_dev, tmp, BLOCK_SIZE);
inode215fs/minix/inode.cminix_free_block(inode->i_sb,tmp);
inode220fs/minix/inode.cinode->i_ctime = CURRENT_TIME;
inode221fs/minix/inode.cinode->i_dirt = 1;
inode225fs/minix/inode.cstatic struct buffer_head * block_getblk(struct inode * inode, 
inode258fs/minix/inode.ctmp = minix_new_block(inode->i_sb);
inode265fs/minix/inode.cminix_free_block(inode->i_sb,tmp);
inode275fs/minix/inode.cstruct buffer_head * minix_getblk(struct inode * inode, int block, int create)
inode288fs/minix/inode.creturn inode_getblk(inode,block,create);
inode291fs/minix/inode.cbh = inode_getblk(inode,7,create);
inode292fs/minix/inode.creturn block_getblk(inode, bh, block, create);
inode295fs/minix/inode.cbh = inode_getblk(inode,8,create);
inode296fs/minix/inode.cbh = block_getblk(inode, bh, block>>9, create);
inode297fs/minix/inode.creturn block_getblk(inode, bh, block & 511, create);
inode300fs/minix/inode.cstruct buffer_head * minix_bread(struct inode * inode, int block, int create)
inode304fs/minix/inode.cbh = minix_getblk(inode,block,create);
inode315fs/minix/inode.cvoid minix_read_inode(struct inode * inode)
inode321fs/minix/inode.cino = inode->i_ino;
inode322fs/minix/inode.cinode->i_op = NULL;
inode323fs/minix/inode.cinode->i_mode = 0;
inode324fs/minix/inode.cif (!ino || ino >= inode->i_sb->u.minix_sb.s_ninodes) {
inode326fs/minix/inode.cinode->i_dev, ino);
inode329fs/minix/inode.cblock = 2 + inode->i_sb->u.minix_sb.s_imap_blocks +
inode330fs/minix/inode.cinode->i_sb->u.minix_sb.s_zmap_blocks +
inode332fs/minix/inode.cif (!(bh=bread(inode->i_dev,block, BLOCK_SIZE))) {
inode334fs/minix/inode.cinode->i_dev);
inode339fs/minix/inode.cinode->i_mode = raw_inode->i_mode;
inode340fs/minix/inode.cinode->i_uid = raw_inode->i_uid;
inode341fs/minix/inode.cinode->i_gid = raw_inode->i_gid;
inode342fs/minix/inode.cinode->i_nlink = raw_inode->i_nlinks;
inode343fs/minix/inode.cinode->i_size = raw_inode->i_size;
inode344fs/minix/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = raw_inode->i_time;
inode345fs/minix/inode.cinode->i_blocks = inode->i_blksize = 0;
inode346fs/minix/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode347fs/minix/inode.cinode->i_rdev = raw_inode->i_zone[0];
inode349fs/minix/inode.cinode->u.minix_i.i_data[block] = raw_inode->i_zone[block];
inode351fs/minix/inode.cif (S_ISREG(inode->i_mode))
inode352fs/minix/inode.cinode->i_op = &minix_file_inode_operations;
inode353fs/minix/inode.celse if (S_ISDIR(inode->i_mode))
inode354fs/minix/inode.cinode->i_op = &minix_dir_inode_operations;
inode355fs/minix/inode.celse if (S_ISLNK(inode->i_mode))
inode356fs/minix/inode.cinode->i_op = &minix_symlink_inode_operations;
inode357fs/minix/inode.celse if (S_ISCHR(inode->i_mode))
inode358fs/minix/inode.cinode->i_op = &chrdev_inode_operations;
inode359fs/minix/inode.celse if (S_ISBLK(inode->i_mode))
inode360fs/minix/inode.cinode->i_op = &blkdev_inode_operations;
inode361fs/minix/inode.celse if (S_ISFIFO(inode->i_mode))
inode362fs/minix/inode.cinit_fifo(inode);
inode365fs/minix/inode.cvoid minix_write_inode(struct inode * inode)
inode371fs/minix/inode.cino = inode->i_ino;
inode372fs/minix/inode.cif (!ino || ino >= inode->i_sb->u.minix_sb.s_ninodes) {
inode374fs/minix/inode.cinode->i_dev, ino);
inode375fs/minix/inode.cinode->i_dirt = 0;
inode378fs/minix/inode.cblock = 2 + inode->i_sb->u.minix_sb.s_imap_blocks + inode->i_sb->u.minix_sb.s_zmap_blocks +
inode380fs/minix/inode.cif (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) {
inode382fs/minix/inode.cinode->i_dirt = 0;
inode387fs/minix/inode.craw_inode->i_mode = inode->i_mode;
inode388fs/minix/inode.craw_inode->i_uid = inode->i_uid;
inode389fs/minix/inode.craw_inode->i_gid = inode->i_gid;
inode390fs/minix/inode.craw_inode->i_nlinks = inode->i_nlink;
inode391fs/minix/inode.craw_inode->i_size = inode->i_size;
inode392fs/minix/inode.craw_inode->i_time = inode->i_mtime;
inode393fs/minix/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode394fs/minix/inode.craw_inode->i_zone[0] = inode->i_rdev;
inode396fs/minix/inode.craw_inode->i_zone[block] = inode->u.minix_i.i_data[block];
inode397fs/minix/inode.cinode->i_dirt=0;
inode52fs/minix/namei.cif (!de->inode || len > info->s_namelen)
inode68fs/minix/namei.cstatic struct buffer_head * minix_find_entry(struct inode * dir,
inode111fs/minix/namei.cint minix_lookup(struct inode * dir,const char * name, int len,
inode112fs/minix/namei.cstruct inode ** result)
inode129fs/minix/namei.cino = de->inode;
inode149fs/minix/namei.cstatic int minix_add_entry(struct inode * dir,
inode185fs/minix/namei.cde->inode = 0;
inode190fs/minix/namei.cif (de->inode) {
inode214fs/minix/namei.cint minix_create(struct inode * dir,const char * name, int len, int mode,
inode215fs/minix/namei.cstruct inode ** result)
inode218fs/minix/namei.cstruct inode * inode;
inode225fs/minix/namei.cinode = minix_new_inode(dir);
inode226fs/minix/namei.cif (!inode) {
inode230fs/minix/namei.cinode->i_op = &minix_file_inode_operations;
inode231fs/minix/namei.cinode->i_mode = mode;
inode232fs/minix/namei.cinode->i_dirt = 1;
inode235fs/minix/namei.cinode->i_nlink--;
inode236fs/minix/namei.cinode->i_dirt = 1;
inode237fs/minix/namei.ciput(inode);
inode241fs/minix/namei.cde->inode = inode->i_ino;
inode245fs/minix/namei.c*result = inode;
inode249fs/minix/namei.cint minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev)
inode252fs/minix/namei.cstruct inode * inode;
inode264fs/minix/namei.cinode = minix_new_inode(dir);
inode265fs/minix/namei.cif (!inode) {
inode269fs/minix/namei.cinode->i_uid = current->euid;
inode270fs/minix/namei.cinode->i_mode = mode;
inode271fs/minix/namei.cinode->i_op = NULL;
inode272fs/minix/namei.cif (S_ISREG(inode->i_mode))
inode273fs/minix/namei.cinode->i_op = &minix_file_inode_operations;
inode274fs/minix/namei.celse if (S_ISDIR(inode->i_mode)) {
inode275fs/minix/namei.cinode->i_op = &minix_dir_inode_operations;
inode277fs/minix/namei.cinode->i_mode |= S_ISGID;
inode279fs/minix/namei.celse if (S_ISLNK(inode->i_mode))
inode280fs/minix/namei.cinode->i_op = &minix_symlink_inode_operations;
inode281fs/minix/namei.celse if (S_ISCHR(inode->i_mode))
inode282fs/minix/namei.cinode->i_op = &chrdev_inode_operations;
inode283fs/minix/namei.celse if (S_ISBLK(inode->i_mode))
inode284fs/minix/namei.cinode->i_op = &blkdev_inode_operations;
inode285fs/minix/namei.celse if (S_ISFIFO(inode->i_mode))
inode286fs/minix/namei.cinit_fifo(inode);
inode288fs/minix/namei.cinode->i_rdev = rdev;
inode289fs/minix/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode290fs/minix/namei.cinode->i_dirt = 1;
inode293fs/minix/namei.cinode->i_nlink--;
inode294fs/minix/namei.cinode->i_dirt = 1;
inode295fs/minix/namei.ciput(inode);
inode299fs/minix/namei.cde->inode = inode->i_ino;
inode303fs/minix/namei.ciput(inode);
inode307fs/minix/namei.cint minix_mkdir(struct inode * dir, const char * name, int len, int mode)
inode310fs/minix/namei.cstruct inode * inode;
inode330fs/minix/namei.cinode = minix_new_inode(dir);
inode331fs/minix/namei.cif (!inode) {
inode335fs/minix/namei.cinode->i_op = &minix_dir_inode_operations;
inode336fs/minix/namei.cinode->i_size = 2 * info->s_dirsize;
inode337fs/minix/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode338fs/minix/namei.cdir_block = minix_bread(inode,0,1);
inode341fs/minix/namei.cinode->i_nlink--;
inode342fs/minix/namei.cinode->i_dirt = 1;
inode343fs/minix/namei.ciput(inode);
inode347fs/minix/namei.cde->inode=inode->i_ino;
inode350fs/minix/namei.cde->inode = dir->i_ino;
inode352fs/minix/namei.cinode->i_nlink = 2;
inode355fs/minix/namei.cinode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask);
inode357fs/minix/namei.cinode->i_mode |= S_ISGID;
inode358fs/minix/namei.cinode->i_dirt = 1;
inode362fs/minix/namei.cinode->i_nlink=0;
inode363fs/minix/namei.ciput(inode);
inode366fs/minix/namei.cde->inode = inode->i_ino;
inode371fs/minix/namei.ciput(inode);
inode379fs/minix/namei.cstatic int empty_dir(struct inode * inode)
inode386fs/minix/namei.cif (!inode || !inode->i_sb)
inode388fs/minix/namei.cinfo = &inode->i_sb->u.minix_sb;
inode392fs/minix/namei.cif (inode->i_size & (info->s_dirsize-1))
inode394fs/minix/namei.cif (inode->i_size < offset)
inode396fs/minix/namei.cbh = minix_bread(inode,0,0);
inode400fs/minix/namei.cif (!de->inode || strcmp(de->name,"."))
inode403fs/minix/namei.cif (!de->inode || strcmp(de->name,".."))
inode405fs/minix/namei.cwhile (block*BLOCK_SIZE+offset < inode->i_size) {
inode407fs/minix/namei.cbh = minix_bread(inode,block,0);
inode415fs/minix/namei.cif (de->inode) {
inode430fs/minix/namei.cprintk("Bad directory on device %04x\n",inode->i_dev);
inode434fs/minix/namei.cint minix_rmdir(struct inode * dir, const char * name, int len)
inode437fs/minix/namei.cstruct inode * inode;
inode441fs/minix/namei.cinode = NULL;
inode447fs/minix/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode450fs/minix/namei.cinode->i_uid != current->euid)
inode452fs/minix/namei.cif (inode->i_dev != dir->i_dev)
inode454fs/minix/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode456fs/minix/namei.cif (!S_ISDIR(inode->i_mode)) {
inode460fs/minix/namei.cif (!empty_dir(inode)) {
inode464fs/minix/namei.cif (inode->i_count > 1) {
inode468fs/minix/namei.cif (inode->i_nlink != 2)
inode469fs/minix/namei.cprintk("empty directory has nlink!=2 (%d)\n",inode->i_nlink);
inode470fs/minix/namei.cde->inode = 0;
inode472fs/minix/namei.cinode->i_nlink=0;
inode473fs/minix/namei.cinode->i_dirt=1;
inode480fs/minix/namei.ciput(inode);
inode485fs/minix/namei.cint minix_unlink(struct inode * dir, const char * name, int len)
inode488fs/minix/namei.cstruct inode * inode;
inode494fs/minix/namei.cinode = NULL;
inode498fs/minix/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode500fs/minix/namei.cif (de->inode != inode->i_ino) {
inode501fs/minix/namei.ciput(inode);
inode509fs/minix/namei.ccurrent->euid != inode->i_uid &&
inode512fs/minix/namei.cif (S_ISDIR(inode->i_mode))
inode514fs/minix/namei.cif (!inode->i_nlink) {
inode516fs/minix/namei.cinode->i_dev,inode->i_ino,inode->i_nlink);
inode517fs/minix/namei.cinode->i_nlink=1;
inode519fs/minix/namei.cde->inode = 0;
inode523fs/minix/namei.cinode->i_nlink--;
inode524fs/minix/namei.cinode->i_ctime = CURRENT_TIME;
inode525fs/minix/namei.cinode->i_dirt = 1;
inode529fs/minix/namei.ciput(inode);
inode534fs/minix/namei.cint minix_symlink(struct inode * dir, const char * name, int len, const char * symname)
inode537fs/minix/namei.cstruct inode * inode = NULL;
inode542fs/minix/namei.cif (!(inode = minix_new_inode(dir))) {
inode546fs/minix/namei.cinode->i_mode = S_IFLNK | 0777;
inode547fs/minix/namei.cinode->i_op = &minix_symlink_inode_operations;
inode548fs/minix/namei.cname_block = minix_bread(inode,0,1);
inode551fs/minix/namei.cinode->i_nlink--;
inode552fs/minix/namei.cinode->i_dirt = 1;
inode553fs/minix/namei.ciput(inode);
inode562fs/minix/namei.cinode->i_size = i;
inode563fs/minix/namei.cinode->i_dirt = 1;
inode566fs/minix/namei.cinode->i_nlink--;
inode567fs/minix/namei.cinode->i_dirt = 1;
inode568fs/minix/namei.ciput(inode);
inode575fs/minix/namei.cinode->i_nlink--;
inode576fs/minix/namei.cinode->i_dirt = 1;
inode577fs/minix/namei.ciput(inode);
inode581fs/minix/namei.cde->inode = inode->i_ino;
inode585fs/minix/namei.ciput(inode);
inode589fs/minix/namei.cint minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len)
inode618fs/minix/namei.cde->inode = oldinode->i_ino;
inode629fs/minix/namei.cstatic int subdir(struct inode * new, struct inode * old)
inode654fs/minix/namei.c(((struct minix_dir_entry *) ((buffer)+info->s_dirsize))->inode)
inode666fs/minix/namei.cstatic int do_minix_rename(struct inode * old_dir, const char * old_name, int old_len,
inode667fs/minix/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode669fs/minix/namei.cstruct inode * old_inode, * new_inode;
inode692fs/minix/namei.cold_inode = iget(old_dir->i_sb, old_de->inode);
inode702fs/minix/namei.cnew_inode = iget(new_dir->i_sb, new_de->inode);
inode754fs/minix/namei.cif (new_inode && (new_de->inode != new_inode->i_ino))
inode756fs/minix/namei.cif (new_de->inode && !new_inode)
inode758fs/minix/namei.cif (old_de->inode != old_inode->i_ino)
inode761fs/minix/namei.cold_de->inode = 0;
inode762fs/minix/namei.cnew_de->inode = old_inode->i_ino;
inode803fs/minix/namei.cint minix_rename(struct inode * old_dir, const char * old_name, int old_len,
inode804fs/minix/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode17fs/minix/symlink.cstatic int minix_readlink(struct inode *, char *, int);
inode18fs/minix/symlink.cstatic int minix_follow_link(struct inode *, struct inode *, int, int, struct inode **);
inode41fs/minix/symlink.cstatic int minix_follow_link(struct inode * dir, struct inode * inode,
inode42fs/minix/symlink.cint flag, int mode, struct inode ** res_inode)
inode52fs/minix/symlink.cif (!inode) {
inode56fs/minix/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode58fs/minix/symlink.c*res_inode = inode;
inode62fs/minix/symlink.ciput(inode);
inode66fs/minix/symlink.cif (!(bh = minix_bread(inode, 0, 0))) {
inode67fs/minix/symlink.ciput(inode);
inode71fs/minix/symlink.ciput(inode);
inode79fs/minix/symlink.cstatic int minix_readlink(struct inode * inode, char * buffer, int buflen)
inode85fs/minix/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode86fs/minix/symlink.ciput(inode);
inode91fs/minix/symlink.cbh = minix_bread(inode, 0, 0);
inode92fs/minix/symlink.ciput(inode);
inode27fs/minix/truncate.cstatic int trunc_direct(struct inode * inode)
inode33fs/minix/truncate.c#define DIRECT_BLOCK ((inode->i_size + 1023) >> 10)
inode37fs/minix/truncate.cp = i + inode->u.minix_i.i_data;
inode40fs/minix/truncate.cbh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE);
inode51fs/minix/truncate.cinode->i_dirt = 1;
inode53fs/minix/truncate.cminix_free_block(inode->i_sb,tmp);
inode58fs/minix/truncate.cstatic int trunc_indirect(struct inode * inode, int offset, unsigned short * p)
inode70fs/minix/truncate.cind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode89fs/minix/truncate.cbh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE);
inode102fs/minix/truncate.cminix_free_block(inode->i_sb,tmp);
inode114fs/minix/truncate.cminix_free_block(inode->i_sb,tmp);
inode120fs/minix/truncate.cstatic int trunc_dindirect(struct inode * inode)
inode128fs/minix/truncate.cp = 8 + inode->u.minix_i.i_data;
inode131fs/minix/truncate.cdind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode147fs/minix/truncate.cretry |= trunc_indirect(inode,7+512+(i<<9),dind);
inode160fs/minix/truncate.cinode->i_dirt = 1;
inode161fs/minix/truncate.cminix_free_block(inode->i_sb,tmp);
inode167fs/minix/truncate.cvoid minix_truncate(struct inode * inode)
inode171fs/minix/truncate.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode172fs/minix/truncate.cS_ISLNK(inode->i_mode)))
inode175fs/minix/truncate.cretry = trunc_direct(inode);
inode176fs/minix/truncate.cretry |= trunc_indirect(inode,7,inode->u.minix_i.i_data+7);
inode177fs/minix/truncate.cretry |= trunc_dindirect(inode);
inode183fs/minix/truncate.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode184fs/minix/truncate.cinode->i_dirt = 1;
inode17fs/msdos/dir.cstatic int msdos_dir_read(struct inode * inode,struct file * filp, char * buf,int count)
inode22fs/msdos/dir.cstatic int msdos_readdir(struct inode *inode,struct file *filp,
inode57fs/msdos/dir.cstatic int msdos_readdir(struct inode *inode,struct file *filp,
inode65fs/msdos/dir.cif (!inode || !S_ISDIR(inode->i_mode)) return -EBADF;
inode66fs/msdos/dir.cif (inode->i_ino == MSDOS_ROOT_INO) {
inode81fs/msdos/dir.cwhile ((ino = msdos_get_entry(inode,&filp->f_pos,&bh,&de)) > -1) {
inode101fs/msdos/dir.cino = inode->i_ino;
inode103fs/msdos/dir.cino = msdos_parent_ino(inode,0);
inode120fs/msdos/fat.cvoid cache_lookup(struct inode *inode,int cluster,int *f_clu,int *d_clu)
inode125fs/msdos/fat.cprintk("cache lookup: <%d,%d> %d (%d,%d) -> ",inode->i_dev,inode->i_ino,cluster,
inode129fs/msdos/fat.cif (inode->i_dev == walk->device && walk->ino == inode->i_ino &&
inode160fs/msdos/fat.cvoid cache_add(struct inode *inode,int f_clu,int d_clu)
inode165fs/msdos/fat.cprintk("cache add: <%d,%d> %d (%d)\n",inode->i_dev,inode->i_ino,f_clu,d_clu);
inode169fs/msdos/fat.cif (inode->i_dev == walk->device && walk->ino == inode->i_ino &&
inode173fs/msdos/fat.ccache_inval_inode(inode);
inode186fs/msdos/fat.cwalk->device = inode->i_dev;
inode187fs/msdos/fat.cwalk->ino = inode->i_ino;
inode202fs/msdos/fat.cvoid cache_inval_inode(struct inode *inode)
inode207fs/msdos/fat.cif (walk->device == inode->i_dev && walk->ino == inode->i_ino)
inode221fs/msdos/fat.cint get_cluster(struct inode *inode,int cluster)
inode225fs/msdos/fat.cif (!(this = MSDOS_I(inode)->i_start)) return 0;
inode228fs/msdos/fat.cfor (cache_lookup(inode,cluster,&count,&this); count < cluster;
inode230fs/msdos/fat.cif ((this = fat_access(inode->i_sb,this,-1)) == -1) return 0;
inode233fs/msdos/fat.ccache_add(inode,cluster,this);
inode238fs/msdos/fat.cint msdos_smap(struct inode *inode,int sector)
inode243fs/msdos/fat.csb = MSDOS_SB(inode->i_sb);
inode244fs/msdos/fat.cif (inode->i_ino == MSDOS_ROOT_INO || (S_ISDIR(inode->i_mode) &&
inode245fs/msdos/fat.c!MSDOS_I(inode)->i_start)) {
inode251fs/msdos/fat.cif (!(cluster = get_cluster(inode,cluster))) return 0;
inode259fs/msdos/fat.cint fat_free(struct inode *inode,int skip)
inode263fs/msdos/fat.cif (!(this = MSDOS_I(inode)->i_start)) return 0;
inode267fs/msdos/fat.cif ((this = fat_access(inode->i_sb,this,-1)) == -1) return 0;
inode274fs/msdos/fat.cfat_access(inode->i_sb,last,MSDOS_SB(inode->i_sb)->fat_bits ==
inode277fs/msdos/fat.cMSDOS_I(inode)->i_start = 0;
inode278fs/msdos/fat.cinode->i_dirt = 1;
inode280fs/msdos/fat.clock_fat(inode->i_sb);
inode282fs/msdos/fat.cif (!(this = fat_access(inode->i_sb,this,0))) {
inode283fs/msdos/fat.cfs_panic(inode->i_sb,"fat_free: deleting beyond EOF");
inode286fs/msdos/fat.cif (MSDOS_SB(inode->i_sb)->free_clusters != -1)
inode287fs/msdos/fat.cMSDOS_SB(inode->i_sb)->free_clusters++;
inode288fs/msdos/fat.cinode->i_blocks -= MSDOS_SB(inode->i_sb)->cluster_size;
inode290fs/msdos/fat.cunlock_fat(inode->i_sb);
inode291fs/msdos/fat.ccache_inval_inode(inode);
inode22fs/msdos/file.cstatic int msdos_file_read(struct inode *inode,struct file *filp,char *buf,
inode24fs/msdos/file.cstatic int msdos_file_write(struct inode *inode,struct file *filp,char *buf,
inode80fs/msdos/file.cstatic int msdos_file_read(struct inode *inode,struct file *filp,char *buf,
inode90fs/msdos/file.cif (!inode) {
inode94fs/msdos/file.cif (!S_ISREG(inode->i_mode)) {
inode95fs/msdos/file.cprintk("msdos_file_read: mode = %07o\n",inode->i_mode);
inode98fs/msdos/file.cif (filp->f_pos >= inode->i_size || count <= 0) return 0;
inode100fs/msdos/file.cwhile ((left = MIN(inode->i_size-filp->f_pos,count-(buf-start))) > 0){
inode101fs/msdos/file.cif (!(sector = msdos_smap(inode,filp->f_pos >> SECTOR_BITS)))
inode104fs/msdos/file.cif (!(bh = msdos_sread(inode->i_dev,sector,&data))) break;
inode106fs/msdos/file.cif (MSDOS_I(inode)->i_binary) {
inode116fs/msdos/file.cfilp->f_pos = inode->i_size;
inode129fs/msdos/file.cstatic int msdos_file_write(struct inode *inode,struct file *filp,char *buf,
inode138fs/msdos/file.cif (!inode) {
inode142fs/msdos/file.cif (!S_ISREG(inode->i_mode)) {
inode143fs/msdos/file.cprintk("msdos_file_write: mode = %07o\n",inode->i_mode);
inode150fs/msdos/file.cif (filp->f_flags & O_APPEND) filp->f_pos = inode->i_size;
inode154fs/msdos/file.cwhile (!(sector = msdos_smap(inode,filp->f_pos >> SECTOR_BITS)))
inode155fs/msdos/file.cif ((error = msdos_add_cluster(inode)) < 0) break;
inode157fs/msdos/file.cmsdos_truncate(inode);
inode162fs/msdos/file.cif (!(bh = msdos_sread(inode->i_dev,sector,&data))) {
inode166fs/msdos/file.cif (MSDOS_I(inode)->i_binary) {
inode193fs/msdos/file.cif (filp->f_pos > inode->i_size) {
inode194fs/msdos/file.cinode->i_size = filp->f_pos;
inode195fs/msdos/file.cinode->i_dirt = 1;
inode200fs/msdos/file.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode201fs/msdos/file.cMSDOS_I(inode)->i_attrs |= ATTR_ARCH;
inode202fs/msdos/file.cinode->i_dirt = 1;
inode207fs/msdos/file.cvoid msdos_truncate(struct inode *inode)
inode211fs/msdos/file.ccluster = SECTOR_SIZE*MSDOS_SB(inode->i_sb)->cluster_size;
inode212fs/msdos/file.c(void) fat_free(inode,(inode->i_size+(cluster-1))/cluster);
inode213fs/msdos/file.cMSDOS_I(inode)->i_attrs |= ATTR_ARCH;
inode214fs/msdos/file.cinode->i_dirt = 1;
inode19fs/msdos/inode.cvoid msdos_put_inode(struct inode *inode)
inode21fs/msdos/inode.cstruct inode *depend;
inode24fs/msdos/inode.cif (inode->i_nlink) {
inode25fs/msdos/inode.cif (MSDOS_I(inode)->i_busy) cache_inval_inode(inode);
inode28fs/msdos/inode.cinode->i_size = 0;
inode29fs/msdos/inode.cmsdos_truncate(inode);
inode30fs/msdos/inode.cdepend = MSDOS_I(inode)->i_depend;
inode31fs/msdos/inode.csb = inode->i_sb;
inode32fs/msdos/inode.cclear_inode(inode);
inode34fs/msdos/inode.cif (MSDOS_I(depend)->i_old != inode) {
inode36fs/msdos/inode.c(int) depend,(int) inode,(int) MSDOS_I(depend)->
inode285fs/msdos/inode.cint msdos_bmap(struct inode *inode,int block)
inode290fs/msdos/inode.csb = MSDOS_SB(inode->i_sb);
inode292fs/msdos/inode.cif (inode->i_ino == MSDOS_ROOT_INO) {
inode298fs/msdos/inode.cif (!(cluster = get_cluster(inode,cluster))) return 0;
inode303fs/msdos/inode.cvoid msdos_read_inode(struct inode *inode)
inode310fs/msdos/inode.cMSDOS_I(inode)->i_busy = 0;
inode311fs/msdos/inode.cMSDOS_I(inode)->i_depend = MSDOS_I(inode)->i_old = NULL;
inode312fs/msdos/inode.cMSDOS_I(inode)->i_binary = 1;
inode313fs/msdos/inode.cinode->i_uid = MSDOS_SB(inode->i_sb)->fs_uid;
inode314fs/msdos/inode.cinode->i_gid = MSDOS_SB(inode->i_sb)->fs_gid;
inode315fs/msdos/inode.cif (inode->i_ino == MSDOS_ROOT_INO) {
inode316fs/msdos/inode.cinode->i_mode = (0777 & ~MSDOS_SB(inode->i_sb)->fs_umask) |
inode318fs/msdos/inode.cinode->i_op = &msdos_dir_inode_operations;
inode319fs/msdos/inode.cinode->i_nlink = msdos_subdirs(inode)+2;
inode321fs/msdos/inode.cinode->i_size = MSDOS_SB(inode->i_sb)->dir_entries*
inode323fs/msdos/inode.cinode->i_blksize = MSDOS_SB(inode->i_sb)->cluster_size*
inode325fs/msdos/inode.cinode->i_blocks = (inode->i_size+inode->i_blksize-1)/
inode326fs/msdos/inode.cinode->i_blksize*MSDOS_SB(inode->i_sb)->cluster_size;
inode327fs/msdos/inode.cMSDOS_I(inode)->i_start = 0;
inode328fs/msdos/inode.cMSDOS_I(inode)->i_attrs = 0;
inode329fs/msdos/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = 0;
inode332fs/msdos/inode.cif (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS,
inode334fs/msdos/inode.cprintk("dev = 0x%04X, ino = %d\n",inode->i_dev,inode->i_ino);
inode338fs/msdos/inode.c[inode->i_ino & (MSDOS_DPB-1)];
inode340fs/msdos/inode.cinode->i_mode = MSDOS_MKMODE(raw_entry->attr,0777 &
inode341fs/msdos/inode.c~MSDOS_SB(inode->i_sb)->fs_umask) | S_IFDIR;
inode342fs/msdos/inode.cinode->i_op = &msdos_dir_inode_operations;
inode343fs/msdos/inode.cMSDOS_I(inode)->i_start = CF_LE_W(raw_entry->start);
inode344fs/msdos/inode.cinode->i_nlink = msdos_subdirs(inode);
inode347fs/msdos/inode.cif (!inode->i_nlink) {
inode348fs/msdos/inode.cprintk("directory %d: i_nlink == 0\n",inode->i_ino);
inode349fs/msdos/inode.cinode->i_nlink = 1;
inode352fs/msdos/inode.cinode->i_size = 0;
inode355fs/msdos/inode.cinode->i_size += SECTOR_SIZE*MSDOS_SB(inode->
inode357fs/msdos/inode.cif (!(this = fat_access(inode->i_sb,this,-1)))
inode359fs/msdos/inode.cinode->i_ino);
inode363fs/msdos/inode.cinode->i_mode = MSDOS_MKMODE(raw_entry->attr,(IS_NOEXEC(inode)
inode364fs/msdos/inode.c? 0666 : 0777) & ~MSDOS_SB(inode->i_sb)->fs_umask) |
inode366fs/msdos/inode.cinode->i_op = MSDOS_CAN_BMAP(MSDOS_SB(inode->i_sb)) ? 
inode369fs/msdos/inode.cMSDOS_I(inode)->i_start = CF_LE_W(raw_entry->start);
inode370fs/msdos/inode.cinode->i_nlink = 1;
inode371fs/msdos/inode.cinode->i_size = CF_LE_L(raw_entry->size);
inode373fs/msdos/inode.cMSDOS_I(inode)->i_binary = is_binary(MSDOS_SB(inode->i_sb)->conversion,
inode375fs/msdos/inode.cMSDOS_I(inode)->i_attrs = raw_entry->attr & ATTR_UNUSED;
inode377fs/msdos/inode.cinode->i_blksize = MSDOS_SB(inode->i_sb)->cluster_size*SECTOR_SIZE;
inode378fs/msdos/inode.cinode->i_blocks = (inode->i_size+inode->i_blksize-1)/
inode379fs/msdos/inode.cinode->i_blksize*MSDOS_SB(inode->i_sb)->cluster_size;
inode380fs/msdos/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime =
inode386fs/msdos/inode.cvoid msdos_write_inode(struct inode *inode)
inode391fs/msdos/inode.cinode->i_dirt = 0;
inode392fs/msdos/inode.cif (inode->i_ino == MSDOS_ROOT_INO || !inode->i_nlink) return;
inode393fs/msdos/inode.cif (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS,
inode395fs/msdos/inode.cprintk("dev = 0x%04X, ino = %d\n",inode->i_dev,inode->i_ino);
inode399fs/msdos/inode.c[inode->i_ino & (MSDOS_DPB-1)];
inode400fs/msdos/inode.cif (S_ISDIR(inode->i_mode)) {
inode406fs/msdos/inode.craw_entry->size = CT_LE_L(inode->i_size);
inode408fs/msdos/inode.craw_entry->attr |= MSDOS_MKATTR(inode->i_mode) |
inode409fs/msdos/inode.cMSDOS_I(inode)->i_attrs;
inode410fs/msdos/inode.craw_entry->start = CT_LE_L(MSDOS_I(inode)->i_start);
inode411fs/msdos/inode.cdate_unix2dos(inode->i_mtime,&raw_entry->time,&raw_entry->date);
inode419fs/msdos/inode.cint msdos_notify_change(int flags,struct inode *inode)
inode424fs/msdos/inode.cif ((flags & NOTIFY_UIDGID) && (inode->i_uid != MSDOS_SB(inode->i_sb)->
inode425fs/msdos/inode.cfs_uid || inode->i_gid != MSDOS_SB(inode->i_sb)->fs_gid)) {
inode426fs/msdos/inode.cinode->i_uid = MSDOS_SB(inode->i_sb)->fs_uid;
inode427fs/msdos/inode.cinode->i_gid = MSDOS_SB(inode->i_sb)->fs_gid;
inode431fs/msdos/inode.creturn MSDOS_SB(inode->i_sb)->quiet ? 0 : error;
inode432fs/msdos/inode.cif (inode->i_mode & ~MSDOS_VALID_MODE) {
inode433fs/msdos/inode.cinode->i_mode &= MSDOS_VALID_MODE;
inode436fs/msdos/inode.cif (IS_NOEXEC(inode) && !S_ISDIR(inode->i_mode))
inode437fs/msdos/inode.cinode->i_mode &= S_IFMT | 0666;
inode438fs/msdos/inode.celse inode->i_mode |= 0111;
inode439fs/msdos/inode.cinode->i_mode = ((inode->i_mode & S_IFMT) | ((((inode->i_mode & S_IRWXU
inode440fs/msdos/inode.c& ~MSDOS_SB(inode->i_sb)->fs_umask) | S_IRUSR) >> 6)*0111)) &
inode441fs/msdos/inode.c~MSDOS_SB(inode->i_sb)->fs_umask;
inode442fs/msdos/inode.creturn MSDOS_SB(inode->i_sb)->quiet ? 0 : error;
inode109fs/msdos/misc.cint msdos_add_cluster(struct inode *inode)
inode115fs/msdos/misc.cif (inode->i_ino == MSDOS_ROOT_INO) return -ENOSPC;
inode116fs/msdos/misc.cif (!MSDOS_SB(inode->i_sb)->free_clusters) return -ENOSPC;
inode117fs/msdos/misc.clock_fat(inode->i_sb);
inode118fs/msdos/misc.climit = MSDOS_SB(inode->i_sb)->clusters;
inode121fs/msdos/misc.cthis = ((count+MSDOS_SB(inode->i_sb)->prev_free) % limit)+2;
inode122fs/msdos/misc.cif (fat_access(inode->i_sb,this,-1) == 0) break;
inode127fs/msdos/misc.cMSDOS_SB(inode->i_sb)->prev_free = (count+MSDOS_SB(inode->i_sb)->
inode130fs/msdos/misc.cMSDOS_SB(inode->i_sb)->free_clusters = 0;
inode131fs/msdos/misc.cunlock_fat(inode->i_sb);
inode134fs/msdos/misc.cfat_access(inode->i_sb,this,MSDOS_SB(inode->i_sb)->fat_bits == 12 ?
inode136fs/msdos/misc.cif (MSDOS_SB(inode->i_sb)->free_clusters != -1)
inode137fs/msdos/misc.cMSDOS_SB(inode->i_sb)->free_clusters--;
inode138fs/msdos/misc.cunlock_fat(inode->i_sb);
inode140fs/msdos/misc.cprintk("set to %x\n",fat_access(inode->i_sb,this,-1));
inode143fs/msdos/misc.cif ((current = MSDOS_I(inode)->i_start) != 0) {
inode144fs/msdos/misc.ccache_lookup(inode,0x7fffffff,&last,&current);
inode146fs/msdos/misc.cif (!(current = fat_access(inode->i_sb,
inode148fs/msdos/misc.cfs_panic(inode->i_sb,"File without EOF");
inode155fs/msdos/misc.cif (last) fat_access(inode->i_sb,last,this);
inode157fs/msdos/misc.cMSDOS_I(inode)->i_start = this;
inode158fs/msdos/misc.cinode->i_dirt = 1;
inode161fs/msdos/misc.cif (last) printk("next set to %d\n",fat_access(inode->i_sb,last,-1));
inode163fs/msdos/misc.cfor (current = 0; current < MSDOS_SB(inode->i_sb)->cluster_size;
inode165fs/msdos/misc.csector = MSDOS_SB(inode->i_sb)->data_start+(this-2)*
inode166fs/msdos/misc.cMSDOS_SB(inode->i_sb)->cluster_size+current;
inode170fs/msdos/misc.cif (current < MSDOS_SB(inode->i_sb)->cluster_size-1 &&
inode172fs/msdos/misc.cif (!(bh = getblk(inode->i_dev,sector >> 1,
inode182fs/msdos/misc.cif (!(bh = msdos_sread(inode->i_dev,sector,
inode192fs/msdos/misc.cinode->i_blocks += MSDOS_SB(inode->i_sb)->cluster_size;
inode193fs/msdos/misc.cif (S_ISDIR(inode->i_mode)) {
inode194fs/msdos/misc.cif (inode->i_size & (SECTOR_SIZE-1)) {
inode195fs/msdos/misc.cfs_panic(inode->i_sb,"Odd directory size");
inode196fs/msdos/misc.cinode->i_size = (inode->i_size+SECTOR_SIZE) &
inode199fs/msdos/misc.cinode->i_size += SECTOR_SIZE*MSDOS_SB(inode->i_sb)->
inode202fs/msdos/misc.cprintk("size is %d now (%x)\n",inode->i_size,inode);
inode204fs/msdos/misc.cinode->i_dirt = 1;
inode267fs/msdos/misc.cint msdos_get_entry(struct inode *dir,int *pos,struct buffer_head **bh,
inode330fs/msdos/misc.cinode = iget(sb,sector*MSDOS_DPS+entry); \
inode331fs/msdos/misc.cif (inode) { \
inode333fs/msdos/misc.cdone = !MSDOS_I(inode)->i_busy; \
inode334fs/msdos/misc.ciput(inode); \
inode352fs/msdos/misc.cstruct inode *inode;
inode455fs/msdos/misc.cint msdos_parent_ino(struct inode *dir,int locked)
inode491fs/msdos/misc.cint msdos_subdirs(struct inode *dir)
inode512fs/msdos/misc.cint msdos_scan(struct inode *dir,char *name,struct buffer_head **res_bh,
inode93fs/msdos/namei.cstatic int msdos_find(struct inode *dir,const char *name,int len,
inode105fs/msdos/namei.cint msdos_lookup(struct inode *dir,const char *name,int len,
inode106fs/msdos/namei.cstruct inode **result)
inode111fs/msdos/namei.cstruct inode *next;
inode161fs/msdos/namei.cstatic int msdos_create_entry(struct inode *dir,char *name,int is_dir,
inode162fs/msdos/namei.cstruct inode **result)
inode191fs/msdos/namei.cint msdos_create(struct inode *dir,const char *name,int len,int mode,
inode192fs/msdos/namei.cstruct inode **result)
inode239fs/msdos/namei.cint msdos_mkdir(struct inode *dir,const char *name,int len,int mode)
inode243fs/msdos/namei.cstruct inode *inode,*dot;
inode259fs/msdos/namei.cif ((res = msdos_create_entry(dir,msdos_name,1,&inode)) < 0) {
inode265fs/msdos/namei.cinode->i_nlink = 2; /* no need to mark them dirty */
inode266fs/msdos/namei.cMSDOS_I(inode)->i_busy = 1; /* prevent lookups */
inode267fs/msdos/namei.cif ((res = msdos_add_cluster(inode)) < 0) goto mkdir_error;
inode268fs/msdos/namei.cif ((res = msdos_create_entry(inode,MSDOS_DOT,1,&dot)) < 0)
inode270fs/msdos/namei.cdot->i_size = inode->i_size; /* doesn't grow in the 2nd create_entry */
inode271fs/msdos/namei.cMSDOS_I(dot)->i_start = MSDOS_I(inode)->i_start;
inode272fs/msdos/namei.cdot->i_nlink = inode->i_nlink;
inode275fs/msdos/namei.cif ((res = msdos_create_entry(inode,MSDOS_DOTDOT,1,&dot)) < 0)
inode282fs/msdos/namei.cMSDOS_I(inode)->i_busy = 0;
inode284fs/msdos/namei.ciput(inode);
inode288fs/msdos/namei.ciput(inode);
inode296fs/msdos/namei.cstatic int msdos_empty(struct inode *dir)
inode321fs/msdos/namei.cint msdos_rmdir(struct inode *dir,const char *name,int len)
inode326fs/msdos/namei.cstruct inode *inode;
inode329fs/msdos/namei.cinode = NULL;
inode335fs/msdos/namei.cif (!(inode = iget(dir->i_sb,ino))) goto rmdir_done;
inode337fs/msdos/namei.cif (!S_ISDIR(inode->i_mode)) goto rmdir_done;
inode339fs/msdos/namei.cif (dir->i_dev != inode->i_dev || dir == inode) goto rmdir_done;
inode340fs/msdos/namei.cres = msdos_empty(inode);
inode343fs/msdos/namei.cinode->i_nlink = 0;
inode346fs/msdos/namei.cinode->i_dirt = dir->i_dirt = 1;
inode353fs/msdos/namei.ciput(inode);
inode358fs/msdos/namei.cint msdos_unlink(struct inode *dir,const char *name,int len)
inode363fs/msdos/namei.cstruct inode *inode;
inode366fs/msdos/namei.cinode = NULL;
inode369fs/msdos/namei.cif (!(inode = iget(dir->i_sb,ino))) {
inode373fs/msdos/namei.cif (!S_ISREG(inode->i_mode)) {
inode377fs/msdos/namei.cinode->i_nlink = 0;
inode378fs/msdos/namei.cMSDOS_I(inode)->i_busy = 1;
inode379fs/msdos/namei.cinode->i_dirt = 1;
inode384fs/msdos/namei.ciput(inode);
inode390fs/msdos/namei.cstatic int rename_same_dir(struct inode *old_dir,char *old_name,
inode391fs/msdos/namei.cstruct inode *new_dir,char *new_name,struct buffer_head *old_bh,
inode396fs/msdos/namei.cstruct inode *new_inode,*old_inode;
inode441fs/msdos/namei.cstatic int rename_diff_dir(struct inode *old_dir,char *old_name,
inode442fs/msdos/namei.cstruct inode *new_dir,char *new_name,struct buffer_head *old_bh,
inode447fs/msdos/namei.cstruct inode *old_inode,*new_inode,*free_inode,*dotdot_inode,*walk;
inode560fs/msdos/namei.cint msdos_rename(struct inode *old_dir,const char *old_name,int old_len,
inode561fs/msdos/namei.cstruct inode *new_dir,const char *new_name,int new_len)
inode75fs/namei.cint permission(struct inode * inode,int mask)
inode77fs/namei.cint mode = inode->i_mode;
inode80fs/namei.cif (inode->i_dev && !inode->i_nlink)
inode82fs/namei.celse if (inode->i_op && inode->i_op->permission)
inode83fs/namei.creturn inode->i_op->permission(inode, mask);
inode84fs/namei.celse if (current->euid == inode->i_uid)
inode86fs/namei.celse if (in_group_p(inode->i_gid))
inode98fs/namei.cint lookup(struct inode * dir,const char * name, int len,
inode99fs/namei.cstruct inode ** result)
inode137fs/namei.cint follow_link(struct inode * dir, struct inode * inode,
inode138fs/namei.cint flag, int mode, struct inode ** res_inode)
inode140fs/namei.cif (!dir || !inode) {
inode142fs/namei.ciput(inode);
inode146fs/namei.cif (!inode->i_op || !inode->i_op->follow_link) {
inode148fs/namei.c*res_inode = inode;
inode151fs/namei.creturn inode->i_op->follow_link(dir,inode,flag,mode,res_inode);
inode161fs/namei.cstruct inode * base, struct inode ** res_inode)
inode166fs/namei.cstruct inode * inode;
inode187fs/namei.cerror = lookup(base,thisname,len,&inode);
inode193fs/namei.cerror = follow_link(base,inode,0,0,&base);
inode207fs/namei.cstatic int _namei(const char * pathname, struct inode * base,
inode208fs/namei.cint follow_links, struct inode ** res_inode)
inode212fs/namei.cstruct inode * inode;
inode219fs/namei.cerror = lookup(base,basename,namelen,&inode);
inode225fs/namei.cerror = follow_link(base,inode,0,0,&inode);
inode230fs/namei.c*res_inode = inode;
inode234fs/namei.cint lnamei(const char * pathname, struct inode ** res_inode)
inode254fs/namei.cint namei(const char * pathname, struct inode ** res_inode)
inode281fs/namei.cstruct inode ** res_inode, struct inode * base)
inode285fs/namei.cstruct inode * dir, *inode;
inode308fs/namei.cerror = lookup(dir,basename,namelen,&inode);
inode340fs/namei.ciput(inode);
inode343fs/namei.cerror = follow_link(dir,inode,flag,mode,&inode);
inode346fs/namei.cif (S_ISDIR(inode->i_mode) && (flag & 2)) {
inode347fs/namei.ciput(inode);
inode350fs/namei.cif (!permission(inode,ACC_MODE(flag))) {
inode351fs/namei.ciput(inode);
inode354fs/namei.cif (S_ISBLK(inode->i_mode) || S_ISCHR(inode->i_mode)) {
inode355fs/namei.cif (IS_NODEV(inode)) {
inode356fs/namei.ciput(inode);
inode360fs/namei.cif (IS_RDONLY(inode) && (flag & 2)) {
inode361fs/namei.ciput(inode);
inode365fs/namei.cif ((inode->i_count > 1) && (flag & 2))
inode369fs/namei.cif (inode == (*p)->executable) {
inode370fs/namei.ciput(inode);
inode374fs/namei.cif (inode == (*p)->libraries[i].library) {
inode375fs/namei.ciput(inode);
inode379fs/namei.c*res_inode = inode;
inode387fs/namei.cstruct inode * dir;
inode431fs/namei.cstruct inode * dir;
inode472fs/namei.cstruct inode * dir;
inode513fs/namei.cstruct inode * dir;
inode552fs/namei.cstruct inode * dir;
inode595fs/namei.cstatic int do_link(struct inode * oldinode, const char * newname)
inode597fs/namei.cstruct inode * dir;
inode638fs/namei.cstruct inode * oldinode;
inode653fs/namei.cstruct inode * old_dir, * new_dir;
inode20fs/nfs/dir.cstatic int nfs_dir_read(struct inode *, struct file *filp, char *buf,
inode22fs/nfs/dir.cstatic int nfs_readdir(struct inode *, struct file *, struct dirent *, int);
inode23fs/nfs/dir.cstatic int nfs_lookup(struct inode *dir, const char *name, int len,
inode24fs/nfs/dir.cstruct inode **result);
inode25fs/nfs/dir.cstatic int nfs_create(struct inode *dir, const char *name, int len, int mode,
inode26fs/nfs/dir.cstruct inode **result);
inode27fs/nfs/dir.cstatic int nfs_mkdir(struct inode *dir, const char *name, int len, int mode);
inode28fs/nfs/dir.cstatic int nfs_rmdir(struct inode *dir, const char *name, int len);
inode29fs/nfs/dir.cstatic int nfs_unlink(struct inode *dir, const char *name, int len);
inode30fs/nfs/dir.cstatic int nfs_symlink(struct inode *inode, const char *name, int len,
inode32fs/nfs/dir.cstatic int nfs_link(struct inode *oldinode, struct inode *dir,
inode34fs/nfs/dir.cstatic int nfs_mknod(struct inode *dir, const char *name, int len, int mode,
inode36fs/nfs/dir.cstatic int nfs_rename(struct inode *old_dir, const char *old_name,
inode37fs/nfs/dir.cint old_len, struct inode *new_dir, const char *new_name,
inode71fs/nfs/dir.cstatic int nfs_dir_read(struct inode *inode, struct file *filp, char *buf,
inode85fs/nfs/dir.cstatic int nfs_readdir(struct inode *inode, struct file *filp,
inode97fs/nfs/dir.cif (!inode || !S_ISDIR(inode->i_mode)) {
inode116fs/nfs/dir.cif (inode->i_dev == c_dev && inode->i_ino == c_ino) {
inode133fs/nfs/dir.cresult = nfs_proc_readdir(NFS_SERVER(inode), NFS_FH(inode),
inode140fs/nfs/dir.cc_dev = inode->i_dev;
inode141fs/nfs/dir.cc_ino = inode->i_ino;
inode175fs/nfs/dir.cint inode;
inode182fs/nfs/dir.cstatic struct nfs_lookup_cache_entry *nfs_lookup_cache_index(struct inode *dir,
inode190fs/nfs/dir.cif (entry->dev == dir->i_dev && entry->inode == dir->i_ino
inode197fs/nfs/dir.cstatic int nfs_lookup_cache_lookup(struct inode *dir, const char *filename,
inode221fs/nfs/dir.cstatic void nfs_lookup_cache_add(struct inode *dir, const char *filename,
inode238fs/nfs/dir.centry->inode = dir->i_ino;
inode246fs/nfs/dir.cstatic void nfs_lookup_cache_remove(struct inode *dir, struct inode *inode,
inode254fs/nfs/dir.cif (inode) {
inode255fs/nfs/dir.cdev = inode->i_dev;
inode256fs/nfs/dir.cfileid = inode->i_ino;
inode271fs/nfs/dir.cstatic void nfs_lookup_cache_refresh(struct inode *file,
inode286fs/nfs/dir.cstatic int nfs_lookup(struct inode *dir, const char *name, int len,
inode287fs/nfs/dir.cstruct inode **result)
inode324fs/nfs/dir.cstatic int nfs_create(struct inode *dir, const char *name, int len, int mode,
inode325fs/nfs/dir.cstruct inode **result)
inode359fs/nfs/dir.cstatic int nfs_mknod(struct inode *dir, const char *name, int len,
inode391fs/nfs/dir.cstatic int nfs_mkdir(struct inode *dir, const char *name, int len, int mode)
inode418fs/nfs/dir.cstatic int nfs_rmdir(struct inode *dir, const char *name, int len)
inode438fs/nfs/dir.cstatic int nfs_unlink(struct inode *dir, const char *name, int len)
inode458fs/nfs/dir.cstatic int nfs_symlink(struct inode *dir, const char *name, int len,
inode486fs/nfs/dir.cstatic int nfs_link(struct inode *oldinode, struct inode *dir,
inode517fs/nfs/dir.cstatic int nfs_rename(struct inode *old_dir, const char *old_name, int old_len,
inode518fs/nfs/dir.cstruct inode *new_dir, const char *new_name, int new_len)
inode557fs/nfs/dir.cvoid nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr)
inode561fs/nfs/dir.cif (!inode || !fattr) {
inode565fs/nfs/dir.cif (inode->i_ino != fattr->fileid) {
inode569fs/nfs/dir.cwas_empty = inode->i_mode == 0;
inode570fs/nfs/dir.cinode->i_mode = fattr->mode;
inode571fs/nfs/dir.cinode->i_nlink = fattr->nlink;
inode572fs/nfs/dir.cinode->i_uid = fattr->uid;
inode573fs/nfs/dir.cinode->i_gid = fattr->gid;
inode574fs/nfs/dir.cinode->i_size = fattr->size;
inode575fs/nfs/dir.cinode->i_blksize = fattr->blocksize;
inode576fs/nfs/dir.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode577fs/nfs/dir.cinode->i_rdev = fattr->rdev;
inode579fs/nfs/dir.cinode->i_rdev = 0;
inode580fs/nfs/dir.cinode->i_blocks = fattr->blocks;
inode581fs/nfs/dir.cinode->i_atime = fattr->atime.seconds;
inode582fs/nfs/dir.cinode->i_mtime = fattr->mtime.seconds;
inode583fs/nfs/dir.cinode->i_ctime = fattr->ctime.seconds;
inode585fs/nfs/dir.cif (S_ISREG(inode->i_mode))
inode586fs/nfs/dir.cinode->i_op = &nfs_file_inode_operations;
inode587fs/nfs/dir.celse if (S_ISDIR(inode->i_mode))
inode588fs/nfs/dir.cinode->i_op = &nfs_dir_inode_operations;
inode589fs/nfs/dir.celse if (S_ISLNK(inode->i_mode))
inode590fs/nfs/dir.cinode->i_op = &nfs_symlink_inode_operations;
inode591fs/nfs/dir.celse if (S_ISCHR(inode->i_mode))
inode592fs/nfs/dir.cinode->i_op = &chrdev_inode_operations;
inode593fs/nfs/dir.celse if (S_ISBLK(inode->i_mode))
inode594fs/nfs/dir.cinode->i_op = &blkdev_inode_operations;
inode595fs/nfs/dir.celse if (S_ISFIFO(inode->i_mode))
inode596fs/nfs/dir.cinit_fifo(inode);
inode598fs/nfs/dir.cinode->i_op = NULL;
inode600fs/nfs/dir.cnfs_lookup_cache_refresh(inode, fattr);
inode20fs/nfs/file.cstatic int nfs_file_read(struct inode *, struct file *, char *, int);
inode21fs/nfs/file.cstatic int nfs_file_write(struct inode *, struct file *, char *, int);
inode53fs/nfs/file.cstatic int nfs_file_read(struct inode *inode, struct file *file, char *buf,
inode64fs/nfs/file.cif (!inode) {
inode68fs/nfs/file.cif (!S_ISREG(inode->i_mode)) {
inode70fs/nfs/file.cinode->i_mode);
inode74fs/nfs/file.cif (file->f_pos + count > inode->i_size)
inode75fs/nfs/file.ccount = inode->i_size - pos;
inode78fs/nfs/file.cn = NFS_SERVER(inode)->rsize;
inode84fs/nfs/file.cresult = nfs_proc_read(NFS_SERVER(inode), NFS_FH(inode), 
inode100fs/nfs/file.cnfs_refresh_inode(inode, &fattr);
inode104fs/nfs/file.cstatic int nfs_file_write(struct inode *inode, struct file *file, char *buf,
inode115fs/nfs/file.cif (!inode) {
inode119fs/nfs/file.cif (!S_ISREG(inode->i_mode)) {
inode121fs/nfs/file.cinode->i_mode);
inode128fs/nfs/file.cpos = inode->i_size;
inode129fs/nfs/file.cn = NFS_SERVER(inode)->wsize;
inode136fs/nfs/file.cresult = nfs_proc_write(NFS_SERVER(inode), NFS_FH(inode), 
inode151fs/nfs/file.cnfs_refresh_inode(inode, &fattr);
inode23fs/nfs/inode.cstatic int nfs_notify_change(int, struct inode *);
inode24fs/nfs/inode.cstatic void nfs_put_inode(struct inode *);
inode38fs/nfs/inode.cstatic void nfs_put_inode(struct inode * inode)
inode40fs/nfs/inode.cclear_inode(inode);
inode158fs/nfs/inode.cstruct inode *nfs_fhget(struct super_block *sb, struct nfs_fh *fhandle,
inode163fs/nfs/inode.cstruct inode *inode;
inode178fs/nfs/inode.cif (!(inode = iget(sb, fattr->fileid))) {
inode182fs/nfs/inode.cif (inode->i_dev == sb->s_dev) {
inode183fs/nfs/inode.cif (inode->i_ino != fattr->fileid) {
inode185fs/nfs/inode.creturn inode;
inode187fs/nfs/inode.c*NFS_FH(inode) = *fhandle;
inode188fs/nfs/inode.cnfs_refresh_inode(inode, fattr);
inode190fs/nfs/inode.creturn inode;
inode193fs/nfs/inode.cint nfs_notify_change(int flags, struct inode *inode)
inode200fs/nfs/inode.csattr.mode = inode->i_mode;
inode204fs/nfs/inode.csattr.uid = inode->i_uid;
inode205fs/nfs/inode.csattr.gid = inode->i_gid;
inode210fs/nfs/inode.csattr.size = S_ISREG(inode->i_mode) ? inode->i_size : -1;
inode214fs/nfs/inode.csattr.mtime.seconds = inode->i_mtime;
inode216fs/nfs/inode.csattr.atime.seconds = inode->i_atime;
inode223fs/nfs/inode.cerror = nfs_proc_setattr(NFS_SERVER(inode), NFS_FH(inode),
inode226fs/nfs/inode.cnfs_refresh_inode(inode, &fattr);
inode227fs/nfs/inode.cinode->i_dirt = 0;
inode20fs/nfs/sock.cextern struct socket *socki_lookup(struct inode *inode);
inode35fs/nfs/sock.cstruct inode *inode;
inode43fs/nfs/sock.cint (*select) (struct inode *, struct file *, int, select_table *);
inode55fs/nfs/sock.cinode = file->f_inode;
inode57fs/nfs/sock.csock = socki_lookup(inode);
inode79fs/nfs/sock.cif (!select(inode, file, SEL_IN, &wait_table)
inode80fs/nfs/sock.c&& !select(inode, file, SEL_IN, NULL)) {
inode17fs/nfs/symlink.cstatic int nfs_readlink(struct inode *, char *, int);
inode18fs/nfs/symlink.cstatic int nfs_follow_link(struct inode *, struct inode *, int, int,
inode19fs/nfs/symlink.cstruct inode **);
inode42fs/nfs/symlink.cstatic int nfs_follow_link(struct inode *dir, struct inode *inode,
inode43fs/nfs/symlink.cint flag, int mode, struct inode **res_inode)
inode53fs/nfs/symlink.cif (!inode) {
inode57fs/nfs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode59fs/nfs/symlink.c*res_inode = inode;
inode63fs/nfs/symlink.ciput(inode);
inode68fs/nfs/symlink.cerror = nfs_proc_readlink(NFS_SERVER(inode), NFS_FH(inode), res);
inode70fs/nfs/symlink.ciput(inode);
inode75fs/nfs/symlink.ciput(inode);
inode83fs/nfs/symlink.cstatic int nfs_readlink(struct inode *inode, char *buffer, int buflen)
inode90fs/nfs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode91fs/nfs/symlink.ciput(inode);
inode97fs/nfs/symlink.cerror = nfs_proc_readlink(NFS_SERVER(inode), NFS_FH(inode), res);
inode98fs/nfs/symlink.ciput(inode);
inode31fs/open.cstruct inode * inode;
inode37fs/open.cerror = namei(path,&inode);
inode40fs/open.cif (!inode->i_sb->s_op->statfs) {
inode41fs/open.ciput(inode);
inode44fs/open.cinode->i_sb->s_op->statfs(inode->i_sb, buf);
inode45fs/open.ciput(inode);
inode51fs/open.cstruct inode * inode;
inode60fs/open.cif (!(inode = file->f_inode))
inode62fs/open.cif (!inode->i_sb->s_op->statfs)
inode64fs/open.cinode->i_sb->s_op->statfs(inode->i_sb, buf);
inode70fs/open.cstruct inode * inode;
inode73fs/open.cerror = namei(path,&inode);
inode76fs/open.cif (S_ISDIR(inode->i_mode) || !permission(inode,MAY_WRITE)) {
inode77fs/open.ciput(inode);
inode80fs/open.cif (IS_RDONLY(inode)) {
inode81fs/open.ciput(inode);
inode84fs/open.cinode->i_size = length;
inode85fs/open.cif (inode->i_op && inode->i_op->truncate)
inode86fs/open.cinode->i_op->truncate(inode);
inode87fs/open.cinode->i_atime = inode->i_mtime = CURRENT_TIME;
inode88fs/open.cinode->i_dirt = 1;
inode89fs/open.cerror = notify_change(NOTIFY_SIZE, inode);
inode90fs/open.ciput(inode);
inode96fs/open.cstruct inode * inode;
inode101fs/open.cif (!(inode = file->f_inode))
inode103fs/open.cif (S_ISDIR(inode->i_mode) || !(file->f_mode & 2))
inode105fs/open.cinode->i_size = length;
inode106fs/open.cif (inode->i_op && inode->i_op->truncate)
inode107fs/open.cinode->i_op->truncate(inode);
inode108fs/open.cinode->i_atime = inode->i_mtime = CURRENT_TIME;
inode109fs/open.cinode->i_dirt = 1;
inode110fs/open.creturn notify_change(NOTIFY_SIZE, inode);
inode119fs/open.cstruct inode * inode;
inode123fs/open.cerror = namei(filename,&inode);
inode126fs/open.cif (IS_RDONLY(inode)) {
inode127fs/open.ciput(inode);
inode131fs/open.cif ((current->euid != inode->i_uid) && !suser()) {
inode132fs/open.ciput(inode);
inode137fs/open.cinode->i_ctime = CURRENT_TIME;
inode139fs/open.cif ((current->euid != inode->i_uid) &&
inode140fs/open.c!permission(inode,MAY_WRITE)) {
inode141fs/open.ciput(inode);
inode144fs/open.cactime = modtime = inode->i_ctime = CURRENT_TIME;
inode146fs/open.cinode->i_atime = actime;
inode147fs/open.cinode->i_mtime = modtime;
inode148fs/open.cinode->i_dirt = 1;
inode149fs/open.cerror = notify_change(NOTIFY_TIME, inode);
inode150fs/open.ciput(inode);
inode160fs/open.cstruct inode * inode;
inode165fs/open.cres = namei(filename,&inode);
inode168fs/open.ci_mode = inode->i_mode;
inode170fs/open.ciput(inode);
inode171fs/open.cif (current->uid == inode->i_uid)
inode173fs/open.celse if (in_group_p(inode->i_gid))
inode194fs/open.cstruct inode * inode;
inode197fs/open.cerror = namei(filename,&inode);
inode200fs/open.cif (!S_ISDIR(inode->i_mode)) {
inode201fs/open.ciput(inode);
inode204fs/open.cif (!permission(inode,MAY_EXEC)) {
inode205fs/open.ciput(inode);
inode209fs/open.ccurrent->pwd = inode;
inode215fs/open.cstruct inode * inode;
inode218fs/open.cerror = namei(filename,&inode);
inode221fs/open.cif (!S_ISDIR(inode->i_mode)) {
inode222fs/open.ciput(inode);
inode226fs/open.ciput(inode);
inode230fs/open.ccurrent->root = inode;
inode236fs/open.cstruct inode * inode;
inode241fs/open.cif (!(inode = file->f_inode))
inode243fs/open.cif ((current->euid != inode->i_uid) && !suser())
inode245fs/open.cif (IS_RDONLY(inode))
inode247fs/open.cinode->i_mode = (mode & 07777) | (inode->i_mode & ~07777);
inode248fs/open.cif (!suser() && !in_group_p(inode->i_gid))
inode249fs/open.cinode->i_mode &= ~S_ISGID;
inode250fs/open.cinode->i_ctime = CURRENT_TIME;
inode251fs/open.cinode->i_dirt = 1;
inode252fs/open.creturn notify_change(NOTIFY_MODE, inode);
inode257fs/open.cstruct inode * inode;
inode260fs/open.cerror = namei(filename,&inode);
inode263fs/open.cif ((current->euid != inode->i_uid) && !suser()) {
inode264fs/open.ciput(inode);
inode267fs/open.cif (IS_RDONLY(inode)) {
inode268fs/open.ciput(inode);
inode271fs/open.cinode->i_mode = (mode & 07777) | (inode->i_mode & ~07777);
inode272fs/open.cif (!suser() && !in_group_p(inode->i_gid))
inode273fs/open.cinode->i_mode &= ~S_ISGID;
inode274fs/open.cinode->i_ctime = CURRENT_TIME;
inode275fs/open.cinode->i_dirt = 1;
inode276fs/open.cerror = notify_change(NOTIFY_MODE, inode);
inode277fs/open.ciput(inode);
inode283fs/open.cstruct inode * inode;
inode288fs/open.cif (!(inode = file->f_inode))
inode290fs/open.cif (IS_RDONLY(inode))
inode293fs/open.cuser = inode->i_uid;
inode295fs/open.cgroup = inode->i_gid;
inode296fs/open.cif ((current->euid == inode->i_uid && user == inode->i_uid &&
inode297fs/open.c(in_group_p(group) || group == inode->i_gid)) ||
inode299fs/open.cinode->i_uid = user;
inode300fs/open.cinode->i_gid = group;
inode301fs/open.cinode->i_ctime = CURRENT_TIME;
inode302fs/open.cinode->i_dirt = 1;
inode303fs/open.creturn notify_change(NOTIFY_UIDGID, inode);
inode310fs/open.cstruct inode * inode;
inode313fs/open.cerror = lnamei(filename,&inode);
inode316fs/open.cif (IS_RDONLY(inode)) {
inode317fs/open.ciput(inode);
inode321fs/open.cuser = inode->i_uid;
inode323fs/open.cgroup = inode->i_gid;
inode324fs/open.cif ((current->euid == inode->i_uid && user == inode->i_uid &&
inode325fs/open.c(in_group_p(group) || group == inode->i_gid)) ||
inode327fs/open.cinode->i_uid = user;
inode328fs/open.cinode->i_gid = group;
inode329fs/open.cinode->i_ctime = CURRENT_TIME;
inode330fs/open.cinode->i_dirt = 1;
inode331fs/open.cerror = notify_change(NOTIFY_UIDGID, inode);
inode332fs/open.ciput(inode);
inode335fs/open.ciput(inode);
inode355fs/open.cstruct inode * inode;
inode378fs/open.cerror = open_namei(tmp,flag,mode,&inode,NULL);
inode387fs/open.cinode->i_size = 0;
inode388fs/open.cif (inode->i_op && inode->i_op->truncate)
inode389fs/open.cinode->i_op->truncate(inode);
inode390fs/open.cif ((error = notify_change(NOTIFY_SIZE, inode))) {
inode391fs/open.ciput(inode);
inode396fs/open.cinode->i_dirt = 1;
inode398fs/open.cf->f_inode = inode;
inode402fs/open.cif (inode->i_op)
inode403fs/open.cf->f_op = inode->i_op->default_file_ops;
inode405fs/open.cerror = f->f_op->open(inode,f);
inode407fs/open.ciput(inode);
inode424fs/open.cstruct inode *inode;
inode430fs/open.cinode = filp->f_inode;
inode431fs/open.cif (inode && S_ISREG(inode->i_mode))
inode438fs/open.cfilp->f_op->release(inode,filp);
inode441fs/open.ciput(inode);
inode16fs/pipe.cstatic int pipe_read(struct inode * inode, struct file * filp, char * buf, int count)
inode21fs/pipe.cwhile (!PIPE_SIZE(*inode)) {
inode22fs/pipe.cwake_up(& PIPE_WRITE_WAIT(*inode));
inode23fs/pipe.cif (!PIPE_WRITERS(*inode)) /* are there any writers? */
inode27fs/pipe.cinterruptible_sleep_on(& PIPE_READ_WAIT(*inode));
inode29fs/pipe.cwhile (count>0 && (size = PIPE_SIZE(*inode))) {
inode30fs/pipe.cchars = PAGE_SIZE-PIPE_TAIL(*inode);
inode35fs/pipe.cmemcpy_tofs(buf, PIPE_BASE(*inode)+PIPE_TAIL(*inode), chars );
inode37fs/pipe.cPIPE_TAIL(*inode) += chars;
inode38fs/pipe.cPIPE_TAIL(*inode) &= (PAGE_SIZE-1);
inode42fs/pipe.cwake_up(& PIPE_WRITE_WAIT(*inode));
inode45fs/pipe.cif (PIPE_WRITERS(*inode))
inode50fs/pipe.cstatic int pipe_write(struct inode * inode, struct file * filp, char * buf, int count)
inode54fs/pipe.cif (!PIPE_READERS(*inode)) { /* no readers */
inode64fs/pipe.cwhile (PIPE_SIZE(*inode) >= size) {
inode65fs/pipe.cif (!PIPE_READERS(*inode)) { /* no readers */
inode74fs/pipe.cinterruptible_sleep_on(&PIPE_WRITE_WAIT(*inode));
inode76fs/pipe.cwhile (count>0 && (size = (PAGE_SIZE-1)-PIPE_SIZE(*inode))) {
inode77fs/pipe.cchars = PAGE_SIZE-PIPE_HEAD(*inode);
inode82fs/pipe.cmemcpy_fromfs(PIPE_BASE(*inode)+PIPE_HEAD(*inode), buf, chars );
inode84fs/pipe.cPIPE_HEAD(*inode) += chars;
inode85fs/pipe.cPIPE_HEAD(*inode) &= (PAGE_SIZE-1);
inode89fs/pipe.cwake_up(& PIPE_READ_WAIT(*inode));
inode95fs/pipe.cstatic int pipe_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode100fs/pipe.cstatic int pipe_readdir(struct inode * inode, struct file * file, struct dirent * de, int count)
inode105fs/pipe.cstatic int bad_pipe_rw(struct inode * inode, struct file * filp, char * buf, int count)
inode110fs/pipe.cstatic int pipe_ioctl(struct inode *pino, struct file * filp,
inode126fs/pipe.cstatic int pipe_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait)
inode130fs/pipe.cif (!PIPE_EMPTY(*inode) || !PIPE_WRITERS(*inode))
inode132fs/pipe.cselect_wait(&PIPE_READ_WAIT(*inode), wait);
inode135fs/pipe.cif (!PIPE_FULL(*inode) || !PIPE_WRITERS(*inode))
inode137fs/pipe.cselect_wait(&PIPE_WRITE_WAIT(*inode), wait);
inode140fs/pipe.cif (!PIPE_READERS(*inode) || !PIPE_WRITERS(*inode))
inode142fs/pipe.cselect_wait(&inode->i_wait,wait);
inode152fs/pipe.cstatic void pipe_read_release(struct inode * inode, struct file * filp)
inode154fs/pipe.cPIPE_READERS(*inode)--;
inode155fs/pipe.cwake_up(&PIPE_WRITE_WAIT(*inode));
inode158fs/pipe.cstatic void pipe_write_release(struct inode * inode, struct file * filp)
inode160fs/pipe.cPIPE_WRITERS(*inode)--;
inode161fs/pipe.cwake_up(&PIPE_READ_WAIT(*inode));
inode164fs/pipe.cstatic void pipe_rdwr_release(struct inode * inode, struct file * filp)
inode166fs/pipe.cPIPE_READERS(*inode)--;
inode167fs/pipe.cPIPE_WRITERS(*inode)--;
inode168fs/pipe.cwake_up(&PIPE_READ_WAIT(*inode));
inode169fs/pipe.cwake_up(&PIPE_WRITE_WAIT(*inode));
inode217fs/pipe.cstruct inode * inode;
inode245fs/pipe.cif (!(inode=get_pipe_inode())) {
inode252fs/pipe.cf[0]->f_inode = f[1]->f_inode = inode;
inode295fs/proc/array.cstatic int array_read(struct inode * inode, struct file * file,char * buf, int count)
inode307fs/proc/array.ctype = inode->i_ino;
inode16fs/proc/base.cstatic int proc_readbase(struct inode *, struct file *, struct dirent *, int);
inode17fs/proc/base.cstatic int proc_lookupbase(struct inode *,const char *,int,struct inode **);
inode90fs/proc/base.cstatic int proc_lookupbase(struct inode * dir,const char * name, int len,
inode91fs/proc/base.cstruct inode ** result)
inode131fs/proc/base.cstatic int proc_readbase(struct inode * inode, struct file * filp,
inode138fs/proc/base.cif (!inode || !S_ISDIR(inode->i_mode))
inode140fs/proc/base.cino = inode->i_ino;
inode16fs/proc/fd.cstatic int proc_readfd(struct inode *, struct file *, struct dirent *, int);
inode17fs/proc/fd.cstatic int proc_lookupfd(struct inode *,const char *,int,struct inode **);
inode53fs/proc/fd.cstatic int proc_lookupfd(struct inode * dir,const char * name, int len,
inode54fs/proc/fd.cstruct inode ** result)
inode121fs/proc/fd.cstatic int proc_readfd(struct inode * inode, struct file * filp,
inode128fs/proc/fd.cif (!inode || !S_ISDIR(inode->i_mode))
inode130fs/proc/fd.cino = inode->i_ino;
inode142fs/proc/fd.cfd = inode->i_ino;
inode144fs/proc/fd.cfd = (inode->i_ino & 0xffff0000) | 2;
inode19fs/proc/inode.cvoid proc_put_inode(struct inode *inode)
inode21fs/proc/inode.cif (inode->i_nlink)
inode23fs/proc/inode.cinode->i_size = 0;
inode72fs/proc/inode.cvoid proc_read_inode(struct inode * inode)
inode78fs/proc/inode.cinode->i_op = NULL;
inode79fs/proc/inode.cinode->i_mode = 0;
inode80fs/proc/inode.cinode->i_uid = 0;
inode81fs/proc/inode.cinode->i_gid = 0;
inode82fs/proc/inode.cinode->i_nlink = 1;
inode83fs/proc/inode.cinode->i_size = 0;
inode84fs/proc/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode85fs/proc/inode.cinode->i_blocks = inode->i_blksize = 0;
inode86fs/proc/inode.cino = inode->i_ino;
inode95fs/proc/inode.cinode->i_mode = S_IFDIR | 0555;
inode96fs/proc/inode.cinode->i_nlink = 2;
inode99fs/proc/inode.cinode->i_nlink++;
inode100fs/proc/inode.cinode->i_op = &proc_root_inode_operations;
inode104fs/proc/inode.cinode->i_mode = S_IFREG | 0444;
inode105fs/proc/inode.cinode->i_op = &proc_array_inode_operations;
inode107fs/proc/inode.cinode->i_mode = S_IFREG | 0400;
inode108fs/proc/inode.cinode->i_op = &proc_kmsg_inode_operations;
inode113fs/proc/inode.cinode->i_uid = p->euid;
inode114fs/proc/inode.cinode->i_gid = p->egid;
inode117fs/proc/inode.cinode->i_nlink = 4;
inode118fs/proc/inode.cinode->i_mode = S_IFDIR | 0555;
inode119fs/proc/inode.cinode->i_op = &proc_base_inode_operations;
inode122fs/proc/inode.cinode->i_op = &proc_mem_inode_operations;
inode123fs/proc/inode.cinode->i_mode = S_IFREG | 0600;
inode128fs/proc/inode.cinode->i_op = &proc_link_inode_operations;
inode129fs/proc/inode.cinode->i_size = 64;
inode130fs/proc/inode.cinode->i_mode = S_IFLNK | 0700;
inode134fs/proc/inode.cinode->i_mode = S_IFDIR | 0500;
inode135fs/proc/inode.cinode->i_op = &proc_fd_inode_operations;
inode136fs/proc/inode.cinode->i_nlink = 2;
inode142fs/proc/inode.cinode->i_mode = S_IFREG | 0444;
inode143fs/proc/inode.cinode->i_op = &proc_array_inode_operations;
inode151fs/proc/inode.cinode->i_op = &proc_link_inode_operations;
inode152fs/proc/inode.cinode->i_size = 64;
inode153fs/proc/inode.cinode->i_mode = S_IFLNK | 0700;
inode159fs/proc/inode.cinode->i_op = &proc_link_inode_operations;
inode160fs/proc/inode.cinode->i_size = 64;
inode161fs/proc/inode.cinode->i_mode = S_IFLNK | 0700;
inode167fs/proc/inode.cvoid proc_write_inode(struct inode * inode)
inode169fs/proc/inode.cinode->i_dirt=0;
inode22fs/proc/kmsg.cstatic int kmsg_open(struct inode * inode, struct file * file)
inode27fs/proc/kmsg.cstatic void kmsg_release(struct inode * inode, struct file * file)
inode32fs/proc/kmsg.cstatic int kmsg_read(struct inode * inode, struct file * file,char * buf, int count)
inode37fs/proc/kmsg.cstatic int kmsg_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode17fs/proc/link.cstatic int proc_readlink(struct inode *, char *, int);
inode18fs/proc/link.cstatic int proc_follow_link(struct inode *, struct inode *, int, int, struct inode **);
inode41fs/proc/link.cstatic int proc_follow_link(struct inode * dir, struct inode * inode,
inode42fs/proc/link.cint flag, int mode, struct inode ** res_inode)
inode51fs/proc/link.cif (!inode)
inode53fs/proc/link.cino = inode->i_ino;
inode56fs/proc/link.ciput(inode);
inode62fs/proc/link.cinode = NULL;
inode65fs/proc/link.cinode = p->pwd;
inode68fs/proc/link.cinode = p->root;
inode71fs/proc/link.cinode = p->executable;
inode78fs/proc/link.cinode = p->filp[ino]->f_inode;
inode83fs/proc/link.cinode = p->libraries[ino].library;
inode86fs/proc/link.cif (!inode)
inode88fs/proc/link.c*res_inode = inode;
inode89fs/proc/link.cinode->i_count++;
inode93fs/proc/link.cstatic int proc_readlink(struct inode * inode, char * buffer, int buflen)
inode99fs/proc/link.ci = proc_follow_link(NULL, inode, 0, 0, &inode);
inode102fs/proc/link.cif (!inode)
inode104fs/proc/link.cdev = inode->i_dev;
inode105fs/proc/link.cino = inode->i_ino;
inode106fs/proc/link.ciput(inode);
inode23fs/proc/mem.cstatic int mem_read(struct inode * inode, struct file * file,char * buf, int count)
inode32fs/proc/mem.cpid = inode->i_ino;
inode72fs/proc/mem.cstatic int mem_write(struct inode * inode, struct file * file,char * buf, int count)
inode82fs/proc/mem.cpid = inode->i_ino;
inode129fs/proc/mem.cstatic int mem_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode16fs/proc/root.cstatic int proc_readroot(struct inode *, struct file *, struct dirent *, int);
inode17fs/proc/root.cstatic int proc_lookuproot(struct inode *,const char *,int,struct inode **);
inode66fs/proc/root.cstatic int proc_lookuproot(struct inode * dir,const char * name, int len,
inode67fs/proc/root.cstruct inode ** result)
inode123fs/proc/root.cstatic int proc_readroot(struct inode * inode, struct file * filp,
inode130fs/proc/root.cif (!inode || !S_ISDIR(inode->i_mode))
inode23fs/read_write.cstruct inode * inode;
inode26fs/read_write.c!(inode = file->f_inode))
inode32fs/read_write.cerror = file->f_op->readdir(inode,file,dirent,count);
inode74fs/read_write.cstruct inode * inode;
inode76fs/read_write.cif (fd>=NR_OPEN || !(file=current->filp[fd]) || !(inode=file->f_inode))
inode87fs/read_write.creturn file->f_op->read(inode,file,buf,count);
inode94fs/read_write.cstruct inode * inode;
inode96fs/read_write.cif (fd>=NR_OPEN || !(file=current->filp[fd]) || !(inode=file->f_inode))
inode107fs/read_write.creturn file->f_op->write(inode,file,buf,count);
inode65fs/select.cstruct inode * inode;
inode67fs/select.cint (*select) (struct inode *, struct file *, int, select_table *);
inode69fs/select.cinode = file->f_inode;
inode71fs/select.creturn select(inode, file, flag, wait)
inode72fs/select.c|| (wait && select(inode, file, flag, NULL));
inode73fs/select.cif (S_ISREG(inode->i_mode))
inode14fs/stat.cstatic void cp_old_stat(struct inode * inode, struct old_stat * statbuf)
inode20fs/stat.ctmp.st_dev = inode->i_dev;
inode21fs/stat.ctmp.st_ino = inode->i_ino;
inode22fs/stat.ctmp.st_mode = inode->i_mode;
inode23fs/stat.ctmp.st_nlink = inode->i_nlink;
inode24fs/stat.ctmp.st_uid = inode->i_uid;
inode25fs/stat.ctmp.st_gid = inode->i_gid;
inode26fs/stat.ctmp.st_rdev = inode->i_rdev;
inode27fs/stat.ctmp.st_size = inode->i_size;
inode28fs/stat.ctmp.st_atime = inode->i_atime;
inode29fs/stat.ctmp.st_mtime = inode->i_mtime;
inode30fs/stat.ctmp.st_ctime = inode->i_ctime;
inode34fs/stat.cstatic void cp_new_stat(struct inode * inode, struct new_stat * statbuf)
inode39fs/stat.ctmp.st_dev = inode->i_dev;
inode40fs/stat.ctmp.st_ino = inode->i_ino;
inode41fs/stat.ctmp.st_mode = inode->i_mode;
inode42fs/stat.ctmp.st_nlink = inode->i_nlink;
inode43fs/stat.ctmp.st_uid = inode->i_uid;
inode44fs/stat.ctmp.st_gid = inode->i_gid;
inode45fs/stat.ctmp.st_rdev = inode->i_rdev;
inode46fs/stat.ctmp.st_size = inode->i_size;
inode47fs/stat.ctmp.st_atime = inode->i_atime;
inode48fs/stat.ctmp.st_mtime = inode->i_mtime;
inode49fs/stat.ctmp.st_ctime = inode->i_ctime;
inode58fs/stat.cif (!inode->i_blksize) {
inode72fs/stat.ctmp.st_blocks = inode->i_blocks;
inode73fs/stat.ctmp.st_blksize = inode->i_blksize;
inode80fs/stat.cstruct inode * inode;
inode86fs/stat.cerror = namei(filename,&inode);
inode89fs/stat.ccp_old_stat(inode,statbuf);
inode90fs/stat.ciput(inode);
inode96fs/stat.cstruct inode * inode;
inode102fs/stat.cerror = namei(filename,&inode);
inode105fs/stat.ccp_new_stat(inode,statbuf);
inode106fs/stat.ciput(inode);
inode112fs/stat.cstruct inode * inode;
inode118fs/stat.cerror = lnamei(filename,&inode);
inode121fs/stat.ccp_old_stat(inode,statbuf);
inode122fs/stat.ciput(inode);
inode128fs/stat.cstruct inode * inode;
inode134fs/stat.cerror = lnamei(filename,&inode);
inode137fs/stat.ccp_new_stat(inode,statbuf);
inode138fs/stat.ciput(inode);
inode145fs/stat.cstruct inode * inode;
inode151fs/stat.cif (fd >= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode))
inode153fs/stat.ccp_old_stat(inode,statbuf);
inode160fs/stat.cstruct inode * inode;
inode166fs/stat.cif (fd >= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode))
inode168fs/stat.ccp_new_stat(inode,statbuf);
inode174fs/stat.cstruct inode * inode;
inode182fs/stat.cerror = lnamei(path,&inode);
inode185fs/stat.cif (!inode->i_op || !inode->i_op->readlink) {
inode186fs/stat.ciput(inode);
inode189fs/stat.creturn inode->i_op->readlink(inode,buf,bufsiz);
inode235fs/super.cstruct inode * inode;
inode238fs/super.cstruct inode dummy_inode;
inode243fs/super.cretval = namei(name,&inode);
inode246fs/super.cif (S_ISBLK(inode->i_mode)) {
inode247fs/super.cdev = inode->i_rdev;
inode248fs/super.cif (IS_NODEV(inode)) {
inode249fs/super.ciput(inode);
inode252fs/super.c} else if (S_ISDIR(inode->i_mode)) {
inode253fs/super.cif (!inode || !inode->i_sb || inode != inode->i_sb->s_mounted) {
inode254fs/super.ciput(inode);
inode257fs/super.cdev = inode->i_sb->s_dev;
inode258fs/super.ciput(inode);
inode261fs/super.cinode = &dummy_inode;
inode263fs/super.ciput(inode);
inode267fs/super.ciput(inode);
inode273fs/super.cfops->release(inode,NULL);
inode277fs/super.cif (inode != &dummy_inode)
inode278fs/super.ciput(inode);
inode296fs/super.cstruct inode * dir_i;
inode334fs/super.cstruct inode *dir_i;
inode367fs/super.cstruct inode * inode;
inode392fs/super.cretval = namei(dev_name,&inode);
inode395fs/super.cif (!S_ISBLK(inode->i_mode)) {
inode396fs/super.ciput(inode);
inode399fs/super.cif (IS_NODEV(inode)) {
inode400fs/super.ciput(inode);
inode403fs/super.cdev = inode->i_rdev;
inode405fs/super.ciput(inode);
inode411fs/super.cinode = NULL;
inode415fs/super.cretval = fops->open(inode,NULL);
inode417fs/super.ciput(inode);
inode425fs/super.ciput(inode);
inode438fs/super.cfops->release(inode,NULL);
inode439fs/super.ciput(inode);
inode447fs/super.cstruct inode * inode;
inode461fs/super.cinode = sb->s_mounted;
inode462fs/super.cinode->i_count += 3 ;  /* NOTE! it is logically used 4 times, not 1 */
inode463fs/super.csb->s_covered = inode;
inode465fs/super.ccurrent->pwd = inode;
inode466fs/super.ccurrent->root = inode;
inode283fs/xiafs/bitmap.cvoid xiafs_free_inode(struct inode * inode)
inode288fs/xiafs/bitmap.cif (!inode)
inode290fs/xiafs/bitmap.cif (!inode->i_dev || inode->i_count!=1 || inode->i_nlink || !inode->i_sb ||
inode291fs/xiafs/bitmap.cinode->i_ino < 3 || inode->i_ino > inode->i_sb->u.xiafs_sb.s_ninodes) {
inode295fs/xiafs/bitmap.cbh = get_imap_zone(inode->i_sb, inode->i_ino, NULL);
inode298fs/xiafs/bitmap.ctmp = inode->i_ino & (XIAFS_BITS_PER_Z(inode->i_sb)-1);
inode301fs/xiafs/bitmap.cinode->i_ino, inode->i_ino, WHERE_ERR);
inode303fs/xiafs/bitmap.cxiafs_unlock_super(inode->i_sb, inode->i_sb->u.xiafs_sb.s_imap_cached);
inode304fs/xiafs/bitmap.cclear_inode(inode);
inode307fs/xiafs/bitmap.cstruct inode * xiafs_new_inode(struct inode * dir)
inode310fs/xiafs/bitmap.cstruct inode * inode;
inode314fs/xiafs/bitmap.cif (!dir || !(inode = get_empty_inode()))
inode316fs/xiafs/bitmap.cinode->i_sb = sb;
inode317fs/xiafs/bitmap.cinode->i_flags = inode->i_sb->s_flags;
inode321fs/xiafs/bitmap.ciput(inode);
inode324fs/xiafs/bitmap.cinode->i_count = 1;
inode325fs/xiafs/bitmap.cinode->i_nlink = 1;
inode326fs/xiafs/bitmap.cinode->i_dev = sb->s_dev;
inode327fs/xiafs/bitmap.cinode->i_uid = current->euid;
inode328fs/xiafs/bitmap.cinode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid;
inode329fs/xiafs/bitmap.cinode->i_dirt = 1;
inode330fs/xiafs/bitmap.cinode->i_ino = tmp;
inode331fs/xiafs/bitmap.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode332fs/xiafs/bitmap.cinode->i_op = NULL;
inode333fs/xiafs/bitmap.cinode->i_blocks = 0;
inode334fs/xiafs/bitmap.cinode->i_blksize = XIAFS_ZSIZE(inode->i_sb);
inode335fs/xiafs/bitmap.creturn inode;
inode22fs/xiafs/dir.cstatic int xiafs_dir_read(struct inode *, struct file *, char *, int);
inode23fs/xiafs/dir.cstatic int xiafs_readdir(struct inode *, struct file *, struct dirent *, int);
inode59fs/xiafs/dir.cstatic int xiafs_dir_read(struct inode * inode, 
inode65fs/xiafs/dir.cstatic int xiafs_readdir(struct inode * inode, 
inode72fs/xiafs/dir.cif (!inode || !inode->i_sb || !S_ISDIR(inode->i_mode))
inode74fs/xiafs/dir.cif (inode->i_size & (XIAFS_ZSIZE(inode->i_sb) - 1) )
inode76fs/xiafs/dir.cwhile (filp->f_pos < inode->i_size) {
inode77fs/xiafs/dir.coffset = filp->f_pos & (XIAFS_ZSIZE(inode->i_sb) - 1);
inode78fs/xiafs/dir.cbh = xiafs_bread(inode, filp->f_pos >> XIAFS_ZSIZE_BITS(inode->i_sb),0);
inode80fs/xiafs/dir.cfilp->f_pos += XIAFS_ZSIZE(inode->i_sb)-offset;
inode84fs/xiafs/dir.cwhile (offset < XIAFS_ZSIZE(inode->i_sb) && filp->f_pos < inode->i_size) {
inode85fs/xiafs/dir.cif (de->d_ino > inode->i_sb->u.xiafs_sb.s_ninodes ||
inode87fs/xiafs/dir.c(char *)de+de->d_rec_len > XIAFS_ZSIZE(inode->i_sb)+bh->b_data ||
inode104fs/xiafs/dir.cif (!IS_RDONLY (inode)) {
inode105fs/xiafs/dir.cinode->i_atime=CURRENT_TIME;        
inode106fs/xiafs/dir.cinode->i_dirt=1;
inode113fs/xiafs/dir.cif (offset > XIAFS_ZSIZE(inode->i_sb)) {
inode118fs/xiafs/dir.cif (!IS_RDONLY (inode)) {
inode119fs/xiafs/dir.cinode->i_atime=CURRENT_TIME;        
inode120fs/xiafs/dir.cinode->i_dirt=1;
inode31fs/xiafs/file.cstatic int xiafs_file_read(struct inode *, struct file *, char *, int);
inode32fs/xiafs/file.cstatic int xiafs_file_write(struct inode *, struct file *, char *, int);
inode70fs/xiafs/file.cxiafs_file_read(struct inode * inode, struct file * filp, char * buf, int count)
inode79fs/xiafs/file.cif (!inode) {
inode83fs/xiafs/file.cif (!S_ISREG(inode->i_mode)) {
inode88fs/xiafs/file.cleft = inode->i_size - offset;
inode94fs/xiafs/file.czone_nr = offset >> XIAFS_ZSIZE_BITS(inode->i_sb);
inode95fs/xiafs/file.coffset &= XIAFS_ZSIZE(inode->i_sb) -1 ;
inode96fs/xiafs/file.cf_zones =(inode->i_size+XIAFS_ZSIZE(inode->i_sb)-1)>>XIAFS_ZSIZE_BITS(inode->i_sb);
inode97fs/xiafs/file.czones = (left+offset+XIAFS_ZSIZE(inode->i_sb)-1) >> XIAFS_ZSIZE_BITS(inode->i_sb);
inode100fs/xiafs/file.czones += read_ahead[MAJOR(inode->i_dev)] >> (1+XIAFS_ZSHIFT(inode->i_sb));
inode119fs/xiafs/file.c*bhb = xiafs_getblk(inode, zone_nr++, 0);
inode148fs/xiafs/file.cif (left < XIAFS_ZSIZE(inode->i_sb) - offset)
inode151fs/xiafs/file.cchars = XIAFS_ZSIZE(inode->i_sb) - offset;
inode178fs/xiafs/file.cif (!IS_RDONLY (inode)) {
inode179fs/xiafs/file.cinode->i_atime = CURRENT_TIME;
inode180fs/xiafs/file.cinode->i_dirt = 1;
inode186fs/xiafs/file.cxiafs_file_write(struct inode * inode, struct file * filp, char * buf, int count)
inode193fs/xiafs/file.cif (!inode) {
inode197fs/xiafs/file.cif (!S_ISREG(inode->i_mode)) {
inode206fs/xiafs/file.cpos = inode->i_size;
inode211fs/xiafs/file.cbh = xiafs_getblk(inode, pos >> XIAFS_ZSIZE_BITS(inode->i_sb), 1);
inode217fs/xiafs/file.cc = XIAFS_ZSIZE(inode->i_sb) - (pos & (XIAFS_ZSIZE(inode->i_sb) - 1));
inode220fs/xiafs/file.cif (c != XIAFS_ZSIZE(inode->i_sb) && !bh->b_uptodate) {
inode230fs/xiafs/file.ccp = (pos & (XIAFS_ZSIZE(inode->i_sb)-1)) + bh->b_data;
inode232fs/xiafs/file.cif (pos > inode->i_size) {
inode233fs/xiafs/file.cinode->i_size = pos;
inode234fs/xiafs/file.cinode->i_dirt = 1;
inode243fs/xiafs/file.cinode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME;
inode245fs/xiafs/file.cinode->i_dirt = 1;
inode26fs/xiafs/inode.cvoid xiafs_put_inode(struct inode *inode)
inode28fs/xiafs/inode.cif (inode->i_nlink)
inode30fs/xiafs/inode.cinode->i_size = 0;
inode31fs/xiafs/inode.cxiafs_truncate(inode);
inode32fs/xiafs/inode.cxiafs_free_inode(inode);
inode171fs/xiafs/inode.cint xiafs_bmap(struct inode * inode,int zone)
inode179fs/xiafs/inode.cif (zone >= 8+(1+XIAFS_ADDRS_PER_Z(inode->i_sb))*XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode183fs/xiafs/inode.cif (!IS_RDONLY (inode)) {
inode184fs/xiafs/inode.cinode->i_atime = CURRENT_TIME;
inode185fs/xiafs/inode.cinode->i_dirt = 1;
inode188fs/xiafs/inode.creturn inode->u.xiafs_i.i_zone[zone];
inode190fs/xiafs/inode.cif (zone < XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode191fs/xiafs/inode.ci = inode->u.xiafs_i.i_ind_zone;
inode193fs/xiafs/inode.ci = zone_bmap(bread(inode->i_dev, i, XIAFS_ZSIZE(inode->i_sb)), zone);
inode196fs/xiafs/inode.czone -= XIAFS_ADDRS_PER_Z(inode->i_sb);
inode197fs/xiafs/inode.ci = inode->u.xiafs_i.i_dind_zone;
inode199fs/xiafs/inode.ci = zone_bmap(bread(inode->i_dev, i, XIAFS_ZSIZE(inode->i_sb)), 
inode200fs/xiafs/inode.czone >> XIAFS_ADDRS_PER_Z_BITS(inode->i_sb));
inode202fs/xiafs/inode.ci= zone_bmap(bread(inode->i_dev,i, XIAFS_ZSIZE(inode->i_sb)),
inode203fs/xiafs/inode.czone & (XIAFS_ADDRS_PER_Z(inode->i_sb)-1));
inode207fs/xiafs/inode.cstatic u_long get_prev_addr(struct inode * inode, int zone)
inode213fs/xiafs/inode.cif ((tmp=xiafs_bmap(inode, zone)))
inode215fs/xiafs/inode.crandom_nr=(random_nr+23)%inode->i_sb->u.xiafs_sb.s_ndatazones;
inode216fs/xiafs/inode.creturn random_nr + inode->i_sb->u.xiafs_sb.s_firstdatazone;
inode220fs/xiafs/inode.cdt_getblk(struct inode * inode, u_long *lp, int create, u_long prev_addr)
inode227fs/xiafs/inode.cresult = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode235fs/xiafs/inode.ctmp = xiafs_new_zone(inode->i_sb, prev_addr);
inode238fs/xiafs/inode.cresult = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode240fs/xiafs/inode.cxiafs_free_zone(inode->i_sb, tmp);
inode245fs/xiafs/inode.cinode->i_blocks+=2 << XIAFS_ZSHIFT(inode->i_sb);
inode250fs/xiafs/inode.cindt_getblk(struct inode * inode, struct buffer_head * bh, 
inode270fs/xiafs/inode.cresult = getblk(bh->b_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode282fs/xiafs/inode.ctmp = xiafs_new_zone(inode->i_sb, prev_addr);
inode287fs/xiafs/inode.cresult = getblk(bh->b_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode289fs/xiafs/inode.cxiafs_free_zone(inode->i_sb, tmp);
inode294fs/xiafs/inode.cinode->i_blocks+=2 << XIAFS_ZSHIFT(inode->i_sb);
inode300fs/xiafs/inode.cstruct buffer_head * xiafs_getblk(struct inode * inode, int zone, int create)
inode309fs/xiafs/inode.cif (zone >= 8+(1+XIAFS_ADDRS_PER_Z(inode->i_sb))*XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode315fs/xiafs/inode.cprev_addr=get_prev_addr(inode, zone);
inode317fs/xiafs/inode.creturn dt_getblk(inode, zone+inode->u.xiafs_i.i_zone, create, prev_addr);
inode319fs/xiafs/inode.cif (zone < XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode320fs/xiafs/inode.cbh = dt_getblk(inode, &(inode->u.xiafs_i.i_ind_zone), create, prev_addr);
inode321fs/xiafs/inode.cbh = indt_getblk(inode, bh, zone, create, prev_addr);
inode324fs/xiafs/inode.czone -= XIAFS_ADDRS_PER_Z(inode->i_sb);
inode325fs/xiafs/inode.cbh = dt_getblk(inode, &(inode->u.xiafs_i.i_dind_zone), create, prev_addr);
inode326fs/xiafs/inode.cbh = indt_getblk(inode, bh, zone>>XIAFS_ADDRS_PER_Z_BITS(inode->i_sb), 
inode328fs/xiafs/inode.cbh = indt_getblk(inode, bh, zone&(XIAFS_ADDRS_PER_Z(inode->i_sb)-1), 
inode333fs/xiafs/inode.cstruct buffer_head * xiafs_bread(struct inode * inode, int zone, int create)
inode337fs/xiafs/inode.cbh = xiafs_getblk(inode, zone, create);
inode348fs/xiafs/inode.cvoid xiafs_read_inode(struct inode * inode)
inode355fs/xiafs/inode.cino = inode->i_ino;
inode356fs/xiafs/inode.cinode->i_op = NULL;
inode357fs/xiafs/inode.cinode->i_mode=0;
inode358fs/xiafs/inode.cif (!ino || ino > inode->i_sb->u.xiafs_sb.s_ninodes) {
inode362fs/xiafs/inode.czone = 1 + inode->i_sb->u.xiafs_sb.s_imap_zones +
inode363fs/xiafs/inode.cinode->i_sb->u.xiafs_sb.s_zmap_zones +
inode364fs/xiafs/inode.c(ino-1)/ XIAFS_INODES_PER_Z(inode->i_sb);
inode365fs/xiafs/inode.cif (!(bh=bread(inode->i_dev, zone, XIAFS_ZSIZE(inode->i_sb)))) {
inode370fs/xiafs/inode.c((ino-1) & (XIAFS_INODES_PER_Z(inode->i_sb) - 1));
inode371fs/xiafs/inode.cinode->i_mode = raw_inode->i_mode;
inode372fs/xiafs/inode.cinode->i_uid = raw_inode->i_uid;
inode373fs/xiafs/inode.cinode->i_gid = raw_inode->i_gid;
inode374fs/xiafs/inode.cinode->i_nlink = raw_inode->i_nlinks;
inode375fs/xiafs/inode.cinode->i_size = raw_inode->i_size;
inode376fs/xiafs/inode.cinode->i_mtime = raw_inode->i_mtime;
inode377fs/xiafs/inode.cinode->i_atime = raw_inode->i_atime;
inode378fs/xiafs/inode.cinode->i_ctime = raw_inode->i_ctime;
inode379fs/xiafs/inode.cinode->i_blksize = XIAFS_ZSIZE(inode->i_sb);
inode380fs/xiafs/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) {
inode381fs/xiafs/inode.cinode->i_blocks=0;
inode382fs/xiafs/inode.cinode->i_rdev = raw_inode->i_zone[0];
inode384fs/xiafs/inode.cXIAFS_GET_BLOCKS(raw_inode, inode->i_blocks);
inode386fs/xiafs/inode.cinode->u.xiafs_i.i_zone[zone] = raw_inode->i_zone[zone] & 0xffffff;
inode387fs/xiafs/inode.cinode->u.xiafs_i.i_ind_zone       = raw_inode->i_ind_zone   & 0xffffff;
inode388fs/xiafs/inode.cinode->u.xiafs_i.i_dind_zone      = raw_inode->i_dind_zone  & 0xffffff;
inode391fs/xiafs/inode.cif (S_ISREG(inode->i_mode))
inode392fs/xiafs/inode.cinode->i_op = &xiafs_file_inode_operations;
inode393fs/xiafs/inode.celse if (S_ISDIR(inode->i_mode))
inode394fs/xiafs/inode.cinode->i_op = &xiafs_dir_inode_operations;
inode395fs/xiafs/inode.celse if (S_ISLNK(inode->i_mode))
inode396fs/xiafs/inode.cinode->i_op = &xiafs_symlink_inode_operations;
inode397fs/xiafs/inode.celse if (S_ISCHR(inode->i_mode))
inode398fs/xiafs/inode.cinode->i_op = &chrdev_inode_operations;
inode399fs/xiafs/inode.celse if (S_ISBLK(inode->i_mode))
inode400fs/xiafs/inode.cinode->i_op = &blkdev_inode_operations;
inode401fs/xiafs/inode.celse if (S_ISFIFO(inode->i_mode))
inode402fs/xiafs/inode.cinit_fifo(inode);
inode405fs/xiafs/inode.cvoid xiafs_write_inode(struct inode * inode)
inode412fs/xiafs/inode.cif (IS_RDONLY (inode)) {
inode414fs/xiafs/inode.cinode->i_dirt = 0;
inode418fs/xiafs/inode.cino = inode->i_ino;
inode419fs/xiafs/inode.cif (!ino || ino > inode->i_sb->u.xiafs_sb.s_ninodes) {
inode421fs/xiafs/inode.cinode->i_dirt=0;
inode424fs/xiafs/inode.czone = 1 + inode->i_sb->u.xiafs_sb.s_imap_zones + 
inode425fs/xiafs/inode.cinode->i_sb->u.xiafs_sb.s_zmap_zones +
inode426fs/xiafs/inode.c(ino-1) / XIAFS_INODES_PER_Z(inode->i_sb);
inode427fs/xiafs/inode.cif (!(bh=bread(inode->i_dev, zone, XIAFS_ZSIZE(inode->i_sb)))) {
inode429fs/xiafs/inode.cinode->i_dirt=0;
inode433fs/xiafs/inode.c((ino-1) & (XIAFS_INODES_PER_Z(inode->i_sb) -1));
inode434fs/xiafs/inode.craw_inode->i_mode = inode->i_mode;
inode435fs/xiafs/inode.craw_inode->i_uid = inode->i_uid;
inode436fs/xiafs/inode.craw_inode->i_gid = inode->i_gid;
inode437fs/xiafs/inode.craw_inode->i_nlinks = inode->i_nlink;
inode438fs/xiafs/inode.craw_inode->i_size = inode->i_size;
inode439fs/xiafs/inode.craw_inode->i_atime = inode->i_atime;
inode440fs/xiafs/inode.craw_inode->i_ctime = inode->i_ctime;
inode441fs/xiafs/inode.craw_inode->i_mtime = inode->i_mtime;
inode442fs/xiafs/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode443fs/xiafs/inode.craw_inode->i_zone[0] = inode->i_rdev;
inode445fs/xiafs/inode.cXIAFS_PUT_BLOCKS(raw_inode, inode->i_blocks);
inode448fs/xiafs/inode.c| (inode->u.xiafs_i.i_zone[zone] & 0xffffff);
inode450fs/xiafs/inode.c| (inode->u.xiafs_i.i_ind_zone   & 0xffffff);
inode452fs/xiafs/inode.c| (inode->u.xiafs_i.i_dind_zone  & 0xffffff);
inode454fs/xiafs/inode.cinode->i_dirt=0;
inode57fs/xiafs/namei.cxiafs_find_entry(struct inode * inode, const char * name, int namelen, 
inode65fs/xiafs/namei.cif (!inode)
inode70fs/xiafs/namei.cif (inode->i_size & (XIAFS_ZSIZE(inode->i_sb) - 1)) {
inode74fs/xiafs/namei.czones=inode->i_size >> XIAFS_ZSIZE_BITS(inode->i_sb);
inode76fs/xiafs/namei.cbh = xiafs_bread(inode, i, 0);
inode87fs/xiafs/namei.cwhile ( pos < XIAFS_ZSIZE(inode->i_sb) ) {
inode88fs/xiafs/namei.cif (dep->d_ino > inode->i_sb->u.xiafs_sb.s_ninodes ||
inode90fs/xiafs/namei.cdep->d_rec_len+(char *)dep > bh->b_data+XIAFS_ZSIZE(inode->i_sb) ||
inode107fs/xiafs/namei.cif (pos > XIAFS_ZSIZE(inode->i_sb)) {
inode115fs/xiafs/namei.cint xiafs_lookup(struct inode * dir, const char * name, int len,
inode116fs/xiafs/namei.cstruct inode ** result)
inode153fs/xiafs/namei.cstatic struct buffer_head * xiafs_add_entry(struct inode * dir,
inode240fs/xiafs/namei.cint xiafs_create(struct inode * dir, const char * name, int len, int mode,
inode241fs/xiafs/namei.cstruct inode ** result)
inode243fs/xiafs/namei.cstruct inode * inode;
inode250fs/xiafs/namei.cinode = xiafs_new_inode(dir);
inode251fs/xiafs/namei.cif (!inode) {
inode255fs/xiafs/namei.cinode->i_op = &xiafs_file_inode_operations;
inode256fs/xiafs/namei.cinode->i_mode = mode;
inode257fs/xiafs/namei.cinode->i_dirt = 1;
inode260fs/xiafs/namei.cinode->i_nlink--;
inode261fs/xiafs/namei.cinode->i_dirt = 1;
inode262fs/xiafs/namei.ciput(inode);
inode266fs/xiafs/namei.cde->d_ino = inode->i_ino;
inode270fs/xiafs/namei.c*result = inode;
inode274fs/xiafs/namei.cint xiafs_mknod(struct inode *dir, const char *name, int len, int mode, int rdev)
inode276fs/xiafs/namei.cstruct inode * inode;
inode288fs/xiafs/namei.cinode = xiafs_new_inode(dir);
inode289fs/xiafs/namei.cif (!inode) {
inode293fs/xiafs/namei.cinode->i_uid = current->euid;
inode294fs/xiafs/namei.cinode->i_mode = mode;
inode295fs/xiafs/namei.cinode->i_op = NULL;
inode296fs/xiafs/namei.cif (S_ISREG(inode->i_mode))
inode297fs/xiafs/namei.cinode->i_op = &xiafs_file_inode_operations;
inode298fs/xiafs/namei.celse if (S_ISDIR(inode->i_mode)) {
inode299fs/xiafs/namei.cinode->i_op = &xiafs_dir_inode_operations;
inode301fs/xiafs/namei.cinode->i_mode |= S_ISGID;
inode303fs/xiafs/namei.celse if (S_ISLNK(inode->i_mode))
inode304fs/xiafs/namei.cinode->i_op = &xiafs_symlink_inode_operations;
inode305fs/xiafs/namei.celse if (S_ISCHR(inode->i_mode))
inode306fs/xiafs/namei.cinode->i_op = &chrdev_inode_operations;
inode307fs/xiafs/namei.celse if (S_ISBLK(inode->i_mode))
inode308fs/xiafs/namei.cinode->i_op = &blkdev_inode_operations;
inode309fs/xiafs/namei.celse if (S_ISFIFO(inode->i_mode))
inode310fs/xiafs/namei.cinit_fifo(inode);
inode312fs/xiafs/namei.cinode->i_rdev = rdev;
inode313fs/xiafs/namei.cinode->i_atime = inode->i_ctime = inode->i_atime = CURRENT_TIME;
inode314fs/xiafs/namei.cinode->i_dirt = 1;
inode317fs/xiafs/namei.cinode->i_nlink--;
inode318fs/xiafs/namei.cinode->i_dirt = 1;
inode319fs/xiafs/namei.ciput(inode);
inode323fs/xiafs/namei.cde->d_ino = inode->i_ino;
inode327fs/xiafs/namei.ciput(inode);
inode331fs/xiafs/namei.cint xiafs_mkdir(struct inode * dir, const char * name, int len, int mode)
inode333fs/xiafs/namei.cstruct inode * inode;
inode347fs/xiafs/namei.cinode = xiafs_new_inode(dir);
inode348fs/xiafs/namei.cif (!inode) {
inode352fs/xiafs/namei.cinode->i_op = &xiafs_dir_inode_operations;
inode353fs/xiafs/namei.cinode->i_size = XIAFS_ZSIZE(dir->i_sb);
inode354fs/xiafs/namei.cinode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME;
inode355fs/xiafs/namei.cdir_block = xiafs_bread(inode,0,1);
inode358fs/xiafs/namei.cinode->i_nlink--;
inode359fs/xiafs/namei.cinode->i_dirt = 1;
inode360fs/xiafs/namei.ciput(inode);
inode364fs/xiafs/namei.cde->d_ino=inode->i_ino;
inode373fs/xiafs/namei.cinode->i_nlink = 2;
inode376fs/xiafs/namei.cinode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask);
inode378fs/xiafs/namei.cinode->i_mode |= S_ISGID;
inode379fs/xiafs/namei.cinode->i_dirt = 1;
inode383fs/xiafs/namei.cinode->i_nlink=0;
inode384fs/xiafs/namei.ciput(inode);
inode387fs/xiafs/namei.cde->d_ino = inode->i_ino;
inode392fs/xiafs/namei.ciput(inode);
inode400fs/xiafs/namei.cstatic int empty_dir(struct inode * inode)
inode406fs/xiafs/namei.cif (inode->i_size & (XIAFS_ZSIZE(inode->i_sb)-1) ) {
inode411fs/xiafs/namei.czones=inode->i_size >> XIAFS_ZSIZE_BITS(inode->i_sb);
inode413fs/xiafs/namei.cbh =  xiafs_bread(inode, i, 0);
inode420fs/xiafs/namei.cif (de->d_ino != inode->i_ino || strcmp(".", de->d_name) ||
inode438fs/xiafs/namei.cwhile (offset < XIAFS_ZSIZE(inode->i_sb)) {
inode440fs/xiafs/namei.cif (de->d_ino > inode->i_sb->u.xiafs_sb.s_ninodes ||
inode442fs/xiafs/namei.c(char *)de+de->d_rec_len > bh->b_data+XIAFS_ZSIZE(inode->i_sb) ||
inode480fs/xiafs/namei.cint xiafs_rmdir(struct inode * dir, const char * name, int len)
inode483fs/xiafs/namei.cstruct inode * inode;
inode487fs/xiafs/namei.cinode = NULL;
inode493fs/xiafs/namei.cif (!(inode = iget(dir->i_sb, de->d_ino)))
inode496fs/xiafs/namei.cinode->i_uid != current->euid)
inode498fs/xiafs/namei.cif (inode->i_dev != dir->i_dev)
inode500fs/xiafs/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode502fs/xiafs/namei.cif (!S_ISDIR(inode->i_mode)) {
inode506fs/xiafs/namei.cif (!empty_dir(inode)) {
inode510fs/xiafs/namei.cif (inode->i_count > 1) {
inode514fs/xiafs/namei.cif (inode->i_nlink != 2)
inode518fs/xiafs/namei.cinode->i_nlink=0;
inode519fs/xiafs/namei.cinode->i_dirt=1;
inode526fs/xiafs/namei.ciput(inode);
inode531fs/xiafs/namei.cint xiafs_unlink(struct inode * dir, const char * name, int len)
inode534fs/xiafs/namei.cstruct inode * inode;
inode540fs/xiafs/namei.cinode = NULL;
inode544fs/xiafs/namei.cif (!(inode = iget(dir->i_sb, de->d_ino)))
inode546fs/xiafs/namei.cif (de->d_ino != inode->i_ino) {
inode547fs/xiafs/namei.ciput(inode);
inode555fs/xiafs/namei.ccurrent->euid != inode->i_uid &&
inode558fs/xiafs/namei.cif (S_ISDIR(inode->i_mode))
inode560fs/xiafs/namei.cif (!inode->i_nlink) {
inode562fs/xiafs/namei.cinode->i_nlink=1;
inode568fs/xiafs/namei.cinode->i_nlink--;
inode569fs/xiafs/namei.cinode->i_dirt = 1;
inode573fs/xiafs/namei.ciput(inode);
inode578fs/xiafs/namei.cint xiafs_symlink(struct inode * dir, const char * name, 
inode582fs/xiafs/namei.cstruct inode * inode = NULL;
inode593fs/xiafs/namei.cif (!(inode = xiafs_new_inode(dir))) {
inode597fs/xiafs/namei.cinode->i_mode = S_IFLNK | 0777;
inode598fs/xiafs/namei.cinode->i_op = &xiafs_symlink_inode_operations;
inode599fs/xiafs/namei.cname_block = xiafs_bread(inode,0,1);
inode602fs/xiafs/namei.cinode->i_nlink--;
inode603fs/xiafs/namei.cinode->i_dirt = 1;
inode604fs/xiafs/namei.ciput(inode);
inode612fs/xiafs/namei.cinode->i_size = i;
inode613fs/xiafs/namei.cinode->i_dirt = 1;
inode616fs/xiafs/namei.cinode->i_nlink--;
inode617fs/xiafs/namei.cinode->i_dirt = 1;
inode618fs/xiafs/namei.ciput(inode);
inode622fs/xiafs/namei.cde->d_ino = inode->i_ino;
inode626fs/xiafs/namei.ciput(inode);
inode630fs/xiafs/namei.cint xiafs_link(struct inode * oldinode, struct inode * dir, 
inode670fs/xiafs/namei.cstatic int subdir(struct inode * new, struct inode * old)
inode707fs/xiafs/namei.cstatic int do_xiafs_rename(struct inode * old_dir, const char * old_name, 
inode708fs/xiafs/namei.cint old_len, struct inode * new_dir, 
inode711fs/xiafs/namei.cstruct inode * old_inode, * new_inode;
inode828fs/xiafs/namei.cint xiafs_rename(struct inode * old_dir, const char * old_name, int old_len,
inode829fs/xiafs/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode21fs/xiafs/symlink.cxiafs_readlink(struct inode *, char *, int);
inode24fs/xiafs/symlink.cxiafs_follow_link(struct inode *, struct inode *, int, int, struct inode **);
inode47fs/xiafs/symlink.cstatic int xiafs_readlink(struct inode * inode, char * buffer, int buflen)
inode53fs/xiafs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode54fs/xiafs/symlink.ciput(inode);
inode59fs/xiafs/symlink.cbh = xiafs_bread(inode, 0, 0);
inode60fs/xiafs/symlink.cif (!IS_RDONLY (inode)) {
inode61fs/xiafs/symlink.cinode->i_atime=CURRENT_TIME;
inode62fs/xiafs/symlink.cinode->i_dirt=1;
inode64fs/xiafs/symlink.ciput(inode);
inode75fs/xiafs/symlink.cstatic int xiafs_follow_link(struct inode * dir, struct inode * inode,
inode76fs/xiafs/symlink.cint flag, int mode, struct inode ** res_inode)
inode86fs/xiafs/symlink.cif (!inode) {
inode90fs/xiafs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode92fs/xiafs/symlink.c*res_inode = inode;
inode95fs/xiafs/symlink.cif (!IS_RDONLY (inode)) {
inode96fs/xiafs/symlink.cinode->i_atime=CURRENT_TIME;
inode97fs/xiafs/symlink.cinode->i_dirt=1;
inode100fs/xiafs/symlink.ciput(inode);
inode104fs/xiafs/symlink.cif (!(bh = xiafs_bread(inode, 0, 0))) {
inode105fs/xiafs/symlink.ciput(inode);
inode109fs/xiafs/symlink.ciput(inode);
inode36fs/xiafs/truncate.c#define DT_ZONE    ((inode->i_size + XIAFS_ZSIZE(inode->i_sb) - 1) \
inode37fs/xiafs/truncate.c>> XIAFS_ZSIZE_BITS(inode->i_sb) )
inode39fs/xiafs/truncate.cstatic int trunc_direct(struct inode * inode)
inode50fs/xiafs/truncate.clp=i + inode->u.xiafs_i.i_zone;
inode53fs/xiafs/truncate.cbh = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode62fs/xiafs/truncate.cinode->i_dirt = 1;
inode63fs/xiafs/truncate.cinode->i_blocks-=2 << XIAFS_ZSHIFT(inode->i_sb);
inode64fs/xiafs/truncate.cxiafs_free_zone(inode->i_sb, tmp);
inode71fs/xiafs/truncate.cstatic int trunc_indirect(struct inode * inode, int addr_off, u_long * lp)
inode83fs/xiafs/truncate.cind_bh = bread(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode93fs/xiafs/truncate.cfor (i = INDT_ZONE<0?0:INDT_ZONE; i < XIAFS_ADDRS_PER_Z(inode->i_sb); i++) {
inode99fs/xiafs/truncate.cbh = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode109fs/xiafs/truncate.cinode->i_blocks-= 2 << XIAFS_ZSHIFT(inode->i_sb);
inode110fs/xiafs/truncate.cxiafs_free_zone(inode->i_sb, tmp);
inode115fs/xiafs/truncate.cfor (i = 0; i < XIAFS_ADDRS_PER_Z(inode->i_sb) && !(*indp++); i++) ;
inode116fs/xiafs/truncate.cif (i >= XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode122fs/xiafs/truncate.cinode->i_blocks-= 2 << XIAFS_ZSHIFT(inode->i_sb);
inode123fs/xiafs/truncate.cxiafs_free_zone(inode->i_sb, tmp);
inode130fs/xiafs/truncate.cstatic int trunc_dindirect(struct inode * inode)
inode134fs/xiafs/truncate.c((DT_ZONE-XIAFS_ADDRS_PER_Z(inode->i_sb)-8)>>XIAFS_ADDRS_PER_Z_BITS(inode->i_sb))
inode141fs/xiafs/truncate.clp = &(inode->u.xiafs_i.i_dind_zone);
inode144fs/xiafs/truncate.cdind_bh = bread(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode154fs/xiafs/truncate.cfor (i=DINDT_ZONE<0?0:DINDT_ZONE ; i < XIAFS_ADDRS_PER_Z(inode->i_sb) ; i ++) {
inode158fs/xiafs/truncate.cretry |= trunc_indirect(inode, 
inode159fs/xiafs/truncate.c8+((1+i)<<XIAFS_ADDRS_PER_Z_BITS(inode->i_sb)), 
inode164fs/xiafs/truncate.cfor (i = 0; i < XIAFS_ADDRS_PER_Z(inode->i_sb) && !(*dindp++); i++);
inode165fs/xiafs/truncate.cif (i >= XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode171fs/xiafs/truncate.cinode->i_dirt = 1;
inode172fs/xiafs/truncate.cinode->i_blocks-=2 << XIAFS_ZSHIFT(inode->i_sb);
inode173fs/xiafs/truncate.cxiafs_free_zone(inode->i_sb, tmp);
inode180fs/xiafs/truncate.cvoid xiafs_truncate(struct inode * inode)
inode184fs/xiafs/truncate.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode185fs/xiafs/truncate.cS_ISLNK(inode->i_mode)))
inode188fs/xiafs/truncate.cretry = trunc_direct(inode);
inode189fs/xiafs/truncate.cretry |= trunc_indirect(inode, 8, &(inode->u.xiafs_i.i_ind_zone)); 
inode190fs/xiafs/truncate.cretry |= trunc_dindirect(inode);
inode196fs/xiafs/truncate.cinode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME;
inode197fs/xiafs/truncate.cinode->i_dirt = 1;
inode179include/linux/ext2_fs.hunsigned long inode;    /* Inode number */
inode217include/linux/ext2_fs.hextern int ext2_check_dir_entry (char *, struct inode *,
inode222include/linux/ext2_fs.hextern int ext2_read (struct inode *, struct file *, char *, int);
inode223include/linux/ext2_fs.hextern int ext2_write (struct inode *, struct file *, char *, int);
inode226include/linux/ext2_fs.hextern struct inode * ext2_new_inode (const struct inode *, int);
inode227include/linux/ext2_fs.hextern void ext2_free_inode (struct inode *);
inode231include/linux/ext2_fs.hextern int ext2_bmap (struct inode *, int);
inode233include/linux/ext2_fs.hextern struct buffer_head * ext2_getblk (struct inode *, int, int);
inode234include/linux/ext2_fs.hextern struct buffer_head * ext2_bread (struct inode *, int, int);
inode236include/linux/ext2_fs.hextern void ext2_truncate (struct inode *);
inode240include/linux/ext2_fs.hextern void ext2_read_inode (struct inode *);
inode241include/linux/ext2_fs.hextern void ext2_write_inode (struct inode *);
inode242include/linux/ext2_fs.hextern void ext2_put_inode (struct inode *);
inode246include/linux/ext2_fs.hextern int ext2_open (struct inode *, struct file *);
inode247include/linux/ext2_fs.hextern void ext2_release (struct inode *, struct file *);
inode248include/linux/ext2_fs.hextern int ext2_lookup (struct inode *,const char *, int, struct inode **);
inode249include/linux/ext2_fs.hextern int ext2_create (struct inode *,const char *, int, int,
inode250include/linux/ext2_fs.hstruct inode **);
inode251include/linux/ext2_fs.hextern int ext2_mkdir (struct inode *, const char *, int, int);
inode252include/linux/ext2_fs.hextern int ext2_rmdir (struct inode *, const char *, int);
inode253include/linux/ext2_fs.hextern int ext2_unlink (struct inode *, const char *, int);
inode254include/linux/ext2_fs.hextern int ext2_symlink (struct inode *, const char *, int, const char *);
inode255include/linux/ext2_fs.hextern int ext2_link (struct inode *, struct inode *, const char *, int);
inode256include/linux/ext2_fs.hextern int ext2_mknod (struct inode *, const char *, int, int, int);
inode257include/linux/ext2_fs.hextern int ext2_rename (struct inode *, const char *, int,
inode258include/linux/ext2_fs.hstruct inode *, const char *, int);
inode56include/linux/ext_fs.hunsigned long inode;
inode62include/linux/ext_fs.hextern int ext_open(struct inode * inode, struct file * filp);
inode63include/linux/ext_fs.hextern void ext_release(struct inode * inode, struct file * filp);
inode64include/linux/ext_fs.hextern int ext_lookup(struct inode * dir,const char * name, int len,
inode65include/linux/ext_fs.hstruct inode ** result);
inode66include/linux/ext_fs.hextern int ext_create(struct inode * dir,const char * name, int len, int mode,
inode67include/linux/ext_fs.hstruct inode ** result);
inode68include/linux/ext_fs.hextern int ext_mkdir(struct inode * dir, const char * name, int len, int mode);
inode69include/linux/ext_fs.hextern int ext_rmdir(struct inode * dir, const char * name, int len);
inode70include/linux/ext_fs.hextern int ext_unlink(struct inode * dir, const char * name, int len);
inode71include/linux/ext_fs.hextern int ext_symlink(struct inode * inode, const char * name, int len,
inode73include/linux/ext_fs.hextern int ext_link(struct inode * oldinode, struct inode * dir, const char * name, int len);
inode74include/linux/ext_fs.hextern int ext_mknod(struct inode * dir, const char * name, int len, int mode, int rdev);
inode75include/linux/ext_fs.hextern int ext_rename(struct inode * old_dir, const char * old_name, int old_len,
inode76include/linux/ext_fs.hstruct inode * new_dir, const char * new_name, int new_len);
inode77include/linux/ext_fs.hextern struct inode * ext_new_inode(const struct inode * dir);
inode78include/linux/ext_fs.hextern void ext_free_inode(struct inode * inode);
inode84include/linux/ext_fs.hextern int ext_bmap(struct inode *,int);
inode86include/linux/ext_fs.hextern struct buffer_head * ext_getblk(struct inode *, int, int);
inode87include/linux/ext_fs.hextern struct buffer_head * ext_bread(struct inode *, int, int);
inode89include/linux/ext_fs.hextern void ext_truncate(struct inode *);
inode93include/linux/ext_fs.hextern void ext_read_inode(struct inode *);
inode94include/linux/ext_fs.hextern void ext_write_inode(struct inode *);
inode95include/linux/ext_fs.hextern void ext_put_inode(struct inode *);
inode98include/linux/ext_fs.hextern int ext_lseek(struct inode *, struct file *, off_t, int);
inode99include/linux/ext_fs.hextern int ext_read(struct inode *, struct file *, char *, int);
inode100include/linux/ext_fs.hextern int ext_write(struct inode *, struct file *, char *, int);
inode112include/linux/fs.h#define IS_RDONLY(inode) (((inode)->i_sb) && ((inode)->i_sb->s_flags & MS_RDONLY))
inode113include/linux/fs.h#define IS_NOSUID(inode) ((inode)->i_flags & MS_NOSUID)
inode114include/linux/fs.h#define IS_NODEV(inode) ((inode)->i_flags & MS_NODEV)
inode115include/linux/fs.h#define IS_NOEXEC(inode) ((inode)->i_flags & MS_NOEXEC)
inode116include/linux/fs.h#define IS_SYNC(inode) ((inode)->i_flags & MS_SYNC)
inode185include/linux/fs.hstruct inode * i_next, * i_prev;
inode186include/linux/fs.hstruct inode * i_hash_next, * i_hash_prev;
inode187include/linux/fs.hstruct inode * i_bound_to, * i_bound_by;
inode215include/linux/fs.hstruct inode * f_inode;
inode247include/linux/fs.hstruct inode * s_covered;
inode248include/linux/fs.hstruct inode * s_mounted;
inode262include/linux/fs.hint (*lseek) (struct inode *, struct file *, off_t, int);
inode263include/linux/fs.hint (*read) (struct inode *, struct file *, char *, int);
inode264include/linux/fs.hint (*write) (struct inode *, struct file *, char *, int);
inode265include/linux/fs.hint (*readdir) (struct inode *, struct file *, struct dirent *, int);
inode266include/linux/fs.hint (*select) (struct inode *, struct file *, int, select_table *);
inode267include/linux/fs.hint (*ioctl) (struct inode *, struct file *, unsigned int, unsigned int);
inode268include/linux/fs.hint (*mmap) (struct inode *, struct file *, unsigned long, size_t, int, unsigned long);
inode269include/linux/fs.hint (*open) (struct inode *, struct file *);
inode270include/linux/fs.hvoid (*release) (struct inode *, struct file *);
inode271include/linux/fs.hint (*fsync) (struct inode *, struct file *);
inode276include/linux/fs.hint (*create) (struct inode *,const char *,int,int,struct inode **);
inode277include/linux/fs.hint (*lookup) (struct inode *,const char *,int,struct inode **);
inode278include/linux/fs.hint (*link) (struct inode *,struct inode *,const char *,int);
inode279include/linux/fs.hint (*unlink) (struct inode *,const char *,int);
inode280include/linux/fs.hint (*symlink) (struct inode *,const char *,int,const char *);
inode281include/linux/fs.hint (*mkdir) (struct inode *,const char *,int,int);
inode282include/linux/fs.hint (*rmdir) (struct inode *,const char *,int);
inode283include/linux/fs.hint (*mknod) (struct inode *,const char *,int,int,int);
inode284include/linux/fs.hint (*rename) (struct inode *,const char *,int,struct inode *,const char *,int);
inode285include/linux/fs.hint (*readlink) (struct inode *,char *,int);
inode286include/linux/fs.hint (*follow_link) (struct inode *,struct inode *,int,int,struct inode **);
inode287include/linux/fs.hint (*bmap) (struct inode *,int);
inode288include/linux/fs.hvoid (*truncate) (struct inode *);
inode289include/linux/fs.hint (*permission) (struct inode *, int);
inode293include/linux/fs.hvoid (*read_inode) (struct inode *);
inode294include/linux/fs.hint (*notify_change) (int flags, struct inode *);
inode295include/linux/fs.hvoid (*write_inode) (struct inode *);
inode296include/linux/fs.hvoid (*put_inode) (struct inode *);
inode312include/linux/fs.hextern int blkdev_open(struct inode * inode, struct file * filp);
inode317include/linux/fs.hextern int chrdev_open(struct inode * inode, struct file * filp);
inode321include/linux/fs.hextern void init_fifo(struct inode * inode);
inode326include/linux/fs.hextern int fs_may_umount(dev_t dev, struct inode * mount_root);
inode348include/linux/fs.hextern int bmap(struct inode * inode,int block);
inode349include/linux/fs.hextern int notify_change(int flags, struct inode * inode);
inode350include/linux/fs.hextern int namei(const char * pathname, struct inode ** res_inode);
inode351include/linux/fs.hextern int lnamei(const char * pathname, struct inode ** res_inode);
inode352include/linux/fs.hextern int permission(struct inode * inode,int mask);
inode354include/linux/fs.hstruct inode ** res_inode, struct inode * base);
inode356include/linux/fs.hextern void iput(struct inode * inode);
inode357include/linux/fs.hextern struct inode * iget(struct super_block * sb,int nr);
inode358include/linux/fs.hextern struct inode * get_empty_inode(void);
inode359include/linux/fs.hextern void clear_inode(struct inode *);
inode360include/linux/fs.hextern struct inode * get_pipe_inode(void);
inode376include/linux/fs.hextern int char_read(struct inode *, struct file *, char *, int);
inode377include/linux/fs.hextern int block_read(struct inode *, struct file *, char *, int);
inode380include/linux/fs.hextern int char_write(struct inode *, struct file *, char *, int);
inode381include/linux/fs.hextern int block_write(struct inode *, struct file *, char *, int);
inode130include/linux/iso_fs.hextern int parse_rock_ridge_inode(struct iso_directory_record *, struct inode *);
inode131include/linux/iso_fs.hextern int get_rock_ridge_filename(struct iso_directory_record *, char ** name, int * len, struct inode *);
inode133include/linux/iso_fs.hextern char * get_rock_ridge_symlink(struct inode *);
inode134include/linux/iso_fs.hextern int find_rock_ridge_relocation(struct iso_directory_record *, struct inode *);
inode156include/linux/iso_fs.hextern int isofs_open(struct inode * inode, struct file * filp);
inode157include/linux/iso_fs.hextern void isofs_release(struct inode * inode, struct file * filp);
inode158include/linux/iso_fs.hextern int isofs_lookup(struct inode * dir,const char * name, int len,
inode159include/linux/iso_fs.hstruct inode ** result);
inode163include/linux/iso_fs.hextern int isofs_bmap(struct inode *,int);
inode167include/linux/iso_fs.hextern void isofs_read_inode(struct inode *);
inode168include/linux/iso_fs.hextern void isofs_put_inode(struct inode *);
inode171include/linux/iso_fs.hextern int isofs_lseek(struct inode *, struct file *, off_t, int);
inode172include/linux/iso_fs.hextern int isofs_read(struct inode *, struct file *, char *, int);
inode173include/linux/iso_fs.hextern int isofs_lookup_grandparent(struct inode *, int);
inode71include/linux/minix_fs.hunsigned short inode;
inode75include/linux/minix_fs.hextern int minix_lookup(struct inode * dir,const char * name, int len,
inode76include/linux/minix_fs.hstruct inode ** result);
inode77include/linux/minix_fs.hextern int minix_create(struct inode * dir,const char * name, int len, int mode,
inode78include/linux/minix_fs.hstruct inode ** result);
inode79include/linux/minix_fs.hextern int minix_mkdir(struct inode * dir, const char * name, int len, int mode);
inode80include/linux/minix_fs.hextern int minix_rmdir(struct inode * dir, const char * name, int len);
inode81include/linux/minix_fs.hextern int minix_unlink(struct inode * dir, const char * name, int len);
inode82include/linux/minix_fs.hextern int minix_symlink(struct inode * inode, const char * name, int len,
inode84include/linux/minix_fs.hextern int minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len);
inode85include/linux/minix_fs.hextern int minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev);
inode86include/linux/minix_fs.hextern int minix_rename(struct inode * old_dir, const char * old_name, int old_len,
inode87include/linux/minix_fs.hstruct inode * new_dir, const char * new_name, int new_len);
inode88include/linux/minix_fs.hextern struct inode * minix_new_inode(const struct inode * dir);
inode89include/linux/minix_fs.hextern void minix_free_inode(struct inode * inode);
inode95include/linux/minix_fs.hextern int minix_bmap(struct inode *,int);
inode97include/linux/minix_fs.hextern struct buffer_head * minix_getblk(struct inode *, int, int);
inode98include/linux/minix_fs.hextern struct buffer_head * minix_bread(struct inode *, int, int);
inode100include/linux/minix_fs.hextern void minix_truncate(struct inode *);
inode103include/linux/minix_fs.hextern void minix_read_inode(struct inode *);
inode104include/linux/minix_fs.hextern void minix_write_inode(struct inode *);
inode105include/linux/minix_fs.hextern void minix_put_inode(struct inode *);
inode31include/linux/mm.hstruct inode * vm_inode;
inode132include/linux/msdos_fs.hextern int msdos_add_cluster(struct inode *inode);
inode136include/linux/msdos_fs.hextern int msdos_get_entry(struct inode *dir,int *pos,struct buffer_head **bh,
inode138include/linux/msdos_fs.hextern int msdos_scan(struct inode *dir,char *name,struct buffer_head **res_bh,
inode140include/linux/msdos_fs.hextern int msdos_parent_ino(struct inode *dir,int locked);
inode141include/linux/msdos_fs.hextern int msdos_subdirs(struct inode *dir);
inode146include/linux/msdos_fs.hextern int msdos_smap(struct inode *inode,int sector);
inode147include/linux/msdos_fs.hextern int fat_free(struct inode *inode,int skip);
inode149include/linux/msdos_fs.hvoid cache_lookup(struct inode *inode,int cluster,int *f_clu,int *d_clu);
inode150include/linux/msdos_fs.hvoid cache_add(struct inode *inode,int f_clu,int d_clu);
inode151include/linux/msdos_fs.hvoid cache_inval_inode(struct inode *inode);
inode153include/linux/msdos_fs.hint get_cluster(struct inode *inode,int cluster);
inode157include/linux/msdos_fs.hextern int msdos_lookup(struct inode *dir,const char *name,int len,
inode158include/linux/msdos_fs.hstruct inode **result);
inode159include/linux/msdos_fs.hextern int msdos_create(struct inode *dir,const char *name,int len,int mode,
inode160include/linux/msdos_fs.hstruct inode **result);
inode161include/linux/msdos_fs.hextern int msdos_mkdir(struct inode *dir,const char *name,int len,int mode);
inode162include/linux/msdos_fs.hextern int msdos_rmdir(struct inode *dir,const char *name,int len);
inode163include/linux/msdos_fs.hextern int msdos_unlink(struct inode *dir,const char *name,int len);
inode164include/linux/msdos_fs.hextern int msdos_rename(struct inode *old_dir,const char *old_name,int old_len,
inode165include/linux/msdos_fs.hstruct inode *new_dir,const char *new_name,int new_len);
inode169include/linux/msdos_fs.hextern void msdos_put_inode(struct inode *inode);
inode174include/linux/msdos_fs.hextern int msdos_bmap(struct inode *inode,int block);
inode175include/linux/msdos_fs.hextern void msdos_read_inode(struct inode *inode);
inode176include/linux/msdos_fs.hextern void msdos_write_inode(struct inode *inode);
inode177include/linux/msdos_fs.hextern int msdos_notify_change(int flags,struct inode *inode);
inode190include/linux/msdos_fs.hextern void msdos_truncate(struct inode *inode);
inode13include/linux/msdos_fs_i.hstruct inode *i_depend; /* pointer to inode that depends on the
inode15include/linux/msdos_fs_i.hstruct inode *i_old;  /* pointer to the old inode this inode
inode53include/linux/nfs_fs.h#define NFS_SERVER(inode)    (&(inode)->i_sb->u.nfs_sb.s_server)
inode54include/linux/nfs_fs.h#define NFS_FH(inode)      (&(inode)->u.nfs_i.fhandle)
inode103include/linux/nfs_fs.hextern struct inode *nfs_fhget(struct super_block *sb, struct nfs_fh *fhandle,
inode105include/linux/nfs_fs.hextern void nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr);
inode16include/linux/pipe_fs_i.h#define PIPE_READ_WAIT(inode)  ((inode).u.pipe_i.read_wait)
inode17include/linux/pipe_fs_i.h#define PIPE_WRITE_WAIT(inode)  ((inode).u.pipe_i.write_wait)
inode18include/linux/pipe_fs_i.h#define PIPE_BASE(inode)  ((inode).u.pipe_i.base)
inode19include/linux/pipe_fs_i.h#define PIPE_HEAD(inode)  ((inode).u.pipe_i.head)
inode20include/linux/pipe_fs_i.h#define PIPE_TAIL(inode)  ((inode).u.pipe_i.tail)
inode21include/linux/pipe_fs_i.h#define PIPE_RD_OPENERS(inode)  ((inode).u.pipe_i.rd_openers)
inode22include/linux/pipe_fs_i.h#define PIPE_WR_OPENERS(inode)  ((inode).u.pipe_i.wr_openers)
inode23include/linux/pipe_fs_i.h#define PIPE_READERS(inode)  ((inode).u.pipe_i.readers)
inode24include/linux/pipe_fs_i.h#define PIPE_WRITERS(inode)  ((inode).u.pipe_i.writers)
inode25include/linux/pipe_fs_i.h#define PIPE_SIZE(inode)  ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1))
inode26include/linux/pipe_fs_i.h#define PIPE_EMPTY(inode)  (PIPE_HEAD(inode)==PIPE_TAIL(inode))
inode27include/linux/pipe_fs_i.h#define PIPE_FULL(inode)  (PIPE_SIZE(inode)==(PAGE_SIZE-1))
inode19include/linux/proc_fs.hextern void proc_put_inode(struct inode *);
inode22include/linux/proc_fs.hextern void proc_read_inode(struct inode *);
inode23include/linux/proc_fs.hextern void proc_write_inode(struct inode *);
inode191include/linux/sched.hstruct inode * pwd;
inode192include/linux/sched.hstruct inode * root;
inode193include/linux/sched.hstruct inode * executable;
inode196include/linux/sched.hstruct inode * library;
inode343include/linux/tty.hextern int tty_ioctl(struct inode *, struct file *, unsigned int, unsigned int);
inode115include/linux/xd.hstatic int xd_open (struct inode *inode,struct file *file);
inode117include/linux/xd.hstatic int xd_ioctl (struct inode *inode,struct file *file,unsigned int cmd,unsigned int arg);
inode118include/linux/xd.hstatic void xd_release (struct inode *inode,struct file *file);
inode65include/linux/xia_fs.hextern int xiafs_lookup(struct inode * dir,const char * name, int len, 
inode66include/linux/xia_fs.hstruct inode ** result);
inode67include/linux/xia_fs.hextern int xiafs_create(struct inode * dir,const char * name, int len, int mode,
inode68include/linux/xia_fs.hstruct inode ** result);
inode69include/linux/xia_fs.hextern int xiafs_mkdir(struct inode * dir, const char * name, int len, int mode);
inode70include/linux/xia_fs.hextern int xiafs_rmdir(struct inode * dir, const char * name, int len);
inode71include/linux/xia_fs.hextern int xiafs_unlink(struct inode * dir, const char * name, int len);
inode72include/linux/xia_fs.hextern int xiafs_symlink(struct inode * inode, const char * name, int len,
inode74include/linux/xia_fs.hextern int xiafs_link(struct inode * oldinode, struct inode * dir, 
inode76include/linux/xia_fs.hextern int xiafs_mknod(struct inode * dir, const char * name, int len, 
inode78include/linux/xia_fs.hextern int xiafs_rename(struct inode * old_dir, const char * old_name, 
inode79include/linux/xia_fs.hint old_len, struct inode * new_dir, 
inode81include/linux/xia_fs.hextern struct inode * xiafs_new_inode(struct inode * dir);
inode82include/linux/xia_fs.hextern void xiafs_free_inode(struct inode * inode);
inode88include/linux/xia_fs.hextern int xiafs_bmap(struct inode *,int);
inode90include/linux/xia_fs.hextern struct buffer_head * xiafs_getblk(struct inode *, int, int);
inode91include/linux/xia_fs.hextern struct buffer_head * xiafs_bread(struct inode *, int, int);
inode93include/linux/xia_fs.hextern void xiafs_truncate(struct inode *);
inode96include/linux/xia_fs.hextern void xiafs_read_inode(struct inode *);
inode97include/linux/xia_fs.hextern void xiafs_write_inode(struct inode *);
inode98include/linux/xia_fs.hextern void xiafs_put_inode(struct inode *);
inode1033kernel/blk_drv/floppy.cstatic int fd_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
inode1040kernel/blk_drv/floppy.cRO_IOCTLS(inode->i_rdev,param);
inode1042kernel/blk_drv/floppy.cdrive = MINOR(inode->i_rdev);
inode1097kernel/blk_drv/floppy.cif (!permission(inode, 2))
inode1102kernel/blk_drv/floppy.ccheck_disk_change(inode->i_rdev);
inode1189kernel/blk_drv/floppy.cstatic int floppy_open(struct inode * inode, struct file * filp)
inode1194kernel/blk_drv/floppy.cdrive = inode->i_rdev & 3;
inode1197kernel/blk_drv/floppy.cif (old_dev != inode->i_rdev)
inode1200kernel/blk_drv/floppy.cfd_device[drive] = inode->i_rdev;
inode1202kernel/blk_drv/floppy.cif (old_dev && old_dev != inode->i_rdev)
inode1205kernel/blk_drv/floppy.ccheck_disk_change(inode->i_rdev);
inode1209kernel/blk_drv/floppy.cstatic void floppy_release(struct inode * inode, struct file * filp)
inode1211kernel/blk_drv/floppy.csync_dev(inode->i_rdev);
inode1212kernel/blk_drv/floppy.cif (!fd_ref[inode->i_rdev & 3]--) {
inode1214kernel/blk_drv/floppy.cfd_ref[inode->i_rdev & 3] = 0;
inode505kernel/blk_drv/hd.cstatic int hd_ioctl(struct inode * inode, struct file * file,
inode511kernel/blk_drv/hd.cif (!inode)
inode513kernel/blk_drv/hd.cdev = MINOR(inode->i_rdev) >> 6;
inode528kernel/blk_drv/hd.cput_fs_long(hd[MINOR(inode->i_rdev)].start_sect,
inode536kernel/blk_drv/hd.cput_fs_long(hd[MINOR(inode->i_rdev)].nr_sects,
inode540kernel/blk_drv/hd.creturn revalidate_hddisk(inode->i_rdev, 1);
inode541kernel/blk_drv/hd.cRO_IOCTLS(inode->i_rdev,arg);
inode547kernel/blk_drv/hd.cstatic int hd_open(struct inode * inode, struct file * filp)
inode550kernel/blk_drv/hd.ctarget =  DEVICE_NR(MINOR(inode->i_rdev));
inode562kernel/blk_drv/hd.cstatic void hd_release(struct inode * inode, struct file * file)
inode565kernel/blk_drv/hd.csync_dev(inode->i_rdev);
inode567kernel/blk_drv/hd.ctarget =  DEVICE_NR(MINOR(inode->i_rdev));
inode53kernel/blk_drv/scsi/sd.cextern int sd_ioctl(struct inode *, struct file *, unsigned int, unsigned int);
inode59kernel/blk_drv/scsi/sd.cstatic int sd_open(struct inode * inode, struct file * filp)
inode62kernel/blk_drv/scsi/sd.ctarget =  DEVICE_NR(MINOR(inode->i_rdev));
inode73kernel/blk_drv/scsi/sd.ccheck_disk_change(inode->i_rdev);
inode76kernel/blk_drv/scsi/sd.csd_ioctl(inode, NULL, SCSI_IOCTL_DOORLOCK, 0);
inode82kernel/blk_drv/scsi/sd.cstatic void sd_release(struct inode * inode, struct file * file)
inode85kernel/blk_drv/scsi/sd.csync_dev(inode->i_rdev);
inode87kernel/blk_drv/scsi/sd.ctarget =  DEVICE_NR(MINOR(inode->i_rdev));
inode93kernel/blk_drv/scsi/sd.csd_ioctl(inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0);
inode616kernel/blk_drv/scsi/sd.cstruct inode inode;
inode627kernel/blk_drv/scsi/sd.cinode.i_rdev = full_dev;  /* This is all we really need here */
inode628kernel/blk_drv/scsi/sd.cretval = sd_ioctl(&inode, NULL, SCSI_IOCTL_TEST_UNIT_READY, 0);
inode17kernel/blk_drv/scsi/sd_ioctl.cint sd_ioctl(struct inode * inode, struct file * file, unsigned long cmd, unsigned long arg)
inode19kernel/blk_drv/scsi/sd_ioctl.cint dev = inode->i_rdev;
inode44kernel/blk_drv/scsi/sd_ioctl.cput_fs_long(sd[MINOR(inode->i_rdev)].start_sect,
inode52kernel/blk_drv/scsi/sd_ioctl.cput_fs_long(sd[MINOR(inode->i_rdev)].nr_sects,
inode39kernel/blk_drv/scsi/sr.cstatic int sr_open(struct inode *, struct file *);
inode41kernel/blk_drv/scsi/sr.cextern int sr_ioctl(struct inode *, struct file *, unsigned int, unsigned int);
inode45kernel/blk_drv/scsi/sr.cstatic void sr_release(struct inode * inode, struct file * file)
inode47kernel/blk_drv/scsi/sr.csync_dev(inode->i_rdev);
inode48kernel/blk_drv/scsi/sr.cif(! --scsi_CDs[MINOR(inode->i_rdev)].device->access_count)
inode49kernel/blk_drv/scsi/sr.csr_ioctl(inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0);
inode77kernel/blk_drv/scsi/sr.cstruct inode inode;
inode86kernel/blk_drv/scsi/sr.cinode.i_rdev = full_dev;  /* This is all we really need here */
inode87kernel/blk_drv/scsi/sr.cretval = sr_ioctl(&inode, NULL, SCSI_IOCTL_TEST_UNIT_READY, 0);
inode257kernel/blk_drv/scsi/sr.cstatic int sr_open(struct inode * inode, struct file * filp)
inode259kernel/blk_drv/scsi/sr.cif(MINOR(inode->i_rdev) >= NR_SR || 
inode260kernel/blk_drv/scsi/sr.c!scsi_CDs[MINOR(inode->i_rdev)].device) return -ENODEV;   /* No such device */
inode262kernel/blk_drv/scsi/sr.ccheck_disk_change(inode->i_rdev);
inode264kernel/blk_drv/scsi/sr.cif(!scsi_CDs[MINOR(inode->i_rdev)].device->access_count++)
inode265kernel/blk_drv/scsi/sr.csr_ioctl(inode, NULL, SCSI_IOCTL_DOORLOCK, 0);
inode92kernel/blk_drv/scsi/sr_ioctl.cint sr_ioctl(struct inode * inode, struct file * file, unsigned long cmd, unsigned long arg)
inode96kernel/blk_drv/scsi/sr_ioctl.cint dev = inode->i_rdev;
inode85kernel/blk_drv/scsi/st.cstatic int st_int_ioctl(struct inode * inode,struct file * file,
inode254kernel/blk_drv/scsi/st.cstatic int flush_buffer(struct inode * inode, struct file * filp,
inode260kernel/blk_drv/scsi/st.cdev = inode->i_rdev & 127;
inode273kernel/blk_drv/scsi/st.cresult = st_int_ioctl(inode, filp, MTBSR, backspace);
inode285kernel/blk_drv/scsi/st.cstatic int scsi_tape_open(struct inode * inode, struct file * filp)
inode293kernel/blk_drv/scsi/st.cdev = inode->i_rdev & 127;
inode444kernel/blk_drv/scsi/st.cif (st_int_ioctl(inode, filp, MTSETBLK, ST_BLOCK_SIZE)) {
inode480kernel/blk_drv/scsi/st.cstatic void scsi_tape_close(struct inode * inode, struct file * filp)
inode488kernel/blk_drv/scsi/st.cdev = inode->i_rdev;
inode529kernel/blk_drv/scsi/st.cst_int_ioctl(inode, filp, MTBSF, 1); /* Back over the EOF hit */
inode531kernel/blk_drv/scsi/st.cflush_buffer(inode, filp, 0);
inode536kernel/blk_drv/scsi/st.cst_int_ioctl(inode, filp, MTREW, 1);
inode546kernel/blk_drv/scsi/st.cint st_write(struct inode * inode, struct file * filp, char * buf, int count)
inode554kernel/blk_drv/scsi/st.cdev = inode->i_rdev & 127;
inode566kernel/blk_drv/scsi/st.cretval = flush_buffer(inode, filp, 0);
inode685kernel/blk_drv/scsi/st.cint st_read(struct inode * inode, struct file * filp, char * buf, int count)
inode693kernel/blk_drv/scsi/st.cdev = inode->i_rdev & 127;
inode702kernel/blk_drv/scsi/st.ctransfer = flush_buffer(inode, filp, 0);
inode847kernel/blk_drv/scsi/st.cstatic int st_int_ioctl(struct inode * inode,struct file * file,
inode850kernel/blk_drv/scsi/st.cint dev = inode->i_rdev;
inode1060kernel/blk_drv/scsi/st.cioctl_result = st_int_ioctl(inode, file, MTFSF, 1);
inode1062kernel/blk_drv/scsi/st.cioctl_result = st_int_ioctl(inode, file, MTBSF, 1);
inode1088kernel/blk_drv/scsi/st.cstatic int st_ioctl(struct inode * inode,struct file * file,
inode1091kernel/blk_drv/scsi/st.cint dev = inode->i_rdev;
inode1118kernel/blk_drv/scsi/st.ci = flush_buffer(inode, file, mtc.mt_op == MTSEEK ||
inode1124kernel/blk_drv/scsi/st.creturn st_int_ioctl(inode, file, mtc.mt_op, mtc.mt_count);
inode1145kernel/blk_drv/scsi/st.ci = flush_buffer(inode, file, 0);
inode150kernel/blk_drv/xd.cstatic int xd_open (struct inode *inode,struct file *file)
inode152kernel/blk_drv/xd.cint target = DEVICE_NR(MINOR(inode->i_rdev));
inode189kernel/blk_drv/xd.cstatic int xd_ioctl (struct inode *inode,struct file *file,u_int cmd,u_int arg)
inode192kernel/blk_drv/xd.cint dev = DEVICE_NR(MINOR(inode->i_rdev)),err;
inode194kernel/blk_drv/xd.cif (inode && (dev < xd_drives))
inode202kernel/blk_drv/xd.cput_fs_long(xd[MINOR(inode->i_rdev)].start_sect,(long *) &geometry->start);
inode210kernel/blk_drv/xd.cput_fs_long(xd[MINOR(inode->i_rdev)].nr_sects,(long *) arg);
inode215kernel/blk_drv/xd.ccase BLKRRPART:    return (xd_reread_partitions(inode->i_rdev));
inode216kernel/blk_drv/xd.cRO_IOCTLS(inode->i_rdev,arg);
inode222kernel/blk_drv/xd.cstatic void xd_release (struct inode *inode, struct file *file)
inode224kernel/blk_drv/xd.csync_dev(inode->i_rdev);
inode225kernel/blk_drv/xd.cxd_access[DEVICE_NR(MINOR(inode->i_rdev))]--;
inode79kernel/chr_drv/atixlmouse.cstatic void release_mouse(struct inode * inode, struct file * file)
inode88kernel/chr_drv/atixlmouse.cstatic int open_mouse(struct inode * inode, struct file * file)
inode108kernel/chr_drv/atixlmouse.cstatic int write_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode113kernel/chr_drv/atixlmouse.cstatic int read_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode132kernel/chr_drv/atixlmouse.cstatic int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode61kernel/chr_drv/busmouse.cstatic void release_mouse(struct inode * inode, struct file * file)
inode69kernel/chr_drv/busmouse.cstatic int open_mouse(struct inode * inode, struct file * file)
inode89kernel/chr_drv/busmouse.cstatic int write_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode94kernel/chr_drv/busmouse.cstatic int read_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode123kernel/chr_drv/busmouse.cstatic int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode122kernel/chr_drv/lp.cstatic int lp_write_interrupt(struct inode * inode, struct file * file, char * buf, int count)
inode124kernel/chr_drv/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode189kernel/chr_drv/lp.cstatic int lp_write_polled(struct inode * inode, struct file * file,
inode193kernel/chr_drv/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode263kernel/chr_drv/lp.cstatic int lp_write(struct inode * inode, struct file * file, char * buf, int count)
inode265kernel/chr_drv/lp.cif (LP_IRQ(MINOR(inode->i_rdev)))
inode266kernel/chr_drv/lp.creturn lp_write_interrupt(inode, file, buf, count);
inode268kernel/chr_drv/lp.creturn lp_write_polled(inode, file, buf, count);
inode271kernel/chr_drv/lp.cstatic int lp_lseek(struct inode * inode, struct file * file,
inode277kernel/chr_drv/lp.cstatic int lp_open(struct inode * inode, struct file * file)
inode279kernel/chr_drv/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode314kernel/chr_drv/lp.cstatic void lp_release(struct inode * inode, struct file * file)
inode316kernel/chr_drv/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode329kernel/chr_drv/lp.cstatic int lp_ioctl(struct inode *inode, struct file *file,
inode332kernel/chr_drv/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode22kernel/chr_drv/mem.cstatic int read_ram(struct inode * inode, struct file * file,char * buf, int count)
inode27kernel/chr_drv/mem.cstatic int write_ram(struct inode * inode, struct file * file,char * buf, int count)
inode32kernel/chr_drv/mem.cstatic int read_core(struct inode * inode, struct file * file,char * buf, int count)
inode77kernel/chr_drv/mem.cstatic int read_mem(struct inode * inode, struct file * file,char * buf, int count)
inode102kernel/chr_drv/mem.cstatic int write_mem(struct inode * inode, struct file * file,char * buf, int count)
inode127kernel/chr_drv/mem.cstatic int mmap_mem(struct inode * inode, struct file * file,
inode139kernel/chr_drv/mem.cstatic int read_port(struct inode * inode,struct file * file,char * buf, int count)
inode153kernel/chr_drv/mem.cstatic int write_port(struct inode * inode,struct file * file,char * buf, int count)
inode167kernel/chr_drv/mem.cstatic int read_null(struct inode * node,struct file * file,char * buf,int count)
inode172kernel/chr_drv/mem.cstatic int write_null(struct inode * inode,struct file * file,char * buf, int count)
inode177kernel/chr_drv/mem.cstatic int read_zero(struct inode * node,struct file * file,char * buf,int count)
inode188kernel/chr_drv/mem.cstatic int write_zero(struct inode * inode,struct file * file,char * buf, int count)
inode193kernel/chr_drv/mem.cstatic int mmap_zero(struct inode * inode, struct file * file,
inode211kernel/chr_drv/mem.cstatic int memory_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode316kernel/chr_drv/mem.cstatic int memory_open(struct inode * inode, struct file * filp)
inode318kernel/chr_drv/mem.cswitch (MINOR(inode->i_rdev)) {
inode344kernel/chr_drv/mem.creturn filp->f_op->open(inode,filp);
inode37kernel/chr_drv/mouse.cstatic int mouse_open(struct inode * inode, struct file * file)
inode39kernel/chr_drv/mouse.cint minor = MINOR(inode->i_rdev);
inode65kernel/chr_drv/mouse.creturn file->f_op->open(inode,file);
inode66kernel/chr_drv/msbusmouse.cstatic void release_mouse(struct inode * inode, struct file * file)
inode74kernel/chr_drv/msbusmouse.cstatic int open_mouse(struct inode * inode, struct file * file)
inode95kernel/chr_drv/msbusmouse.cstatic int write_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode100kernel/chr_drv/msbusmouse.cstatic int read_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode128kernel/chr_drv/msbusmouse.cstatic int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode160kernel/chr_drv/psaux.cstatic void release_aux(struct inode * inode, struct file * file)
inode177kernel/chr_drv/psaux.cstatic int open_aux(struct inode * inode, struct file * file)
inode201kernel/chr_drv/psaux.cstatic int write_aux(struct inode * inode, struct file * file, char * buffer, int count)
inode213kernel/chr_drv/psaux.cinode->i_mtime = CURRENT_TIME;
inode222kernel/chr_drv/psaux.cstatic int read_aux(struct inode * inode, struct file * file, char * buffer, int count)
inode248kernel/chr_drv/psaux.cinode->i_atime = CURRENT_TIME;
inode257kernel/chr_drv/psaux.cstatic int aux_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode72kernel/chr_drv/tty_io.cstatic int tty_read(struct inode *, struct file *, char *, int);
inode73kernel/chr_drv/tty_io.cstatic int tty_write(struct inode *, struct file *, char *, int);
inode74kernel/chr_drv/tty_io.cstatic int tty_select(struct inode *, struct file *, int, select_table *);
inode75kernel/chr_drv/tty_io.cstatic int tty_open(struct inode *, struct file *);
inode76kernel/chr_drv/tty_io.cstatic void tty_release(struct inode *, struct file *);
inode169kernel/chr_drv/tty_io.cstatic int hung_up_tty_read(struct inode * inode, struct file * file, char * buf, int count)
inode174kernel/chr_drv/tty_io.cstatic int hung_up_tty_write(struct inode * inode, struct file * file, char * buf, int count)
inode179kernel/chr_drv/tty_io.cstatic int hung_up_tty_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait)
inode184kernel/chr_drv/tty_io.cstatic int hung_up_tty_ioctl(struct inode * inode, struct file * file,
inode190kernel/chr_drv/tty_io.cstatic int tty_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode898kernel/chr_drv/tty_io.cstatic int tty_read(struct inode * inode, struct file * file, char * buf, int count)
inode912kernel/chr_drv/tty_io.cif ((inode->i_rdev != 0x0400) && /* don't stop on /dev/console */
inode927kernel/chr_drv/tty_io.cinode->i_atime = CURRENT_TIME;
inode931kernel/chr_drv/tty_io.cstatic int tty_write(struct inode * inode, struct file * file, char * buf, int count)
inode937kernel/chr_drv/tty_io.cis_console = (inode->i_rdev == 0x0400);
inode963kernel/chr_drv/tty_io.cinode->i_mtime = CURRENT_TIME;
inode1159kernel/chr_drv/tty_io.cstatic int tty_open(struct inode * inode, struct file * filp)
inode1165kernel/chr_drv/tty_io.cminor = MINOR(inode->i_rdev);
inode1166kernel/chr_drv/tty_io.cmajor = MAJOR(inode->i_rdev);
inode1180kernel/chr_drv/tty_io.cprintk("Bad major #%d in tty_open\n", MAJOR(inode->i_rdev));
inode1230kernel/chr_drv/tty_io.cstatic void tty_release(struct inode * inode, struct file * filp)
inode1247kernel/chr_drv/tty_io.cstatic int tty_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait)
inode303kernel/chr_drv/tty_ioctl.cint tty_ioctl(struct inode * inode, struct file * file,
inode667mm/memory.cstatic int share_page(struct task_struct * tsk, struct inode * inode,
inode673mm/memory.cif (!inode || inode->i_count < 2)
inode680mm/memory.cif (inode != (*p)->executable) {
inode682mm/memory.cif (inode == (*p)->libraries[i].library)
inode728mm/memory.cstruct inode * inode;
inode745mm/memory.cinode = NULL;
inode748mm/memory.cinode = tsk->executable;
inode758mm/memory.cinode = tsk->libraries[i].library;
inode766mm/memory.cif (!inode) {
inode779mm/memory.cif (share_page(tsk,inode,address,error_code,page)) {
inode794mm/memory.cnr[i] = bmap(inode,block);
inode795mm/memory.cpage = bread_page(page,inode->i_dev,nr,1024,prot);
inode797mm/memory.cif (!(error_code & PAGE_RW) && share_page(tsk,inode,address, error_code,page))
inode35mm/swap.cstruct inode * swap_file;
inode545mm/swap.cstruct inode * inode;
inode551mm/swap.ci = namei(specialfile,&inode);
inode559mm/swap.cif (p->swap_file == inode)
inode562mm/swap.cif (!S_ISBLK(inode->i_mode))
inode564mm/swap.cif (p->swap_device == inode->i_rdev)
inode568mm/swap.ciput(inode);
inode596mm/swap.cstruct inode * swap_inode;
inode40net/kern_sock.h#define SOCK_INODE(S) ((struct inode *)(S)->dummy)
inode48net/socket.cstatic int sock_lseek(struct inode *inode, struct file *file, off_t offset,
inode50net/socket.cstatic int sock_read(struct inode *inode, struct file *file, char *buf,
inode52net/socket.cstatic int sock_write(struct inode *inode, struct file *file, char *buf,
inode54net/socket.cstatic int sock_readdir(struct inode *inode, struct file *file,
inode56net/socket.cstatic void sock_close(struct inode *inode, struct file *file);
inode57net/socket.cstatic int sock_select(struct inode *inode, struct file *file, int which, select_table *seltable);
inode58net/socket.cstatic int sock_ioctl(struct inode *inode, struct file *file,
inode80net/socket.cget_fd(struct inode *inode)
inode104net/socket.cfile->f_inode = inode;
inode105net/socket.cif (inode)
inode106net/socket.cinode->i_count++;
inode124net/socket.csocki_lookup(struct inode *inode)
inode129net/socket.cif (sock->state != SS_FREE && SOCK_INODE(sock) == inode)
inode238net/socket.csock_lseek(struct inode *inode, struct file *file, off_t offset, int whence)
inode245net/socket.csock_read(struct inode *inode, struct file *file, char *ubuf, int size)
inode250net/socket.cif (!(sock = socki_lookup(inode))) {
inode260net/socket.csock_write(struct inode *inode, struct file *file, char *ubuf, int size)
inode265net/socket.cif (!(sock = socki_lookup(inode))) {
inode275net/socket.csock_readdir(struct inode *inode, struct file *file, struct dirent *dirent,
inode283net/socket.csock_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
inode288net/socket.cPRINTK(("sock_ioctl: inode=0x%x cmd=0x%x arg=%d\n", inode, cmd, arg));
inode289net/socket.cif (!(sock = socki_lookup(inode))) {
inode297net/socket.csock_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode301net/socket.cPRINTK(("sock_select: inode = 0x%x, kind = %s\n", inode,
inode304net/socket.cif (!(sock = socki_lookup(inode))) {
inode317net/socket.csock_close(struct inode *inode, struct file *file)
inode321net/socket.cPRINTK(("sock_close: inode=0x%x (cnt=%d)\n", inode, inode->i_count));
inode326net/socket.cif (!inode)
inode328net/socket.cif (!(sock = socki_lookup(inode))) {
inode26net/unix.cstruct inode *inode;
inode197net/unix.cstruct inode *inode)
inode205net/unix.cupd->inode == inode)
inode225net/unix.cupd->inode = NULL;
inode306net/unix.cif (upd->inode) {
inode308net/unix.cupd->inode));
inode309net/unix.ciput(upd->inode);
inode310net/unix.cupd->inode = NULL;
inode344net/unix.cif (upd->sockaddr_len || upd->inode) {
inode360net/unix.ci = open_namei(fname, 0, S_IFSOCK, &upd->inode, NULL);
inode371net/unix.cPRINTK(("to inode 0x%x\n", upd->inode));
inode387net/unix.cstruct inode *inode;
inode420net/unix.ci = open_namei(fname, 0, S_IFSOCK, &inode, NULL);
inode425net/unix.cserv_upd = unix_data_lookup(&sockun, sockaddr_len, inode);
inode426net/unix.ciput(inode);
inode429net/unix.cfname, inode));