taglinefilesource code
inode100drivers/block/cdu31a.cstatic int scd_open(struct inode *inode, struct file *filp);
inode1275drivers/block/cdu31a.cscd_ioctl(struct inode *inode,
inode1287drivers/block/cdu31a.cif (!inode)
inode1291drivers/block/cdu31a.cdev = MINOR(inode->i_rdev) >> 6;
inode1592drivers/block/cdu31a.cscd_open(struct inode *inode,
inode1654drivers/block/cdu31a.cif (inode)
inode1656drivers/block/cdu31a.ccheck_disk_change(inode->i_rdev);
inode1670drivers/block/cdu31a.cscd_release(struct inode *inode,
inode1683drivers/block/cdu31a.csync_dev(inode->i_rdev);
inode1105drivers/block/floppy.cstatic int fd_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
inode1112drivers/block/floppy.cRO_IOCTLS(inode->i_rdev,param);
inode1114drivers/block/floppy.cdrive = MINOR(inode->i_rdev);
inode1172drivers/block/floppy.cif (!permission(inode, 2))
inode1177drivers/block/floppy.ccheck_disk_change(inode->i_rdev);
inode1268drivers/block/floppy.cstatic int floppy_open(struct inode * inode, struct file * filp)
inode1273drivers/block/floppy.cdrive = inode->i_rdev & 3;
inode1276drivers/block/floppy.cif (old_dev != inode->i_rdev)
inode1279drivers/block/floppy.cfd_device[drive] = inode->i_rdev;
inode1281drivers/block/floppy.cif (old_dev && old_dev != inode->i_rdev)
inode1284drivers/block/floppy.ccheck_disk_change(inode->i_rdev);
inode1288drivers/block/floppy.cstatic void floppy_release(struct inode * inode, struct file * filp)
inode1290drivers/block/floppy.csync_dev(inode->i_rdev);
inode1291drivers/block/floppy.cif (!fd_ref[inode->i_rdev & 3]--) {
inode1293drivers/block/floppy.cfd_ref[inode->i_rdev & 3] = 0;
inode519drivers/block/hd.cstatic int hd_ioctl(struct inode * inode, struct file * file,
inode525drivers/block/hd.cif (!inode)
inode527drivers/block/hd.cdev = MINOR(inode->i_rdev) >> 6;
inode542drivers/block/hd.cput_fs_long(hd[MINOR(inode->i_rdev)].start_sect,
inode550drivers/block/hd.cput_fs_long(hd[MINOR(inode->i_rdev)].nr_sects,
inode555drivers/block/hd.cif(!inode->i_rdev) return -EINVAL;
inode556drivers/block/hd.cfsync_dev(inode->i_rdev);
inode557drivers/block/hd.cinvalidate_buffers(inode->i_rdev);
inode561drivers/block/hd.creturn revalidate_hddisk(inode->i_rdev, 1);
inode562drivers/block/hd.cRO_IOCTLS(inode->i_rdev,arg);
inode568drivers/block/hd.cstatic int hd_open(struct inode * inode, struct file * filp)
inode571drivers/block/hd.ctarget =  DEVICE_NR(MINOR(inode->i_rdev));
inode583drivers/block/hd.cstatic void hd_release(struct inode * inode, struct file * file)
inode586drivers/block/hd.csync_dev(inode->i_rdev);
inode588drivers/block/hd.ctarget =  DEVICE_NR(MINOR(inode->i_rdev));
inode186drivers/block/mcd.cmcd_ioctl(struct inode *ip, struct file *fp, unsigned int cmd,
inode742drivers/block/mcd.cmcd_open(struct inode *ip, struct file *fp)
inode771drivers/block/mcd.cmcd_release(struct inode * inode, struct file * file)
inode774drivers/block/mcd.csync_dev(inode->i_rdev);
inode775drivers/block/mcd.cinvalidate_buffers(inode -> i_rdev);
inode1990drivers/block/sbpcd.cstatic int sbpcd_ioctl(struct inode *inode,struct file *file,
inode1996drivers/block/sbpcd.cMINOR(inode->i_rdev), cmd, arg));
inode1997drivers/block/sbpcd.cif (!inode) return (-EINVAL);
inode2007drivers/block/sbpcd.ci=MINOR(inode->i_rdev);
inode2659drivers/block/sbpcd.cint sbpcd_open(struct inode *ip, struct file *fp)
inode2707drivers/block/sbpcd.cstatic void sbpcd_release(struct inode * ip, struct file * file)
inode158drivers/block/xd.cstatic int xd_open (struct inode *inode,struct file *file)
inode160drivers/block/xd.cint dev = DEVICE_NR(MINOR(inode->i_rdev));
inode201drivers/block/xd.cstatic int xd_ioctl (struct inode *inode,struct file *file,u_int cmd,u_long arg)
inode204drivers/block/xd.cint dev = DEVICE_NR(MINOR(inode->i_rdev)),err;
inode206drivers/block/xd.cif (inode && (dev < xd_drives))
inode214drivers/block/xd.cput_fs_long(xd[MINOR(inode->i_rdev)].start_sect,(long *) &geometry->start);
inode222drivers/block/xd.cput_fs_long(xd[MINOR(inode->i_rdev)].nr_sects,(long *) arg);
inode229drivers/block/xd.cif(!inode->i_rdev) return -EINVAL;
inode230drivers/block/xd.cfsync_dev(inode->i_rdev);
inode231drivers/block/xd.cinvalidate_buffers(inode->i_rdev);
inode234drivers/block/xd.ccase BLKRRPART:    return (xd_reread_partitions(inode->i_rdev));
inode235drivers/block/xd.cRO_IOCTLS(inode->i_rdev,arg);
inode241drivers/block/xd.cstatic void xd_release (struct inode *inode, struct file *file)
inode243drivers/block/xd.cint dev = DEVICE_NR(MINOR(inode->i_rdev));
inode87drivers/char/atixlmouse.cstatic void release_mouse(struct inode * inode, struct file * file)
inode96drivers/char/atixlmouse.cstatic int open_mouse(struct inode * inode, struct file * file)
inode116drivers/char/atixlmouse.cstatic int write_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode121drivers/char/atixlmouse.cstatic int read_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode152drivers/char/atixlmouse.cstatic int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode92drivers/char/busmouse.cstatic void close_mouse(struct inode * inode, struct file * file)
inode105drivers/char/busmouse.cstatic int open_mouse(struct inode * inode, struct file * file)
inode126drivers/char/busmouse.cstatic int write_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode135drivers/char/busmouse.cstatic int read_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode188drivers/char/busmouse.cstatic int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode124drivers/char/lp.cstatic int lp_write_interrupt(struct inode * inode, struct file * file, char * buf, int count)
inode126drivers/char/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode191drivers/char/lp.cstatic int lp_write_polled(struct inode * inode, struct file * file,
inode195drivers/char/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode265drivers/char/lp.cstatic int lp_write(struct inode * inode, struct file * file, char * buf, int count)
inode267drivers/char/lp.cif (LP_IRQ(MINOR(inode->i_rdev)))
inode268drivers/char/lp.creturn lp_write_interrupt(inode, file, buf, count);
inode270drivers/char/lp.creturn lp_write_polled(inode, file, buf, count);
inode273drivers/char/lp.cstatic int lp_lseek(struct inode * inode, struct file * file,
inode279drivers/char/lp.cstatic int lp_open(struct inode * inode, struct file * file)
inode281drivers/char/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode316drivers/char/lp.cstatic void lp_release(struct inode * inode, struct file * file)
inode318drivers/char/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode331drivers/char/lp.cstatic int lp_ioctl(struct inode *inode, struct file *file,
inode334drivers/char/lp.cunsigned int minor = MINOR(inode->i_rdev);
inode26drivers/char/mem.cstatic int read_ram(struct inode * inode, struct file * file,char * buf, int count)
inode31drivers/char/mem.cstatic int write_ram(struct inode * inode, struct file * file,char * buf, int count)
inode36drivers/char/mem.cstatic int read_mem(struct inode * inode, struct file * file,char * buf, int count)
inode61drivers/char/mem.cstatic int write_mem(struct inode * inode, struct file * file,char * buf, int count)
inode86drivers/char/mem.cstatic int mmap_mem(struct inode * inode, struct file * file,
inode107drivers/char/mem.cmpnt->vm_inode = inode;
inode108drivers/char/mem.cinode->i_count++;
inode116drivers/char/mem.cstatic int read_kmem(struct inode *inode, struct file *file, char *buf, int count)
inode120drivers/char/mem.cread1 = read_mem(inode, file, buf, count);
inode130drivers/char/mem.cstatic int read_port(struct inode * inode,struct file * file,char * buf, int count)
inode144drivers/char/mem.cstatic int write_port(struct inode * inode,struct file * file,char * buf, int count)
inode158drivers/char/mem.cstatic int read_null(struct inode * node,struct file * file,char * buf,int count)
inode163drivers/char/mem.cstatic int write_null(struct inode * inode,struct file * file,char * buf, int count)
inode168drivers/char/mem.cstatic int read_zero(struct inode * node,struct file * file,char * buf,int count)
inode179drivers/char/mem.cstatic int mmap_zero(struct inode * inode, struct file * file,
inode205drivers/char/mem.cmerge_segments(current->mmap, ignoff_mergep, inode);
inode209drivers/char/mem.cstatic int read_full(struct inode * node,struct file * file,char * buf,int count)
inode214drivers/char/mem.cstatic int write_full(struct inode * inode,struct file * file,char * buf, int count)
inode224drivers/char/mem.cstatic int null_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode236drivers/char/mem.cstatic int memory_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode347drivers/char/mem.cstatic int memory_open(struct inode * inode, struct file * filp)
inode349drivers/char/mem.cswitch (MINOR(inode->i_rdev)) {
inode375drivers/char/mem.creturn filp->f_op->open(inode,filp);
inode38drivers/char/mouse.cstatic int mouse_open(struct inode * inode, struct file * file)
inode40drivers/char/mouse.cint minor = MINOR(inode->i_rdev);
inode66drivers/char/mouse.creturn file->f_op->open(inode,file);
inode73drivers/char/msbusmouse.cstatic void release_mouse(struct inode * inode, struct file * file)
inode80drivers/char/msbusmouse.cstatic int open_mouse(struct inode * inode, struct file * file)
inode99drivers/char/msbusmouse.cstatic int write_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode104drivers/char/msbusmouse.cstatic int read_mouse(struct inode * inode, struct file * file, char * buffer, int count)
inode125drivers/char/msbusmouse.cstatic int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode233drivers/char/psaux.cstatic void release_aux(struct inode * inode, struct file * file)
inode245drivers/char/psaux.cstatic void release_qp(struct inode * inode, struct file * file)
inode265drivers/char/psaux.cstatic int open_aux(struct inode * inode, struct file * file)
inode295drivers/char/psaux.cstatic int open_qp(struct inode * inode, struct file * file)
inode335drivers/char/psaux.cstatic int write_aux(struct inode * inode, struct file * file, char * buffer, int count)
inode347drivers/char/psaux.cinode->i_mtime = CURRENT_TIME;
inode357drivers/char/psaux.cstatic int write_qp(struct inode * inode, struct file * file, char * buffer, int count)
inode366drivers/char/psaux.cinode->i_mtime = CURRENT_TIME;
inode376drivers/char/psaux.cstatic int read_aux(struct inode * inode, struct file * file, char * buffer, int count)
inode402drivers/char/psaux.cinode->i_atime = CURRENT_TIME;
inode411drivers/char/psaux.cstatic int aux_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode1772drivers/char/tpqic02.cstatic int tape_qic02_lseek(struct inode * inode, struct file * file, off_t offset, int origin)
inode1810drivers/char/tpqic02.cstatic int tape_qic02_read(struct inode * inode, struct file * filp, char * buf, int count)
inode1813drivers/char/tpqic02.cdev_t dev = inode->i_rdev;
inode1980drivers/char/tpqic02.cstatic int tape_qic02_write(struct inode * inode, struct file * filp, char * buf, int count)
inode1983drivers/char/tpqic02.cdev_t dev = inode->i_rdev;
inode2127drivers/char/tpqic02.cstatic int tape_qic02_open(struct inode * inode, struct file * filp)
inode2129drivers/char/tpqic02.cdev_t dev = inode->i_rdev;
inode2284drivers/char/tpqic02.cstatic int tape_qic02_readdir(struct inode * inode, struct file * filp, struct dirent * dp, int count)
inode2290drivers/char/tpqic02.cstatic void tape_qic02_release(struct inode * inode, struct file * filp)
inode2292drivers/char/tpqic02.cdev_t dev = inode->i_rdev;
inode2324drivers/char/tpqic02.cstatic int tape_qic02_ioctl(struct inode * inode, struct file * filp, 
inode2329drivers/char/tpqic02.cint dev_maj = MAJOR(inode->i_rdev);
inode2342drivers/char/tpqic02.cif (!inode || !ioarg)
inode84drivers/char/tty_io.cstatic int tty_read(struct inode *, struct file *, char *, int);
inode85drivers/char/tty_io.cstatic int tty_write(struct inode *, struct file *, char *, int);
inode86drivers/char/tty_io.cstatic int tty_select(struct inode *, struct file *, int, select_table *);
inode87drivers/char/tty_io.cstatic int tty_open(struct inode *, struct file *);
inode88drivers/char/tty_io.cstatic void tty_release(struct inode *, struct file *);
inode188drivers/char/tty_io.cstatic int hung_up_tty_read(struct inode * inode, struct file * file, char * buf, int count)
inode193drivers/char/tty_io.cstatic int hung_up_tty_write(struct inode * inode, struct file * file, char * buf, int count)
inode198drivers/char/tty_io.cstatic int hung_up_tty_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait)
inode203drivers/char/tty_io.cstatic int hung_up_tty_ioctl(struct inode * inode, struct file * file,
inode209drivers/char/tty_io.cstatic int tty_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode1127drivers/char/tty_io.cstatic int tty_read(struct inode * inode, struct file * file, char * buf, int count)
inode1147drivers/char/tty_io.cif ((inode->i_rdev != CONSOLE_DEV) && /* don't stop on /dev/console */
inode1164drivers/char/tty_io.cinode->i_atime = CURRENT_TIME;
inode1168drivers/char/tty_io.cstatic int tty_write(struct inode * inode, struct file * file, char * buf, int count)
inode1174drivers/char/tty_io.cis_console = (inode->i_rdev == CONSOLE_DEV);
inode1203drivers/char/tty_io.cinode->i_mtime = CURRENT_TIME;
inode1444drivers/char/tty_io.cstatic int tty_open(struct inode * inode, struct file * filp)
inode1451drivers/char/tty_io.cminor = MINOR(inode->i_rdev);
inode1452drivers/char/tty_io.cmajor = MAJOR(inode->i_rdev);
inode1466drivers/char/tty_io.cprintk("Bad major #%d in tty_open\n", MAJOR(inode->i_rdev));
inode1536drivers/char/tty_io.cstatic void tty_release(struct inode * inode, struct file * filp)
inode1553drivers/char/tty_io.cstatic int tty_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait)
inode1570drivers/char/tty_io.creturn (ldiscs[tty->disc].select)(tty, inode, filp,
inode1575drivers/char/tty_io.cstatic int normal_select(struct tty_struct * tty, struct inode * inode,
inode333drivers/char/tty_ioctl.cint tty_ioctl(struct inode * inode, struct file * file,
inode50drivers/scsi/sd.cextern int sd_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
inode56drivers/scsi/sd.cstatic int sd_open(struct inode * inode, struct file * filp)
inode59drivers/scsi/sd.ctarget =  DEVICE_NR(MINOR(inode->i_rdev));
inode70drivers/scsi/sd.ccheck_disk_change(inode->i_rdev);
inode73drivers/scsi/sd.csd_ioctl(inode, NULL, SCSI_IOCTL_DOORLOCK, 0);
inode79drivers/scsi/sd.cstatic void sd_release(struct inode * inode, struct file * file)
inode82drivers/scsi/sd.csync_dev(inode->i_rdev);
inode84drivers/scsi/sd.ctarget =  DEVICE_NR(MINOR(inode->i_rdev));
inode90drivers/scsi/sd.csd_ioctl(inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0);
inode619drivers/scsi/sd.cstruct inode inode;
inode630drivers/scsi/sd.cinode.i_rdev = full_dev;  /* This is all we really need here */
inode631drivers/scsi/sd.cretval = sd_ioctl(&inode, NULL, SCSI_IOCTL_TEST_UNIT_READY, 0);
inode17drivers/scsi/sd_ioctl.cint sd_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg)
inode19drivers/scsi/sd_ioctl.cint dev = inode->i_rdev;
inode45drivers/scsi/sd_ioctl.cput_fs_long(sd[MINOR(inode->i_rdev)].start_sect,
inode53drivers/scsi/sd_ioctl.cput_fs_long(sd[MINOR(inode->i_rdev)].nr_sects,
inode58drivers/scsi/sd_ioctl.cif(!inode->i_rdev) return -EINVAL;
inode59drivers/scsi/sd_ioctl.cfsync_dev(inode->i_rdev);
inode60drivers/scsi/sd_ioctl.cinvalidate_buffers(inode->i_rdev);
inode54drivers/scsi/sg.cstatic int sg_ioctl(struct inode * inode,struct file * file,
inode57drivers/scsi/sg.cint dev = MINOR(inode->i_rdev);
inode72drivers/scsi/sg.cstatic int sg_open(struct inode * inode, struct file * filp)
inode74drivers/scsi/sg.cint dev=MINOR(inode->i_rdev);
inode112drivers/scsi/sg.cstatic void sg_close(struct inode * inode, struct file * filp)
inode114drivers/scsi/sg.cint dev=MINOR(inode->i_rdev);
inode153drivers/scsi/sg.cstatic int sg_read(struct inode *inode,struct file *filp,char *buf,int count)
inode155drivers/scsi/sg.cint dev=MINOR(inode->i_rdev);
inode207drivers/scsi/sg.cstatic int sg_write(struct inode *inode,struct file *filp,char *buf,int count)
inode209drivers/scsi/sg.cint dev=MINOR(inode->i_rdev);
inode41drivers/scsi/sr.cstatic int sr_open(struct inode *, struct file *);
inode44drivers/scsi/sr.cextern int sr_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
inode48drivers/scsi/sr.cstatic void sr_release(struct inode * inode, struct file * file)
inode50drivers/scsi/sr.csync_dev(inode->i_rdev);
inode51drivers/scsi/sr.cif(! --scsi_CDs[MINOR(inode->i_rdev)].device->access_count)
inode52drivers/scsi/sr.csr_ioctl(inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0);
inode81drivers/scsi/sr.cstruct inode inode;
inode90drivers/scsi/sr.cinode.i_rdev = full_dev;  /* This is all we really need here */
inode91drivers/scsi/sr.cretval = sr_ioctl(&inode, NULL, SCSI_IOCTL_TEST_UNIT_READY, 0);
inode260drivers/scsi/sr.cstatic int sr_open(struct inode * inode, struct file * filp)
inode262drivers/scsi/sr.cif(MINOR(inode->i_rdev) >= NR_SR || 
inode263drivers/scsi/sr.c!scsi_CDs[MINOR(inode->i_rdev)].device) return -ENODEV;   /* No such device */
inode265drivers/scsi/sr.ccheck_disk_change(inode->i_rdev);
inode267drivers/scsi/sr.cif(!scsi_CDs[MINOR(inode->i_rdev)].device->access_count++)
inode268drivers/scsi/sr.csr_ioctl(inode, NULL, SCSI_IOCTL_DOORLOCK, 0);
inode275drivers/scsi/sr.cif(scsi_CDs[MINOR(inode->i_rdev)].needs_sector_size)
inode276drivers/scsi/sr.cget_sectorsize(MINOR(inode->i_rdev));
inode93drivers/scsi/sr_ioctl.cint sr_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg)
inode97drivers/scsi/sr_ioctl.cint dev = inode->i_rdev;
inode259drivers/scsi/sr_ioctl.csr_ioctl (inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0);
inode113drivers/scsi/st.cstatic int st_int_ioctl(struct inode * inode,struct file * file,
inode309drivers/scsi/st.cflush_buffer(struct inode * inode, struct file * filp, int seek_next)
inode316drivers/scsi/st.cdev = MINOR(inode->i_rdev) & 127;
inode335drivers/scsi/st.cresult = st_int_ioctl(inode, filp, MTBSF, 1); /* Back over the EOF hit */
inode342drivers/scsi/st.cresult = st_int_ioctl(inode, filp, MTBSR, backspace);
inode351drivers/scsi/st.cscsi_tape_open(struct inode * inode, struct file * filp)
inode360drivers/scsi/st.cdev = MINOR(inode->i_rdev) & 127;
inode541drivers/scsi/st.cscsi_tape_close(struct inode * inode, struct file * filp)
inode550drivers/scsi/st.cdev = MINOR(inode->i_rdev);
inode590drivers/scsi/st.cst_int_ioctl(inode, filp, MTBSF, 1); /* Back over the EOF hit */
inode592drivers/scsi/st.cflush_buffer(inode, filp, 0);
inode597drivers/scsi/st.cst_int_ioctl(inode, filp, MTREW, 1);
inode608drivers/scsi/st.cst_write(struct inode * inode, struct file * filp, char * buf, int count)
inode618drivers/scsi/st.cdev = MINOR(inode->i_rdev) & 127;
inode634drivers/scsi/st.cretval = flush_buffer(inode, filp, 0);
inode823drivers/scsi/st.cst_read(struct inode * inode, struct file * filp, char * buf, int count)
inode832drivers/scsi/st.cdev = MINOR(inode->i_rdev) & 127;
inode845drivers/scsi/st.ctransfer = flush_buffer(inode, filp, 0);
inode1018drivers/scsi/st.cst_int_ioctl(struct inode * inode,struct file * file,
inode1021drivers/scsi/st.cint dev = MINOR(inode->i_rdev);
inode1244drivers/scsi/st.cioctl_result = st_int_ioctl(inode, file, MTFSF, 1);
inode1246drivers/scsi/st.cioctl_result = st_int_ioctl(inode, file, MTBSF, 1);
inode1283drivers/scsi/st.cst_ioctl(struct inode * inode,struct file * file,
inode1286drivers/scsi/st.cint dev = MINOR(inode->i_rdev);
inode1315drivers/scsi/st.ci = flush_buffer(inode, file, mtc.mt_op == MTSEEK ||
inode1321drivers/scsi/st.creturn st_int_ioctl(inode, file, mtc.mt_op, mtc.mt_count);
inode1342drivers/scsi/st.ci = flush_buffer(inode, file, 0);
inode60drivers/sound/soundcard.csound_read (struct inode *inode, struct file *file, char *buf, int count)
inode64drivers/sound/soundcard.cdev = inode->i_rdev;
inode71drivers/sound/soundcard.csound_write (struct inode *inode, struct file *file, char *buf, int count)
inode75drivers/sound/soundcard.cdev = inode->i_rdev;
inode82drivers/sound/soundcard.csound_lseek (struct inode *inode, struct file *file, off_t offset, int orig)
inode88drivers/sound/soundcard.csound_open (struct inode *inode, struct file *file)
inode92drivers/sound/soundcard.cdev = inode->i_rdev;
inode114drivers/sound/soundcard.csound_release (struct inode *inode, struct file *file)
inode118drivers/sound/soundcard.cdev = inode->i_rdev;
inode125drivers/sound/soundcard.csound_ioctl (struct inode *inode, struct file *file,
inode130drivers/sound/soundcard.cdev = inode->i_rdev;
inode137drivers/sound/soundcard.csound_select (struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode141drivers/sound/soundcard.cdev = inode->i_rdev;
inode190fs/binfmt_coff.cif (!bprm->inode->i_op ||
inode191fs/binfmt_coff.c!bprm->inode->i_op->default_file_ops->mmap) {
inode218fs/binfmt_coff.cstatus = read_exec (bprm->inode,       /* INODE for file       */
inode379fs/binfmt_coff.cfd = open_inode (bprm->inode, O_RDONLY);
inode467fs/binfmt_coff.ccurrent->executable  = bprm->inode; /* Store inode for file  */
inode468fs/binfmt_coff.c++bprm->inode->i_count;             /* Count the open inode  */
inode654fs/binfmt_coff.cstatus = read_exec (exe_bprm->inode,     /* INODE for file       */
inode758fs/binfmt_coff.cbprm->inode    = file->f_inode;   /* The only item _really_ needed */
inode764fs/binfmt_coff.cstatus = read_exec (bprm->inode,   /* INODE for file       */
inode56fs/binfmt_elf.cstruct inode *interpreter_inode;
inode82fs/binfmt_elf.c(!bprm->inode->i_op || !bprm->inode->i_op->default_file_ops ||
inode83fs/binfmt_elf.c!bprm->inode->i_op->default_file_ops->mmap)){
inode94fs/binfmt_elf.cretval = read_exec(bprm->inode, elf_ex.e_phoff, (char *) elf_phdata,
inode107fs/binfmt_elf.celf_exec_fileno = open_inode(bprm->inode, O_RDONLY);
inode133fs/binfmt_elf.cretval = read_exec(bprm->inode,elf_ppnt->p_offset,elf_interpreter,
inode304fs/binfmt_elf.ccurrent->executable = bprm->inode;
inode305fs/binfmt_elf.cbprm->inode->i_count++;
inode341fs/binfmt_elf.cstruct  inode * inode;
inode351fs/binfmt_elf.cinode = file->f_inode;
inode355fs/binfmt_elf.cif (file->f_op->read(inode, file, (char *) &elf_ex, sizeof(elf_ex)) != sizeof(elf_ex)) {
inode368fs/binfmt_elf.c(!inode->i_op || !inode->i_op->bmap || 
inode369fs/binfmt_elf.c!inode->i_op->default_file_ops->mmap)){
inode383fs/binfmt_elf.cretval = read_exec(inode, elf_ex.e_phoff, (char *) elf_phdata,
inode17fs/block_dev.cint block_write(struct inode * inode, struct file * filp, char * buf, int count)
inode29fs/block_dev.cdev = inode->i_rdev;
inode78fs/block_dev.cint block_read(struct inode * inode, struct file * filp, char * buf, int count)
inode95fs/block_dev.cdev = inode->i_rdev;
inode212fs/block_dev.cint block_fsync(struct inode *inode, struct file *filp)
inode214fs/block_dev.creturn fsync_dev (inode->i_rdev);
inode172fs/buffer.cint file_fsync (struct inode *inode, struct file *filp)
inode174fs/buffer.creturn fsync_dev(inode->i_dev);
inode180fs/buffer.cstruct inode * inode;
inode182fs/buffer.cif (fd>=NR_OPEN || !(file=current->filp[fd]) || !(inode=file->f_inode))
inode186fs/buffer.cif (file->f_op->fsync(inode,file))
inode96fs/devices.cint blkdev_open(struct inode * inode, struct file * filp)
inode100fs/devices.ci = MAJOR(inode->i_rdev);
inode105fs/devices.creturn filp->f_op->open(inode,filp);
inode147fs/devices.cint chrdev_open(struct inode * inode, struct file * filp)
inode151fs/devices.ci = MAJOR(inode->i_rdev);
inode156fs/devices.creturn filp->f_op->open(inode,filp);
inode56fs/exec.cint open_inode(struct inode * inode, int mode)
inode61fs/exec.cif (!inode->i_op || !inode->i_op->default_file_ops)
inode78fs/exec.cf->f_inode = inode;
inode81fs/exec.cf->f_op = inode->i_op->default_file_ops;
inode83fs/exec.cerror = f->f_op->open(inode,f);
inode90fs/exec.cinode->i_count++;
inode99fs/exec.cwhile (file.f_op->write(inode,&file,(char *)(addr),(nr)) != (nr)) goto close_coredump
inode103fs/exec.cif (file.f_op->lseek(inode,&file,(offset),0) != (offset)) \
inode118fs/exec.cstruct inode * inode = NULL;
inode138fs/exec.cif (open_namei(corefile,O_CREAT | 2 | O_TRUNC,0600,&inode,NULL)) {
inode139fs/exec.cinode = NULL;
inode142fs/exec.cif (!S_ISREG(inode->i_mode))
inode144fs/exec.cif (!inode->i_op || !inode->i_op->default_file_ops)
inode149fs/exec.cfile.f_inode = inode;
inode152fs/exec.cfile.f_op = inode->i_op->default_file_ops;
inode154fs/exec.cif (file.f_op->open(inode,&file))
inode221fs/exec.cfile.f_op->release(inode,&file);
inode224fs/exec.ciput(inode);
inode416fs/exec.cint read_exec(struct inode *inode, unsigned long offset,
inode422fs/exec.cif (!inode->i_op || !inode->i_op->default_file_ops)
inode427fs/exec.cfile.f_inode = inode;
inode430fs/exec.cfile.f_op = inode->i_op->default_file_ops;
inode432fs/exec.cif (file.f_op->open(inode,&file))
inode437fs/exec.cif (file.f_op->lseek(inode,&file,offset,0) != offset)
inode446fs/exec.cresult = file.f_op->read(inode, &file, addr, count);
inode449fs/exec.cfile.f_op->release(inode,&file);
inode512fs/exec.c!permission(bprm->inode,MAY_READ))
inode549fs/exec.cretval = open_namei(filename, 0, 0, &bprm.inode, NULL);
inode557fs/exec.cif (!S_ISREG(bprm.inode->i_mode)) {  /* must be regular file */
inode561fs/exec.cif (IS_NOEXEC(bprm.inode)) {    /* FS mustn't be mounted noexec */
inode565fs/exec.cif (!bprm.inode->i_sb) {
inode569fs/exec.ci = bprm.inode->i_mode;
inode570fs/exec.cif (IS_NOSUID(bprm.inode) && (((i & S_ISUID) && bprm.inode->i_uid != current->
inode571fs/exec.ceuid) || ((i & S_ISGID) && !in_group_p(bprm.inode->i_gid))) &&
inode581fs/exec.cbprm.e_uid = (i & S_ISUID) ? bprm.inode->i_uid : current->euid;
inode582fs/exec.cbprm.e_gid = (i & S_ISGID) ? bprm.inode->i_gid : current->egid;
inode584fs/exec.cif (current->euid == bprm.inode->i_uid)
inode586fs/exec.celse if (in_group_p(bprm.inode->i_gid))
inode589fs/exec.c!((bprm.inode->i_mode & 0111) && suser())) {
inode596fs/exec.cretval = read_exec(bprm.inode,0,bprm.buf,128);
inode608fs/exec.ciput(bprm.inode);
inode668fs/exec.cretval = open_namei(interp, 0, 0, &bprm.inode, NULL);
inode690fs/exec.ciput(bprm.inode);
inode696fs/exec.ciput(bprm.inode);
inode768fs/exec.cbprm->inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) {
inode773fs/exec.c(N_TXTOFF(ex) < bprm->inode->i_sb->s_blocksize)) {
inode799fs/exec.cread_exec(bprm->inode, 32, (char *) 0, ex.a_text+ex.a_data);
inode804fs/exec.cfd = open_inode(bprm->inode, O_RDONLY);
inode814fs/exec.cread_exec(bprm->inode, N_TXTOFF(ex),
inode836fs/exec.ccurrent->executable = bprm->inode;
inode837fs/exec.cbprm->inode->i_count++;
inode858fs/exec.cstruct  inode * inode;
inode865fs/exec.cinode = file->f_inode;
inode868fs/exec.cif (file->f_op->read(inode, file, (char *) &ex, sizeof(ex)) != sizeof(ex)) {
inode876fs/exec.cinode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) {
inode880fs/exec.c(N_TXTOFF(ex) < inode->i_sb->s_blocksize)) {
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);
inode189fs/ext/file.cif (!IS_RDONLY(inode)) {
inode190fs/ext/file.cinode->i_atime = CURRENT_TIME;
inode191fs/ext/file.cinode->i_dirt = 1;
inode196fs/ext/file.cstatic int ext_file_write(struct inode * inode, struct file * filp, char * buf, int count)
inode203fs/ext/file.cif (!inode) {
inode207fs/ext/file.cif (!S_ISREG(inode->i_mode)) {
inode208fs/ext/file.cprintk("ext_file_write: mode = %07o\n",inode->i_mode);
inode216fs/ext/file.cpos = inode->i_size;
inode221fs/ext/file.cbh = ext_getblk(inode,pos/BLOCK_SIZE,1);
inode242fs/ext/file.cif (pos > inode->i_size) {
inode243fs/ext/file.cinode->i_size = pos;
inode244fs/ext/file.cinode->i_dirt = 1;
inode253fs/ext/file.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode255fs/ext/file.cinode->i_dirt = 1;
inode182fs/ext/freelists.cvoid ext_free_inode(struct inode * inode)
inode191fs/ext/freelists.cif (!inode)
inode193fs/ext/freelists.cif (!inode->i_dev) {
inode197fs/ext/freelists.cif (inode->i_count != 1) {
inode198fs/ext/freelists.cprintk("free_inode: inode has count=%d\n",inode->i_count);
inode201fs/ext/freelists.cif (inode->i_nlink) {
inode202fs/ext/freelists.cprintk("free_inode: inode has nlink=%d\n",inode->i_nlink);
inode205fs/ext/freelists.cif (!inode->i_sb) {
inode209fs/ext/freelists.csb = inode->i_sb;
inode210fs/ext/freelists.cino = inode->i_ino;
inode211fs/ext/freelists.cdev = inode->i_dev;
inode212fs/ext/freelists.cclear_inode(inode);
inode246fs/ext/freelists.cstruct inode * ext_new_inode(const struct inode * dir)
inode249fs/ext/freelists.cstruct inode * inode;
inode254fs/ext/freelists.cif (!dir || !(inode=get_empty_inode()))
inode257fs/ext/freelists.cinode->i_sb = sb;
inode258fs/ext/freelists.cinode->i_flags = sb->s_flags;
inode289fs/ext/freelists.cinode->i_count = 1;
inode290fs/ext/freelists.cinode->i_nlink = 1;
inode291fs/ext/freelists.cinode->i_dev = sb->s_dev;
inode292fs/ext/freelists.cinode->i_uid = current->euid;
inode293fs/ext/freelists.cinode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid;
inode294fs/ext/freelists.cinode->i_dirt = 1;
inode295fs/ext/freelists.cinode->i_ino = j;
inode296fs/ext/freelists.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode297fs/ext/freelists.cinode->i_op = NULL;
inode298fs/ext/freelists.cinode->i_blocks = inode->i_blksize = 0;
inode299fs/ext/freelists.cinsert_inode_hash(inode);
inode301fs/ext/freelists.cprintk("ext_new_inode : allocating inode %d\n", inode->i_ino);
inode304fs/ext/freelists.creturn inode;
inode30fs/ext/fsync.cstatic int sync_block (struct inode * inode, unsigned long * block, int wait)
inode38fs/ext/fsync.cbh = get_hash_table(inode->i_dev, *block, blocksize);
inode59fs/ext/fsync.cstatic int sync_iblock (struct inode * inode, unsigned long * iblock, 
inode68fs/ext/fsync.crc = sync_block (inode, iblock, wait);
inode71fs/ext/fsync.c*bh = bread(inode->i_dev, tmp, blocksize);
inode83fs/ext/fsync.cstatic int sync_direct(struct inode *inode, int wait)
inode89fs/ext/fsync.crc = sync_block (inode, inode->u.ext_i.i_data + i, wait);
inode98fs/ext/fsync.cstatic int sync_indirect(struct inode *inode, unsigned long *iblock, int wait)
inode104fs/ext/fsync.crc = sync_iblock (inode, iblock, &ind_bh, wait);
inode109fs/ext/fsync.crc = sync_block (inode, 
inode121fs/ext/fsync.cstatic int sync_dindirect(struct inode *inode, unsigned long *diblock,
inode128fs/ext/fsync.crc = sync_iblock (inode, diblock, &dind_bh, wait);
inode133fs/ext/fsync.crc = sync_indirect (inode,
inode145fs/ext/fsync.cstatic int sync_tindirect(struct inode *inode, unsigned long *tiblock, 
inode152fs/ext/fsync.crc = sync_iblock (inode, tiblock, &tind_bh, wait);
inode157fs/ext/fsync.crc = sync_dindirect (inode,
inode169fs/ext/fsync.cint ext_sync_file(struct inode * inode, struct file *file)
inode173fs/ext/fsync.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode174fs/ext/fsync.cS_ISLNK(inode->i_mode)))
inode178fs/ext/fsync.cerr |= sync_direct(inode, wait);
inode179fs/ext/fsync.cerr |= sync_indirect(inode, inode->u.ext_i.i_data+9, wait);
inode180fs/ext/fsync.cerr |= sync_dindirect(inode, inode->u.ext_i.i_data+10, wait);
inode181fs/ext/fsync.cerr |= sync_tindirect(inode, inode->u.ext_i.i_data+11, wait);
inode183fs/ext/fsync.cerr |= ext_sync_inode (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);
inode164fs/ext/inode.c#define inode_bmap(inode,nr) ((inode)->u.ext_i.i_data[(nr)])
inode177fs/ext/inode.cint ext_bmap(struct inode * inode,int block)
inode190fs/ext/inode.creturn inode_bmap(inode,block);
inode193fs/ext/inode.ci = inode_bmap(inode,9);
inode196fs/ext/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block);
inode200fs/ext/inode.ci = inode_bmap(inode,10);
inode203fs/ext/inode.ci = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>8);
inode206fs/ext/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 255);
inode209fs/ext/inode.ci = inode_bmap(inode,11);
inode212fs/ext/inode.ci = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>16);
inode215fs/ext/inode.ci = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),(block>>8) & 255);
inode218fs/ext/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 255);
inode221fs/ext/inode.cstatic struct buffer_head * inode_getblk(struct inode * inode, int nr, int create)
inode227fs/ext/inode.cp = inode->u.ext_i.i_data + nr;
inode231fs/ext/inode.cresult = getblk(inode->i_dev, tmp, BLOCK_SIZE);
inode239fs/ext/inode.ctmp = ext_new_block(inode->i_sb);
inode242fs/ext/inode.cresult = getblk(inode->i_dev, tmp, BLOCK_SIZE);
inode244fs/ext/inode.cext_free_block(inode->i_sb,tmp);
inode249fs/ext/inode.cinode->i_ctime = CURRENT_TIME;
inode250fs/ext/inode.cinode->i_dirt = 1;
inode254fs/ext/inode.cstatic struct buffer_head * block_getblk(struct inode * inode,
inode287fs/ext/inode.ctmp = ext_new_block(inode->i_sb);
inode294fs/ext/inode.cext_free_block(inode->i_sb,tmp);
inode304fs/ext/inode.cstruct buffer_head * ext_getblk(struct inode * inode, int block, int create)
inode317fs/ext/inode.creturn inode_getblk(inode,block,create);
inode320fs/ext/inode.cbh = inode_getblk(inode,9,create);
inode321fs/ext/inode.creturn block_getblk(inode,bh,block,create);
inode325fs/ext/inode.cbh = inode_getblk(inode,10,create);
inode326fs/ext/inode.cbh = block_getblk(inode,bh,block>>8,create);
inode327fs/ext/inode.creturn block_getblk(inode,bh,block & 255,create);
inode330fs/ext/inode.cbh = inode_getblk(inode,11,create);
inode331fs/ext/inode.cbh = block_getblk(inode,bh,block>>16,create);
inode332fs/ext/inode.cbh = block_getblk(inode,bh,(block>>8) & 255,create);
inode333fs/ext/inode.creturn block_getblk(inode,bh,block & 255,create);
inode336fs/ext/inode.cstruct buffer_head * ext_bread(struct inode * inode, int block, int create)
inode340fs/ext/inode.cbh = ext_getblk(inode,block,create);
inode351fs/ext/inode.cvoid ext_read_inode(struct inode * inode)
inode357fs/ext/inode.cblock = 2 + (inode->i_ino-1)/EXT_INODES_PER_BLOCK;
inode358fs/ext/inode.cif (!(bh=bread(inode->i_dev, block, BLOCK_SIZE)))
inode361fs/ext/inode.c(inode->i_ino-1)%EXT_INODES_PER_BLOCK;
inode362fs/ext/inode.cinode->i_mode = raw_inode->i_mode;
inode363fs/ext/inode.cinode->i_uid = raw_inode->i_uid;
inode364fs/ext/inode.cinode->i_gid = raw_inode->i_gid;
inode365fs/ext/inode.cinode->i_nlink = raw_inode->i_nlinks;
inode366fs/ext/inode.cinode->i_size = raw_inode->i_size;
inode367fs/ext/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = raw_inode->i_time;
inode368fs/ext/inode.cinode->i_blocks = inode->i_blksize = 0;
inode369fs/ext/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode370fs/ext/inode.cinode->i_rdev = raw_inode->i_zone[0];
inode372fs/ext/inode.cinode->u.ext_i.i_data[block] = raw_inode->i_zone[block];
inode374fs/ext/inode.cinode->i_op = NULL;
inode375fs/ext/inode.cif (S_ISREG(inode->i_mode))
inode376fs/ext/inode.cinode->i_op = &ext_file_inode_operations;
inode377fs/ext/inode.celse if (S_ISDIR(inode->i_mode))
inode378fs/ext/inode.cinode->i_op = &ext_dir_inode_operations;
inode379fs/ext/inode.celse if (S_ISLNK(inode->i_mode))
inode380fs/ext/inode.cinode->i_op = &ext_symlink_inode_operations;
inode381fs/ext/inode.celse if (S_ISCHR(inode->i_mode))
inode382fs/ext/inode.cinode->i_op = &chrdev_inode_operations;
inode383fs/ext/inode.celse if (S_ISBLK(inode->i_mode))
inode384fs/ext/inode.cinode->i_op = &blkdev_inode_operations;
inode385fs/ext/inode.celse if (S_ISFIFO(inode->i_mode))
inode386fs/ext/inode.cinit_fifo(inode);
inode389fs/ext/inode.cstatic struct buffer_head * ext_update_inode(struct inode * inode)
inode395fs/ext/inode.cblock = 2 + (inode->i_ino-1)/EXT_INODES_PER_BLOCK;
inode396fs/ext/inode.cif (!(bh=bread(inode->i_dev, block, BLOCK_SIZE)))
inode399fs/ext/inode.c(inode->i_ino-1)%EXT_INODES_PER_BLOCK;
inode400fs/ext/inode.craw_inode->i_mode = inode->i_mode;
inode401fs/ext/inode.craw_inode->i_uid = inode->i_uid;
inode402fs/ext/inode.craw_inode->i_gid = inode->i_gid;
inode403fs/ext/inode.craw_inode->i_nlinks = inode->i_nlink;
inode404fs/ext/inode.craw_inode->i_size = inode->i_size;
inode405fs/ext/inode.craw_inode->i_time = inode->i_mtime;
inode406fs/ext/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode407fs/ext/inode.craw_inode->i_zone[0] = inode->i_rdev;
inode409fs/ext/inode.craw_inode->i_zone[block] = inode->u.ext_i.i_data[block];
inode411fs/ext/inode.cinode->i_dirt=0;
inode415fs/ext/inode.cvoid ext_write_inode(struct inode * inode)
inode418fs/ext/inode.cbh = ext_update_inode (inode);
inode422fs/ext/inode.cint ext_sync_inode (struct inode *inode)
inode427fs/ext/inode.cbh = ext_update_inode(inode);
inode435fs/ext/inode.cinode->i_dev, inode->i_ino);
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;
inode265fs/ext/namei.cde->inode=0;
inode282fs/ext/namei.cif (!de->inode && de->rec_len >= rec_len) {
inode290fs/ext/namei.cde1->inode = 0;
inode310fs/ext/namei.cint ext_create(struct inode * dir,const char * name, int len, int mode,
inode311fs/ext/namei.cstruct inode ** result)
inode313fs/ext/namei.cstruct inode * inode;
inode320fs/ext/namei.cinode = ext_new_inode(dir);
inode321fs/ext/namei.cif (!inode) {
inode325fs/ext/namei.cinode->i_op = &ext_file_inode_operations;
inode326fs/ext/namei.cinode->i_mode = mode;
inode327fs/ext/namei.cinode->i_dirt = 1;
inode330fs/ext/namei.cinode->i_nlink--;
inode331fs/ext/namei.cinode->i_dirt = 1;
inode332fs/ext/namei.ciput(inode);
inode336fs/ext/namei.cde->inode = inode->i_ino;
inode340fs/ext/namei.c*result = inode;
inode344fs/ext/namei.cint ext_mknod(struct inode * dir, const char * name, int len, int mode, int rdev)
inode346fs/ext/namei.cstruct inode * inode;
inode358fs/ext/namei.cinode = ext_new_inode(dir);
inode359fs/ext/namei.cif (!inode) {
inode363fs/ext/namei.cinode->i_uid = current->euid;
inode364fs/ext/namei.cinode->i_mode = mode;
inode365fs/ext/namei.cinode->i_op = NULL;
inode366fs/ext/namei.cif (S_ISREG(inode->i_mode))
inode367fs/ext/namei.cinode->i_op = &ext_file_inode_operations;
inode368fs/ext/namei.celse if (S_ISDIR(inode->i_mode)) {
inode369fs/ext/namei.cinode->i_op = &ext_dir_inode_operations;
inode371fs/ext/namei.cinode->i_mode |= S_ISGID;
inode373fs/ext/namei.celse if (S_ISLNK(inode->i_mode))
inode374fs/ext/namei.cinode->i_op = &ext_symlink_inode_operations;
inode375fs/ext/namei.celse if (S_ISCHR(inode->i_mode))
inode376fs/ext/namei.cinode->i_op = &chrdev_inode_operations;
inode377fs/ext/namei.celse if (S_ISBLK(inode->i_mode))
inode378fs/ext/namei.cinode->i_op = &blkdev_inode_operations;
inode379fs/ext/namei.celse if (S_ISFIFO(inode->i_mode))
inode380fs/ext/namei.cinit_fifo(inode);
inode382fs/ext/namei.cinode->i_rdev = rdev;
inode384fs/ext/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode386fs/ext/namei.cinode->i_dirt = 1;
inode389fs/ext/namei.cinode->i_nlink--;
inode390fs/ext/namei.cinode->i_dirt = 1;
inode391fs/ext/namei.ciput(inode);
inode395fs/ext/namei.cde->inode = inode->i_ino;
inode399fs/ext/namei.ciput(inode);
inode403fs/ext/namei.cint ext_mkdir(struct inode * dir, const char * name, int len, int mode)
inode405fs/ext/namei.cstruct inode * inode;
inode415fs/ext/namei.cinode = ext_new_inode(dir);
inode416fs/ext/namei.cif (!inode) {
inode420fs/ext/namei.cinode->i_op = &ext_dir_inode_operations;
inode421fs/ext/namei.cinode->i_size = 2 * 16; /* Each entry is coded on 16 bytes for "." and ".."
inode427fs/ext/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode429fs/ext/namei.cdir_block = ext_bread(inode,0,1);
inode432fs/ext/namei.cinode->i_nlink--;
inode433fs/ext/namei.cinode->i_dirt = 1;
inode434fs/ext/namei.ciput(inode);
inode438fs/ext/namei.cde->inode=inode->i_ino;
inode443fs/ext/namei.cde->inode = dir->i_ino;
inode447fs/ext/namei.cinode->i_nlink = 2;
inode450fs/ext/namei.cinode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask);
inode452fs/ext/namei.cinode->i_mode |= S_ISGID;
inode453fs/ext/namei.cinode->i_dirt = 1;
inode457fs/ext/namei.cinode->i_nlink=0;
inode458fs/ext/namei.ciput(inode);
inode461fs/ext/namei.cde->inode = inode->i_ino;
inode466fs/ext/namei.ciput(inode);
inode474fs/ext/namei.cstatic int empty_dir(struct inode * inode)
inode480fs/ext/namei.cif (inode->i_size < 2 * 12 || !(bh = ext_bread(inode,0,0))) {
inode481fs/ext/namei.cprintk("warning - bad directory on dev %04x\n",inode->i_dev);
inode486fs/ext/namei.cif (de->inode != inode->i_ino || !de1->inode || 
inode488fs/ext/namei.cprintk("warning - bad directory on dev %04x\n",inode->i_dev);
inode493fs/ext/namei.cwhile (offset < inode->i_size ) {
inode496fs/ext/namei.cbh = ext_bread(inode, offset >> BLOCK_SIZE_BITS,1);
inode507fs/ext/namei.cinode->i_dev, inode->i_ino, offset, de->rec_len, de->name_len);
inode511fs/ext/namei.cif (de->inode) {
inode525fs/ext/namei.cif (nde && !nde->inode)
inode527fs/ext/namei.cif (pde && !pde->inode)
inode531fs/ext/namei.cint ext_rmdir(struct inode * dir, const char * name, int len)
inode534fs/ext/namei.cstruct inode * inode;
inode538fs/ext/namei.cinode = NULL;
inode544fs/ext/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode547fs/ext/namei.cinode->i_uid != current->euid)
inode549fs/ext/namei.cif (inode->i_dev != dir->i_dev)
inode551fs/ext/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode553fs/ext/namei.cif (!S_ISDIR(inode->i_mode)) {
inode557fs/ext/namei.cif (!empty_dir(inode)) {
inode561fs/ext/namei.cif (inode->i_count > 1) {
inode565fs/ext/namei.cif (inode->i_nlink != 2)
inode566fs/ext/namei.cprintk("empty directory has nlink!=2 (%d)\n",inode->i_nlink);
inode567fs/ext/namei.cde->inode = 0;
inode571fs/ext/namei.cinode->i_nlink=0;
inode572fs/ext/namei.cinode->i_dirt=1;
inode574fs/ext/namei.cinode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
inode579fs/ext/namei.ciput(inode);
inode584fs/ext/namei.cint ext_unlink(struct inode * dir, const char * name, int len)
inode587fs/ext/namei.cstruct inode * inode;
inode592fs/ext/namei.cinode = NULL;
inode596fs/ext/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode600fs/ext/namei.ccurrent->euid != inode->i_uid &&
inode603fs/ext/namei.cif (S_ISDIR(inode->i_mode))
inode605fs/ext/namei.cif (!inode->i_nlink) {
inode607fs/ext/namei.cinode->i_dev,inode->i_ino,inode->i_nlink);
inode608fs/ext/namei.cinode->i_nlink=1;
inode610fs/ext/namei.cde->inode = 0;
inode614fs/ext/namei.cinode->i_nlink--;
inode615fs/ext/namei.cinode->i_dirt = 1;
inode616fs/ext/namei.cinode->i_ctime = CURRENT_TIME;
inode617fs/ext/namei.cdir->i_ctime = dir->i_mtime = inode->i_ctime;
inode622fs/ext/namei.ciput(inode);
inode627fs/ext/namei.cint ext_symlink(struct inode * dir, const char * name, int len, const char * symname)
inode630fs/ext/namei.cstruct inode * inode = NULL;
inode635fs/ext/namei.cif (!(inode = ext_new_inode(dir))) {
inode639fs/ext/namei.cinode->i_mode = S_IFLNK | 0777;
inode640fs/ext/namei.cinode->i_op = &ext_symlink_inode_operations;
inode641fs/ext/namei.cname_block = ext_bread(inode,0,1);
inode644fs/ext/namei.cinode->i_nlink--;
inode645fs/ext/namei.cinode->i_dirt = 1;
inode646fs/ext/namei.ciput(inode);
inode655fs/ext/namei.cinode->i_size = i;
inode656fs/ext/namei.cinode->i_dirt = 1;
inode659fs/ext/namei.cinode->i_nlink--;
inode660fs/ext/namei.cinode->i_dirt = 1;
inode661fs/ext/namei.ciput(inode);
inode668fs/ext/namei.cinode->i_nlink--;
inode669fs/ext/namei.cinode->i_dirt = 1;
inode670fs/ext/namei.ciput(inode);
inode674fs/ext/namei.cde->inode = inode->i_ino;
inode678fs/ext/namei.ciput(inode);
inode682fs/ext/namei.cint ext_link(struct inode * oldinode, struct inode * dir, const char * name, int len)
inode710fs/ext/namei.cde->inode = oldinode->i_ino;
inode721fs/ext/namei.cstatic int subdir(struct inode * new_inode, struct inode * old_inode)
inode747fs/ext/namei.c((struct ext_dir_entry *) buffer)->rec_len))->inode
inode763fs/ext/namei.cstatic int do_ext_rename(struct inode * old_dir, const char * old_name, int old_len,
inode764fs/ext/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode766fs/ext/namei.cstruct inode * old_inode, * new_inode;
inode787fs/ext/namei.cold_inode = __iget(old_dir->i_sb, old_de->inode,0); /* don't cross mnt-points */
inode797fs/ext/namei.cnew_inode = __iget(new_dir->i_sb, new_de->inode,0); /* don't cross mnt-points */
inode839fs/ext/namei.cif (new_inode && (new_de->inode != new_inode->i_ino))
inode841fs/ext/namei.cif (new_de->inode && !new_inode)
inode843fs/ext/namei.cif (old_de->inode != old_inode->i_ino)
inode846fs/ext/namei.cold_de->inode = 0;
inode848fs/ext/namei.cnew_de->inode = old_inode->i_ino;
inode885fs/ext/namei.cint ext_rename(struct inode * old_dir, const char * old_name, int old_len,
inode886fs/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);
inode32fs/ext/truncate.cstatic int trunc_direct(struct inode * inode)
inode38fs/ext/truncate.c#define DIRECT_BLOCK ((inode->i_size + 1023) >> 10)
inode42fs/ext/truncate.cp = inode->u.ext_i.i_data+i;
inode45fs/ext/truncate.cbh = getblk(inode->i_dev,tmp,BLOCK_SIZE);
inode56fs/ext/truncate.cinode->i_dirt = 1;
inode58fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode63fs/ext/truncate.cstatic int trunc_indirect(struct inode * inode, int offset, unsigned long * p)
inode75fs/ext/truncate.cind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode94fs/ext/truncate.cbh = getblk(inode->i_dev,tmp,BLOCK_SIZE);
inode107fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode119fs/ext/truncate.cinode->i_dirt = 1;
inode120fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode126fs/ext/truncate.cstatic int trunc_dindirect(struct inode * inode, int offset, unsigned long * p)
inode137fs/ext/truncate.cdind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode156fs/ext/truncate.cretry |= trunc_indirect(inode,offset+(i<<8),dind);
inode169fs/ext/truncate.cinode->i_dirt = 1;
inode170fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode176fs/ext/truncate.cstatic int trunc_tindirect(struct inode * inode)
inode184fs/ext/truncate.cp = inode->u.ext_i.i_data+11;
inode187fs/ext/truncate.ctind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode203fs/ext/truncate.cretry |= trunc_dindirect(inode,9+256+256*256+(i<<16),tind);
inode216fs/ext/truncate.cinode->i_dirt = 1;
inode217fs/ext/truncate.cext_free_block(inode->i_sb,tmp);
inode223fs/ext/truncate.cvoid ext_truncate(struct inode * inode)
inode227fs/ext/truncate.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode228fs/ext/truncate.cS_ISLNK(inode->i_mode)))
inode231fs/ext/truncate.cretry = trunc_direct(inode);
inode232fs/ext/truncate.cretry |= trunc_indirect(inode,9,inode->u.ext_i.i_data+9);
inode233fs/ext/truncate.cretry |= trunc_dindirect(inode,9+256,inode->u.ext_i.i_data+10);
inode234fs/ext/truncate.cretry |= trunc_tindirect(inode);
inode240fs/ext/truncate.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode241fs/ext/truncate.cinode->i_dirt = 1;
inode249fs/ext/truncate.cvoid ext_release(struct inode * inode, struct file * filp)
inode25fs/ext2/acl.cint ext2_permission (struct inode * inode, int mask)
inode27fs/ext2/acl.cunsigned short mode = inode->i_mode;
inode37fs/ext2/acl.celse if (current->euid == inode->i_uid)
inode39fs/ext2/acl.celse if (in_group_p (inode->i_gid))
inode25fs/ext2/dir.cstatic int ext2_dir_read (struct inode * inode, struct file * filp,
inode31fs/ext2/dir.cstatic int ext2_readdir (struct inode *, struct file *, struct dirent *, int);
inode67fs/ext2/dir.cint ext2_check_dir_entry (char * function, struct inode * dir,
inode86fs/ext2/dir.cerror_msg, offset, de->inode, de->rec_len,
inode91fs/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) {
inode107fs/ext2/dir.cbh = ext2_bread (inode, blk, 0, &err);
inode119fs/ext2/dir.ctmp = ext2_getblk (inode, ++blk, 0, &err);
inode133fs/ext2/dir.cwhile (offset < sb->s_blocksize && filp->f_pos < inode->i_size) {
inode134fs/ext2/dir.cif (!ext2_check_dir_entry ("ext2_readdir", inode, de,
inode141fs/ext2/dir.cif (de->inode) {
inode144fs/ext2/dir.cput_fs_long (de->inode, &dirent->d_ino);
inode148fs/ext2/dir.cext2_dcache_add (inode->i_dev, inode->i_ino,
inode150fs/ext2/dir.cde->inode);
inode154fs/ext2/dir.cif (!IS_RDONLY(inode)) {
inode155fs/ext2/dir.cinode->i_atime = CURRENT_TIME;
inode156fs/ext2/dir.cinode->i_dirt = 1;
inode165fs/ext2/dir.cif (!IS_RDONLY(inode)) {
inode166fs/ext2/dir.cinode->i_atime = CURRENT_TIME;
inode167fs/ext2/dir.cinode->i_dirt = 1;
inode36fs/ext2/file.cstatic int ext2_file_read (struct inode *, struct file *, char *, int);
inode37fs/ext2/file.cstatic int ext2_file_write (struct inode *, struct file *, char *, int);
inode38fs/ext2/file.cstatic void ext2_release_file (struct inode *, struct file *);
inode75fs/ext2/file.cstatic int ext2_file_read (struct inode * inode, struct file * filp,
inode88fs/ext2/file.cif (!inode) {
inode92fs/ext2/file.csb = inode->i_sb;
inode93fs/ext2/file.cif (!S_ISREG(inode->i_mode)) {
inode95fs/ext2/file.cinode->i_mode);
inode99fs/ext2/file.csize = inode->i_size;
inode115fs/ext2/file.cblocks += read_ahead[MAJOR(inode->i_dev)] >>
inode138fs/ext2/file.c*bhb = ext2_getblk (inode, block++, 0, &err);
inode211fs/ext2/file.cif (!IS_RDONLY(inode)) {
inode212fs/ext2/file.cinode->i_atime = CURRENT_TIME;
inode213fs/ext2/file.cinode->i_dirt = 1;
inode218fs/ext2/file.cstatic int ext2_file_write (struct inode * inode, struct file * filp,
inode228fs/ext2/file.cif (!inode) {
inode232fs/ext2/file.csb = inode->i_sb;
inode239fs/ext2/file.cif (!S_ISREG(inode->i_mode)) {
inode241fs/ext2/file.cinode->i_mode);
inode249fs/ext2/file.cpos = inode->i_size;
inode254fs/ext2/file.cbh = ext2_getblk (inode, pos / sb->s_blocksize, 1, &err);
inode275fs/ext2/file.cif (pos > inode->i_size) {
inode276fs/ext2/file.cinode->i_size = pos;
inode277fs/ext2/file.cinode->i_dirt = 1;
inode286fs/ext2/file.cinode->i_ctime = inode->i_mtime = CURRENT_TIME;
inode288fs/ext2/file.cinode->i_dirt = 1;
inode297fs/ext2/file.cstatic void ext2_release_file (struct inode * inode, struct file * filp)
inode300fs/ext2/file.cext2_discard_prealloc (inode);
inode27fs/ext2/fsync.c#define blocksize (EXT2_BLOCK_SIZE(inode->i_sb))
inode28fs/ext2/fsync.c#define addr_per_block (EXT2_ADDR_PER_BLOCK(inode->i_sb))
inode30fs/ext2/fsync.cstatic int sync_block (struct inode * inode, unsigned long * block, int wait)
inode38fs/ext2/fsync.cbh = get_hash_table (inode->i_dev, *block, blocksize);
inode58fs/ext2/fsync.cstatic int sync_iblock (struct inode * inode, unsigned long * iblock, 
inode67fs/ext2/fsync.crc = sync_block (inode, iblock, wait);
inode70fs/ext2/fsync.c*bh = bread (inode->i_dev, tmp, blocksize);
inode82fs/ext2/fsync.cstatic int sync_direct (struct inode * inode, int wait)
inode88fs/ext2/fsync.crc = sync_block (inode, inode->u.ext2_i.i_data + i, wait);
inode97fs/ext2/fsync.cstatic int sync_indirect (struct inode * inode, unsigned long * iblock,
inode104fs/ext2/fsync.crc = sync_iblock (inode, iblock, &ind_bh, wait);
inode109fs/ext2/fsync.crc = sync_block (inode, 
inode121fs/ext2/fsync.cstatic int sync_dindirect (struct inode * inode, unsigned long * diblock,
inode128fs/ext2/fsync.crc = sync_iblock (inode, diblock, &dind_bh, wait);
inode133fs/ext2/fsync.crc = sync_indirect (inode,
inode145fs/ext2/fsync.cstatic int sync_tindirect (struct inode * inode, unsigned long * tiblock, 
inode152fs/ext2/fsync.crc = sync_iblock (inode, tiblock, &tind_bh, wait);
inode157fs/ext2/fsync.crc = sync_dindirect (inode,
inode169fs/ext2/fsync.cint ext2_sync_file (struct inode * inode, struct file * file)
inode173fs/ext2/fsync.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode174fs/ext2/fsync.cS_ISLNK(inode->i_mode)))
inode176fs/ext2/fsync.cif (S_ISLNK(inode->i_mode) && !(inode->i_blocks))
inode184fs/ext2/fsync.cerr |= sync_direct (inode, wait);
inode185fs/ext2/fsync.cerr |= sync_indirect (inode,
inode186fs/ext2/fsync.cinode->u.ext2_i.i_data+EXT2_IND_BLOCK,
inode188fs/ext2/fsync.cerr |= sync_dindirect (inode,
inode189fs/ext2/fsync.cinode->u.ext2_i.i_data+EXT2_DIND_BLOCK, 
inode191fs/ext2/fsync.cerr |= sync_tindirect (inode, 
inode192fs/ext2/fsync.cinode->u.ext2_i.i_data+EXT2_TIND_BLOCK, 
inode196fs/ext2/fsync.cerr |= ext2_sync_inode (inode);
inode183fs/ext2/ialloc.cstatic void set_inode_dtime (struct inode * inode,
inode190fs/ext2/ialloc.cinode_block = gdp->bg_inode_table + (((inode->i_ino - 1) %
inode191fs/ext2/ialloc.cEXT2_INODES_PER_GROUP(inode->i_sb)) /
inode192fs/ext2/ialloc.cEXT2_INODES_PER_BLOCK(inode->i_sb));
inode193fs/ext2/ialloc.cbh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize);
inode195fs/ext2/ialloc.cext2_panic (inode->i_sb, "set_inode_dtime",
inode198fs/ext2/ialloc.cinode->i_ino, inode_block);
inode200fs/ext2/ialloc.c(((inode->i_ino - 1) %
inode201fs/ext2/ialloc.cEXT2_INODES_PER_GROUP(inode->i_sb)) %
inode202fs/ext2/ialloc.cEXT2_INODES_PER_BLOCK(inode->i_sb));
inode206fs/ext2/ialloc.cif (IS_SYNC(inode)) {
inode213fs/ext2/ialloc.cvoid ext2_free_inode (struct inode * inode)
inode224fs/ext2/ialloc.cif (!inode)
inode226fs/ext2/ialloc.cif (!inode->i_dev) {
inode230fs/ext2/ialloc.cif (inode->i_count > 1) {
inode232fs/ext2/ialloc.cinode->i_count);
inode235fs/ext2/ialloc.cif (inode->i_nlink) {
inode237fs/ext2/ialloc.cinode->i_nlink);
inode240fs/ext2/ialloc.cif (!inode->i_sb) {
inode245fs/ext2/ialloc.cext2_debug ("freeing inode %lu\n", inode->i_ino);
inode247fs/ext2/ialloc.csb = inode->i_sb;
inode249fs/ext2/ialloc.cif (inode->i_ino < EXT2_FIRST_INO ||
inode250fs/ext2/ialloc.cinode->i_ino > sb->u.ext2_sb.s_es->s_inodes_count) {
inode257fs/ext2/ialloc.cblock_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(sb);
inode258fs/ext2/ialloc.cbit = (inode->i_ino - 1) % EXT2_INODES_PER_GROUP(sb);
inode263fs/ext2/ialloc.c"bit already cleared for inode %lu", inode->i_ino);
inode267fs/ext2/ialloc.cif (S_ISDIR(inode->i_mode))
inode272fs/ext2/ialloc.cset_inode_dtime (inode, gdp);
inode281fs/ext2/ialloc.cclear_inode (inode);
inode290fs/ext2/ialloc.cstatic void inc_inode_version (struct inode * inode,
inode298fs/ext2/ialloc.cinode_block = gdp->bg_inode_table + (((inode->i_ino - 1) %
inode299fs/ext2/ialloc.cEXT2_INODES_PER_GROUP(inode->i_sb)) /
inode300fs/ext2/ialloc.cEXT2_INODES_PER_BLOCK(inode->i_sb));
inode301fs/ext2/ialloc.cbh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize);
inode303fs/ext2/ialloc.cext2_error (inode->i_sb, "inc_inode_version",
inode306fs/ext2/ialloc.cinode->i_ino, inode_block);
inode307fs/ext2/ialloc.cinode->u.ext2_i.i_version = 1;
inode311fs/ext2/ialloc.c(((inode->i_ino - 1) %
inode312fs/ext2/ialloc.cEXT2_INODES_PER_GROUP(inode->i_sb)) %
inode313fs/ext2/ialloc.cEXT2_INODES_PER_BLOCK(inode->i_sb));
inode315fs/ext2/ialloc.cinode->u.ext2_i.i_version = raw_inode->i_version;
inode330fs/ext2/ialloc.cstruct inode * ext2_new_inode (const struct inode * dir, int mode)
inode336fs/ext2/ialloc.cstruct inode * inode;
inode342fs/ext2/ialloc.cif (!dir || !(inode = get_empty_inode ()))
inode345fs/ext2/ialloc.cinode->i_sb = sb;
inode346fs/ext2/ialloc.cinode->i_flags = sb->s_flags;
inode428fs/ext2/ialloc.ciput(inode);
inode452fs/ext2/ialloc.ciput (inode);
inode463fs/ext2/ialloc.ciput (inode);
inode473fs/ext2/ialloc.cinode->i_mode = mode;
inode474fs/ext2/ialloc.cinode->i_sb = sb;
inode475fs/ext2/ialloc.cinode->i_count = 1;
inode476fs/ext2/ialloc.cinode->i_nlink = 1;
inode477fs/ext2/ialloc.cinode->i_dev = sb->s_dev;
inode478fs/ext2/ialloc.cinode->i_uid = current->euid;
inode480fs/ext2/ialloc.cinode->i_gid = dir->i_gid;
inode482fs/ext2/ialloc.cinode->i_gid = dir->i_gid;
inode486fs/ext2/ialloc.cinode->i_gid = current->egid;
inode487fs/ext2/ialloc.cinode->i_dirt = 1;
inode488fs/ext2/ialloc.cinode->i_ino = j;
inode489fs/ext2/ialloc.cinode->i_blksize = sb->s_blocksize;
inode490fs/ext2/ialloc.cinode->i_blocks = 0;
inode491fs/ext2/ialloc.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode492fs/ext2/ialloc.cinode->u.ext2_i.i_flags = dir->u.ext2_i.i_flags;
inode493fs/ext2/ialloc.cinode->u.ext2_i.i_faddr = 0;
inode494fs/ext2/ialloc.cinode->u.ext2_i.i_frag = 0;
inode495fs/ext2/ialloc.cinode->u.ext2_i.i_fsize = 0;
inode496fs/ext2/ialloc.cinode->u.ext2_i.i_file_acl = 0;
inode497fs/ext2/ialloc.cinode->u.ext2_i.i_dir_acl = 0;
inode498fs/ext2/ialloc.cinode->u.ext2_i.i_dtime = 0;
inode499fs/ext2/ialloc.cinode->u.ext2_i.i_block_group = i;
inode500fs/ext2/ialloc.cinode->i_op = NULL;
inode501fs/ext2/ialloc.cif (inode->u.ext2_i.i_flags & EXT2_SYNC_FL)
inode502fs/ext2/ialloc.cinode->i_flags |= MS_SYNC;
inode503fs/ext2/ialloc.cinsert_inode_hash(inode);
inode504fs/ext2/ialloc.cinc_inode_version (inode, gdp, mode);
inode506fs/ext2/ialloc.cext2_debug ("allocating inode %lu\n", inode->i_ino);
inode509fs/ext2/ialloc.creturn inode;
inode36fs/ext2/inode.cvoid ext2_put_inode (struct inode * inode)
inode38fs/ext2/inode.cext2_discard_prealloc (inode);
inode39fs/ext2/inode.cif (inode->i_nlink || inode->i_ino == EXT2_ACL_IDX_INO ||
inode40fs/ext2/inode.cinode->i_ino == EXT2_ACL_DATA_INO)
inode42fs/ext2/inode.cinode->i_size = 0;
inode43fs/ext2/inode.cif (inode->i_blocks)
inode44fs/ext2/inode.cext2_truncate (inode);
inode45fs/ext2/inode.cext2_free_inode (inode);
inode48fs/ext2/inode.c#define inode_bmap(inode, nr) ((inode)->u.ext2_i.i_data[(nr)])
inode68fs/ext2/inode.cvoid ext2_discard_prealloc (struct inode * inode)
inode71fs/ext2/inode.cif (inode->u.ext2_i.i_prealloc_count) {
inode72fs/ext2/inode.cext2_free_blocks (inode->i_sb,
inode73fs/ext2/inode.cinode->u.ext2_i.i_prealloc_block,
inode74fs/ext2/inode.cinode->u.ext2_i.i_prealloc_count);
inode75fs/ext2/inode.cinode->u.ext2_i.i_prealloc_count = 0;
inode80fs/ext2/inode.cstatic int ext2_alloc_block (struct inode * inode, unsigned long goal)
inode88fs/ext2/inode.cwait_on_super (inode->i_sb);
inode91fs/ext2/inode.cif (inode->u.ext2_i.i_prealloc_count &&
inode92fs/ext2/inode.c(goal == inode->u.ext2_i.i_prealloc_block ||
inode93fs/ext2/inode.cgoal + 1 == inode->u.ext2_i.i_prealloc_block))
inode95fs/ext2/inode.cresult = inode->u.ext2_i.i_prealloc_block++;
inode96fs/ext2/inode.cinode->u.ext2_i.i_prealloc_count--;
inode103fs/ext2/inode.cif (!(bh = getblk (inode->i_sb->s_dev, result,
inode104fs/ext2/inode.cinode->i_sb->s_blocksize))) {
inode105fs/ext2/inode.cext2_error (inode->i_sb, "ext2_alloc_block",
inode109fs/ext2/inode.cclear_block (bh->b_data, inode->i_sb->s_blocksize);
inode114fs/ext2/inode.cext2_discard_prealloc (inode);
inode117fs/ext2/inode.cif (S_ISREG(inode->i_mode))
inode119fs/ext2/inode.c(inode->i_sb, goal,
inode120fs/ext2/inode.c&inode->u.ext2_i.i_prealloc_count,
inode121fs/ext2/inode.c&inode->u.ext2_i.i_prealloc_block);
inode123fs/ext2/inode.cresult = ext2_new_block (inode->i_sb, goal, 0, 0);
inode126fs/ext2/inode.cresult = ext2_new_block (inode->i_sb, goal, 0, 0);
inode133fs/ext2/inode.cint ext2_bmap (struct inode * inode, int block)
inode136fs/ext2/inode.cint addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode139fs/ext2/inode.cext2_warning (inode->i_sb, "ext2_bmap", "block < 0");
inode145fs/ext2/inode.cext2_warning (inode->i_sb, "ext2_bmap", "block > big");
inode149fs/ext2/inode.creturn inode_bmap (inode, block);
inode152fs/ext2/inode.ci = inode_bmap (inode, EXT2_IND_BLOCK);
inode155fs/ext2/inode.creturn block_bmap (bread (inode->i_dev, i,
inode156fs/ext2/inode.cinode->i_sb->s_blocksize), block);
inode160fs/ext2/inode.ci = inode_bmap (inode, EXT2_DIND_BLOCK);
inode163fs/ext2/inode.ci = block_bmap (bread (inode->i_dev, i,
inode164fs/ext2/inode.cinode->i_sb->s_blocksize),
inode168fs/ext2/inode.creturn block_bmap (bread (inode->i_dev, i,
inode169fs/ext2/inode.cinode->i_sb->s_blocksize),
inode173fs/ext2/inode.ci = inode_bmap (inode, EXT2_TIND_BLOCK);
inode176fs/ext2/inode.ci = block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize),
inode180fs/ext2/inode.ci = block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize),
inode184fs/ext2/inode.creturn block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize),
inode188fs/ext2/inode.cstatic struct buffer_head * inode_getblk (struct inode * inode, int nr,
inode194fs/ext2/inode.cint blocks = inode->i_sb->s_blocksize / 512;
inode196fs/ext2/inode.cp = inode->u.ext2_i.i_data + nr;
inode200fs/ext2/inode.cresult = getblk (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode208fs/ext2/inode.cEXT2_BLOCK_SIZE_BITS(inode->i_sb))) {
inode212fs/ext2/inode.cif (inode->u.ext2_i.i_next_alloc_block == new_block)
inode213fs/ext2/inode.cgoal = inode->u.ext2_i.i_next_alloc_goal;
inode219fs/ext2/inode.cif (inode->u.ext2_i.i_data[tmp]) {
inode220fs/ext2/inode.cgoal = inode->u.ext2_i.i_data[tmp];
inode225fs/ext2/inode.cgoal = (inode->u.ext2_i.i_block_group * 
inode226fs/ext2/inode.cEXT2_BLOCKS_PER_GROUP(inode->i_sb)) +
inode227fs/ext2/inode.cinode->i_sb->u.ext2_sb.s_es->s_first_data_block;
inode232fs/ext2/inode.ctmp = ext2_alloc_block (inode, goal);
inode235fs/ext2/inode.cresult = getblk (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode237fs/ext2/inode.cext2_free_blocks (inode->i_sb, tmp, 1);
inode242fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block = new_block;
inode243fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal = tmp;
inode244fs/ext2/inode.cinode->i_ctime = CURRENT_TIME;
inode245fs/ext2/inode.cinode->i_blocks += blocks;
inode246fs/ext2/inode.cif (IS_SYNC(inode))
inode247fs/ext2/inode.cext2_sync_inode (inode);
inode249fs/ext2/inode.cinode->i_dirt = 1;
inode253fs/ext2/inode.cstatic struct buffer_head * block_getblk (struct inode * inode,
inode261fs/ext2/inode.cint blocks = inode->i_sb->s_blocksize / 512;
inode287fs/ext2/inode.cEXT2_BLOCK_SIZE_BITS(inode->i_sb))) {
inode292fs/ext2/inode.cif (inode->u.ext2_i.i_next_alloc_block == new_block)
inode293fs/ext2/inode.cgoal = inode->u.ext2_i.i_next_alloc_goal;
inode304fs/ext2/inode.ctmp = ext2_alloc_block (inode, goal);
inode311fs/ext2/inode.cext2_free_blocks (inode->i_sb, tmp, 1);
inode317fs/ext2/inode.cif (IS_SYNC(inode)) {
inode321fs/ext2/inode.cinode->i_ctime = CURRENT_TIME;
inode322fs/ext2/inode.cinode->i_blocks += blocks;
inode323fs/ext2/inode.cinode->i_dirt = 1;
inode324fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block = new_block;
inode325fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal = tmp;
inode330fs/ext2/inode.cstruct buffer_head * ext2_getblk (struct inode * inode, long block,
inode335fs/ext2/inode.cunsigned long addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode339fs/ext2/inode.cext2_warning (inode->i_sb, "ext2_getblk", "block < 0");
inode345fs/ext2/inode.cext2_warning (inode->i_sb, "ext2_getblk", "block > big");
inode355fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block,
inode356fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal);
inode358fs/ext2/inode.cif (block == inode->u.ext2_i.i_next_alloc_block + 1) {
inode359fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block++;
inode360fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal++;
inode366fs/ext2/inode.creturn inode_getblk (inode, block, create, b, err);
inode369fs/ext2/inode.cbh = inode_getblk (inode, EXT2_IND_BLOCK, create, b, err);
inode370fs/ext2/inode.creturn block_getblk (inode, bh, block, create,
inode371fs/ext2/inode.cinode->i_sb->s_blocksize, b, err);
inode375fs/ext2/inode.cbh = inode_getblk (inode, EXT2_DIND_BLOCK, create, b, err);
inode376fs/ext2/inode.cbh = block_getblk (inode, bh, block / addr_per_block, create,
inode377fs/ext2/inode.cinode->i_sb->s_blocksize, b, err);
inode378fs/ext2/inode.creturn block_getblk (inode, bh, block & (addr_per_block - 1),
inode379fs/ext2/inode.ccreate, inode->i_sb->s_blocksize, b, err);
inode382fs/ext2/inode.cbh = inode_getblk (inode, EXT2_TIND_BLOCK, create, b, err);
inode383fs/ext2/inode.cbh = block_getblk (inode, bh, block/(addr_per_block * addr_per_block),
inode384fs/ext2/inode.ccreate, inode->i_sb->s_blocksize, b, err);
inode385fs/ext2/inode.cbh = block_getblk (inode, bh, (block/addr_per_block) & (addr_per_block - 1),
inode386fs/ext2/inode.ccreate, inode->i_sb->s_blocksize, b, err);
inode387fs/ext2/inode.creturn block_getblk (inode, bh, block & (addr_per_block - 1), create,
inode388fs/ext2/inode.cinode->i_sb->s_blocksize, b, err);
inode391fs/ext2/inode.cstruct buffer_head * ext2_bread (struct inode * inode, int block, 
inode396fs/ext2/inode.cbh = ext2_getblk (inode, block, create, err);
inode408fs/ext2/inode.cvoid ext2_read_inode (struct inode * inode)
inode418fs/ext2/inode.cif ((inode->i_ino != EXT2_ROOT_INO && inode->i_ino != EXT2_ACL_IDX_INO &&
inode419fs/ext2/inode.cinode->i_ino != EXT2_ACL_DATA_INO && inode->i_ino < EXT2_FIRST_INO) ||
inode420fs/ext2/inode.cinode->i_ino > inode->i_sb->u.ext2_sb.s_es->s_inodes_count) {
inode421fs/ext2/inode.cext2_error (inode->i_sb, "ext2_read_inode",
inode422fs/ext2/inode.c"bad inode number: %lu", inode->i_ino);
inode425fs/ext2/inode.cblock_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb);
inode426fs/ext2/inode.cif (block_group >= inode->i_sb->u.ext2_sb.s_groups_count)
inode427fs/ext2/inode.cext2_panic (inode->i_sb, "ext2_read_inode",
inode429fs/ext2/inode.cgroup_desc = block_group / EXT2_DESC_PER_BLOCK(inode->i_sb);
inode430fs/ext2/inode.cdesc = block_group % EXT2_DESC_PER_BLOCK(inode->i_sb);
inode431fs/ext2/inode.cbh = inode->i_sb->u.ext2_sb.s_group_desc[group_desc];
inode433fs/ext2/inode.cext2_panic (inode->i_sb, "ext2_read_inode",
inode437fs/ext2/inode.c(((inode->i_ino - 1) % EXT2_INODES_PER_GROUP(inode->i_sb))
inode438fs/ext2/inode.c/ EXT2_INODES_PER_BLOCK(inode->i_sb));
inode439fs/ext2/inode.cif (!(bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize)))
inode440fs/ext2/inode.cext2_panic (inode->i_sb, "ext2_read_inode",
inode442fs/ext2/inode.c"inode=%lu, block=%lu", inode->i_ino, block);
inode444fs/ext2/inode.c(inode->i_ino - 1) % EXT2_INODES_PER_BLOCK(inode->i_sb);
inode445fs/ext2/inode.cinode->i_mode = raw_inode->i_mode;
inode446fs/ext2/inode.cinode->i_uid = raw_inode->i_uid;
inode447fs/ext2/inode.cinode->i_gid = raw_inode->i_gid;
inode448fs/ext2/inode.cinode->i_nlink = raw_inode->i_links_count;
inode449fs/ext2/inode.cinode->i_size = raw_inode->i_size;
inode450fs/ext2/inode.cinode->i_atime = raw_inode->i_atime;
inode451fs/ext2/inode.cinode->i_ctime = raw_inode->i_ctime;
inode452fs/ext2/inode.cinode->i_mtime = raw_inode->i_mtime;
inode453fs/ext2/inode.cinode->u.ext2_i.i_dtime = raw_inode->i_dtime;
inode454fs/ext2/inode.cinode->i_blksize = inode->i_sb->s_blocksize;
inode455fs/ext2/inode.cinode->i_blocks = raw_inode->i_blocks;
inode456fs/ext2/inode.cinode->u.ext2_i.i_flags = raw_inode->i_flags;
inode457fs/ext2/inode.cinode->u.ext2_i.i_faddr = raw_inode->i_faddr;
inode458fs/ext2/inode.cinode->u.ext2_i.i_frag = raw_inode->i_frag;
inode459fs/ext2/inode.cinode->u.ext2_i.i_fsize = raw_inode->i_fsize;
inode460fs/ext2/inode.cinode->u.ext2_i.i_file_acl = raw_inode->i_file_acl;
inode461fs/ext2/inode.cinode->u.ext2_i.i_dir_acl = raw_inode->i_dir_acl;
inode462fs/ext2/inode.cinode->u.ext2_i.i_version = raw_inode->i_version;
inode463fs/ext2/inode.cinode->u.ext2_i.i_block_group = block_group;
inode464fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_block = 0;
inode465fs/ext2/inode.cinode->u.ext2_i.i_next_alloc_goal = 0;
inode466fs/ext2/inode.cif (inode->u.ext2_i.i_prealloc_count)
inode467fs/ext2/inode.cext2_error (inode->i_sb, "ext2_read_inode",
inode469fs/ext2/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode470fs/ext2/inode.cinode->i_rdev = raw_inode->i_block[0];
inode472fs/ext2/inode.cinode->u.ext2_i.i_data[block] = raw_inode->i_block[block];
inode474fs/ext2/inode.cinode->i_op = NULL;
inode475fs/ext2/inode.cif (inode->i_ino == EXT2_ACL_IDX_INO ||
inode476fs/ext2/inode.cinode->i_ino == EXT2_ACL_DATA_INO)
inode478fs/ext2/inode.celse if (S_ISREG(inode->i_mode))
inode479fs/ext2/inode.cinode->i_op = &ext2_file_inode_operations;
inode480fs/ext2/inode.celse if (S_ISDIR(inode->i_mode))
inode481fs/ext2/inode.cinode->i_op = &ext2_dir_inode_operations;
inode482fs/ext2/inode.celse if (S_ISLNK(inode->i_mode))
inode483fs/ext2/inode.cinode->i_op = &ext2_symlink_inode_operations;
inode484fs/ext2/inode.celse if (S_ISCHR(inode->i_mode))
inode485fs/ext2/inode.cinode->i_op = &chrdev_inode_operations;
inode486fs/ext2/inode.celse if (S_ISBLK(inode->i_mode))
inode487fs/ext2/inode.cinode->i_op = &blkdev_inode_operations;
inode488fs/ext2/inode.celse if (S_ISFIFO(inode->i_mode))
inode489fs/ext2/inode.cinit_fifo(inode);
inode490fs/ext2/inode.cif (inode->u.ext2_i.i_flags & EXT2_SYNC_FL)
inode491fs/ext2/inode.cinode->i_flags |= MS_SYNC;
inode494fs/ext2/inode.cstatic struct buffer_head * ext2_update_inode (struct inode * inode)
inode504fs/ext2/inode.cif ((inode->i_ino != EXT2_ROOT_INO && inode->i_ino < EXT2_FIRST_INO) ||
inode505fs/ext2/inode.cinode->i_ino > inode->i_sb->u.ext2_sb.s_es->s_inodes_count) {
inode506fs/ext2/inode.cext2_error (inode->i_sb, "ext2_write_inode",
inode507fs/ext2/inode.c"bad inode number: %lu", inode->i_ino);
inode510fs/ext2/inode.cblock_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb);
inode511fs/ext2/inode.cif (block_group >= inode->i_sb->u.ext2_sb.s_groups_count)
inode512fs/ext2/inode.cext2_panic (inode->i_sb, "ext2_write_inode",
inode514fs/ext2/inode.cgroup_desc = block_group / EXT2_DESC_PER_BLOCK(inode->i_sb);
inode515fs/ext2/inode.cdesc = block_group % EXT2_DESC_PER_BLOCK(inode->i_sb);
inode516fs/ext2/inode.cbh = inode->i_sb->u.ext2_sb.s_group_desc[group_desc];
inode518fs/ext2/inode.cext2_panic (inode->i_sb, "ext2_write_inode",
inode522fs/ext2/inode.c(((inode->i_ino - 1) % EXT2_INODES_PER_GROUP(inode->i_sb))
inode523fs/ext2/inode.c/ EXT2_INODES_PER_BLOCK(inode->i_sb));
inode524fs/ext2/inode.cif (!(bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize)))
inode525fs/ext2/inode.cext2_panic (inode->i_sb, "ext2_write_inode",
inode527fs/ext2/inode.c"inode=%lu, block=%lu", inode->i_ino, block);
inode529fs/ext2/inode.c(inode->i_ino - 1) % EXT2_INODES_PER_BLOCK(inode->i_sb);
inode530fs/ext2/inode.craw_inode->i_mode = inode->i_mode;
inode531fs/ext2/inode.craw_inode->i_uid = inode->i_uid;
inode532fs/ext2/inode.craw_inode->i_gid = inode->i_gid;
inode533fs/ext2/inode.craw_inode->i_links_count = inode->i_nlink;
inode534fs/ext2/inode.craw_inode->i_size = inode->i_size;
inode535fs/ext2/inode.craw_inode->i_atime = inode->i_atime;
inode536fs/ext2/inode.craw_inode->i_ctime = inode->i_ctime;
inode537fs/ext2/inode.craw_inode->i_mtime = inode->i_mtime;
inode538fs/ext2/inode.craw_inode->i_blocks = inode->i_blocks;
inode539fs/ext2/inode.craw_inode->i_dtime = inode->u.ext2_i.i_dtime;
inode540fs/ext2/inode.craw_inode->i_flags = inode->u.ext2_i.i_flags;
inode541fs/ext2/inode.craw_inode->i_faddr = inode->u.ext2_i.i_faddr;
inode542fs/ext2/inode.craw_inode->i_frag = inode->u.ext2_i.i_frag;
inode543fs/ext2/inode.craw_inode->i_fsize = inode->u.ext2_i.i_fsize;
inode544fs/ext2/inode.craw_inode->i_file_acl = inode->u.ext2_i.i_file_acl;
inode545fs/ext2/inode.craw_inode->i_dir_acl = inode->u.ext2_i.i_dir_acl;
inode546fs/ext2/inode.craw_inode->i_version = inode->u.ext2_i.i_version;
inode547fs/ext2/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode548fs/ext2/inode.craw_inode->i_block[0] = inode->i_rdev;
inode550fs/ext2/inode.craw_inode->i_block[block] = inode->u.ext2_i.i_data[block];
inode552fs/ext2/inode.cinode->i_dirt = 0;
inode556fs/ext2/inode.cvoid ext2_write_inode (struct inode * inode)
inode559fs/ext2/inode.cbh = ext2_update_inode (inode);
inode563fs/ext2/inode.cint ext2_sync_inode (struct inode *inode)
inode568fs/ext2/inode.cbh = ext2_update_inode (inode);
inode576fs/ext2/inode.cinode->i_dev, inode->i_ino);
inode17fs/ext2/ioctl.cint ext2_ioctl (struct inode * inode, struct file * filp, unsigned int cmd,
inode25fs/ext2/ioctl.cput_fs_long (inode->u.ext2_i.i_flags, (long *) arg);
inode28fs/ext2/ioctl.cif ((current->euid != inode->i_uid) && !suser())
inode30fs/ext2/ioctl.cif (IS_RDONLY(inode))
inode32fs/ext2/ioctl.cinode->u.ext2_i.i_flags = get_fs_long ((long *) arg);
inode33fs/ext2/ioctl.cinode->i_ctime = CURRENT_TIME;
inode34fs/ext2/ioctl.cinode->i_dirt = 1;
inode37fs/ext2/ioctl.cput_fs_long (inode->u.ext2_i.i_version, (long *) arg);
inode40fs/ext2/ioctl.cif ((current->euid != inode->i_uid) && !suser())
inode42fs/ext2/ioctl.cif (IS_RDONLY(inode))
inode44fs/ext2/ioctl.cinode->u.ext2_i.i_version = get_fs_long ((long *) arg);
inode45fs/ext2/ioctl.cinode->i_ctime = CURRENT_TIME;
inode46fs/ext2/ioctl.cinode->i_dirt = 1;
inode48fs/ext2/namei.cif (!de || !de->inode || len > EXT2_NAME_LEN)
inode75fs/ext2/namei.cstatic struct buffer_head * ext2_find_entry (struct inode * dir,
inode140fs/ext2/namei.cif (de->inode != 0 && ext2_match (namelen, name, de)) {
inode170fs/ext2/namei.cint ext2_lookup (struct inode * dir, const char * name, int len,
inode171fs/ext2/namei.cstruct inode ** result)
inode191fs/ext2/namei.cino = de->inode;
inode218fs/ext2/namei.cstatic struct buffer_head * ext2_add_entry (struct inode * dir,
inode274fs/ext2/namei.cde->inode = 0;
inode294fs/ext2/namei.cif (de->inode != 0 && ext2_match (namelen, name, de)) {
inode299fs/ext2/namei.cif ((de->inode == 0 && de->rec_len >= rec_len) ||
inode302fs/ext2/namei.cif (de->inode) {
inode310fs/ext2/namei.cde->inode = 0;
inode358fs/ext2/namei.cdir->inode = 0;
inode368fs/ext2/namei.cint ext2_create (struct inode * dir,const char * name, int len, int mode,
inode369fs/ext2/namei.cstruct inode ** result)
inode371fs/ext2/namei.cstruct inode * inode;
inode379fs/ext2/namei.cinode = ext2_new_inode (dir, mode);
inode380fs/ext2/namei.cif (!inode) {
inode384fs/ext2/namei.cinode->i_op = &ext2_file_inode_operations;
inode385fs/ext2/namei.cinode->i_mode = mode;
inode386fs/ext2/namei.cinode->i_dirt = 1;
inode389fs/ext2/namei.cinode->i_nlink--;
inode390fs/ext2/namei.cinode->i_dirt = 1;
inode391fs/ext2/namei.ciput (inode);
inode395fs/ext2/namei.cde->inode = inode->i_ino;
inode398fs/ext2/namei.cde->inode);
inode407fs/ext2/namei.c*result = inode;
inode411fs/ext2/namei.cint ext2_mknod (struct inode * dir, const char * name, int len, int mode,
inode414fs/ext2/namei.cstruct inode * inode;
inode427fs/ext2/namei.cinode = ext2_new_inode (dir, mode);
inode428fs/ext2/namei.cif (!inode) {
inode432fs/ext2/namei.cinode->i_uid = current->euid;
inode433fs/ext2/namei.cinode->i_mode = mode;
inode434fs/ext2/namei.cinode->i_op = NULL;
inode435fs/ext2/namei.cif (S_ISREG(inode->i_mode))
inode436fs/ext2/namei.cinode->i_op = &ext2_file_inode_operations;
inode437fs/ext2/namei.celse if (S_ISDIR(inode->i_mode)) {
inode438fs/ext2/namei.cinode->i_op = &ext2_dir_inode_operations;
inode440fs/ext2/namei.cinode->i_mode |= S_ISGID;
inode442fs/ext2/namei.celse if (S_ISLNK(inode->i_mode))
inode443fs/ext2/namei.cinode->i_op = &ext2_symlink_inode_operations;
inode444fs/ext2/namei.celse if (S_ISCHR(inode->i_mode))
inode445fs/ext2/namei.cinode->i_op = &chrdev_inode_operations;
inode446fs/ext2/namei.celse if (S_ISBLK(inode->i_mode))
inode447fs/ext2/namei.cinode->i_op = &blkdev_inode_operations;
inode448fs/ext2/namei.celse if (S_ISFIFO(inode->i_mode)) 
inode449fs/ext2/namei.cinit_fifo(inode);
inode451fs/ext2/namei.cinode->i_rdev = rdev;
inode458fs/ext2/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode460fs/ext2/namei.cinode->i_dirt = 1;
inode463fs/ext2/namei.cinode->i_nlink--;
inode464fs/ext2/namei.cinode->i_dirt = 1;
inode465fs/ext2/namei.ciput (inode);
inode469fs/ext2/namei.cde->inode = inode->i_ino;
inode472fs/ext2/namei.cde->inode);
inode481fs/ext2/namei.ciput (inode);
inode485fs/ext2/namei.cint ext2_mkdir (struct inode * dir, const char * name, int len, int mode)
inode487fs/ext2/namei.cstruct inode * inode;
inode504fs/ext2/namei.cinode = ext2_new_inode (dir, S_IFDIR);
inode505fs/ext2/namei.cif (!inode) {
inode509fs/ext2/namei.cinode->i_op = &ext2_dir_inode_operations;
inode510fs/ext2/namei.cinode->i_size = inode->i_sb->s_blocksize;
inode512fs/ext2/namei.cinode->i_mtime = inode->i_atime = CURRENT_TIME;
inode514fs/ext2/namei.cdir_block = ext2_bread (inode, 0, 1, &err);
inode517fs/ext2/namei.cinode->i_nlink--;
inode518fs/ext2/namei.cinode->i_dirt = 1;
inode519fs/ext2/namei.ciput (inode);
inode522fs/ext2/namei.cinode->i_blocks = inode->i_sb->s_blocksize / 512;
inode524fs/ext2/namei.cde->inode = inode->i_ino;
inode529fs/ext2/namei.cde->inode = dir->i_ino;
inode530fs/ext2/namei.cde->rec_len = inode->i_sb->s_blocksize - EXT2_DIR_REC_LEN(1);
inode533fs/ext2/namei.cinode->i_nlink = 2;
inode536fs/ext2/namei.cinode->i_mode = S_IFDIR | (mode & S_IRWXUGO & ~current->umask);
inode538fs/ext2/namei.cinode->i_mode |= S_ISGID;
inode539fs/ext2/namei.cinode->i_dirt = 1;
inode543fs/ext2/namei.cinode->i_nlink = 0;
inode544fs/ext2/namei.cinode->i_dirt = 1;
inode545fs/ext2/namei.ciput (inode);
inode548fs/ext2/namei.cde->inode = inode->i_ino;
inode551fs/ext2/namei.cde->inode);
inode561fs/ext2/namei.ciput (inode);
inode569fs/ext2/namei.cstatic int empty_dir (struct inode * inode)
inode577fs/ext2/namei.csb = inode->i_sb;
inode578fs/ext2/namei.cif (inode->i_size < EXT2_DIR_REC_LEN(1) + EXT2_DIR_REC_LEN(2) ||
inode579fs/ext2/namei.c!(bh = ext2_bread (inode, 0, 0, &err))) {
inode580fs/ext2/namei.cext2_warning (inode->i_sb, "empty_dir",
inode581fs/ext2/namei.c"bad directory (dir %lu)", inode->i_ino);
inode586fs/ext2/namei.cif (de->inode != inode->i_ino || !de1->inode || 
inode588fs/ext2/namei.cext2_warning (inode->i_sb, "empty_dir",
inode589fs/ext2/namei.c"bad directory (dir %lu)", inode->i_ino);
inode594fs/ext2/namei.cwhile (offset < inode->i_size ) {
inode597fs/ext2/namei.cbh = ext2_bread (inode, offset >> EXT2_BLOCK_SIZE_BITS(sb), 1, &err);
inode604fs/ext2/namei.cif (!ext2_check_dir_entry ("empty_dir", inode, de, bh,
inode609fs/ext2/namei.cif (de->inode) {
inode620fs/ext2/namei.cint ext2_rmdir (struct inode * dir, const char * name, int len)
inode623fs/ext2/namei.cstruct inode * inode;
inode630fs/ext2/namei.cinode = NULL;
inode636fs/ext2/namei.cif (!(inode = iget (dir->i_sb, de->inode)))
inode638fs/ext2/namei.cif (inode->i_dev != dir->i_dev)
inode640fs/ext2/namei.cif (de->inode != inode->i_ino) {
inode641fs/ext2/namei.ciput(inode);
inode648fs/ext2/namei.cinode->i_uid != current->euid)
inode650fs/ext2/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode652fs/ext2/namei.cif (!S_ISDIR(inode->i_mode)) {
inode656fs/ext2/namei.cif (!empty_dir (inode)) {
inode660fs/ext2/namei.cif (de->inode != inode->i_ino) {
inode664fs/ext2/namei.cif (inode->i_count > 1) {
inode672fs/ext2/namei.cinode->i_size = 0;
inode683fs/ext2/namei.cext2_dcache_remove(inode->i_dev, inode->i_ino, ".", 1);
inode684fs/ext2/namei.cext2_dcache_remove(inode->i_dev, inode->i_ino, "..", 2);
inode686fs/ext2/namei.cif (inode->i_nlink != 2)
inode687fs/ext2/namei.cext2_warning (inode->i_sb, "ext2_rmdir",
inode689fs/ext2/namei.cinode->i_nlink);
inode693fs/ext2/namei.cinode->i_nlink = 0;
inode694fs/ext2/namei.cinode->i_dirt = 1;
inode696fs/ext2/namei.cinode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
inode700fs/ext2/namei.ciput (inode);
inode705fs/ext2/namei.cint ext2_unlink (struct inode * dir, const char * name, int len)
inode708fs/ext2/namei.cstruct inode * inode;
inode716fs/ext2/namei.cinode = NULL;
inode720fs/ext2/namei.cif (!(inode = iget (dir->i_sb, de->inode)))
inode723fs/ext2/namei.cif (S_ISDIR(inode->i_mode))
inode725fs/ext2/namei.cif (de->inode != inode->i_ino) {
inode726fs/ext2/namei.ciput(inode);
inode733fs/ext2/namei.ccurrent->euid != inode->i_uid &&
inode736fs/ext2/namei.cif (!inode->i_nlink) {
inode737fs/ext2/namei.cext2_warning (inode->i_sb, "ext2_unlink",
inode739fs/ext2/namei.cinode->i_ino, inode->i_nlink);
inode740fs/ext2/namei.cinode->i_nlink = 1;
inode755fs/ext2/namei.cinode->i_nlink--;
inode756fs/ext2/namei.cinode->i_dirt = 1;
inode757fs/ext2/namei.cinode->i_ctime = dir->i_ctime;
inode761fs/ext2/namei.ciput (inode);
inode766fs/ext2/namei.cint ext2_symlink (struct inode * dir, const char * name, int len,
inode770fs/ext2/namei.cstruct inode * inode = NULL;
inode777fs/ext2/namei.cif (!(inode = ext2_new_inode (dir, S_IFLNK))) {
inode781fs/ext2/namei.cinode->i_mode = S_IFLNK | S_IRWXUGO;
inode782fs/ext2/namei.cinode->i_op = &ext2_symlink_inode_operations;
inode783fs/ext2/namei.cfor (l = 0; l < inode->i_sb->s_blocksize - 1 &&
inode790fs/ext2/namei.cname_block = ext2_bread (inode, 0, 1, &err);
inode793fs/ext2/namei.cinode->i_nlink--;
inode794fs/ext2/namei.cinode->i_dirt = 1;
inode795fs/ext2/namei.ciput (inode);
inode800fs/ext2/namei.clink = (char *) inode->u.ext2_i.i_data;
inode806fs/ext2/namei.cwhile (i < inode->i_sb->s_blocksize - 1 && (c = *(symname++)))
inode813fs/ext2/namei.cinode->i_size = i;
inode814fs/ext2/namei.cinode->i_dirt = 1;
inode817fs/ext2/namei.cinode->i_nlink--;
inode818fs/ext2/namei.cinode->i_dirt = 1;
inode819fs/ext2/namei.ciput (inode);
inode826fs/ext2/namei.cinode->i_nlink--;
inode827fs/ext2/namei.cinode->i_dirt = 1;
inode828fs/ext2/namei.ciput (inode);
inode832fs/ext2/namei.cde->inode = inode->i_ino;
inode835fs/ext2/namei.cde->inode);
inode844fs/ext2/namei.ciput (inode);
inode848fs/ext2/namei.cint ext2_link (struct inode * oldinode, struct inode * dir,
inode878fs/ext2/namei.cde->inode = oldinode->i_ino;
inode881fs/ext2/namei.cde->inode);
inode897fs/ext2/namei.cstatic int subdir (struct inode * new_inode, struct inode * old_inode)
inode923fs/ext2/namei.c((struct ext2_dir_entry *) buffer)->rec_len))->inode
inode940fs/ext2/namei.cstatic int do_ext2_rename (struct inode * old_dir, const char * old_name,
inode941fs/ext2/namei.cint old_len, struct inode * new_dir,
inode944fs/ext2/namei.cstruct inode * old_inode, * new_inode;
inode968fs/ext2/namei.cold_inode = __iget (old_dir->i_sb, old_de->inode, 0); /* don't cross mnt-points */
inode978fs/ext2/namei.cnew_inode = __iget (new_dir->i_sb, new_de->inode, 0); /* no mntp cross */
inode1031fs/ext2/namei.cif (new_inode && (new_de->inode != new_inode->i_ino))
inode1033fs/ext2/namei.cif (new_de->inode && !new_inode)
inode1035fs/ext2/namei.cif (old_de->inode != old_inode->i_ino)
inode1040fs/ext2/namei.cnew_de->inode = old_inode->i_ino;
inode1045fs/ext2/namei.cnew_de->name_len, new_de->inode);
inode1107fs/ext2/namei.cint ext2_rename (struct inode * old_dir, const char * old_name, int old_len,
inode1108fs/ext2/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode25fs/ext2/symlink.cstatic int ext2_readlink (struct inode *, char *, int);
inode26fs/ext2/symlink.cstatic int ext2_follow_link (struct inode *, struct inode *, int, int,
inode27fs/ext2/symlink.cstruct inode **);
inode50fs/ext2/symlink.cstatic int ext2_follow_link(struct inode * dir, struct inode * inode,
inode51fs/ext2/symlink.cint flag, int mode, struct inode ** res_inode)
inode62fs/ext2/symlink.cif (!inode) {
inode66fs/ext2/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode68fs/ext2/symlink.c*res_inode = inode;
inode73fs/ext2/symlink.ciput (inode);
inode76fs/ext2/symlink.cif (inode->i_blocks) {
inode77fs/ext2/symlink.cif (!(bh = ext2_bread (inode, 0, 0, &error))) {
inode79fs/ext2/symlink.ciput (inode);
inode84fs/ext2/symlink.clink = (char *) inode->u.ext2_i.i_data;
inode88fs/ext2/symlink.ciput (inode);
inode94fs/ext2/symlink.cstatic int ext2_readlink (struct inode * inode, char * buffer, int buflen)
inode101fs/ext2/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode102fs/ext2/symlink.ciput (inode);
inode105fs/ext2/symlink.cif (buflen > inode->i_sb->s_blocksize - 1)
inode106fs/ext2/symlink.cbuflen = inode->i_sb->s_blocksize - 1;
inode107fs/ext2/symlink.cif (inode->i_blocks) {
inode108fs/ext2/symlink.cbh = ext2_bread (inode, 0, 0, &err);
inode110fs/ext2/symlink.ciput (inode);
inode116fs/ext2/symlink.clink = (char *) inode->u.ext2_i.i_data;
inode122fs/ext2/symlink.ciput (inode);
inode44fs/ext2/truncate.cstatic int trunc_direct (struct inode * inode)
inode52fs/ext2/truncate.cint blocks = inode->i_sb->s_blocksize / 512;
inode53fs/ext2/truncate.c#define DIRECT_BLOCK ((inode->i_size + inode->i_sb->s_blocksize - 1) / \
inode54fs/ext2/truncate.cinode->i_sb->s_blocksize)
inode59fs/ext2/truncate.cp = inode->u.ext2_i.i_data + i;
inode63fs/ext2/truncate.cif (inode->u.ext2_i.i_flags & EXT2_SECRM_FL)
inode64fs/ext2/truncate.cbh = getblk (inode->i_dev, tmp,
inode65fs/ext2/truncate.cinode->i_sb->s_blocksize);
inode67fs/ext2/truncate.cbh = get_hash_table (inode->i_dev, tmp,
inode68fs/ext2/truncate.cinode->i_sb->s_blocksize);
inode79fs/ext2/truncate.cinode->i_blocks -= blocks;
inode80fs/ext2/truncate.cinode->i_dirt = 1;
inode81fs/ext2/truncate.cif (inode->u.ext2_i.i_flags & EXT2_SECRM_FL) {
inode82fs/ext2/truncate.cclear_block (bh->b_data, inode->i_sb->s_blocksize,
inode93fs/ext2/truncate.cext2_free_blocks (inode->i_sb, block_to_free, free_count);
inode100fs/ext2/truncate.cext2_free_blocks (inode->i_sb, block_to_free, free_count);
inode104fs/ext2/truncate.cstatic int trunc_indirect (struct inode * inode, int offset, unsigned long * p)
inode113fs/ext2/truncate.cint addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode114fs/ext2/truncate.cint blocks = inode->i_sb->s_blocksize / 512;
inode121fs/ext2/truncate.cind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode140fs/ext2/truncate.cif (inode->u.ext2_i.i_flags & EXT2_SECRM_FL)
inode141fs/ext2/truncate.cbh = getblk (inode->i_dev, tmp,
inode142fs/ext2/truncate.cinode->i_sb->s_blocksize);
inode144fs/ext2/truncate.cbh = get_hash_table (inode->i_dev, tmp,
inode145fs/ext2/truncate.cinode->i_sb->s_blocksize);
inode157fs/ext2/truncate.cif (inode->u.ext2_i.i_flags & EXT2_SECRM_FL) {
inode158fs/ext2/truncate.cclear_block (bh->b_data, inode->i_sb->s_blocksize,
inode169fs/ext2/truncate.cext2_free_blocks (inode->i_sb, block_to_free, free_count);
inode174fs/ext2/truncate.cinode->i_blocks -= blocks;
inode175fs/ext2/truncate.cinode->i_dirt = 1;
inode178fs/ext2/truncate.cext2_free_blocks (inode->i_sb, block_to_free, free_count);
inode189fs/ext2/truncate.cinode->i_blocks -= blocks;
inode190fs/ext2/truncate.cinode->i_dirt = 1;
inode191fs/ext2/truncate.cext2_free_blocks (inode->i_sb, tmp, 1);
inode193fs/ext2/truncate.cif (IS_SYNC(inode) && ind_bh->b_dirt) {
inode201fs/ext2/truncate.cstatic int trunc_dindirect (struct inode * inode, int offset,
inode208fs/ext2/truncate.cint addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode209fs/ext2/truncate.cint blocks = inode->i_sb->s_blocksize / 512;
inode216fs/ext2/truncate.cdind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode235fs/ext2/truncate.cretry |= trunc_indirect (inode, offset + (i * addr_per_block),
inode249fs/ext2/truncate.cinode->i_blocks -= blocks;
inode250fs/ext2/truncate.cinode->i_dirt = 1;
inode251fs/ext2/truncate.cext2_free_blocks (inode->i_sb, tmp, 1);
inode253fs/ext2/truncate.cif (IS_SYNC(inode) && dind_bh->b_dirt) {
inode261fs/ext2/truncate.cstatic int trunc_tindirect (struct inode * inode)
inode267fs/ext2/truncate.cint addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb);
inode268fs/ext2/truncate.cint blocks = inode->i_sb->s_blocksize / 512;
inode274fs/ext2/truncate.cp = inode->u.ext2_i.i_data + EXT2_TIND_BLOCK;
inode277fs/ext2/truncate.ctind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize);
inode293fs/ext2/truncate.cretry |= trunc_dindirect(inode, EXT2_NDIR_BLOCKS +
inode308fs/ext2/truncate.cinode->i_blocks -= blocks;
inode309fs/ext2/truncate.cinode->i_dirt = 1;
inode310fs/ext2/truncate.cext2_free_blocks (inode->i_sb, tmp, 1);
inode312fs/ext2/truncate.cif (IS_SYNC(inode) && tind_bh->b_dirt) {
inode320fs/ext2/truncate.cvoid ext2_truncate (struct inode * inode)
inode324fs/ext2/truncate.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode325fs/ext2/truncate.cS_ISLNK(inode->i_mode)))
inode327fs/ext2/truncate.cext2_discard_prealloc(inode);
inode329fs/ext2/truncate.cretry = trunc_direct(inode);
inode330fs/ext2/truncate.cretry |= trunc_indirect (inode, EXT2_IND_BLOCK,
inode331fs/ext2/truncate.c(unsigned long *) &inode->u.ext2_i.i_data[EXT2_IND_BLOCK]);
inode332fs/ext2/truncate.cretry |= trunc_dindirect (inode, EXT2_IND_BLOCK +
inode333fs/ext2/truncate.cEXT2_ADDR_PER_BLOCK(inode->i_sb),
inode334fs/ext2/truncate.c(unsigned long *) &inode->u.ext2_i.i_data[EXT2_DIND_BLOCK]);
inode335fs/ext2/truncate.cretry |= trunc_tindirect (inode);
inode338fs/ext2/truncate.cif (IS_SYNC(inode) && inode->i_dirt)
inode339fs/ext2/truncate.cext2_sync_inode (inode);
inode343fs/ext2/truncate.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode344fs/ext2/truncate.cinode->i_dirt = 1;
inode12fs/fifo.cstatic int fifo_open(struct inode * inode,struct file * filp)
inode26fs/fifo.cif (!PIPE_READERS(*inode)++)
inode27fs/fifo.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode28fs/fifo.cif (!(filp->f_flags & O_NONBLOCK) && !PIPE_WRITERS(*inode)) {
inode29fs/fifo.cPIPE_RD_OPENERS(*inode)++;
inode30fs/fifo.cwhile (!PIPE_WRITERS(*inode)) {
inode35fs/fifo.cinterruptible_sleep_on(&PIPE_WAIT(*inode));
inode37fs/fifo.cif (!--PIPE_RD_OPENERS(*inode))
inode38fs/fifo.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode40fs/fifo.cwhile (PIPE_WR_OPENERS(*inode))
inode41fs/fifo.cinterruptible_sleep_on(&PIPE_WAIT(*inode));
inode42fs/fifo.cif (PIPE_WRITERS(*inode))
inode44fs/fifo.cif (retval && !--PIPE_READERS(*inode))
inode45fs/fifo.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode54fs/fifo.cif ((filp->f_flags & O_NONBLOCK) && !PIPE_READERS(*inode)) {
inode59fs/fifo.cif (!PIPE_WRITERS(*inode)++)
inode60fs/fifo.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode61fs/fifo.cif (!PIPE_READERS(*inode)) {
inode62fs/fifo.cPIPE_WR_OPENERS(*inode)++;
inode63fs/fifo.cwhile (!PIPE_READERS(*inode)) {
inode68fs/fifo.cinterruptible_sleep_on(&PIPE_WAIT(*inode));
inode70fs/fifo.cif (!--PIPE_WR_OPENERS(*inode))
inode71fs/fifo.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode73fs/fifo.cwhile (PIPE_RD_OPENERS(*inode))
inode74fs/fifo.cinterruptible_sleep_on(&PIPE_WAIT(*inode));
inode75fs/fifo.cif (retval && !--PIPE_WRITERS(*inode))
inode76fs/fifo.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode87fs/fifo.cif (!PIPE_READERS(*inode)++)
inode88fs/fifo.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode89fs/fifo.cwhile (PIPE_WR_OPENERS(*inode))
inode90fs/fifo.cinterruptible_sleep_on(&PIPE_WAIT(*inode));
inode91fs/fifo.cif (!PIPE_WRITERS(*inode)++)
inode92fs/fifo.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode93fs/fifo.cwhile (PIPE_RD_OPENERS(*inode))
inode94fs/fifo.cinterruptible_sleep_on(&PIPE_WAIT(*inode));
inode100fs/fifo.cif (retval || PIPE_BASE(*inode))
inode103fs/fifo.cif (PIPE_BASE(*inode)) {
inode109fs/fifo.cPIPE_LOCK(*inode) = 0;
inode110fs/fifo.cPIPE_START(*inode) = PIPE_LEN(*inode) = 0;
inode111fs/fifo.cPIPE_BASE(*inode) = (char *) page;
inode151fs/fifo.cvoid init_fifo(struct inode * inode)
inode153fs/fifo.cinode->i_op = &fifo_inode_operations;
inode154fs/fifo.cinode->i_pipe = 1;
inode155fs/fifo.cPIPE_LOCK(*inode) = 0;
inode156fs/fifo.cPIPE_BASE(*inode) = NULL;
inode157fs/fifo.cPIPE_START(*inode) = PIPE_LEN(*inode) = 0;
inode158fs/fifo.cPIPE_RD_OPENERS(*inode) = PIPE_WR_OPENERS(*inode) = 0;
inode159fs/fifo.cPIPE_WAIT(*inode) = NULL;
inode160fs/fifo.cPIPE_READERS(*inode) = PIPE_WRITERS(*inode) = 0;
inode124fs/hpfs/hpfs_fs.cstatic void hpfs_read_inode(struct inode *);
inode143fs/hpfs/hpfs_fs.cstatic int hpfs_file_read(struct inode *, struct file *, char *, int);
inode144fs/hpfs/hpfs_fs.cstatic secno hpfs_bmap(struct inode *, unsigned);
inode174fs/hpfs/hpfs_fs.c(int (*)(struct inode *, int))
inode182fs/hpfs/hpfs_fs.cstatic int hpfs_dir_read(struct inode *inode, struct file *filp,
inode184fs/hpfs/hpfs_fs.cstatic int hpfs_readdir(struct inode *inode, struct file *filp,
inode186fs/hpfs/hpfs_fs.cstatic int hpfs_lookup(struct inode *, const char *, int, struct inode **);
inode235fs/hpfs/hpfs_fs.cstatic void count_dnodes(struct inode *inode, dnode_secno dno,
inode239fs/hpfs/hpfs_fs.cstatic secno bplus_lookup(struct inode *inode, struct bplus_header *b,
inode241fs/hpfs/hpfs_fs.cstatic struct hpfs_dirent *map_dirent(struct inode *inode, dnode_secno dno,
inode244fs/hpfs/hpfs_fs.cstatic struct hpfs_dirent *map_pos_dirent(struct inode *inode, off_t *posp,
inode248fs/hpfs/hpfs_fs.cstatic dnode_secno dir_subdno(struct inode *inode, unsigned pos);
inode617fs/hpfs/hpfs_fs.cstatic void hpfs_read_inode(struct inode *inode)
inode619fs/hpfs/hpfs_fs.cstruct super_block *s = inode->i_sb;
inode623fs/hpfs/hpfs_fs.cinode->i_op = 0;
inode624fs/hpfs/hpfs_fs.cinode->i_mode = 0;
inode626fs/hpfs/hpfs_fs.cif (inode->i_ino == 0
inode627fs/hpfs/hpfs_fs.c|| ino_secno(inode->i_ino) >= inode->i_sb->s_hpfs_fs_size) {
inode636fs/hpfs/hpfs_fs.cinode->i_uid = s->s_hpfs_uid;
inode637fs/hpfs/hpfs_fs.cinode->i_gid = s->s_hpfs_gid;
inode638fs/hpfs/hpfs_fs.cinode->i_mode = s->s_hpfs_mode;
inode639fs/hpfs/hpfs_fs.cinode->i_hpfs_conv = s->s_hpfs_conv;
inode641fs/hpfs/hpfs_fs.cinode->i_hpfs_dno = 0;
inode642fs/hpfs/hpfs_fs.cinode->i_hpfs_n_secs = 0;
inode643fs/hpfs/hpfs_fs.cinode->i_hpfs_file_sec = 0;
inode644fs/hpfs/hpfs_fs.cinode->i_hpfs_disk_sec = 0;
inode645fs/hpfs/hpfs_fs.cinode->i_hpfs_dpos = 0;
inode646fs/hpfs/hpfs_fs.cinode->i_hpfs_dsubdno = 0;
inode652fs/hpfs/hpfs_fs.cif (ino_is_dir(inode->i_ino))
inode653fs/hpfs/hpfs_fs.cinode->i_mode |= S_IFDIR;
inode655fs/hpfs/hpfs_fs.cinode->i_mode |= S_IFREG;
inode656fs/hpfs/hpfs_fs.cinode->i_mode &= ~0111;
inode665fs/hpfs/hpfs_fs.cinode->i_atime = 0;
inode666fs/hpfs/hpfs_fs.cinode->i_mtime = 0;
inode667fs/hpfs/hpfs_fs.cinode->i_ctime = 0;
inode668fs/hpfs/hpfs_fs.cinode->i_size = 0;
inode674fs/hpfs/hpfs_fs.cif (S_ISREG(inode->i_mode)) {
inode676fs/hpfs/hpfs_fs.cinode->i_op = (struct inode_operations *) &hpfs_file_iops;
inode677fs/hpfs/hpfs_fs.cinode->i_nlink = 1;
inode678fs/hpfs/hpfs_fs.cinode->i_blksize = 512;
inode684fs/hpfs/hpfs_fs.cstruct fnode *fnode = map_fnode(inode->i_dev,
inode685fs/hpfs/hpfs_fs.cinode->i_ino, &bh0);
inode689fs/hpfs/hpfs_fs.cinode->i_mode = 0;
inode693fs/hpfs/hpfs_fs.cinode->i_hpfs_parent_dir = dir_ino(fnode->up);
inode694fs/hpfs/hpfs_fs.cinode->i_hpfs_dno = fnode->u.external[0].disk_secno;
inode699fs/hpfs/hpfs_fs.ccount_dnodes(inode, inode->i_hpfs_dno, &n_dnodes, &n_subdirs);
inode701fs/hpfs/hpfs_fs.cinode->i_op = (struct inode_operations *) &hpfs_dir_iops;
inode702fs/hpfs/hpfs_fs.cinode->i_blksize = 512;  /* 2048 here confuses ls & du & ... */
inode703fs/hpfs/hpfs_fs.cinode->i_blocks = 4 * n_dnodes;
inode704fs/hpfs/hpfs_fs.cinode->i_size = 512 * inode->i_blocks;
inode705fs/hpfs/hpfs_fs.cinode->i_nlink = 2 + n_subdirs;
inode766fs/hpfs/hpfs_fs.cstatic void count_dnodes(struct inode *inode, dnode_secno dno,
inode774fs/hpfs/hpfs_fs.cdnode = map_dnode(inode->i_dev, dno, &qbh);
inode784fs/hpfs/hpfs_fs.ccount_dnodes(inode, de_down_pointer(de),
inode862fs/hpfs/hpfs_fs.cstatic int hpfs_file_read(struct inode *inode, struct file *filp,
inode870fs/hpfs/hpfs_fs.cif (inode == 0 || !S_ISREG(inode->i_mode))
inode876fs/hpfs/hpfs_fs.cif (count > inode->i_size - filp->f_pos)
inode877fs/hpfs/hpfs_fs.ccount = inode->i_size - filp->f_pos;
inode898fs/hpfs/hpfs_fs.cblock = map_sector(inode->i_dev, hpfs_bmap(inode, q), &bh);
inode906fs/hpfs/hpfs_fs.cif (inode->i_hpfs_conv == CONV_AUTO)
inode907fs/hpfs/hpfs_fs.cinode->i_hpfs_conv = choose_conv(block + r, n);
inode909fs/hpfs/hpfs_fs.cif (inode->i_hpfs_conv == CONV_BINARY) {
inode922fs/hpfs/hpfs_fs.cif (count > inode->i_size - filp->f_pos - n + n0)
inode923fs/hpfs/hpfs_fs.ccount = inode->i_size - filp->f_pos - n + n0;
inode993fs/hpfs/hpfs_fs.cstatic secno hpfs_bmap(struct inode *inode, unsigned file_secno)
inode1004fs/hpfs/hpfs_fs.cn = file_secno - inode->i_hpfs_file_sec;
inode1005fs/hpfs/hpfs_fs.cif (n < inode->i_hpfs_n_secs)
inode1006fs/hpfs/hpfs_fs.creturn inode->i_hpfs_disk_sec + n;
inode1013fs/hpfs/hpfs_fs.cfnode = map_fnode(inode->i_dev, inode->i_ino, &bh);
inode1016fs/hpfs/hpfs_fs.cdisk_secno = bplus_lookup(inode, &fnode->btree,
inode1030fs/hpfs/hpfs_fs.cstatic secno bplus_lookup(struct inode *inode, struct bplus_header *b,
inode1046fs/hpfs/hpfs_fs.cinode->i_hpfs_file_sec = n[i].file_secno;
inode1047fs/hpfs/hpfs_fs.cinode->i_hpfs_disk_sec = n[i].disk_secno;
inode1048fs/hpfs/hpfs_fs.cinode->i_hpfs_n_secs = n[i].length;
inode1066fs/hpfs/hpfs_fs.canode = map_anode(inode->i_dev, ano, bhp);
inode1069fs/hpfs/hpfs_fs.creturn bplus_lookup(inode, &anode->btree,
inode1100fs/hpfs/hpfs_fs.cstatic int hpfs_lookup(struct inode *dir, const char *name, int len,
inode1101fs/hpfs/hpfs_fs.cstruct inode **result)
inode1105fs/hpfs/hpfs_fs.cstruct inode *inode;
inode1150fs/hpfs/hpfs_fs.cif (!(inode = iget(dir->i_sb, ino)))
inode1158fs/hpfs/hpfs_fs.cif (!inode->i_atime) {
inode1159fs/hpfs/hpfs_fs.cinode->i_atime = local_to_gmt(de->read_date);
inode1160fs/hpfs/hpfs_fs.cinode->i_mtime = local_to_gmt(de->write_date);
inode1161fs/hpfs/hpfs_fs.cinode->i_ctime = local_to_gmt(de->creation_date);
inode1163fs/hpfs/hpfs_fs.cinode->i_mode &= ~0222;
inode1165fs/hpfs/hpfs_fs.cinode->i_size = de->file_size;
inode1172fs/hpfs/hpfs_fs.cinode->i_blocks = 1 + ((inode->i_size + 511) >> 9);
inode1182fs/hpfs/hpfs_fs.c*result = inode;
inode1226fs/hpfs/hpfs_fs.cstatic struct hpfs_dirent *map_dirent(struct inode *inode, dnode_secno dno,
inode1238fs/hpfs/hpfs_fs.cdnode = map_dnode(inode->i_dev, dno, qbh);
inode1279fs/hpfs/hpfs_fs.creturn map_dirent(inode, sub_dno,
inode1328fs/hpfs/hpfs_fs.cstatic int hpfs_readdir(struct inode *inode, struct file *filp,
inode1336fs/hpfs/hpfs_fs.cif (inode == 0
inode1337fs/hpfs/hpfs_fs.c|| inode->i_sb == 0
inode1338fs/hpfs/hpfs_fs.c|| !S_ISDIR(inode->i_mode))
inode1341fs/hpfs/hpfs_fs.clc = inode->i_sb->s_hpfs_lowercase;
inode1345fs/hpfs/hpfs_fs.cwrite_one_dirent(dirent, ".", 1, inode->i_ino, lc);
inode1351fs/hpfs/hpfs_fs.cinode->i_hpfs_parent_dir, lc);
inode1359fs/hpfs/hpfs_fs.cde = map_pos_dirent(inode, &filp->f_pos, &qbh);
inode1411fs/hpfs/hpfs_fs.cstatic struct hpfs_dirent *map_pos_dirent(struct inode *inode, off_t *posp,
inode1431fs/hpfs/hpfs_fs.cdno = dir_subdno(inode, q);
inode1439fs/hpfs/hpfs_fs.cde = map_nth_dirent(inode->i_dev, dno, r, qbh);
inode1449fs/hpfs/hpfs_fs.creturn map_pos_dirent(inode, posp, qbh);
inode1467fs/hpfs/hpfs_fs.creturn map_pos_dirent(inode, posp, qbh);
inode1477fs/hpfs/hpfs_fs.cstatic dnode_secno dir_subdno(struct inode *inode, unsigned pos)
inode1487fs/hpfs/hpfs_fs.creturn inode->i_hpfs_dno;
inode1493fs/hpfs/hpfs_fs.celse if (pos == inode->i_hpfs_dpos)
inode1494fs/hpfs/hpfs_fs.creturn inode->i_hpfs_dsubdno;
inode1508fs/hpfs/hpfs_fs.cdno = dir_subdno(inode, q);
inode1515fs/hpfs/hpfs_fs.cde = map_nth_dirent(inode->i_dev, dno, r, &qbh);
inode1528fs/hpfs/hpfs_fs.cinode->i_hpfs_dpos = pos;
inode1529fs/hpfs/hpfs_fs.cinode->i_hpfs_dsubdno = dno;
inode1560fs/hpfs/hpfs_fs.cstatic int hpfs_dir_read(struct inode *inode, struct file *filp,
inode16fs/inode.cstruct inode * inode;
inode20fs/inode.cstatic struct inode * first_inode;
inode34fs/inode.cstatic void insert_inode_free(struct inode *inode)
inode36fs/inode.cinode->i_next = first_inode;
inode37fs/inode.cinode->i_prev = first_inode->i_prev;
inode38fs/inode.cinode->i_next->i_prev = inode;
inode39fs/inode.cinode->i_prev->i_next = inode;
inode40fs/inode.cfirst_inode = inode;
inode43fs/inode.cstatic void remove_inode_free(struct inode *inode)
inode45fs/inode.cif (first_inode == inode)
inode47fs/inode.cif (inode->i_next)
inode48fs/inode.cinode->i_next->i_prev = inode->i_prev;
inode49fs/inode.cif (inode->i_prev)
inode50fs/inode.cinode->i_prev->i_next = inode->i_next;
inode51fs/inode.cinode->i_next = inode->i_prev = NULL;
inode54fs/inode.cvoid insert_inode_hash(struct inode *inode)
inode57fs/inode.ch = hash(inode->i_dev, inode->i_ino);
inode59fs/inode.cinode->i_hash_next = h->inode;
inode60fs/inode.cinode->i_hash_prev = NULL;
inode61fs/inode.cif (inode->i_hash_next)
inode62fs/inode.cinode->i_hash_next->i_hash_prev = inode;
inode63fs/inode.ch->inode = inode;
inode66fs/inode.cstatic void remove_inode_hash(struct inode *inode)
inode69fs/inode.ch = hash(inode->i_dev, inode->i_ino);
inode71fs/inode.cif (h->inode == inode)
inode72fs/inode.ch->inode = inode->i_hash_next;
inode73fs/inode.cif (inode->i_hash_next)
inode74fs/inode.cinode->i_hash_next->i_hash_prev = inode->i_hash_prev;
inode75fs/inode.cif (inode->i_hash_prev)
inode76fs/inode.cinode->i_hash_prev->i_hash_next = inode->i_hash_next;
inode77fs/inode.cinode->i_hash_prev = inode->i_hash_next = NULL;
inode80fs/inode.cstatic void put_last_free(struct inode *inode)
inode82fs/inode.cremove_inode_free(inode);
inode83fs/inode.cinode->i_prev = first_inode->i_prev;
inode84fs/inode.cinode->i_prev->i_next = inode;
inode85fs/inode.cinode->i_next = first_inode;
inode86fs/inode.cinode->i_next->i_prev = inode;
inode91fs/inode.cstruct inode * inode;
inode94fs/inode.cif (!(inode = (struct inode*) get_free_page(GFP_KERNEL)))
inode97fs/inode.ci=PAGE_SIZE / sizeof(struct inode);
inode102fs/inode.cinode->i_next = inode->i_prev = first_inode = inode++, i--;
inode105fs/inode.cinsert_inode_free(inode++);
inode115fs/inode.cstatic void __wait_on_inode(struct inode *);
inode117fs/inode.cstatic inline void wait_on_inode(struct inode * inode)
inode119fs/inode.cif (inode->i_lock)
inode120fs/inode.c__wait_on_inode(inode);
inode123fs/inode.cstatic inline void lock_inode(struct inode * inode)
inode125fs/inode.cwait_on_inode(inode);
inode126fs/inode.cinode->i_lock = 1;
inode129fs/inode.cstatic inline void unlock_inode(struct inode * inode)
inode131fs/inode.cinode->i_lock = 0;
inode132fs/inode.cwake_up(&inode->i_wait);
inode147fs/inode.cvoid clear_inode(struct inode * inode)
inode151fs/inode.cwait_on_inode(inode);
inode152fs/inode.cremove_inode_hash(inode);
inode153fs/inode.cremove_inode_free(inode);
inode154fs/inode.cwait = ((volatile struct inode *) inode)->i_wait;
inode155fs/inode.cif (inode->i_count)
inode157fs/inode.cmemset(inode,0,sizeof(*inode));
inode158fs/inode.c((volatile struct inode *) inode)->i_wait = wait;
inode159fs/inode.cinsert_inode_free(inode);
inode164fs/inode.cstruct inode * inode, * next;
inode169fs/inode.cinode = next;
inode170fs/inode.cnext = inode->i_next;  /* clear_inode() changes the queues.. */
inode171fs/inode.cif (inode->i_dev != dev)
inode173fs/inode.cif (inode->i_count || inode->i_dirt || inode->i_lock)
inode175fs/inode.cclear_inode(inode);
inode180fs/inode.cint fs_may_umount(dev_t dev, struct inode * mount_root)
inode182fs/inode.cstruct inode * inode;
inode185fs/inode.cinode = first_inode;
inode186fs/inode.cfor (i=0 ; i < nr_inodes ; i++, inode = inode->i_next) {
inode187fs/inode.cif (inode->i_dev != dev || !inode->i_count)
inode189fs/inode.cif (inode == mount_root && inode->i_count == 1)
inode212fs/inode.cstatic void write_inode(struct inode * inode)
inode214fs/inode.cif (!inode->i_dirt)
inode216fs/inode.cwait_on_inode(inode);
inode217fs/inode.cif (!inode->i_dirt)
inode219fs/inode.cif (!inode->i_sb || !inode->i_sb->s_op || !inode->i_sb->s_op->write_inode) {
inode220fs/inode.cinode->i_dirt = 0;
inode223fs/inode.cinode->i_lock = 1;  
inode224fs/inode.cinode->i_sb->s_op->write_inode(inode);
inode225fs/inode.cunlock_inode(inode);
inode228fs/inode.cstatic void read_inode(struct inode * inode)
inode230fs/inode.clock_inode(inode);
inode231fs/inode.cif (inode->i_sb && inode->i_sb->s_op && inode->i_sb->s_op->read_inode)
inode232fs/inode.cinode->i_sb->s_op->read_inode(inode);
inode233fs/inode.cunlock_inode(inode);
inode244fs/inode.cint notify_change(int flags, struct inode * inode)
inode246fs/inode.cif (inode->i_sb && inode->i_sb->s_op  &&
inode247fs/inode.cinode->i_sb->s_op->notify_change)
inode248fs/inode.creturn inode->i_sb->s_op->notify_change(flags, inode);
inode262fs/inode.cint bmap(struct inode * inode, int block)
inode264fs/inode.cif (inode->i_op && inode->i_op->bmap)
inode265fs/inode.creturn inode->i_op->bmap(inode,block);
inode271fs/inode.cstruct inode * inode, * next;
inode276fs/inode.cinode = next;
inode277fs/inode.cnext = inode->i_next;    /* clear_inode() changes the queues.. */
inode278fs/inode.cif (inode->i_dev != dev)
inode280fs/inode.cif (inode->i_count || inode->i_dirt || inode->i_lock) {
inode284fs/inode.cclear_inode(inode);
inode291fs/inode.cstruct inode * inode;
inode293fs/inode.cinode = first_inode;
inode294fs/inode.cfor(i = 0; i < nr_inodes*2; i++, inode = inode->i_next) {
inode295fs/inode.cif (dev && inode->i_dev != dev)
inode297fs/inode.cwait_on_inode(inode);
inode298fs/inode.cif (inode->i_dirt)
inode299fs/inode.cwrite_inode(inode);
inode303fs/inode.cvoid iput(struct inode * inode)
inode305fs/inode.cif (!inode)
inode307fs/inode.cwait_on_inode(inode);
inode308fs/inode.cif (!inode->i_count) {
inode311fs/inode.cMAJOR(inode->i_rdev), MINOR(inode->i_rdev),
inode312fs/inode.cinode->i_ino, inode->i_mode);
inode315fs/inode.cif (inode->i_pipe)
inode316fs/inode.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode318fs/inode.cif (inode->i_count>1) {
inode319fs/inode.cinode->i_count--;
inode323fs/inode.cif (inode->i_pipe) {
inode324fs/inode.cunsigned long page = (unsigned long) PIPE_BASE(*inode);
inode325fs/inode.cPIPE_BASE(*inode) = NULL;
inode328fs/inode.cif (inode->i_sb && inode->i_sb->s_op && inode->i_sb->s_op->put_inode) {
inode329fs/inode.cinode->i_sb->s_op->put_inode(inode);
inode330fs/inode.cif (!inode->i_nlink)
inode333fs/inode.cif (inode->i_dirt) {
inode334fs/inode.cwrite_inode(inode);  /* we can sleep - so do again */
inode335fs/inode.cwait_on_inode(inode);
inode338fs/inode.cinode->i_count--;
inode343fs/inode.cstruct inode * get_empty_inode(void)
inode345fs/inode.cstruct inode * inode, * best;
inode351fs/inode.cinode = first_inode;
inode353fs/inode.cfor (i = 0; i<nr_inodes; inode = inode->i_next, i++) {
inode354fs/inode.cif (!inode->i_count) {
inode356fs/inode.cbest = inode;
inode357fs/inode.cif (!inode->i_dirt && !inode->i_lock) {
inode358fs/inode.cbest = inode;
inode368fs/inode.cinode = best;
inode369fs/inode.cif (!inode) {
inode374fs/inode.cif (inode->i_lock) {
inode375fs/inode.cwait_on_inode(inode);
inode378fs/inode.cif (inode->i_dirt) {
inode379fs/inode.cwrite_inode(inode);
inode382fs/inode.cif (inode->i_count)
inode384fs/inode.cclear_inode(inode);
inode385fs/inode.cinode->i_count = 1;
inode386fs/inode.cinode->i_nlink = 1;
inode392fs/inode.creturn inode;
inode395fs/inode.cstruct inode * get_pipe_inode(void)
inode397fs/inode.cstruct inode * inode;
inode400fs/inode.cif (!(inode = get_empty_inode()))
inode402fs/inode.cif (!(PIPE_BASE(*inode) = (char*) __get_free_page(GFP_USER))) {
inode403fs/inode.ciput(inode);
inode406fs/inode.cinode->i_op = &pipe_inode_operations;
inode407fs/inode.cinode->i_count = 2;  /* sum of readers/writers */
inode408fs/inode.cPIPE_WAIT(*inode) = NULL;
inode409fs/inode.cPIPE_START(*inode) = PIPE_LEN(*inode) = 0;
inode410fs/inode.cPIPE_RD_OPENERS(*inode) = PIPE_WR_OPENERS(*inode) = 0;
inode411fs/inode.cPIPE_READERS(*inode) = PIPE_WRITERS(*inode) = 1;
inode412fs/inode.cPIPE_LOCK(*inode) = 0;
inode413fs/inode.cinode->i_pipe = 1;
inode414fs/inode.cinode->i_mode |= S_IFIFO | S_IRUSR | S_IWUSR;
inode415fs/inode.cinode->i_uid = current->euid;
inode416fs/inode.cinode->i_gid = current->egid;
inode417fs/inode.cinode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode418fs/inode.creturn inode;
inode421fs/inode.cstruct inode * iget(struct super_block * sb,int nr)
inode426fs/inode.cstruct inode * __iget(struct super_block * sb, int nr, int crossmntp)
inode430fs/inode.cstruct inode * inode;
inode431fs/inode.cstruct inode * empty = NULL;
inode437fs/inode.cfor (inode = h->inode; inode ; inode = inode->i_hash_next)
inode438fs/inode.cif (inode->i_dev == sb->s_dev && inode->i_ino == nr)
inode449fs/inode.cinode = empty;
inode450fs/inode.cinode->i_sb = sb;
inode451fs/inode.cinode->i_dev = sb->s_dev;
inode452fs/inode.cinode->i_ino = nr;
inode453fs/inode.cinode->i_flags = sb->s_flags;
inode454fs/inode.cput_last_free(inode);
inode455fs/inode.cinsert_inode_hash(inode);
inode456fs/inode.cread_inode(inode);
inode460fs/inode.cif (!inode->i_count)
inode462fs/inode.cinode->i_count++;
inode463fs/inode.cwait_on_inode(inode);
inode464fs/inode.cif (inode->i_dev != sb->s_dev || inode->i_ino != nr) {
inode466fs/inode.ciput(inode);
inode469fs/inode.cif (crossmntp && inode->i_mount) {
inode470fs/inode.cstruct inode * tmp = inode->i_mount;
inode472fs/inode.ciput(inode);
inode473fs/inode.cinode = tmp;
inode474fs/inode.cwait_on_inode(inode);
inode482fs/inode.creturn inode;
inode491fs/inode.cstatic void __wait_on_inode(struct inode * inode)
inode495fs/inode.cadd_wait_queue(&inode->i_wait, &wait);
inode498fs/inode.cif (inode->i_lock) {
inode502fs/inode.cremove_wait_queue(&inode->i_wait, &wait);
inode23fs/isofs/dir.cstatic int isofs_readdir(struct inode *, struct file *, struct dirent *, int);
inode64fs/isofs/dir.cstatic int isofs_readdir(struct inode * inode, struct file * filp,
inode67fs/isofs/dir.cunsigned long bufsize = ISOFS_BUFFER_SIZE(inode);
inode68fs/isofs/dir.cunsigned char bufbits = ISOFS_BUFFER_BITS(inode);
inode79fs/isofs/dir.cif (!inode || !S_ISDIR(inode->i_mode))
inode83fs/isofs/dir.cblock = isofs_bmap(inode,filp->f_pos>>bufbits);
inode84fs/isofs/dir.cif (!block || !(bh = bread(inode->i_dev,block,bufsize)))
inode87fs/isofs/dir.cwhile (filp->f_pos < inode->i_size) {
inode104fs/isofs/dir.cblock = isofs_bmap(inode,(filp->f_pos)>>bufbits);
inode106fs/isofs/dir.c|| !(bh = bread(inode->i_dev,block,bufsize)))
inode127fs/isofs/dir.cblock = isofs_bmap(inode,(filp->f_pos)>> bufbits);
inode129fs/isofs/dir.c|| !(bh = bread(inode->i_dev,block,bufsize))) {
inode142fs/isofs/dir.cinode_number = inode->i_ino;
inode153fs/isofs/dir.cif((inode->i_sb->u.isofs_sb.s_firstdatazone
inode154fs/isofs/dir.c<< bufbits) != inode->i_ino)
inode155fs/isofs/dir.cinode_number = inode->u.isofs_i.i_backlink;
inode157fs/isofs/dir.cinode_number = inode->i_ino;
inode162fs/isofs/dir.cisofs_lookup_grandparent(inode,
inode163fs/isofs/dir.cfind_rock_ridge_relocation(de, inode));
inode178fs/isofs/dir.crrflag = get_rock_ridge_filename(de, &dpnt, &dlen, inode);
inode190fs/isofs/dir.cif(inode->i_sb->u.isofs_sb.s_mapping == 'n')
inode209fs/isofs/dir.ccache.dir = inode->i_ino;
inode210fs/isofs/dir.ccache.dev = inode->i_dev;
inode32fs/isofs/file.cstatic int isofs_file_read(struct inode *, struct file *, char *, int);
inode89fs/isofs/file.cstatic void isofs_determine_filetype(struct inode * inode)
inode96fs/isofs/file.cblock = isofs_bmap(inode,0);
inode97fs/isofs/file.cif (block && (bh = bread(inode->i_dev,block, ISOFS_BUFFER_SIZE(inode)))) {
inode100fs/isofs/file.cfor(i=0;i<(inode->i_size < ISOFS_BUFFER_SIZE(inode) ? inode->i_size : ISOFS_BUFFER_SIZE(inode));
inode110fs/isofs/file.cinode->u.isofs_i.i_file_format = result;
inode114fs/isofs/file.cstatic int isofs_file_read(struct inode * inode, struct file * filp, char * buf, int count)
inode124fs/isofs/file.cif (!inode) {
inode128fs/isofs/file.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) {
inode129fs/isofs/file.cprintk("isofs_file_read: mode = %07o\n",inode->i_mode);
inode132fs/isofs/file.cif (inode->u.isofs_i.i_file_format == ISOFS_FILE_UNKNOWN)
inode133fs/isofs/file.cisofs_determine_filetype(inode);
inode134fs/isofs/file.cif (filp->f_pos > inode->i_size)
inode137fs/isofs/file.cleft = inode->i_size - filp->f_pos;
inode143fs/isofs/file.cblock = filp->f_pos >> ISOFS_BUFFER_BITS(inode);
inode144fs/isofs/file.coffset = filp->f_pos & (ISOFS_BUFFER_SIZE(inode)-1);
inode145fs/isofs/file.cblocks = (left + offset + ISOFS_BUFFER_SIZE(inode) - 1) / ISOFS_BUFFER_SIZE(inode);
inode148fs/isofs/file.cra_blocks = read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9);
inode149fs/isofs/file.cmax_block = (inode->i_size + BLOCK_SIZE - 1)/BLOCK_SIZE;
inode167fs/isofs/file.c*bhb = getblk(inode->i_dev,isofs_bmap(inode, block++), ISOFS_BUFFER_SIZE(inode));
inode193fs/isofs/file.c*bhb = getblk(inode->i_dev,isofs_bmap(inode, block++), ISOFS_BUFFER_SIZE(inode));
inode227fs/isofs/file.cif (left < ISOFS_BUFFER_SIZE(inode) - offset)
inode230fs/isofs/file.cchars = ISOFS_BUFFER_SIZE(inode) - offset;
inode235fs/isofs/file.cif (inode->u.isofs_i.i_file_format == ISOFS_FILE_TEXT ||
inode236fs/isofs/file.cinode->u.isofs_i.i_file_format == ISOFS_FILE_TEXT_M)
inode238fs/isofs/file.cchars, inode->u.isofs_i.i_file_format);
inode322fs/isofs/inode.cint isofs_bmap(struct inode * inode,int block)
inode329fs/isofs/inode.creturn inode->u.isofs_i.i_first_extent + block;
inode332fs/isofs/inode.cvoid isofs_read_inode(struct inode * inode)
inode334fs/isofs/inode.cunsigned long bufsize = ISOFS_BUFFER_SIZE(inode);
inode343fs/isofs/inode.cblock = inode->i_ino >> ISOFS_BUFFER_BITS(inode);
inode344fs/isofs/inode.cif (!(bh=bread(inode->i_dev,block, bufsize))) {
inode350fs/isofs/inode.c+ (inode->i_ino & (bufsize - 1)));
inode352fs/isofs/inode.chigh_sierra = inode->i_sb->u.isofs_sb.s_high_sierra;
inode354fs/isofs/inode.cif ((inode->i_ino & (bufsize - 1)) + *pnt > bufsize){
inode358fs/isofs/inode.cif (!(bh = bread(inode->i_dev,++block, bufsize))) {
inode365fs/isofs/inode.c+ (inode->i_ino & (bufsize - 1)));
inode369fs/isofs/inode.cinode->i_mode = S_IRUGO; /* Everybody gets to read the file. */
inode370fs/isofs/inode.cinode->i_nlink = 1;
inode373fs/isofs/inode.cinode->i_mode = S_IRUGO | S_IXUGO | S_IFDIR;
inode374fs/isofs/inode.cinode->i_nlink = 2; /* There are always at least 2.  It is
inode377fs/isofs/inode.cinode->i_mode = S_IRUGO; /* Everybody gets to read the file. */
inode378fs/isofs/inode.cinode->i_nlink = 1;
inode379fs/isofs/inode.cinode->i_mode |= S_IFREG;
inode385fs/isofs/inode.cinode->i_mode |= S_IXUGO; /* execute permission */
inode387fs/isofs/inode.cinode->i_uid = 0;
inode388fs/isofs/inode.cinode->i_gid = 0;
inode389fs/isofs/inode.cinode->i_size = isonum_733 (raw_inode->size);
inode393fs/isofs/inode.cif((inode->i_size < 0 || inode->i_size > 700000000) &&
inode394fs/isofs/inode.cinode->i_sb->u.isofs_sb.s_cruft == 'n') {
inode396fs/isofs/inode.cinode->i_sb->u.isofs_sb.s_cruft = 'y';
inode403fs/isofs/inode.cif(inode->i_sb->u.isofs_sb.s_cruft == 'y' && 
inode404fs/isofs/inode.cinode->i_size & 0xff000000){
inode406fs/isofs/inode.cinode->i_size &= 0x00ffffff;
inode411fs/isofs/inode.cinode->i_size = 0;
inode419fs/isofs/inode.cinode->i_ino);
inode426fs/isofs/inode.cprintk("File unit size != 0 for ISO file (%ld).\n",inode->i_ino);
inode433fs/isofs/inode.cinode->i_ino, raw_inode->flags[-high_sierra]);
inode437fs/isofs/inode.cprintk("Get inode %d: %d %d: %d\n",inode->i_ino, block, 
inode438fs/isofs/inode.c((int)pnt) & 0x3ff, inode->i_size);
inode441fs/isofs/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = 
inode444fs/isofs/inode.cinode->u.isofs_i.i_first_extent = isonum_733 (raw_inode->extent) << 
inode445fs/isofs/inode.c(ISOFS_BLOCK_BITS - ISOFS_BUFFER_BITS(inode));
inode447fs/isofs/inode.cinode->u.isofs_i.i_backlink = 0xffffffff; /* Will be used for previous directory */
inode448fs/isofs/inode.cswitch (inode->i_sb->u.isofs_sb.s_conversion){
inode450fs/isofs/inode.cinode->u.isofs_i.i_file_format = ISOFS_FILE_UNKNOWN; /* File type */
inode453fs/isofs/inode.cinode->u.isofs_i.i_file_format = ISOFS_FILE_BINARY; /* File type */
inode456fs/isofs/inode.cinode->u.isofs_i.i_file_format = ISOFS_FILE_TEXT; /* File type */
inode459fs/isofs/inode.cinode->u.isofs_i.i_file_format = ISOFS_FILE_TEXT_M; /* File type */
inode468fs/isofs/inode.cparse_rock_ridge_inode(raw_inode, inode);
inode471fs/isofs/inode.cprintk("Inode: %x extent: %x\n",inode->i_ino, inode->u.isofs_i.i_first_extent);
inode480fs/isofs/inode.cinode->i_op = NULL;
inode481fs/isofs/inode.cif (inode->i_sb->u.isofs_sb.s_cruft != 'y' && 
inode485fs/isofs/inode.cif (S_ISREG(inode->i_mode))
inode486fs/isofs/inode.cinode->i_op = &isofs_file_inode_operations;
inode487fs/isofs/inode.celse if (S_ISDIR(inode->i_mode))
inode488fs/isofs/inode.cinode->i_op = &isofs_dir_inode_operations;
inode489fs/isofs/inode.celse if (S_ISLNK(inode->i_mode))
inode490fs/isofs/inode.cinode->i_op = &isofs_symlink_inode_operations;
inode491fs/isofs/inode.celse if (S_ISCHR(inode->i_mode))
inode492fs/isofs/inode.cinode->i_op = &chrdev_inode_operations;
inode493fs/isofs/inode.celse if (S_ISBLK(inode->i_mode))
inode494fs/isofs/inode.cinode->i_op = &blkdev_inode_operations;
inode495fs/isofs/inode.celse if (S_ISFIFO(inode->i_mode))
inode496fs/isofs/inode.cinit_fifo(inode);
inode501fs/isofs/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = 0;
inode502fs/isofs/inode.cinode->u.isofs_i.i_first_extent = 0;
inode503fs/isofs/inode.cinode->u.isofs_i.i_backlink = 0xffffffff;
inode504fs/isofs/inode.cinode->i_size = 0;
inode505fs/isofs/inode.cinode->i_nlink = 1;
inode506fs/isofs/inode.cinode->i_uid = inode->i_gid = 0;
inode507fs/isofs/inode.cinode->i_mode = S_IFREG;  /*Regular file, noone gets to read*/
inode508fs/isofs/inode.cinode->i_op = NULL;
inode531fs/isofs/inode.cint isofs_lookup_grandparent(struct inode * parent, int extent)
inode65fs/isofs/namei.cstatic struct buffer_head * isofs_find_entry(struct inode * dir,
inode210fs/isofs/namei.cint isofs_lookup(struct inode * dir,const char * name, int len,
inode211fs/isofs/namei.cstruct inode ** result)
inode92fs/isofs/rock.cstruct inode * inode) {
inode107fs/isofs/rock.cif (!inode->i_sb->u.isofs_sb.s_rock) return retval;
inode157fs/isofs/rock.cMAYBE_CONTINUE(repeat, inode);
inode165fs/isofs/rock.cchar ** name, int * namlen, struct inode * inode)
inode173fs/isofs/rock.cif (!inode->i_sb->u.isofs_sb.s_rock) return 0;
inode224fs/isofs/rock.cprintk("RR: RE (%x)\n", inode->i_ino);
inode234fs/isofs/rock.cMAYBE_CONTINUE(repeat,inode);
inode248fs/isofs/rock.cstruct inode * inode){
inode253fs/isofs/rock.cif (!inode->i_sb->u.isofs_sb.s_rock) return 0;
inode259fs/isofs/rock.cstruct inode * reloc;
inode289fs/isofs/rock.cinode->i_mode  = isonum_733(rr->u.PX.mode);
inode290fs/isofs/rock.cinode->i_nlink = isonum_733(rr->u.PX.n_links);
inode291fs/isofs/rock.cinode->i_uid   = isonum_733(rr->u.PX.uid);
inode292fs/isofs/rock.cinode->i_gid   = isonum_733(rr->u.PX.gid);
inode298fs/isofs/rock.cinode->i_rdev = ((high << 8) | (low & 0xff)) & 0xffff;
inode306fs/isofs/rock.cinode->i_ctime = iso_date(rr->u.TF.times[cnt++].time, 0);
inode308fs/isofs/rock.cinode->i_mtime = iso_date(rr->u.TF.times[cnt++].time, 0);
inode310fs/isofs/rock.cinode->i_atime = iso_date(rr->u.TF.times[cnt++].time, 0);
inode312fs/isofs/rock.cinode->i_ctime = iso_date(rr->u.TF.times[cnt++].time, 0);
inode323fs/isofs/rock.cinode->i_size += slp->len;
inode326fs/isofs/rock.cinode->i_size += 1;
inode329fs/isofs/rock.cinode->i_size += 2;
inode333fs/isofs/rock.cinode->i_size += 1;
inode342fs/isofs/rock.cif(!rootflag) inode->i_size += 1;
inode351fs/isofs/rock.cprintk("RR CL (%x)\n",inode->i_ino);
inode353fs/isofs/rock.cinode->u.isofs_i.i_first_extent = isonum_733(rr->u.CL.location) <<
inode354fs/isofs/rock.c(ISOFS_BLOCK_BITS - ISOFS_BUFFER_BITS(inode));
inode355fs/isofs/rock.creloc = iget(inode->i_sb, inode->u.isofs_i.i_first_extent << ISOFS_BUFFER_BITS(inode));
inode356fs/isofs/rock.cinode->i_mode = reloc->i_mode;
inode357fs/isofs/rock.cinode->i_nlink = reloc->i_nlink;
inode358fs/isofs/rock.cinode->i_uid = reloc->i_uid;
inode359fs/isofs/rock.cinode->i_gid = reloc->i_gid;
inode360fs/isofs/rock.cinode->i_rdev = reloc->i_rdev;
inode361fs/isofs/rock.cinode->i_size = reloc->i_size;
inode362fs/isofs/rock.cinode->i_atime = reloc->i_atime;
inode363fs/isofs/rock.cinode->i_ctime = reloc->i_ctime;
inode364fs/isofs/rock.cinode->i_mtime = reloc->i_mtime;
inode372fs/isofs/rock.cMAYBE_CONTINUE(repeat,inode);
inode383fs/isofs/rock.cchar * get_rock_ridge_symlink(struct inode * inode)
inode385fs/isofs/rock.cunsigned long bufsize = ISOFS_BUFFER_SIZE(inode);
inode386fs/isofs/rock.cunsigned char bufbits = ISOFS_BUFFER_BITS(inode);
inode400fs/isofs/rock.cif (!inode->i_sb->u.isofs_sb.s_rock)
inode405fs/isofs/rock.cblock = inode->i_ino >> bufbits;
inode406fs/isofs/rock.cif (!(bh=bread(inode->i_dev,block, bufsize))) {
inode411fs/isofs/rock.cpnt = ((unsigned char *) bh->b_data) + (inode->i_ino & (bufsize - 1));
inode415fs/isofs/rock.cif ((inode->i_ino & (bufsize - 1)) + *pnt > bufsize){
inode419fs/isofs/rock.cif (!(bh = bread(inode->i_dev,++block, bufsize))) {
inode425fs/isofs/rock.cpnt = ((unsigned char *) cpnt) + (inode->i_ino & (bufsize - 1));
inode457fs/isofs/rock.crpnt = (char *) kmalloc (inode->i_size +1, GFP_KERNEL);
inode490fs/isofs/rock.cMAYBE_CONTINUE(repeat,inode);
inode21fs/isofs/symlink.cstatic int isofs_readlink(struct inode *, char *, int);
inode22fs/isofs/symlink.cstatic int isofs_follow_link(struct inode *, struct inode *, int, int, struct inode **);
inode45fs/isofs/symlink.cstatic int isofs_follow_link(struct inode * dir, struct inode * inode,
inode46fs/isofs/symlink.cint flag, int mode, struct inode ** res_inode)
inode55fs/isofs/symlink.cif (!inode) {
inode60fs/isofs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode62fs/isofs/symlink.c*res_inode = inode;
inode66fs/isofs/symlink.c!(pnt = get_rock_ridge_symlink(inode))) {
inode68fs/isofs/symlink.ciput(inode);
inode72fs/isofs/symlink.ciput(inode);
inode80fs/isofs/symlink.cstatic int isofs_readlink(struct inode * inode, char * buffer, int buflen)
inode86fs/isofs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode87fs/isofs/symlink.ciput(inode);
inode93fs/isofs/symlink.cpnt = get_rock_ridge_symlink(inode);
inode95fs/isofs/symlink.ciput(inode);
inode143fs/minix/bitmap.cvoid minix_free_inode(struct inode * inode)
inode148fs/minix/bitmap.cif (!inode)
inode150fs/minix/bitmap.cif (!inode->i_dev) {
inode154fs/minix/bitmap.cif (inode->i_count != 1) {
inode155fs/minix/bitmap.cprintk("free_inode: inode has count=%d\n",inode->i_count);
inode158fs/minix/bitmap.cif (inode->i_nlink) {
inode159fs/minix/bitmap.cprintk("free_inode: inode has nlink=%d\n",inode->i_nlink);
inode162fs/minix/bitmap.cif (!inode->i_sb) {
inode166fs/minix/bitmap.cif (inode->i_ino < 1 || inode->i_ino >= inode->i_sb->u.minix_sb.s_ninodes) {
inode170fs/minix/bitmap.cino = inode->i_ino;
inode171fs/minix/bitmap.cif (!(bh=inode->i_sb->u.minix_sb.s_imap[ino >> 13])) {
inode175fs/minix/bitmap.cclear_inode(inode);
inode181fs/minix/bitmap.cstruct inode * minix_new_inode(const struct inode * dir)
inode184fs/minix/bitmap.cstruct inode * inode;
inode188fs/minix/bitmap.cif (!dir || !(inode = get_empty_inode()))
inode191fs/minix/bitmap.cinode->i_sb = sb;
inode192fs/minix/bitmap.cinode->i_flags = inode->i_sb->s_flags;
inode195fs/minix/bitmap.cif ((bh = inode->i_sb->u.minix_sb.s_imap[i]) != NULL)
inode199fs/minix/bitmap.ciput(inode);
inode204fs/minix/bitmap.ciput(inode);
inode209fs/minix/bitmap.cif (!j || j >= inode->i_sb->u.minix_sb.s_ninodes) {
inode210fs/minix/bitmap.ciput(inode);
inode213fs/minix/bitmap.cinode->i_count = 1;
inode214fs/minix/bitmap.cinode->i_nlink = 1;
inode215fs/minix/bitmap.cinode->i_dev = sb->s_dev;
inode216fs/minix/bitmap.cinode->i_uid = current->euid;
inode217fs/minix/bitmap.cinode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid;
inode218fs/minix/bitmap.cinode->i_dirt = 1;
inode219fs/minix/bitmap.cinode->i_ino = j;
inode220fs/minix/bitmap.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode221fs/minix/bitmap.cinode->i_op = NULL;
inode222fs/minix/bitmap.cinode->i_blocks = inode->i_blksize = 0;
inode223fs/minix/bitmap.cinsert_inode_hash(inode);
inode224fs/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);
inode183fs/minix/file.cif (!IS_RDONLY(inode))
inode184fs/minix/file.cinode->i_atime = CURRENT_TIME;
inode188fs/minix/file.cstatic int minix_file_write(struct inode * inode, struct file * filp, char * buf, int count)
inode195fs/minix/file.cif (!inode) {
inode199fs/minix/file.cif (!S_ISREG(inode->i_mode)) {
inode200fs/minix/file.cprintk("minix_file_write: mode = %07o\n",inode->i_mode);
inode208fs/minix/file.cpos = inode->i_size;
inode213fs/minix/file.cbh = minix_getblk(inode,pos/BLOCK_SIZE,1);
inode234fs/minix/file.cif (pos > inode->i_size) {
inode235fs/minix/file.cinode->i_size = pos;
inode236fs/minix/file.cinode->i_dirt = 1;
inode245fs/minix/file.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode247fs/minix/file.cinode->i_dirt = 1;
inode27fs/minix/fsync.cstatic int sync_block (struct inode * inode, unsigned short * block, int wait)
inode35fs/minix/fsync.cbh = get_hash_table(inode->i_dev, *block, blocksize);
inode56fs/minix/fsync.cstatic int sync_iblock (struct inode * inode, unsigned short * iblock, 
inode66fs/minix/fsync.crc = sync_block (inode, iblock, wait);
inode69fs/minix/fsync.c*bh = bread(inode->i_dev, tmp, blocksize);
inode81fs/minix/fsync.cstatic int sync_direct(struct inode *inode, int wait)
inode87fs/minix/fsync.crc = sync_block (inode, inode->u.minix_i.i_data + i, wait);
inode96fs/minix/fsync.cstatic int sync_indirect(struct inode *inode, unsigned short *iblock, int wait)
inode102fs/minix/fsync.crc = sync_iblock (inode, iblock, &ind_bh, wait);
inode107fs/minix/fsync.crc = sync_block (inode, 
inode119fs/minix/fsync.cstatic int sync_dindirect(struct inode *inode, unsigned short *diblock,
inode126fs/minix/fsync.crc = sync_iblock (inode, diblock, &dind_bh, wait);
inode131fs/minix/fsync.crc = sync_indirect (inode,
inode143fs/minix/fsync.cint minix_sync_file(struct inode * inode, struct file * file)
inode147fs/minix/fsync.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode148fs/minix/fsync.cS_ISLNK(inode->i_mode)))
inode153fs/minix/fsync.cerr |= sync_direct(inode, wait);
inode154fs/minix/fsync.cerr |= sync_indirect(inode, inode->u.minix_i.i_data+7, wait);
inode155fs/minix/fsync.cerr |= sync_dindirect(inode, inode->u.minix_i.i_data+8, wait);
inode157fs/minix/fsync.cerr |= minix_sync_inode (inode);
inode19fs/minix/inode.cvoid minix_put_inode(struct inode *inode)
inode21fs/minix/inode.cif (inode->i_nlink)
inode23fs/minix/inode.cinode->i_size = 0;
inode24fs/minix/inode.cminix_truncate(inode);
inode25fs/minix/inode.cminix_free_inode(inode);
inode230fs/minix/inode.c#define inode_bmap(inode,nr) ((inode)->u.minix_i.i_data[(nr)])
inode243fs/minix/inode.cint minix_bmap(struct inode * inode,int block)
inode256fs/minix/inode.creturn inode_bmap(inode,block);
inode259fs/minix/inode.ci = inode_bmap(inode,7);
inode262fs/minix/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block);
inode265fs/minix/inode.ci = inode_bmap(inode,8);
inode268fs/minix/inode.ci = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>9);
inode271fs/minix/inode.creturn block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 511);
inode274fs/minix/inode.cstatic struct buffer_head * inode_getblk(struct inode * inode, int nr, int create)
inode280fs/minix/inode.cp = inode->u.minix_i.i_data + nr;
inode284fs/minix/inode.cresult = getblk(inode->i_dev, tmp, BLOCK_SIZE);
inode292fs/minix/inode.ctmp = minix_new_block(inode->i_sb);
inode295fs/minix/inode.cresult = getblk(inode->i_dev, tmp, BLOCK_SIZE);
inode297fs/minix/inode.cminix_free_block(inode->i_sb,tmp);
inode302fs/minix/inode.cinode->i_ctime = CURRENT_TIME;
inode303fs/minix/inode.cinode->i_dirt = 1;
inode307fs/minix/inode.cstatic struct buffer_head * block_getblk(struct inode * inode, 
inode340fs/minix/inode.ctmp = minix_new_block(inode->i_sb);
inode347fs/minix/inode.cminix_free_block(inode->i_sb,tmp);
inode357fs/minix/inode.cstruct buffer_head * minix_getblk(struct inode * inode, int block, int create)
inode370fs/minix/inode.creturn inode_getblk(inode,block,create);
inode373fs/minix/inode.cbh = inode_getblk(inode,7,create);
inode374fs/minix/inode.creturn block_getblk(inode, bh, block, create);
inode377fs/minix/inode.cbh = inode_getblk(inode,8,create);
inode378fs/minix/inode.cbh = block_getblk(inode, bh, block>>9, create);
inode379fs/minix/inode.creturn block_getblk(inode, bh, block & 511, create);
inode382fs/minix/inode.cstruct buffer_head * minix_bread(struct inode * inode, int block, int create)
inode386fs/minix/inode.cbh = minix_getblk(inode,block,create);
inode397fs/minix/inode.cvoid minix_read_inode(struct inode * inode)
inode403fs/minix/inode.cino = inode->i_ino;
inode404fs/minix/inode.cinode->i_op = NULL;
inode405fs/minix/inode.cinode->i_mode = 0;
inode406fs/minix/inode.cif (!ino || ino >= inode->i_sb->u.minix_sb.s_ninodes) {
inode408fs/minix/inode.cinode->i_dev, ino);
inode411fs/minix/inode.cblock = 2 + inode->i_sb->u.minix_sb.s_imap_blocks +
inode412fs/minix/inode.cinode->i_sb->u.minix_sb.s_zmap_blocks +
inode414fs/minix/inode.cif (!(bh=bread(inode->i_dev,block, BLOCK_SIZE))) {
inode416fs/minix/inode.cinode->i_dev);
inode421fs/minix/inode.cinode->i_mode = raw_inode->i_mode;
inode422fs/minix/inode.cinode->i_uid = raw_inode->i_uid;
inode423fs/minix/inode.cinode->i_gid = raw_inode->i_gid;
inode424fs/minix/inode.cinode->i_nlink = raw_inode->i_nlinks;
inode425fs/minix/inode.cinode->i_size = raw_inode->i_size;
inode426fs/minix/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = raw_inode->i_time;
inode427fs/minix/inode.cinode->i_blocks = inode->i_blksize = 0;
inode428fs/minix/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode429fs/minix/inode.cinode->i_rdev = raw_inode->i_zone[0];
inode431fs/minix/inode.cinode->u.minix_i.i_data[block] = raw_inode->i_zone[block];
inode433fs/minix/inode.cif (S_ISREG(inode->i_mode))
inode434fs/minix/inode.cinode->i_op = &minix_file_inode_operations;
inode435fs/minix/inode.celse if (S_ISDIR(inode->i_mode))
inode436fs/minix/inode.cinode->i_op = &minix_dir_inode_operations;
inode437fs/minix/inode.celse if (S_ISLNK(inode->i_mode))
inode438fs/minix/inode.cinode->i_op = &minix_symlink_inode_operations;
inode439fs/minix/inode.celse if (S_ISCHR(inode->i_mode))
inode440fs/minix/inode.cinode->i_op = &chrdev_inode_operations;
inode441fs/minix/inode.celse if (S_ISBLK(inode->i_mode))
inode442fs/minix/inode.cinode->i_op = &blkdev_inode_operations;
inode443fs/minix/inode.celse if (S_ISFIFO(inode->i_mode))
inode444fs/minix/inode.cinit_fifo(inode);
inode447fs/minix/inode.cstatic struct buffer_head * minix_update_inode(struct inode * inode)
inode453fs/minix/inode.cino = inode->i_ino;
inode454fs/minix/inode.cif (!ino || ino >= inode->i_sb->u.minix_sb.s_ninodes) {
inode456fs/minix/inode.cinode->i_dev, ino);
inode457fs/minix/inode.cinode->i_dirt = 0;
inode460fs/minix/inode.cblock = 2 + inode->i_sb->u.minix_sb.s_imap_blocks + inode->i_sb->u.minix_sb.s_zmap_blocks +
inode462fs/minix/inode.cif (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) {
inode464fs/minix/inode.cinode->i_dirt = 0;
inode469fs/minix/inode.craw_inode->i_mode = inode->i_mode;
inode470fs/minix/inode.craw_inode->i_uid = inode->i_uid;
inode471fs/minix/inode.craw_inode->i_gid = inode->i_gid;
inode472fs/minix/inode.craw_inode->i_nlinks = inode->i_nlink;
inode473fs/minix/inode.craw_inode->i_size = inode->i_size;
inode474fs/minix/inode.craw_inode->i_time = inode->i_mtime;
inode475fs/minix/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode476fs/minix/inode.craw_inode->i_zone[0] = inode->i_rdev;
inode478fs/minix/inode.craw_inode->i_zone[block] = inode->u.minix_i.i_data[block];
inode479fs/minix/inode.cinode->i_dirt=0;
inode484fs/minix/inode.cvoid minix_write_inode(struct inode * inode)
inode487fs/minix/inode.cbh = minix_update_inode(inode);
inode491fs/minix/inode.cint minix_sync_inode(struct inode * inode)
inode496fs/minix/inode.cbh = minix_update_inode(inode);
inode504fs/minix/inode.cinode->i_dev, inode->i_ino);
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;
inode189fs/minix/namei.cif (de->inode) {
inode213fs/minix/namei.cint minix_create(struct inode * dir,const char * name, int len, int mode,
inode214fs/minix/namei.cstruct inode ** result)
inode217fs/minix/namei.cstruct inode * inode;
inode224fs/minix/namei.cinode = minix_new_inode(dir);
inode225fs/minix/namei.cif (!inode) {
inode229fs/minix/namei.cinode->i_op = &minix_file_inode_operations;
inode230fs/minix/namei.cinode->i_mode = mode;
inode231fs/minix/namei.cinode->i_dirt = 1;
inode234fs/minix/namei.cinode->i_nlink--;
inode235fs/minix/namei.cinode->i_dirt = 1;
inode236fs/minix/namei.ciput(inode);
inode240fs/minix/namei.cde->inode = inode->i_ino;
inode244fs/minix/namei.c*result = inode;
inode248fs/minix/namei.cint minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev)
inode251fs/minix/namei.cstruct inode * inode;
inode263fs/minix/namei.cinode = minix_new_inode(dir);
inode264fs/minix/namei.cif (!inode) {
inode268fs/minix/namei.cinode->i_uid = current->euid;
inode269fs/minix/namei.cinode->i_mode = mode;
inode270fs/minix/namei.cinode->i_op = NULL;
inode271fs/minix/namei.cif (S_ISREG(inode->i_mode))
inode272fs/minix/namei.cinode->i_op = &minix_file_inode_operations;
inode273fs/minix/namei.celse if (S_ISDIR(inode->i_mode)) {
inode274fs/minix/namei.cinode->i_op = &minix_dir_inode_operations;
inode276fs/minix/namei.cinode->i_mode |= S_ISGID;
inode278fs/minix/namei.celse if (S_ISLNK(inode->i_mode))
inode279fs/minix/namei.cinode->i_op = &minix_symlink_inode_operations;
inode280fs/minix/namei.celse if (S_ISCHR(inode->i_mode))
inode281fs/minix/namei.cinode->i_op = &chrdev_inode_operations;
inode282fs/minix/namei.celse if (S_ISBLK(inode->i_mode))
inode283fs/minix/namei.cinode->i_op = &blkdev_inode_operations;
inode284fs/minix/namei.celse if (S_ISFIFO(inode->i_mode))
inode285fs/minix/namei.cinit_fifo(inode);
inode287fs/minix/namei.cinode->i_rdev = rdev;
inode288fs/minix/namei.cinode->i_dirt = 1;
inode291fs/minix/namei.cinode->i_nlink--;
inode292fs/minix/namei.cinode->i_dirt = 1;
inode293fs/minix/namei.ciput(inode);
inode297fs/minix/namei.cde->inode = inode->i_ino;
inode301fs/minix/namei.ciput(inode);
inode305fs/minix/namei.cint minix_mkdir(struct inode * dir, const char * name, int len, int mode)
inode308fs/minix/namei.cstruct inode * inode;
inode328fs/minix/namei.cinode = minix_new_inode(dir);
inode329fs/minix/namei.cif (!inode) {
inode333fs/minix/namei.cinode->i_op = &minix_dir_inode_operations;
inode334fs/minix/namei.cinode->i_size = 2 * info->s_dirsize;
inode335fs/minix/namei.cdir_block = minix_bread(inode,0,1);
inode338fs/minix/namei.cinode->i_nlink--;
inode339fs/minix/namei.cinode->i_dirt = 1;
inode340fs/minix/namei.ciput(inode);
inode344fs/minix/namei.cde->inode=inode->i_ino;
inode347fs/minix/namei.cde->inode = dir->i_ino;
inode349fs/minix/namei.cinode->i_nlink = 2;
inode352fs/minix/namei.cinode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask);
inode354fs/minix/namei.cinode->i_mode |= S_ISGID;
inode355fs/minix/namei.cinode->i_dirt = 1;
inode359fs/minix/namei.cinode->i_nlink=0;
inode360fs/minix/namei.ciput(inode);
inode363fs/minix/namei.cde->inode = inode->i_ino;
inode368fs/minix/namei.ciput(inode);
inode376fs/minix/namei.cstatic int empty_dir(struct inode * inode)
inode383fs/minix/namei.cif (!inode || !inode->i_sb)
inode385fs/minix/namei.cinfo = &inode->i_sb->u.minix_sb;
inode389fs/minix/namei.cif (inode->i_size & (info->s_dirsize-1))
inode391fs/minix/namei.cif (inode->i_size < offset)
inode393fs/minix/namei.cbh = minix_bread(inode,0,0);
inode397fs/minix/namei.cif (!de->inode || strcmp(de->name,"."))
inode400fs/minix/namei.cif (!de->inode || strcmp(de->name,".."))
inode402fs/minix/namei.cwhile (block*BLOCK_SIZE+offset < inode->i_size) {
inode404fs/minix/namei.cbh = minix_bread(inode,block,0);
inode412fs/minix/namei.cif (de->inode) {
inode427fs/minix/namei.cprintk("Bad directory on device %04x\n",inode->i_dev);
inode431fs/minix/namei.cint minix_rmdir(struct inode * dir, const char * name, int len)
inode434fs/minix/namei.cstruct inode * inode;
inode438fs/minix/namei.cinode = NULL;
inode444fs/minix/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode447fs/minix/namei.cinode->i_uid != current->euid)
inode449fs/minix/namei.cif (inode->i_dev != dir->i_dev)
inode451fs/minix/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode453fs/minix/namei.cif (!S_ISDIR(inode->i_mode)) {
inode457fs/minix/namei.cif (!empty_dir(inode)) {
inode461fs/minix/namei.cif (de->inode != inode->i_ino) {
inode465fs/minix/namei.cif (inode->i_count > 1) {
inode469fs/minix/namei.cif (inode->i_nlink != 2)
inode470fs/minix/namei.cprintk("empty directory has nlink!=2 (%d)\n",inode->i_nlink);
inode471fs/minix/namei.cde->inode = 0;
inode473fs/minix/namei.cinode->i_nlink=0;
inode474fs/minix/namei.cinode->i_dirt=1;
inode476fs/minix/namei.cinode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
inode481fs/minix/namei.ciput(inode);
inode486fs/minix/namei.cint minix_unlink(struct inode * dir, const char * name, int len)
inode489fs/minix/namei.cstruct inode * inode;
inode495fs/minix/namei.cinode = NULL;
inode499fs/minix/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode502fs/minix/namei.cif (S_ISDIR(inode->i_mode))
inode504fs/minix/namei.cif (de->inode != inode->i_ino) {
inode505fs/minix/namei.ciput(inode);
inode512fs/minix/namei.ccurrent->euid != inode->i_uid &&
inode515fs/minix/namei.cif (de->inode != inode->i_ino) {
inode519fs/minix/namei.cif (!inode->i_nlink) {
inode521fs/minix/namei.cinode->i_dev,inode->i_ino,inode->i_nlink);
inode522fs/minix/namei.cinode->i_nlink=1;
inode524fs/minix/namei.cde->inode = 0;
inode528fs/minix/namei.cinode->i_nlink--;
inode529fs/minix/namei.cinode->i_ctime = dir->i_ctime;
inode530fs/minix/namei.cinode->i_dirt = 1;
inode534fs/minix/namei.ciput(inode);
inode539fs/minix/namei.cint minix_symlink(struct inode * dir, const char * name, int len, const char * symname)
inode542fs/minix/namei.cstruct inode * inode = NULL;
inode547fs/minix/namei.cif (!(inode = minix_new_inode(dir))) {
inode551fs/minix/namei.cinode->i_mode = S_IFLNK | 0777;
inode552fs/minix/namei.cinode->i_op = &minix_symlink_inode_operations;
inode553fs/minix/namei.cname_block = minix_bread(inode,0,1);
inode556fs/minix/namei.cinode->i_nlink--;
inode557fs/minix/namei.cinode->i_dirt = 1;
inode558fs/minix/namei.ciput(inode);
inode567fs/minix/namei.cinode->i_size = i;
inode568fs/minix/namei.cinode->i_dirt = 1;
inode571fs/minix/namei.cinode->i_nlink--;
inode572fs/minix/namei.cinode->i_dirt = 1;
inode573fs/minix/namei.ciput(inode);
inode580fs/minix/namei.cinode->i_nlink--;
inode581fs/minix/namei.cinode->i_dirt = 1;
inode582fs/minix/namei.ciput(inode);
inode586fs/minix/namei.cde->inode = inode->i_ino;
inode590fs/minix/namei.ciput(inode);
inode594fs/minix/namei.cint minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len)
inode623fs/minix/namei.cde->inode = oldinode->i_ino;
inode634fs/minix/namei.cstatic int subdir(struct inode * new_inode, struct inode * old_inode)
inode659fs/minix/namei.c(((struct minix_dir_entry *) ((buffer)+info->s_dirsize))->inode)
inode671fs/minix/namei.cstatic int do_minix_rename(struct inode * old_dir, const char * old_name, int old_len,
inode672fs/minix/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode674fs/minix/namei.cstruct inode * old_inode, * new_inode;
inode697fs/minix/namei.cold_inode = __iget(old_dir->i_sb, old_de->inode,0); /* don't cross mnt-points */
inode707fs/minix/namei.cnew_inode = __iget(new_dir->i_sb, new_de->inode, 0);
inode759fs/minix/namei.cif (new_inode && (new_de->inode != new_inode->i_ino))
inode761fs/minix/namei.cif (new_de->inode && !new_inode)
inode763fs/minix/namei.cif (old_de->inode != old_inode->i_ino)
inode766fs/minix/namei.cold_de->inode = 0;
inode767fs/minix/namei.cnew_de->inode = old_inode->i_ino;
inode813fs/minix/namei.cint minix_rename(struct inode * old_dir, const char * old_name, int old_len,
inode814fs/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);
inode26fs/minix/truncate.cstatic int trunc_direct(struct inode * inode)
inode32fs/minix/truncate.c#define DIRECT_BLOCK ((inode->i_size + 1023) >> 10)
inode36fs/minix/truncate.cp = i + inode->u.minix_i.i_data;
inode39fs/minix/truncate.cbh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE);
inode50fs/minix/truncate.cinode->i_dirt = 1;
inode52fs/minix/truncate.cminix_free_block(inode->i_sb,tmp);
inode57fs/minix/truncate.cstatic int trunc_indirect(struct inode * inode, int offset, unsigned short * p)
inode69fs/minix/truncate.cind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode88fs/minix/truncate.cbh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE);
inode101fs/minix/truncate.cminix_free_block(inode->i_sb,tmp);
inode113fs/minix/truncate.cminix_free_block(inode->i_sb,tmp);
inode119fs/minix/truncate.cstatic int trunc_dindirect(struct inode * inode)
inode127fs/minix/truncate.cp = 8 + inode->u.minix_i.i_data;
inode130fs/minix/truncate.cdind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE);
inode146fs/minix/truncate.cretry |= trunc_indirect(inode,7+512+(i<<9),dind);
inode159fs/minix/truncate.cinode->i_dirt = 1;
inode160fs/minix/truncate.cminix_free_block(inode->i_sb,tmp);
inode166fs/minix/truncate.cvoid minix_truncate(struct inode * inode)
inode170fs/minix/truncate.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode171fs/minix/truncate.cS_ISLNK(inode->i_mode)))
inode174fs/minix/truncate.cretry = trunc_direct(inode);
inode175fs/minix/truncate.cretry |= trunc_indirect(inode,7,inode->u.minix_i.i_data+7);
inode176fs/minix/truncate.cretry |= trunc_dindirect(inode);
inode182fs/minix/truncate.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode183fs/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 (!(nr = MSDOS_I(inode)->i_start)) return 0;
inode228fs/msdos/fat.cfor (cache_lookup(inode,cluster,&count,&nr); count < cluster;
inode230fs/msdos/fat.cif ((nr = fat_access(inode->i_sb,nr,-1)) == -1) return 0;
inode233fs/msdos/fat.ccache_add(inode,cluster,nr);
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 (!(nr = MSDOS_I(inode)->i_start)) return 0;
inode267fs/msdos/fat.cif ((nr = fat_access(inode->i_sb,nr,-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 (!(nr = fat_access(inode->i_sb,nr,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;
inode119fs/msdos/file.c&& !IS_RDONLY(inode))
inode120fs/msdos/file.cinode->i_atime
inode129fs/msdos/file.cif (!IS_RDONLY(inode))
inode130fs/msdos/file.cinode->i_atime = CURRENT_TIME;
inode135fs/msdos/file.cstatic int msdos_file_write(struct inode *inode,struct file *filp,char *buf,
inode144fs/msdos/file.cif (!inode) {
inode148fs/msdos/file.cif (!S_ISREG(inode->i_mode)) {
inode149fs/msdos/file.cprintk("msdos_file_write: mode = %07o\n",inode->i_mode);
inode156fs/msdos/file.cif (filp->f_flags & O_APPEND) filp->f_pos = inode->i_size;
inode160fs/msdos/file.cwhile (!(sector = msdos_smap(inode,filp->f_pos >> SECTOR_BITS)))
inode161fs/msdos/file.cif ((error = msdos_add_cluster(inode)) < 0) break;
inode163fs/msdos/file.cmsdos_truncate(inode);
inode168fs/msdos/file.cif (!(bh = msdos_sread(inode->i_dev,sector,&data))) {
inode172fs/msdos/file.cif (MSDOS_I(inode)->i_binary) {
inode199fs/msdos/file.cif (filp->f_pos > inode->i_size) {
inode200fs/msdos/file.cinode->i_size = filp->f_pos;
inode201fs/msdos/file.cinode->i_dirt = 1;
inode208fs/msdos/file.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode209fs/msdos/file.cMSDOS_I(inode)->i_attrs |= ATTR_ARCH;
inode210fs/msdos/file.cinode->i_dirt = 1;
inode215fs/msdos/file.cvoid msdos_truncate(struct inode *inode)
inode219fs/msdos/file.ccluster = SECTOR_SIZE*MSDOS_SB(inode->i_sb)->cluster_size;
inode220fs/msdos/file.c(void) fat_free(inode,(inode->i_size+(cluster-1))/cluster);
inode221fs/msdos/file.cMSDOS_I(inode)->i_attrs |= ATTR_ARCH;
inode222fs/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)->
inode287fs/msdos/inode.cint msdos_bmap(struct inode *inode,int block)
inode292fs/msdos/inode.csb = MSDOS_SB(inode->i_sb);
inode294fs/msdos/inode.cif (inode->i_ino == MSDOS_ROOT_INO) {
inode300fs/msdos/inode.cif (!(cluster = get_cluster(inode,cluster))) return 0;
inode305fs/msdos/inode.cvoid msdos_read_inode(struct inode *inode)
inode312fs/msdos/inode.cMSDOS_I(inode)->i_busy = 0;
inode313fs/msdos/inode.cMSDOS_I(inode)->i_depend = MSDOS_I(inode)->i_old = NULL;
inode314fs/msdos/inode.cMSDOS_I(inode)->i_binary = 1;
inode315fs/msdos/inode.cinode->i_uid = MSDOS_SB(inode->i_sb)->fs_uid;
inode316fs/msdos/inode.cinode->i_gid = MSDOS_SB(inode->i_sb)->fs_gid;
inode317fs/msdos/inode.cif (inode->i_ino == MSDOS_ROOT_INO) {
inode318fs/msdos/inode.cinode->i_mode = (S_IRWXUGO & ~MSDOS_SB(inode->i_sb)->fs_umask) |
inode320fs/msdos/inode.cinode->i_op = &msdos_dir_inode_operations;
inode321fs/msdos/inode.cinode->i_nlink = msdos_subdirs(inode)+2;
inode323fs/msdos/inode.cinode->i_size = MSDOS_SB(inode->i_sb)->dir_entries*
inode325fs/msdos/inode.cinode->i_blksize = MSDOS_SB(inode->i_sb)->cluster_size*
inode327fs/msdos/inode.cinode->i_blocks = (inode->i_size+inode->i_blksize-1)/
inode328fs/msdos/inode.cinode->i_blksize*MSDOS_SB(inode->i_sb)->cluster_size;
inode329fs/msdos/inode.cMSDOS_I(inode)->i_start = 0;
inode330fs/msdos/inode.cMSDOS_I(inode)->i_attrs = 0;
inode331fs/msdos/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = 0;
inode334fs/msdos/inode.cif (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS,
inode336fs/msdos/inode.cprintk("dev = 0x%04X, ino = %ld\n",inode->i_dev,inode->i_ino);
inode340fs/msdos/inode.c[inode->i_ino & (MSDOS_DPB-1)];
inode342fs/msdos/inode.cinode->i_mode = MSDOS_MKMODE(raw_entry->attr,S_IRWXUGO &
inode343fs/msdos/inode.c~MSDOS_SB(inode->i_sb)->fs_umask) | S_IFDIR;
inode344fs/msdos/inode.cinode->i_op = &msdos_dir_inode_operations;
inode345fs/msdos/inode.cMSDOS_I(inode)->i_start = CF_LE_W(raw_entry->start);
inode346fs/msdos/inode.cinode->i_nlink = msdos_subdirs(inode);
inode349fs/msdos/inode.cif (!inode->i_nlink) {
inode350fs/msdos/inode.cprintk("directory %d: i_nlink == 0\n",inode->i_ino);
inode351fs/msdos/inode.cinode->i_nlink = 1;
inode354fs/msdos/inode.cinode->i_size = 0;
inode357fs/msdos/inode.cinode->i_size += SECTOR_SIZE*MSDOS_SB(inode->
inode359fs/msdos/inode.cif (!(nr = fat_access(inode->i_sb,nr,-1))) {
inode361fs/msdos/inode.cinode->i_ino);
inode367fs/msdos/inode.cinode->i_mode = MSDOS_MKMODE(raw_entry->attr,(IS_NOEXEC(inode)
inode368fs/msdos/inode.c? S_IRUGO|S_IWUGO : S_IRWXUGO) & ~MSDOS_SB(inode->i_sb)->fs_umask) |
inode370fs/msdos/inode.cinode->i_op = MSDOS_CAN_BMAP(MSDOS_SB(inode->i_sb)) ? 
inode373fs/msdos/inode.cMSDOS_I(inode)->i_start = CF_LE_W(raw_entry->start);
inode374fs/msdos/inode.cinode->i_nlink = 1;
inode375fs/msdos/inode.cinode->i_size = CF_LE_L(raw_entry->size);
inode377fs/msdos/inode.cMSDOS_I(inode)->i_binary = is_binary(MSDOS_SB(inode->i_sb)->conversion,
inode379fs/msdos/inode.cMSDOS_I(inode)->i_attrs = raw_entry->attr & ATTR_UNUSED;
inode381fs/msdos/inode.cinode->i_blksize = MSDOS_SB(inode->i_sb)->cluster_size*SECTOR_SIZE;
inode382fs/msdos/inode.cinode->i_blocks = (inode->i_size+inode->i_blksize-1)/
inode383fs/msdos/inode.cinode->i_blksize*MSDOS_SB(inode->i_sb)->cluster_size;
inode384fs/msdos/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime =
inode390fs/msdos/inode.cvoid msdos_write_inode(struct inode *inode)
inode395fs/msdos/inode.cinode->i_dirt = 0;
inode396fs/msdos/inode.cif (inode->i_ino == MSDOS_ROOT_INO || !inode->i_nlink) return;
inode397fs/msdos/inode.cif (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS,
inode399fs/msdos/inode.cprintk("dev = 0x%04X, ino = %ld\n",inode->i_dev,inode->i_ino);
inode403fs/msdos/inode.c[inode->i_ino & (MSDOS_DPB-1)];
inode404fs/msdos/inode.cif (S_ISDIR(inode->i_mode)) {
inode410fs/msdos/inode.craw_entry->size = CT_LE_L(inode->i_size);
inode412fs/msdos/inode.craw_entry->attr |= MSDOS_MKATTR(inode->i_mode) |
inode413fs/msdos/inode.cMSDOS_I(inode)->i_attrs;
inode414fs/msdos/inode.craw_entry->start = CT_LE_L(MSDOS_I(inode)->i_start);
inode415fs/msdos/inode.cdate_unix2dos(inode->i_mtime,&raw_entry->time,&raw_entry->date);
inode423fs/msdos/inode.cint msdos_notify_change(int flags,struct inode *inode)
inode428fs/msdos/inode.cif ((flags & NOTIFY_UIDGID) && (inode->i_uid != MSDOS_SB(inode->i_sb)->
inode429fs/msdos/inode.cfs_uid || inode->i_gid != MSDOS_SB(inode->i_sb)->fs_gid)) {
inode430fs/msdos/inode.cinode->i_uid = MSDOS_SB(inode->i_sb)->fs_uid;
inode431fs/msdos/inode.cinode->i_gid = MSDOS_SB(inode->i_sb)->fs_gid;
inode435fs/msdos/inode.creturn MSDOS_SB(inode->i_sb)->quiet ? 0 : error;
inode436fs/msdos/inode.cif (inode->i_mode & ~MSDOS_VALID_MODE) {
inode437fs/msdos/inode.cinode->i_mode &= MSDOS_VALID_MODE;
inode440fs/msdos/inode.cif (IS_NOEXEC(inode) && !S_ISDIR(inode->i_mode))
inode441fs/msdos/inode.cinode->i_mode &= S_IFMT | S_IRUGO | S_IWUGO;
inode442fs/msdos/inode.celse inode->i_mode |= S_IXUGO;
inode443fs/msdos/inode.cinode->i_mode = ((inode->i_mode & S_IFMT) | ((((inode->i_mode & S_IRWXU
inode444fs/msdos/inode.c& ~MSDOS_SB(inode->i_sb)->fs_umask) | S_IRUSR) >> 6)*S_IXUGO)) &
inode445fs/msdos/inode.c~MSDOS_SB(inode->i_sb)->fs_umask;
inode446fs/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.cnr = ((count+MSDOS_SB(inode->i_sb)->prev_free) % limit)+2;
inode122fs/msdos/misc.cif (fat_access(inode->i_sb,nr,-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,nr,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,nr,-1));
inode143fs/msdos/misc.cif ((current = MSDOS_I(inode)->i_start) != 0) {
inode144fs/msdos/misc.ccache_lookup(inode,INT_MAX,&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,nr);
inode157fs/msdos/misc.cMSDOS_I(inode)->i_start = nr;
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+(nr-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, off_t *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)
inode196fs/msdos/namei.cint msdos_create(struct inode *dir,const char *name,int len,int mode,
inode197fs/msdos/namei.cstruct inode **result)
inode244fs/msdos/namei.cint msdos_mkdir(struct inode *dir,const char *name,int len,int mode)
inode248fs/msdos/namei.cstruct inode *inode,*dot;
inode264fs/msdos/namei.cif ((res = msdos_create_entry(dir,msdos_name,1,&inode)) < 0) {
inode270fs/msdos/namei.cinode->i_nlink = 2; /* no need to mark them dirty */
inode271fs/msdos/namei.cMSDOS_I(inode)->i_busy = 1; /* prevent lookups */
inode272fs/msdos/namei.cif ((res = msdos_add_cluster(inode)) < 0) goto mkdir_error;
inode273fs/msdos/namei.cif ((res = msdos_create_entry(inode,MSDOS_DOT,1,&dot)) < 0)
inode275fs/msdos/namei.cdot->i_size = inode->i_size; /* doesn't grow in the 2nd create_entry */
inode276fs/msdos/namei.cMSDOS_I(dot)->i_start = MSDOS_I(inode)->i_start;
inode277fs/msdos/namei.cdot->i_nlink = inode->i_nlink;
inode280fs/msdos/namei.cif ((res = msdos_create_entry(inode,MSDOS_DOTDOT,1,&dot)) < 0)
inode287fs/msdos/namei.cMSDOS_I(inode)->i_busy = 0;
inode289fs/msdos/namei.ciput(inode);
inode293fs/msdos/namei.ciput(inode);
inode301fs/msdos/namei.cstatic int msdos_empty(struct inode *dir)
inode326fs/msdos/namei.cint msdos_rmdir(struct inode *dir,const char *name,int len)
inode331fs/msdos/namei.cstruct inode *inode;
inode334fs/msdos/namei.cinode = NULL;
inode340fs/msdos/namei.cif (!(inode = iget(dir->i_sb,ino))) goto rmdir_done;
inode342fs/msdos/namei.cif (!S_ISDIR(inode->i_mode)) goto rmdir_done;
inode344fs/msdos/namei.cif (dir->i_dev != inode->i_dev || dir == inode) goto rmdir_done;
inode345fs/msdos/namei.cres = msdos_empty(inode);
inode348fs/msdos/namei.cinode->i_nlink = 0;
inode349fs/msdos/namei.cinode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
inode351fs/msdos/namei.cinode->i_dirt = dir->i_dirt = 1;
inode358fs/msdos/namei.ciput(inode);
inode363fs/msdos/namei.cint msdos_unlink(struct inode *dir,const char *name,int len)
inode368fs/msdos/namei.cstruct inode *inode;
inode371fs/msdos/namei.cinode = NULL;
inode374fs/msdos/namei.cif (!(inode = iget(dir->i_sb,ino))) {
inode378fs/msdos/namei.cif (!S_ISREG(inode->i_mode)) {
inode382fs/msdos/namei.cinode->i_nlink = 0;
inode383fs/msdos/namei.cinode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
inode384fs/msdos/namei.cMSDOS_I(inode)->i_busy = 1;
inode385fs/msdos/namei.cinode->i_dirt = dir->i_dirt = 1;
inode390fs/msdos/namei.ciput(inode);
inode396fs/msdos/namei.cstatic int rename_same_dir(struct inode *old_dir,char *old_name,
inode397fs/msdos/namei.cstruct inode *new_dir,char *new_name,struct buffer_head *old_bh,
inode402fs/msdos/namei.cstruct inode *new_inode,*old_inode;
inode447fs/msdos/namei.cstatic int rename_diff_dir(struct inode *old_dir,char *old_name,
inode448fs/msdos/namei.cstruct inode *new_dir,char *new_name,struct buffer_head *old_bh,
inode453fs/msdos/namei.cstruct inode *old_inode,*new_inode,*free_inode,*dotdot_inode,*walk;
inode566fs/msdos/namei.cint msdos_rename(struct inode *old_dir,const char *old_name,int old_len,
inode567fs/msdos/namei.cstruct inode *new_dir,const char *new_name,int new_len)
inode74fs/namei.cint permission(struct inode * inode,int mask)
inode76fs/namei.cint mode = inode->i_mode;
inode78fs/namei.cif (inode->i_op && inode->i_op->permission)
inode79fs/namei.creturn inode->i_op->permission(inode, mask);
inode80fs/namei.celse if (current->euid == inode->i_uid)
inode82fs/namei.celse if (in_group_p(inode->i_gid))
inode94fs/namei.cint lookup(struct inode * dir,const char * name, int len,
inode95fs/namei.cstruct inode ** result)
inode133fs/namei.cint follow_link(struct inode * dir, struct inode * inode,
inode134fs/namei.cint flag, int mode, struct inode ** res_inode)
inode136fs/namei.cif (!dir || !inode) {
inode138fs/namei.ciput(inode);
inode142fs/namei.cif (!inode->i_op || !inode->i_op->follow_link) {
inode144fs/namei.c*res_inode = inode;
inode147fs/namei.creturn inode->i_op->follow_link(dir,inode,flag,mode,res_inode);
inode157fs/namei.cstruct inode * base, struct inode ** res_inode)
inode162fs/namei.cstruct inode * inode;
inode182fs/namei.cerror = lookup(base,thisname,len,&inode);
inode187fs/namei.cerror = follow_link(base,inode,0,0,&base);
inode201fs/namei.cstatic int _namei(const char * pathname, struct inode * base,
inode202fs/namei.cint follow_links, struct inode ** res_inode)
inode206fs/namei.cstruct inode * inode;
inode213fs/namei.cerror = lookup(base,basename,namelen,&inode);
inode219fs/namei.cerror = follow_link(base,inode,0,0,&inode);
inode224fs/namei.c*res_inode = inode;
inode228fs/namei.cint lnamei(const char * pathname, struct inode ** res_inode)
inode248fs/namei.cint namei(const char * pathname, struct inode ** res_inode)
inode275fs/namei.cstruct inode ** res_inode, struct inode * base)
inode279fs/namei.cstruct inode * dir, *inode;
inode302fs/namei.cerror = lookup(dir,basename,namelen,&inode);
inode334fs/namei.ciput(inode);
inode337fs/namei.cerror = follow_link(dir,inode,flag,mode,&inode);
inode340fs/namei.cif (S_ISDIR(inode->i_mode) && (flag & 2)) {
inode341fs/namei.ciput(inode);
inode344fs/namei.cif (!permission(inode,ACC_MODE(flag))) {
inode345fs/namei.ciput(inode);
inode348fs/namei.cif (S_ISBLK(inode->i_mode) || S_ISCHR(inode->i_mode)) {
inode349fs/namei.cif (IS_NODEV(inode)) {
inode350fs/namei.ciput(inode);
inode354fs/namei.cif (IS_RDONLY(inode) && (flag & 2)) {
inode355fs/namei.ciput(inode);
inode359fs/namei.cif ((inode->i_count > 1) && (flag & 2)) {
inode364fs/namei.cif (inode == (*p)->executable) {
inode365fs/namei.ciput(inode);
inode371fs/namei.cif (inode == mpnt->vm_inode) {
inode372fs/namei.ciput(inode);
inode379fs/namei.cinode->i_size = 0;
inode380fs/namei.cif (inode->i_op && inode->i_op->truncate)
inode381fs/namei.cinode->i_op->truncate(inode);
inode382fs/namei.cif ((error = notify_change(NOTIFY_SIZE, inode))) {
inode383fs/namei.ciput(inode);
inode386fs/namei.cinode->i_dirt = 1;
inode388fs/namei.c*res_inode = inode;
inode396fs/namei.cstruct inode * dir;
inode449fs/namei.cstruct inode * dir;
inode490fs/namei.cstruct inode * dir;
inode531fs/namei.cstruct inode * dir;
inode570fs/namei.cstruct inode * dir;
inode613fs/namei.cstatic int do_link(struct inode * oldinode, const char * newname)
inode615fs/namei.cstruct inode * dir;
inode656fs/namei.cstruct inode * oldinode;
inode673fs/namei.cstruct inode * old_dir, * new_dir;
inode21fs/nfs/dir.cstatic int nfs_dir_read(struct inode *, struct file *filp, char *buf,
inode23fs/nfs/dir.cstatic int nfs_readdir(struct inode *, struct file *, struct dirent *, int);
inode24fs/nfs/dir.cstatic int nfs_lookup(struct inode *dir, const char *name, int len,
inode25fs/nfs/dir.cstruct inode **result);
inode26fs/nfs/dir.cstatic int nfs_create(struct inode *dir, const char *name, int len, int mode,
inode27fs/nfs/dir.cstruct inode **result);
inode28fs/nfs/dir.cstatic int nfs_mkdir(struct inode *dir, const char *name, int len, int mode);
inode29fs/nfs/dir.cstatic int nfs_rmdir(struct inode *dir, const char *name, int len);
inode30fs/nfs/dir.cstatic int nfs_unlink(struct inode *dir, const char *name, int len);
inode31fs/nfs/dir.cstatic int nfs_symlink(struct inode *inode, const char *name, int len,
inode33fs/nfs/dir.cstatic int nfs_link(struct inode *oldinode, struct inode *dir,
inode35fs/nfs/dir.cstatic int nfs_mknod(struct inode *dir, const char *name, int len, int mode,
inode37fs/nfs/dir.cstatic int nfs_rename(struct inode *old_dir, const char *old_name,
inode38fs/nfs/dir.cint old_len, struct inode *new_dir, const char *new_name,
inode72fs/nfs/dir.cstatic int nfs_dir_read(struct inode *inode, struct file *filp, char *buf,
inode86fs/nfs/dir.cstatic int nfs_readdir(struct inode *inode, struct file *filp,
inode98fs/nfs/dir.cif (!inode || !S_ISDIR(inode->i_mode)) {
inode117fs/nfs/dir.cif (inode->i_dev == c_dev && inode->i_ino == c_ino) {
inode134fs/nfs/dir.cresult = nfs_proc_readdir(NFS_SERVER(inode), NFS_FH(inode),
inode141fs/nfs/dir.cc_dev = inode->i_dev;
inode142fs/nfs/dir.cc_ino = inode->i_ino;
inode176fs/nfs/dir.cint inode;
inode183fs/nfs/dir.cstatic struct nfs_lookup_cache_entry *nfs_lookup_cache_index(struct inode *dir,
inode191fs/nfs/dir.cif (entry->dev == dir->i_dev && entry->inode == dir->i_ino
inode198fs/nfs/dir.cstatic int nfs_lookup_cache_lookup(struct inode *dir, const char *filename,
inode222fs/nfs/dir.cstatic void nfs_lookup_cache_add(struct inode *dir, const char *filename,
inode239fs/nfs/dir.centry->inode = dir->i_ino;
inode247fs/nfs/dir.cstatic void nfs_lookup_cache_remove(struct inode *dir, struct inode *inode,
inode255fs/nfs/dir.cif (inode) {
inode256fs/nfs/dir.cdev = inode->i_dev;
inode257fs/nfs/dir.cfileid = inode->i_ino;
inode272fs/nfs/dir.cstatic void nfs_lookup_cache_refresh(struct inode *file,
inode287fs/nfs/dir.cstatic int nfs_lookup(struct inode *dir, const char *__name, int len,
inode288fs/nfs/dir.cstruct inode **result)
inode328fs/nfs/dir.cstatic int nfs_create(struct inode *dir, const char *name, int len, int mode,
inode329fs/nfs/dir.cstruct inode **result)
inode363fs/nfs/dir.cstatic int nfs_mknod(struct inode *dir, const char *name, int len,
inode395fs/nfs/dir.cstatic int nfs_mkdir(struct inode *dir, const char *name, int len, int mode)
inode422fs/nfs/dir.cstatic int nfs_rmdir(struct inode *dir, const char *name, int len)
inode442fs/nfs/dir.cstatic int nfs_unlink(struct inode *dir, const char *name, int len)
inode462fs/nfs/dir.cstatic int nfs_symlink(struct inode *dir, const char *name, int len,
inode490fs/nfs/dir.cstatic int nfs_link(struct inode *oldinode, struct inode *dir,
inode521fs/nfs/dir.cstatic int nfs_rename(struct inode *old_dir, const char *old_name, int old_len,
inode522fs/nfs/dir.cstruct inode *new_dir, const char *new_name, int new_len)
inode561fs/nfs/dir.cvoid nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr)
inode565fs/nfs/dir.cif (!inode || !fattr) {
inode569fs/nfs/dir.cif (inode->i_ino != fattr->fileid) {
inode573fs/nfs/dir.cwas_empty = inode->i_mode == 0;
inode574fs/nfs/dir.cinode->i_mode = fattr->mode;
inode575fs/nfs/dir.cinode->i_nlink = fattr->nlink;
inode576fs/nfs/dir.cinode->i_uid = fattr->uid;
inode577fs/nfs/dir.cinode->i_gid = fattr->gid;
inode578fs/nfs/dir.cinode->i_size = fattr->size;
inode579fs/nfs/dir.cinode->i_blksize = fattr->blocksize;
inode580fs/nfs/dir.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode581fs/nfs/dir.cinode->i_rdev = fattr->rdev;
inode583fs/nfs/dir.cinode->i_rdev = 0;
inode584fs/nfs/dir.cinode->i_blocks = fattr->blocks;
inode585fs/nfs/dir.cinode->i_atime = fattr->atime.seconds;
inode586fs/nfs/dir.cinode->i_mtime = fattr->mtime.seconds;
inode587fs/nfs/dir.cinode->i_ctime = fattr->ctime.seconds;
inode589fs/nfs/dir.cif (S_ISREG(inode->i_mode))
inode590fs/nfs/dir.cinode->i_op = &nfs_file_inode_operations;
inode591fs/nfs/dir.celse if (S_ISDIR(inode->i_mode))
inode592fs/nfs/dir.cinode->i_op = &nfs_dir_inode_operations;
inode593fs/nfs/dir.celse if (S_ISLNK(inode->i_mode))
inode594fs/nfs/dir.cinode->i_op = &nfs_symlink_inode_operations;
inode595fs/nfs/dir.celse if (S_ISCHR(inode->i_mode))
inode596fs/nfs/dir.cinode->i_op = &chrdev_inode_operations;
inode597fs/nfs/dir.celse if (S_ISBLK(inode->i_mode))
inode598fs/nfs/dir.cinode->i_op = &blkdev_inode_operations;
inode599fs/nfs/dir.celse if (S_ISFIFO(inode->i_mode))
inode600fs/nfs/dir.cinit_fifo(inode);
inode602fs/nfs/dir.cinode->i_op = NULL;
inode604fs/nfs/dir.cnfs_lookup_cache_refresh(inode, fattr);
inode21fs/nfs/file.cstatic int nfs_file_read(struct inode *, struct file *, char *, int);
inode22fs/nfs/file.cstatic int nfs_file_write(struct inode *, struct file *, char *, int);
inode23fs/nfs/file.cstatic int nfs_fsync(struct inode *, struct file *);
inode24fs/nfs/file.cextern int nfs_mmap(struct inode * inode, struct file * file,
inode57fs/nfs/file.cstatic int nfs_fsync(struct inode *inode, struct file *file)
inode62fs/nfs/file.cstatic int nfs_file_read(struct inode *inode, struct file *file, char *buf,
inode73fs/nfs/file.cif (!inode) {
inode77fs/nfs/file.cif (!S_ISREG(inode->i_mode)) {
inode79fs/nfs/file.cinode->i_mode);
inode83fs/nfs/file.cif (file->f_pos + count > inode->i_size)
inode84fs/nfs/file.ccount = inode->i_size - pos;
inode87fs/nfs/file.cn = NFS_SERVER(inode)->rsize;
inode93fs/nfs/file.cresult = nfs_proc_read(NFS_SERVER(inode), NFS_FH(inode), 
inode109fs/nfs/file.cnfs_refresh_inode(inode, &fattr);
inode113fs/nfs/file.cstatic int nfs_file_write(struct inode *inode, struct file *file, char *buf,
inode124fs/nfs/file.cif (!inode) {
inode128fs/nfs/file.cif (!S_ISREG(inode->i_mode)) {
inode130fs/nfs/file.cinode->i_mode);
inode137fs/nfs/file.cpos = inode->i_size;
inode138fs/nfs/file.cn = NFS_SERVER(inode)->wsize;
inode145fs/nfs/file.cresult = nfs_proc_write(NFS_SERVER(inode), NFS_FH(inode), 
inode160fs/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 *);
inode39fs/nfs/inode.cstatic void nfs_put_inode(struct inode * inode)
inode41fs/nfs/inode.cclear_inode(inode);
inode161fs/nfs/inode.cstruct inode *nfs_fhget(struct super_block *sb, struct nfs_fh *fhandle,
inode166fs/nfs/inode.cstruct inode *inode;
inode181fs/nfs/inode.cif (!(inode = iget(sb, fattr->fileid))) {
inode185fs/nfs/inode.cif (inode->i_dev == sb->s_dev) {
inode186fs/nfs/inode.cif (inode->i_ino != fattr->fileid) {
inode188fs/nfs/inode.creturn inode;
inode190fs/nfs/inode.c*NFS_FH(inode) = *fhandle;
inode191fs/nfs/inode.cnfs_refresh_inode(inode, fattr);
inode193fs/nfs/inode.creturn inode;
inode196fs/nfs/inode.cint nfs_notify_change(int flags, struct inode *inode)
inode203fs/nfs/inode.csattr.mode = inode->i_mode;
inode207fs/nfs/inode.csattr.uid = inode->i_uid;
inode208fs/nfs/inode.csattr.gid = inode->i_gid;
inode213fs/nfs/inode.csattr.size = S_ISREG(inode->i_mode) ? inode->i_size : -1;
inode217fs/nfs/inode.csattr.mtime.seconds = inode->i_mtime;
inode219fs/nfs/inode.csattr.atime.seconds = inode->i_atime;
inode226fs/nfs/inode.cerror = nfs_proc_setattr(NFS_SERVER(inode), NFS_FH(inode),
inode229fs/nfs/inode.cnfs_refresh_inode(inode, &fattr);
inode230fs/nfs/inode.cinode->i_dirt = 0;
inode27fs/nfs/mmap.cstruct inode * inode, unsigned long address, unsigned long error_code,
inode51fs/nfs/mmap.cint nfs_mmap(struct inode * inode, struct file * file,
inode58fs/nfs/mmap.cif (off & (inode->i_sb->s_blocksize - 1))
inode60fs/nfs/mmap.cif (!inode->i_sb || !S_ISREG(inode->i_mode))
inode62fs/nfs/mmap.cif (!IS_RDONLY(inode)) {
inode63fs/nfs/mmap.cinode->i_atime = CURRENT_TIME;
inode64fs/nfs/mmap.cinode->i_dirt = 1;
inode77fs/nfs/mmap.cmpnt->vm_inode = inode;
inode78fs/nfs/mmap.cinode->i_count++;
inode90fs/nfs/mmap.cstruct inode * inode = area->vm_inode;
inode103fs/nfs/mmap.cif (share_page(area, area->vm_task, inode, address, error_code, page)) {
inode120fs/nfs/mmap.cn = NFS_SERVER(inode)->rsize; /* what we can read in one go */
inode128fs/nfs/mmap.cresult = nfs_proc_read(NFS_SERVER(inode), NFS_FH(inode),
inode140fs/nfs/mmap.cnfs_refresh_inode(inode, &fattr);
inode144fs/nfs/mmap.cif (share_page(area, area->vm_task, inode, address, error_code, page))
inode20fs/nfs/sock.cextern struct socket *socki_lookup(struct inode *inode);
inode37fs/nfs/sock.cstruct inode *inode;
inode45fs/nfs/sock.cint (*select) (struct inode *, struct file *, int, select_table *);
inode58fs/nfs/sock.cinode = file->f_inode;
inode60fs/nfs/sock.csock = socki_lookup(inode);
inode93fs/nfs/sock.cif (!select(inode, file, SEL_IN, &wait_table)
inode94fs/nfs/sock.c&& !select(inode, file, SEL_IN, NULL)) {
inode18fs/nfs/symlink.cstatic int nfs_readlink(struct inode *, char *, int);
inode19fs/nfs/symlink.cstatic int nfs_follow_link(struct inode *, struct inode *, int, int,
inode20fs/nfs/symlink.cstruct inode **);
inode43fs/nfs/symlink.cstatic int nfs_follow_link(struct inode *dir, struct inode *inode,
inode44fs/nfs/symlink.cint flag, int mode, struct inode **res_inode)
inode54fs/nfs/symlink.cif (!inode) {
inode58fs/nfs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode60fs/nfs/symlink.c*res_inode = inode;
inode64fs/nfs/symlink.ciput(inode);
inode69fs/nfs/symlink.cerror = nfs_proc_readlink(NFS_SERVER(inode), NFS_FH(inode), res);
inode71fs/nfs/symlink.ciput(inode);
inode76fs/nfs/symlink.ciput(inode);
inode84fs/nfs/symlink.cstatic int nfs_readlink(struct inode *inode, char *buffer, int buflen)
inode91fs/nfs/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode92fs/nfs/symlink.ciput(inode);
inode98fs/nfs/symlink.cerror = nfs_proc_readlink(NFS_SERVER(inode), NFS_FH(inode), res);
inode99fs/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_ctime = 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_ctime = 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.cif (current->uid == inode->i_uid)
inode172fs/open.celse if (in_group_p(inode->i_gid))
inode174fs/open.ciput(inode);
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;
inode220fs/open.cif (!(inode = file->f_inode))
inode222fs/open.cif (!S_ISDIR(inode->i_mode))
inode224fs/open.cif (!permission(inode,MAY_EXEC))
inode227fs/open.ccurrent->pwd = inode;
inode228fs/open.cinode->i_count++;
inode234fs/open.cstruct inode * inode;
inode237fs/open.cerror = namei(filename,&inode);
inode240fs/open.cif (!S_ISDIR(inode->i_mode)) {
inode241fs/open.ciput(inode);
inode245fs/open.ciput(inode);
inode249fs/open.ccurrent->root = inode;
inode255fs/open.cstruct inode * inode;
inode260fs/open.cif (!(inode = file->f_inode))
inode262fs/open.cif ((current->euid != inode->i_uid) && !suser())
inode264fs/open.cif (IS_RDONLY(inode))
inode267fs/open.cmode = inode->i_mode;
inode268fs/open.cinode->i_mode = (mode & S_IALLUGO) | (inode->i_mode & ~S_IALLUGO);
inode269fs/open.cif (!suser() && !in_group_p(inode->i_gid))
inode270fs/open.cinode->i_mode &= ~S_ISGID;
inode271fs/open.cinode->i_ctime = CURRENT_TIME;
inode272fs/open.cinode->i_dirt = 1;
inode273fs/open.creturn notify_change(NOTIFY_MODE, inode);
inode278fs/open.cstruct inode * inode;
inode281fs/open.cerror = namei(filename,&inode);
inode284fs/open.cif ((current->euid != inode->i_uid) && !suser()) {
inode285fs/open.ciput(inode);
inode288fs/open.cif (IS_RDONLY(inode)) {
inode289fs/open.ciput(inode);
inode293fs/open.cmode = inode->i_mode;
inode294fs/open.cinode->i_mode = (mode & S_IALLUGO) | (inode->i_mode & ~S_IALLUGO);
inode295fs/open.cif (!suser() && !in_group_p(inode->i_gid))
inode296fs/open.cinode->i_mode &= ~S_ISGID;
inode297fs/open.cinode->i_ctime = CURRENT_TIME;
inode298fs/open.cinode->i_dirt = 1;
inode299fs/open.cerror = notify_change(NOTIFY_MODE, inode);
inode300fs/open.ciput(inode);
inode306fs/open.cstruct inode * inode;
inode311fs/open.cif (!(inode = file->f_inode))
inode313fs/open.cif (IS_RDONLY(inode))
inode316fs/open.cuser = inode->i_uid;
inode318fs/open.cgroup = inode->i_gid;
inode319fs/open.cif ((current->euid == inode->i_uid && user == inode->i_uid &&
inode320fs/open.c(in_group_p(group) || group == inode->i_gid)) ||
inode322fs/open.cinode->i_uid = user;
inode323fs/open.cinode->i_gid = group;
inode324fs/open.cinode->i_ctime = CURRENT_TIME;
inode325fs/open.cinode->i_dirt = 1;
inode326fs/open.creturn notify_change(NOTIFY_UIDGID, inode);
inode333fs/open.cstruct inode * inode;
inode336fs/open.cerror = lnamei(filename,&inode);
inode339fs/open.cif (IS_RDONLY(inode)) {
inode340fs/open.ciput(inode);
inode344fs/open.cuser = inode->i_uid;
inode346fs/open.cgroup = inode->i_gid;
inode347fs/open.cif ((current->euid == inode->i_uid && user == inode->i_uid &&
inode348fs/open.c(in_group_p(group) || group == inode->i_gid)) ||
inode350fs/open.cinode->i_uid = user;
inode351fs/open.cinode->i_gid = group;
inode352fs/open.cinode->i_ctime = CURRENT_TIME;
inode353fs/open.cinode->i_dirt = 1;
inode354fs/open.cerror = notify_change(NOTIFY_UIDGID, inode);
inode355fs/open.ciput(inode);
inode358fs/open.ciput(inode);
inode378fs/open.cstruct inode * inode;
inode398fs/open.cerror = open_namei(filename,flag,mode,&inode,NULL);
inode405fs/open.cf->f_inode = inode;
inode409fs/open.cif (inode->i_op)
inode410fs/open.cf->f_op = inode->i_op->default_file_ops;
inode412fs/open.cerror = f->f_op->open(inode,f);
inode414fs/open.ciput(inode);
inode444fs/open.cstruct inode *inode;
inode450fs/open.cinode = filp->f_inode;
inode451fs/open.cif (inode && S_ISREG(inode->i_mode))
inode458fs/open.cfilp->f_op->release(inode,filp);
inode461fs/open.ciput(inode);
inode24fs/pipe.cstatic int pipe_read(struct inode * inode, struct file * filp, char * buf, int count)
inode30fs/pipe.cif (PIPE_LOCK(*inode))
inode32fs/pipe.cif (PIPE_EMPTY(*inode))
inode33fs/pipe.cif (PIPE_WRITERS(*inode))
inode37fs/pipe.c} else while (PIPE_EMPTY(*inode) || PIPE_LOCK(*inode)) {
inode38fs/pipe.cif (PIPE_EMPTY(*inode)) {
inode39fs/pipe.cif (!PIPE_WRITERS(*inode))
inode44fs/pipe.cinterruptible_sleep_on(&PIPE_WAIT(*inode));
inode46fs/pipe.cPIPE_LOCK(*inode)++;
inode47fs/pipe.cwhile (count>0 && (size = PIPE_SIZE(*inode))) {
inode48fs/pipe.cchars = PIPE_MAX_RCHUNK(*inode);
inode54fs/pipe.cpipebuf = PIPE_BASE(*inode)+PIPE_START(*inode);
inode55fs/pipe.cPIPE_START(*inode) += chars;
inode56fs/pipe.cPIPE_START(*inode) &= (PIPE_BUF-1);
inode57fs/pipe.cPIPE_LEN(*inode) -= chars;
inode62fs/pipe.cPIPE_LOCK(*inode)--;
inode63fs/pipe.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode66fs/pipe.cif (PIPE_WRITERS(*inode))
inode71fs/pipe.cstatic int pipe_write(struct inode * inode, struct file * filp, char * buf, int count)
inode76fs/pipe.cif (!PIPE_READERS(*inode)) { /* no readers */
inode86fs/pipe.cwhile ((PIPE_FREE(*inode) < free) || PIPE_LOCK(*inode)) {
inode87fs/pipe.cif (!PIPE_READERS(*inode)) { /* no readers */
inode95fs/pipe.cinterruptible_sleep_on(&PIPE_WAIT(*inode));
inode97fs/pipe.cPIPE_LOCK(*inode)++;
inode98fs/pipe.cwhile (count>0 && (free = PIPE_FREE(*inode))) {
inode99fs/pipe.cchars = PIPE_MAX_WCHUNK(*inode);
inode104fs/pipe.cpipebuf = PIPE_BASE(*inode)+PIPE_END(*inode);
inode106fs/pipe.cPIPE_LEN(*inode) += chars;
inode111fs/pipe.cPIPE_LOCK(*inode)--;
inode112fs/pipe.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode118fs/pipe.cstatic int pipe_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode123fs/pipe.cstatic int pipe_readdir(struct inode * inode, struct file * file, struct dirent * de, int count)
inode128fs/pipe.cstatic int bad_pipe_rw(struct inode * inode, struct file * filp, char * buf, int count)
inode133fs/pipe.cstatic int pipe_ioctl(struct inode *pino, struct file * filp,
inode149fs/pipe.cstatic int pipe_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait)
inode153fs/pipe.cif (!PIPE_EMPTY(*inode) || !PIPE_WRITERS(*inode))
inode155fs/pipe.cselect_wait(&PIPE_WAIT(*inode), wait);
inode158fs/pipe.cif (!PIPE_FULL(*inode) || !PIPE_READERS(*inode))
inode160fs/pipe.cselect_wait(&PIPE_WAIT(*inode), wait);
inode163fs/pipe.cif (!PIPE_READERS(*inode) || !PIPE_WRITERS(*inode))
inode165fs/pipe.cselect_wait(&inode->i_wait,wait);
inode175fs/pipe.cstatic int fifo_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait)
inode179fs/pipe.cif (!PIPE_EMPTY(*inode))
inode181fs/pipe.cselect_wait(&PIPE_WAIT(*inode), wait);
inode184fs/pipe.cif (!PIPE_FULL(*inode) || !PIPE_READERS(*inode))
inode186fs/pipe.cselect_wait(&PIPE_WAIT(*inode), wait);
inode189fs/pipe.cif (!PIPE_READERS(*inode) || !PIPE_WRITERS(*inode))
inode191fs/pipe.cselect_wait(&inode->i_wait,wait);
inode202fs/pipe.cstatic int connect_read(struct inode * inode, struct file * filp, char * buf, int count)
inode204fs/pipe.cwhile (!PIPE_SIZE(*inode)) {
inode205fs/pipe.cif (PIPE_WRITERS(*inode))
inode209fs/pipe.cwake_up_interruptible(& PIPE_WAIT(*inode));
inode212fs/pipe.cinterruptible_sleep_on(& PIPE_WAIT(*inode));
inode215fs/pipe.creturn pipe_read(inode,filp,buf,count);
inode218fs/pipe.cstatic int connect_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait)
inode222fs/pipe.cif (!PIPE_EMPTY(*inode)) {
inode226fs/pipe.cselect_wait(&PIPE_WAIT(*inode), wait);
inode229fs/pipe.cif (!PIPE_FULL(*inode))
inode231fs/pipe.cselect_wait(&PIPE_WAIT(*inode), wait);
inode234fs/pipe.cif (!PIPE_READERS(*inode) || !PIPE_WRITERS(*inode))
inode236fs/pipe.cselect_wait(&inode->i_wait,wait);
inode246fs/pipe.cstatic void pipe_read_release(struct inode * inode, struct file * filp)
inode248fs/pipe.cPIPE_READERS(*inode)--;
inode249fs/pipe.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode252fs/pipe.cstatic void pipe_write_release(struct inode * inode, struct file * filp)
inode254fs/pipe.cPIPE_WRITERS(*inode)--;
inode255fs/pipe.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode258fs/pipe.cstatic void pipe_rdwr_release(struct inode * inode, struct file * filp)
inode260fs/pipe.cPIPE_READERS(*inode)--;
inode261fs/pipe.cPIPE_WRITERS(*inode)--;
inode262fs/pipe.cwake_up_interruptible(&PIPE_WAIT(*inode));
inode380fs/pipe.cstruct inode * inode;
inode408fs/pipe.cif (!(inode=get_pipe_inode())) {
inode415fs/pipe.cf[0]->f_inode = f[1]->f_inode = inode;
inode31fs/proc/array.cstatic int read_core(struct inode * inode, struct file * file,char * buf, int count)
inode446fs/proc/array.cstatic int array_read(struct inode * inode, struct file * file,char * buf, int count)
inode457fs/proc/array.ctype = inode->i_ino;
inode492fs/proc/array.creturn read_core(inode, file, buf, count);
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 **);
inode91fs/proc/base.cstatic int proc_lookupbase(struct inode * dir,const char * name, int len,
inode92fs/proc/base.cstruct inode ** result)
inode132fs/proc/base.cstatic int proc_readbase(struct inode * inode, struct file * filp,
inode139fs/proc/base.cif (!inode || !S_ISDIR(inode->i_mode))
inode141fs/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)
inode126fs/proc/fd.cstatic int proc_readfd(struct inode * inode, struct file * filp,
inode133fs/proc/fd.cif (!inode || !S_ISDIR(inode->i_mode))
inode135fs/proc/fd.cino = inode->i_ino;
inode147fs/proc/fd.cfd = inode->i_ino;
inode149fs/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;
inode74fs/proc/inode.cvoid proc_read_inode(struct inode * inode)
inode80fs/proc/inode.cinode->i_op = NULL;
inode81fs/proc/inode.cinode->i_mode = 0;
inode82fs/proc/inode.cinode->i_uid = 0;
inode83fs/proc/inode.cinode->i_gid = 0;
inode84fs/proc/inode.cinode->i_nlink = 1;
inode85fs/proc/inode.cinode->i_size = 0;
inode86fs/proc/inode.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode87fs/proc/inode.cinode->i_blocks = inode->i_blksize = 0;
inode88fs/proc/inode.cino = inode->i_ino;
inode97fs/proc/inode.cinode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO;
inode98fs/proc/inode.cinode->i_nlink = 2;
inode101fs/proc/inode.cinode->i_nlink++;
inode102fs/proc/inode.cinode->i_op = &proc_root_inode_operations;
inode106fs/proc/inode.cinode->i_mode = S_IFREG | S_IRUGO;
inode107fs/proc/inode.cinode->i_op = &proc_net_inode_operations;
inode113fs/proc/inode.cinode->i_mode = S_IFREG | S_IRUGO;
inode114fs/proc/inode.cinode->i_op = &proc_kmsg_inode_operations;
inode117fs/proc/inode.cinode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO;
inode118fs/proc/inode.cinode->i_nlink = 2;
inode119fs/proc/inode.cinode->i_op = &proc_net_inode_operations;
inode122fs/proc/inode.cinode->i_mode = S_IFREG | S_IRUSR;
inode123fs/proc/inode.cinode->i_op = &proc_array_inode_operations;
inode124fs/proc/inode.cinode->i_size = high_memory + PAGE_SIZE;
inode127fs/proc/inode.cinode->i_mode = S_IFREG | S_IRUGO;
inode128fs/proc/inode.cinode->i_op = &proc_array_inode_operations;
inode134fs/proc/inode.cinode->i_uid = p->euid;
inode135fs/proc/inode.cinode->i_gid = p->egid;
inode138fs/proc/inode.cinode->i_nlink = 4;
inode139fs/proc/inode.cinode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO;
inode140fs/proc/inode.cinode->i_op = &proc_base_inode_operations;
inode143fs/proc/inode.cinode->i_op = &proc_mem_inode_operations;
inode144fs/proc/inode.cinode->i_mode = S_IFREG | S_IRUSR | S_IWUSR;
inode149fs/proc/inode.cinode->i_op = &proc_link_inode_operations;
inode150fs/proc/inode.cinode->i_size = 64;
inode151fs/proc/inode.cinode->i_mode = S_IFLNK | S_IRWXU;
inode155fs/proc/inode.cinode->i_mode = S_IFDIR | S_IRUSR | S_IXUSR;
inode156fs/proc/inode.cinode->i_op = &proc_fd_inode_operations;
inode157fs/proc/inode.cinode->i_nlink = 2;
inode164fs/proc/inode.cinode->i_mode = S_IFREG | S_IRUGO;
inode165fs/proc/inode.cinode->i_op = &proc_array_inode_operations;
inode173fs/proc/inode.cinode->i_op = &proc_link_inode_operations;
inode174fs/proc/inode.cinode->i_size = 64;
inode175fs/proc/inode.cinode->i_mode = S_IFLNK | S_IRWXU;
inode188fs/proc/inode.cinode->i_op = &proc_link_inode_operations;
inode189fs/proc/inode.cinode->i_size = 64;
inode190fs/proc/inode.cinode->i_mode = S_IFLNK | S_IRWXU;
inode196fs/proc/inode.cvoid proc_write_inode(struct inode * inode)
inode198fs/proc/inode.cinode->i_dirt=0;
inode21fs/proc/kmsg.cstatic int kmsg_open(struct inode * inode, struct file * file)
inode26fs/proc/kmsg.cstatic void kmsg_release(struct inode * inode, struct file * file)
inode31fs/proc/kmsg.cstatic int kmsg_read(struct inode * inode, struct file * file,char * buf, int count)
inode36fs/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;
inode88fs/proc/link.cinode = mpnt->vm_inode;
inode97fs/proc/link.cif (!inode)
inode99fs/proc/link.c*res_inode = inode;
inode100fs/proc/link.cinode->i_count++;
inode104fs/proc/link.cstatic int proc_readlink(struct inode * inode, char * buffer, int buflen)
inode110fs/proc/link.ci = proc_follow_link(NULL, inode, 0, 0, &inode);
inode113fs/proc/link.cif (!inode)
inode115fs/proc/link.cdev = inode->i_dev;
inode116fs/proc/link.cino = inode->i_ino;
inode117fs/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;
inode71fs/proc/mem.cstatic int mem_write(struct inode * inode, struct file * file,char * buf, int count)
inode81fs/proc/mem.cpid = inode->i_ino;
inode127fs/proc/mem.cstatic int mem_lseek(struct inode * inode, struct file * file, off_t offset, int orig)
inode31fs/proc/net.cstatic int proc_readnet(struct inode * inode, struct file * file,
inode33fs/proc/net.cstatic int proc_readnetdir(struct inode *, struct file *,
inode35fs/proc/net.cstatic int proc_lookupnet(struct inode *,const char *,int,struct inode **);
inode101fs/proc/net.cstatic int proc_lookupnet(struct inode * dir,const char * name, int len,
inode102fs/proc/net.cstruct inode ** result)
inode130fs/proc/net.cstatic int proc_readnetdir(struct inode * inode, struct file * filp,
inode137fs/proc/net.cif (!inode || !S_ISDIR(inode->i_mode))
inode139fs/proc/net.cino = inode->i_ino;
inode157fs/proc/net.cstatic int proc_readnet(struct inode * inode, struct file * file,
inode169fs/proc/net.cino = inode->i_ino;
inode17fs/proc/root.cstatic int proc_readroot(struct inode *, struct file *, struct dirent *, int);
inode18fs/proc/root.cstatic int proc_lookuproot(struct inode *,const char *,int,struct inode **);
inode74fs/proc/root.cstatic int proc_lookuproot(struct inode * dir,const char * name, int len,
inode75fs/proc/root.cstruct inode ** result)
inode131fs/proc/root.cstatic int proc_readroot(struct inode * inode, struct file * filp,
inode138fs/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;
inode68fs/stat.cif (!inode->i_blksize) {
inode83fs/stat.ctmp.st_blocks = inode->i_blocks;
inode84fs/stat.ctmp.st_blksize = inode->i_blksize;
inode91fs/stat.cstruct inode * inode;
inode97fs/stat.cerror = namei(filename,&inode);
inode100fs/stat.ccp_old_stat(inode,statbuf);
inode101fs/stat.ciput(inode);
inode107fs/stat.cstruct inode * inode;
inode113fs/stat.cerror = namei(filename,&inode);
inode116fs/stat.ccp_new_stat(inode,statbuf);
inode117fs/stat.ciput(inode);
inode123fs/stat.cstruct inode * inode;
inode129fs/stat.cerror = lnamei(filename,&inode);
inode132fs/stat.ccp_old_stat(inode,statbuf);
inode133fs/stat.ciput(inode);
inode139fs/stat.cstruct inode * inode;
inode145fs/stat.cerror = lnamei(filename,&inode);
inode148fs/stat.ccp_new_stat(inode,statbuf);
inode149fs/stat.ciput(inode);
inode156fs/stat.cstruct inode * inode;
inode162fs/stat.cif (fd >= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode))
inode164fs/stat.ccp_old_stat(inode,statbuf);
inode171fs/stat.cstruct inode * inode;
inode177fs/stat.cif (fd >= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode))
inode179fs/stat.ccp_new_stat(inode,statbuf);
inode185fs/stat.cstruct inode * inode;
inode193fs/stat.cerror = lnamei(path,&inode);
inode196fs/stat.cif (!inode->i_op || !inode->i_op->readlink) {
inode197fs/stat.ciput(inode);
inode200fs/stat.creturn inode->i_op->readlink(inode,buf,bufsiz);
inode251fs/super.cstruct inode * inode;
inode254fs/super.cstruct inode dummy_inode;
inode259fs/super.cretval = namei(name,&inode);
inode261fs/super.cretval = lnamei(name,&inode);
inode265fs/super.cif (S_ISBLK(inode->i_mode)) {
inode266fs/super.cdev = inode->i_rdev;
inode267fs/super.cif (IS_NODEV(inode)) {
inode268fs/super.ciput(inode);
inode272fs/super.cif (!inode || !inode->i_sb || inode != inode->i_sb->s_mounted) {
inode273fs/super.ciput(inode);
inode276fs/super.cdev = inode->i_sb->s_dev;
inode277fs/super.ciput(inode);
inode280fs/super.cinode = &dummy_inode;
inode283fs/super.ciput(inode);
inode289fs/super.cfops->release(inode,NULL);
inode293fs/super.cif (inode != &dummy_inode)
inode294fs/super.ciput(inode);
inode312fs/super.cstruct inode * dir_i;
inode368fs/super.cstruct inode *dir_i;
inode431fs/super.cstruct inode * inode;
inode461fs/super.cretval = namei(dev_name,&inode);
inode464fs/super.cif (!S_ISBLK(inode->i_mode)) {
inode465fs/super.ciput(inode);
inode468fs/super.cif (IS_NODEV(inode)) {
inode469fs/super.ciput(inode);
inode472fs/super.cdev = inode->i_rdev;
inode474fs/super.ciput(inode);
inode480fs/super.cinode = NULL;
inode484fs/super.cretval = fops->open(inode,NULL);
inode486fs/super.ciput(inode);
inode495fs/super.ciput(inode);
inode502fs/super.cfops->release(inode,NULL);
inode503fs/super.ciput(inode);
inode511fs/super.cstruct inode * inode;
inode524fs/super.cinode = sb->s_mounted;
inode525fs/super.cinode->i_count += 3 ;  /* NOTE! it is logically used 4 times, not 1 */
inode526fs/super.csb->s_covered = inode;
inode528fs/super.ccurrent->pwd = inode;
inode529fs/super.ccurrent->root = inode;
inode23fs/sysv/dir.cstatic int sysv_dir_read(struct inode * inode, struct file * filp, char * buf, int count)
inode28fs/sysv/dir.cstatic int sysv_readdir(struct inode *, struct file *, struct dirent *, int);
inode64fs/sysv/dir.cstatic int sysv_readdir(struct inode * inode, struct file * filp,
inode74fs/sysv/dir.cif (!inode || !(sb = inode->i_sb) || !S_ISDIR(inode->i_mode))
inode78fs/sysv/dir.cwhile (filp->f_pos < inode->i_size) {
inode80fs/sysv/dir.cbh = sysv_file_bread(inode, filp->f_pos >> sb->sv_block_size_bits, 0, &bh_data);
inode85fs/sysv/dir.cwhile (offset < sb->sv_block_size && filp->f_pos < inode->i_size) {
inode89fs/sysv/dir.cif (de->inode) {
inode96fs/sysv/dir.cif (de->inode > inode->i_sb->sv_ninodes)
inode98fs/sysv/dir.cinode->i_dev, inode->i_ino, filp->f_pos - SYSV_DIRSIZE, de->inode);
inode99fs/sysv/dir.cput_fs_long(de->inode,&dirent->d_ino);
inode35fs/sysv/file.cstatic int sysv_file_read(struct inode *, struct file *, char *, int);
inode36fs/sysv/file.cstatic int sysv_file_write(struct inode *, struct file *, char *, int);
inode109fs/sysv/file.cstatic int sysv_file_read(struct inode * inode, struct file * filp, char * buf, int count)
inode111fs/sysv/file.cstruct super_block * sb = inode->i_sb;
inode121fs/sysv/file.cif (!inode) {
inode125fs/sysv/file.cif (!S_ISREG(inode->i_mode)) {
inode126fs/sysv/file.cprintk("sysv_file_read: mode = %07o\n",inode->i_mode);
inode130fs/sysv/file.csize = inode->i_size;
inode146fs/sysv/file.cblocks += read_ahead[MAJOR(inode->i_dev)] >> (sb->sv_block_size_bits - 9);
inode170fs/sysv/file.cbhb->bh = sysv_getblk(inode, block++, 0, &bhb->bh_data);
inode237fs/sysv/file.cif (!IS_RDONLY(inode))
inode238fs/sysv/file.cinode->i_atime = CURRENT_TIME;
inode242fs/sysv/file.cstatic int sysv_file_write(struct inode * inode, struct file * filp, char * buf, int count)
inode244fs/sysv/file.cstruct super_block * sb = inode->i_sb;
inode251fs/sysv/file.cif (!inode) {
inode255fs/sysv/file.cif (!S_ISREG(inode->i_mode)) {
inode256fs/sysv/file.cprintk("sysv_file_write: mode = %07o\n",inode->i_mode);
inode267fs/sysv/file.ccoh_lock_inode(inode);
inode269fs/sysv/file.cpos = inode->i_size;
inode274fs/sysv/file.cbh = sysv_getblk (inode, pos >> sb->sv_block_size_bits, 1, &bh_data);
inode296fs/sysv/file.cif (pos > inode->i_size) {
inode297fs/sysv/file.cinode->i_size = pos;
inode298fs/sysv/file.cinode->i_dirt = 1;
inode307fs/sysv/file.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode309fs/sysv/file.cinode->i_dirt = 1;
inode311fs/sysv/file.ccoh_unlock_inode(inode);
inode29fs/sysv/fsync.cstatic int sync_block (struct inode * inode, unsigned long * blockp, int convert, int wait)
inode40fs/sysv/fsync.csb = inode->i_sb;
inode41fs/sysv/fsync.cbh = get_hash_table(inode->i_dev, (block >> sb->sv_block_size_ratio_bits) + sb->sv_block_base, BLOCK_SIZE);
inode62fs/sysv/fsync.cstatic int sync_iblock (struct inode * inode, unsigned long * iblockp, int convert,
inode74fs/sysv/fsync.crc = sync_block (inode, iblockp, convert, wait);
inode77fs/sysv/fsync.c*bh = sysv_bread(inode->i_sb, inode->i_dev, block, bh_data);
inode89fs/sysv/fsync.cstatic int sync_direct(struct inode *inode, int wait)
inode95fs/sysv/fsync.crc = sync_block (inode, inode->u.sysv_i.i_data + i, 0, wait);
inode104fs/sysv/fsync.cstatic int sync_indirect(struct inode *inode, unsigned long *iblockp, int convert, int wait)
inode112fs/sysv/fsync.crc = sync_iblock (inode, iblockp, convert, &ind_bh, &ind_bh_data, wait);
inode116fs/sysv/fsync.csb = inode->i_sb;
inode118fs/sysv/fsync.crc = sync_block (inode,
inode130fs/sysv/fsync.cstatic int sync_dindirect(struct inode *inode, unsigned long *diblockp, int convert,
inode139fs/sysv/fsync.crc = sync_iblock (inode, diblockp, convert, &dind_bh, &dind_bh_data, wait);
inode143fs/sysv/fsync.csb = inode->i_sb;
inode145fs/sysv/fsync.crc = sync_indirect (inode,
inode157fs/sysv/fsync.cstatic int sync_tindirect(struct inode *inode, unsigned long *tiblockp, int convert,
inode166fs/sysv/fsync.crc = sync_iblock (inode, tiblockp, convert, &tind_bh, &tind_bh_data, wait);
inode170fs/sysv/fsync.csb = inode->i_sb;
inode172fs/sysv/fsync.crc = sync_dindirect (inode,
inode184fs/sysv/fsync.cint sysv_sync_file(struct inode * inode, struct file * file)
inode188fs/sysv/fsync.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode189fs/sysv/fsync.cS_ISLNK(inode->i_mode)))
inode193fs/sysv/fsync.cerr |= sync_direct(inode, wait);
inode194fs/sysv/fsync.cerr |= sync_indirect(inode, inode->u.sysv_i.i_data+10, 0, wait);
inode195fs/sysv/fsync.cerr |= sync_dindirect(inode, inode->u.sysv_i.i_data+11, 0, wait);
inode196fs/sysv/fsync.cerr |= sync_tindirect(inode, inode->u.sysv_i.i_data+12, 0, wait);
inode198fs/sysv/fsync.cerr |= sysv_sync_inode (inode);
inode36fs/sysv/ialloc.cvoid sysv_free_inode(struct inode * inode)
inode44fs/sysv/ialloc.cif (!inode)
inode46fs/sysv/ialloc.cif (!inode->i_dev) {
inode50fs/sysv/ialloc.cif (inode->i_count != 1) {
inode51fs/sysv/ialloc.cprintk("sysv_free_inode: inode has count=%d\n", inode->i_count);
inode54fs/sysv/ialloc.cif (inode->i_nlink) {
inode55fs/sysv/ialloc.cprintk("sysv_free_inode: inode has nlink=%d\n", inode->i_nlink);
inode58fs/sysv/ialloc.cif (!(sb = inode->i_sb)) {
inode62fs/sysv/ialloc.cino = inode->i_ino;
inode67fs/sysv/ialloc.cif (!(bh = sysv_bread(sb, inode->i_dev, sb->sv_firstinodezone + ((ino-1) >> sb->sv_inodes_per_block_bits), &bh_data))) {
inode68fs/sysv/ialloc.cprintk("sysv_free_inode: unable to read inode block on device %d/%d\n",MAJOR(inode->i_dev),MINOR(inode->i_dev));
inode69fs/sysv/ialloc.cclear_inode(inode);
inode83fs/sysv/ialloc.cclear_inode(inode);
inode86fs/sysv/ialloc.cstruct inode * sysv_new_inode(const struct inode * dir)
inode88fs/sysv/ialloc.cstruct inode * inode;
inode95fs/sysv/ialloc.cif (!dir || !(inode = get_empty_inode()))
inode98fs/sysv/ialloc.cinode->i_sb = sb;
inode99fs/sysv/ialloc.cinode->i_flags = inode->i_sb->s_flags;
inode125fs/sysv/ialloc.ciput(inode);
inode135fs/sysv/ialloc.cinode->i_count = 1;
inode136fs/sysv/ialloc.cinode->i_nlink = 1;
inode137fs/sysv/ialloc.cinode->i_dev = sb->s_dev;
inode138fs/sysv/ialloc.cinode->i_uid = current->euid;
inode139fs/sysv/ialloc.cinode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid;
inode140fs/sysv/ialloc.cinode->i_dirt = 1;
inode141fs/sysv/ialloc.cinode->i_ino = ino;
inode142fs/sysv/ialloc.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode143fs/sysv/ialloc.cinode->i_op = NULL;
inode144fs/sysv/ialloc.cinode->i_blocks = inode->i_blksize = 0;
inode145fs/sysv/ialloc.cinode->u.sysv_i.i_lock = 0; inode->u.sysv_i.i_wait = NULL;
inode146fs/sysv/ialloc.cinsert_inode_hash(inode);
inode148fs/sysv/ialloc.cinode->i_mode = 0;    /* for sysv_write_inode() */
inode149fs/sysv/ialloc.cinode->i_size = 0;    /* ditto */
inode150fs/sysv/ialloc.csysv_write_inode(inode);  /* ensure inode not allocated again */
inode152fs/sysv/ialloc.cinode->i_dirt = 1;    /* cleared by sysv_write_inode() */
inode158fs/sysv/ialloc.creturn inode;
inode33fs/sysv/inode.cvoid _coh_wait_on_inode (struct inode * inode)
inode37fs/sysv/inode.cadd_wait_queue(&inode->u.sysv_i.i_wait, &wait);
inode40fs/sysv/inode.cif (inode->u.sysv_i.i_lock) {
inode44fs/sysv/inode.cremove_wait_queue(&inode->u.sysv_i.i_wait, &wait);
inode48fs/sysv/inode.cvoid sysv_put_inode(struct inode *inode)
inode50fs/sysv/inode.cif (inode->i_nlink)
inode52fs/sysv/inode.cinode->i_size = 0;
inode53fs/sysv/inode.csysv_truncate(inode);
inode54fs/sysv/inode.csysv_free_inode(inode);
inode389fs/sysv/inode.cstatic inline int inode_bmap(struct super_block * sb, struct inode * inode, int nr)
inode391fs/sysv/inode.cint tmp = inode->u.sysv_i.i_data[nr];
inode412fs/sysv/inode.cint sysv_bmap(struct inode * inode,int block_nr)
inode415fs/sysv/inode.cstruct super_block * sb = inode->i_sb;
inode421fs/sysv/inode.creturn inode_bmap(sb,inode,block);
inode425fs/sysv/inode.ci = inode_bmap(sb,inode,10);
inode428fs/sysv/inode.cbh = bread(inode->i_dev,i,BLOCK_SIZE);
inode433fs/sysv/inode.ci = inode_bmap(sb,inode,11);
inode436fs/sysv/inode.cbh = bread(inode->i_dev,i,BLOCK_SIZE);
inode440fs/sysv/inode.cbh = bread(inode->i_dev,i,BLOCK_SIZE);
inode445fs/sysv/inode.ci = inode_bmap(sb,inode,12);
inode448fs/sysv/inode.cbh = bread(inode->i_dev,i,BLOCK_SIZE);
inode452fs/sysv/inode.cbh = bread(inode->i_dev,i,BLOCK_SIZE);
inode456fs/sysv/inode.cbh = bread(inode->i_dev,i,BLOCK_SIZE);
inode472fs/sysv/inode.cstatic struct buffer_head * inode_getblk(struct inode * inode, int nr, int create, char * *start)
inode479fs/sysv/inode.csb = inode->i_sb;
inode480fs/sysv/inode.cp = inode->u.sysv_i.i_data + nr;
inode484fs/sysv/inode.cresult = getblk(inode->i_dev, (tmp >> sb->sv_block_size_ratio_bits) + sb->sv_block_base, BLOCK_SIZE);
inode497fs/sysv/inode.cresult = getblk(inode->i_dev, (tmp >> sb->sv_block_size_ratio_bits) + sb->sv_block_base, BLOCK_SIZE);
inode504fs/sysv/inode.cinode->i_ctime = CURRENT_TIME;
inode505fs/sysv/inode.cinode->i_dirt = 1;
inode510fs/sysv/inode.cstatic struct buffer_head * block_getblk(struct inode * inode, 
inode528fs/sysv/inode.csb = inode->i_sb;
inode566fs/sysv/inode.cstruct buffer_head * sysv_getblk(struct inode * inode, unsigned int block,
inode569fs/sysv/inode.cstruct super_block * sb = inode->i_sb;
inode573fs/sysv/inode.creturn inode_getblk(inode,block,create,start);
inode576fs/sysv/inode.cbh = inode_getblk(inode,10,create,start);
inode577fs/sysv/inode.creturn block_getblk(inode, bh, block, create, start);
inode581fs/sysv/inode.cbh = inode_getblk(inode,11,create,start);
inode582fs/sysv/inode.cbh = block_getblk(inode, bh, block >> sb->sv_ind_per_block_bits, create, start);
inode583fs/sysv/inode.creturn block_getblk(inode, bh, block & sb->sv_ind_per_block_1, create, start);
inode587fs/sysv/inode.cbh = inode_getblk(inode,12,create,start);
inode588fs/sysv/inode.cbh = block_getblk(inode, bh, block >> sb->sv_ind_per_block_2_bits, create, start);
inode589fs/sysv/inode.cbh = block_getblk(inode, bh, (block >> sb->sv_ind_per_block_bits) & sb->sv_ind_per_block_1, create, start);
inode590fs/sysv/inode.creturn block_getblk(inode, bh, block & sb->sv_ind_per_block_1, create, start);
inode600fs/sysv/inode.cstruct buffer_head * sysv_file_bread(struct inode * inode, int block, int create, char * *start)
inode604fs/sysv/inode.cbh = sysv_getblk(inode,block,create,start);
inode640fs/sysv/inode.cvoid sysv_read_inode(struct inode * inode)
inode642fs/sysv/inode.cstruct super_block * sb = inode->i_sb;
inode649fs/sysv/inode.cino = inode->i_ino;
inode650fs/sysv/inode.cinode->i_op = NULL;
inode651fs/sysv/inode.cinode->i_mode = 0;
inode654fs/sysv/inode.cinode->i_dev, ino);
inode658fs/sysv/inode.cif (!(bh=sysv_bread(sb,inode->i_dev,block,&bh_data))) {
inode660fs/sysv/inode.cinode->i_dev);
inode668fs/sysv/inode.cinode->i_mode = mode;
inode669fs/sysv/inode.cinode->i_uid = raw_inode->i_uid;
inode670fs/sysv/inode.cinode->i_gid = raw_inode->i_gid;
inode671fs/sysv/inode.cinode->i_nlink = raw_inode->i_nlink;
inode673fs/sysv/inode.cinode->i_size = from_coh_ulong(raw_inode->i_size);
inode674fs/sysv/inode.cinode->i_atime = from_coh_ulong(raw_inode->i_atime);
inode675fs/sysv/inode.cinode->i_mtime = from_coh_ulong(raw_inode->i_mtime);
inode676fs/sysv/inode.cinode->i_ctime = from_coh_ulong(raw_inode->i_ctime);
inode678fs/sysv/inode.cinode->i_size = raw_inode->i_size;
inode679fs/sysv/inode.cinode->i_atime = raw_inode->i_atime;
inode680fs/sysv/inode.cinode->i_mtime = raw_inode->i_mtime;
inode681fs/sysv/inode.cinode->i_ctime = raw_inode->i_ctime;
inode683fs/sysv/inode.cinode->i_blocks = inode->i_blksize = 0;
inode684fs/sysv/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode685fs/sysv/inode.cinode->i_rdev = raw_inode->i_a.i_rdev;
inode689fs/sysv/inode.cinode->u.sysv_i.i_data[block] =
inode693fs/sysv/inode.cinode->u.sysv_i.i_data[block] =
inode696fs/sysv/inode.cif (S_ISREG(inode->i_mode))
inode698fs/sysv/inode.cinode->i_op = &sysv_file_inode_operations_with_bmap;
inode700fs/sysv/inode.cinode->i_op = &sysv_file_inode_operations;
inode701fs/sysv/inode.celse if (S_ISDIR(inode->i_mode))
inode702fs/sysv/inode.cinode->i_op = &sysv_dir_inode_operations;
inode703fs/sysv/inode.celse if (S_ISLNK(inode->i_mode))
inode704fs/sysv/inode.cinode->i_op = &sysv_symlink_inode_operations;
inode705fs/sysv/inode.celse if (S_ISCHR(inode->i_mode))
inode706fs/sysv/inode.cinode->i_op = &chrdev_inode_operations;
inode707fs/sysv/inode.celse if (S_ISBLK(inode->i_mode))
inode708fs/sysv/inode.cinode->i_op = &blkdev_inode_operations;
inode709fs/sysv/inode.celse if (S_ISFIFO(inode->i_mode))
inode710fs/sysv/inode.cinit_fifo(inode);
inode714fs/sysv/inode.cextern int sysv_notify_change(int flags, struct inode *inode)
inode717fs/sysv/inode.cif (inode->i_sb->sv_kludge_symlinks)
inode718fs/sysv/inode.cif (inode->i_mode == COH_KLUDGE_SYMLINK_MODE) {
inode719fs/sysv/inode.cinode->i_mode = COH_KLUDGE_NOT_SYMLINK;
inode720fs/sysv/inode.cinode->i_dirt = 1;
inode725fs/sysv/inode.cstatic struct buffer_head * sysv_update_inode(struct inode * inode)
inode727fs/sysv/inode.cstruct super_block * sb = inode->i_sb;
inode734fs/sysv/inode.cino = inode->i_ino;
inode737fs/sysv/inode.cinode->i_dev, ino);
inode738fs/sysv/inode.cinode->i_dirt = 0;
inode742fs/sysv/inode.cif (!(bh = sysv_bread(sb,inode->i_dev,block,&bh_data))) {
inode744fs/sysv/inode.cinode->i_dirt = 0;
inode748fs/sysv/inode.cmode = inode->i_mode;
inode752fs/sysv/inode.craw_inode->i_uid = inode->i_uid;
inode753fs/sysv/inode.craw_inode->i_gid = inode->i_gid;
inode754fs/sysv/inode.craw_inode->i_nlink = inode->i_nlink;
inode756fs/sysv/inode.craw_inode->i_size = to_coh_ulong(inode->i_size);
inode757fs/sysv/inode.craw_inode->i_atime = to_coh_ulong(inode->i_atime);
inode758fs/sysv/inode.craw_inode->i_mtime = to_coh_ulong(inode->i_mtime);
inode759fs/sysv/inode.craw_inode->i_ctime = to_coh_ulong(inode->i_ctime);
inode761fs/sysv/inode.craw_inode->i_size = inode->i_size;
inode762fs/sysv/inode.craw_inode->i_atime = inode->i_atime;
inode763fs/sysv/inode.craw_inode->i_mtime = inode->i_mtime;
inode764fs/sysv/inode.craw_inode->i_ctime = inode->i_ctime;
inode766fs/sysv/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode767fs/sysv/inode.craw_inode->i_a.i_rdev = inode->i_rdev; /* write 2 or 3 bytes ?? */
inode771fs/sysv/inode.ccoh_write3byte(&raw_inode->i_a.i_addb[3*block],inode->u.sysv_i.i_data[block]);
inode774fs/sysv/inode.cwrite3byte(&raw_inode->i_a.i_addb[3*block],inode->u.sysv_i.i_data[block]);
inode775fs/sysv/inode.cinode->i_dirt=0;
inode780fs/sysv/inode.cvoid sysv_write_inode(struct inode * inode)
inode783fs/sysv/inode.cbh = sysv_update_inode(inode);
inode787fs/sysv/inode.cint sysv_sync_inode(struct inode * inode)
inode792fs/sysv/inode.cbh = sysv_update_inode(inode);
inode799fs/sysv/inode.cinode->i_dev, inode->i_ino);
inode49fs/sysv/namei.cif (!de->inode || len > SYSV_NAMELEN)
inode65fs/sysv/namei.cstatic struct buffer_head * sysv_find_entry(struct inode * dir,
inode109fs/sysv/namei.cint sysv_lookup(struct inode * dir,const char * name, int len,
inode110fs/sysv/namei.cstruct inode ** result)
inode127fs/sysv/namei.cino = de->inode;
inode147fs/sysv/namei.cstatic int sysv_add_entry(struct inode * dir,
inode183fs/sysv/namei.cde->inode = 0;
inode187fs/sysv/namei.cif (de->inode) {
inode210fs/sysv/namei.cint sysv_create(struct inode * dir,const char * name, int len, int mode,
inode211fs/sysv/namei.cstruct inode ** result)
inode214fs/sysv/namei.cstruct inode * inode;
inode221fs/sysv/namei.cinode = sysv_new_inode(dir);
inode222fs/sysv/namei.cif (!inode) {
inode226fs/sysv/namei.cif (inode->i_sb->sv_block_size_ratio_bits == 0) /* block_size == BLOCK_SIZE ? */
inode227fs/sysv/namei.cinode->i_op = &sysv_file_inode_operations_with_bmap;
inode229fs/sysv/namei.cinode->i_op = &sysv_file_inode_operations;
inode230fs/sysv/namei.cinode->i_mode = mode;
inode231fs/sysv/namei.cinode->i_dirt = 1;
inode234fs/sysv/namei.cinode->i_nlink--;
inode235fs/sysv/namei.cinode->i_dirt = 1;
inode236fs/sysv/namei.ciput(inode);
inode240fs/sysv/namei.cde->inode = inode->i_ino;
inode244fs/sysv/namei.c*result = inode;
inode248fs/sysv/namei.cint sysv_mknod(struct inode * dir, const char * name, int len, int mode, int rdev)
inode251fs/sysv/namei.cstruct inode * inode;
inode263fs/sysv/namei.cinode = sysv_new_inode(dir);
inode264fs/sysv/namei.cif (!inode) {
inode268fs/sysv/namei.cinode->i_uid = current->euid;
inode269fs/sysv/namei.cinode->i_mode = mode;
inode270fs/sysv/namei.cinode->i_op = NULL;
inode271fs/sysv/namei.cif (S_ISREG(inode->i_mode))
inode272fs/sysv/namei.cif (inode->i_sb->sv_block_size_ratio_bits == 0) /* block_size == BLOCK_SIZE ? */
inode273fs/sysv/namei.cinode->i_op = &sysv_file_inode_operations_with_bmap;
inode275fs/sysv/namei.cinode->i_op = &sysv_file_inode_operations;
inode276fs/sysv/namei.celse if (S_ISDIR(inode->i_mode)) {
inode277fs/sysv/namei.cinode->i_op = &sysv_dir_inode_operations;
inode279fs/sysv/namei.cinode->i_mode |= S_ISGID;
inode281fs/sysv/namei.celse if (S_ISLNK(inode->i_mode))
inode282fs/sysv/namei.cinode->i_op = &sysv_symlink_inode_operations;
inode283fs/sysv/namei.celse if (S_ISCHR(inode->i_mode))
inode284fs/sysv/namei.cinode->i_op = &chrdev_inode_operations;
inode285fs/sysv/namei.celse if (S_ISBLK(inode->i_mode))
inode286fs/sysv/namei.cinode->i_op = &blkdev_inode_operations;
inode287fs/sysv/namei.celse if (S_ISFIFO(inode->i_mode))
inode288fs/sysv/namei.cinit_fifo(inode);
inode290fs/sysv/namei.cinode->i_rdev = rdev;
inode291fs/sysv/namei.cinode->i_dirt = 1;
inode294fs/sysv/namei.cinode->i_nlink--;
inode295fs/sysv/namei.cinode->i_dirt = 1;
inode296fs/sysv/namei.ciput(inode);
inode300fs/sysv/namei.cde->inode = inode->i_ino;
inode304fs/sysv/namei.ciput(inode);
inode308fs/sysv/namei.cint sysv_mkdir(struct inode * dir, const char * name, int len, int mode)
inode311fs/sysv/namei.cstruct inode * inode;
inode330fs/sysv/namei.cinode = sysv_new_inode(dir);
inode331fs/sysv/namei.cif (!inode) {
inode335fs/sysv/namei.cinode->i_op = &sysv_dir_inode_operations;
inode336fs/sysv/namei.cinode->i_size = 2 * SYSV_DIRSIZE;
inode337fs/sysv/namei.cdir_block = sysv_file_bread(inode,0,1,&bh_data);
inode340fs/sysv/namei.cinode->i_nlink--;
inode341fs/sysv/namei.cinode->i_dirt = 1;
inode342fs/sysv/namei.ciput(inode);
inode346fs/sysv/namei.cde->inode = inode->i_ino;
inode349fs/sysv/namei.cde->inode = dir->i_ino;
inode351fs/sysv/namei.cinode->i_nlink = 2;
inode354fs/sysv/namei.cinode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask);
inode356fs/sysv/namei.cinode->i_mode |= S_ISGID;
inode357fs/sysv/namei.cinode->i_dirt = 1;
inode361fs/sysv/namei.cinode->i_nlink=0;
inode362fs/sysv/namei.ciput(inode);
inode365fs/sysv/namei.cde->inode = inode->i_ino;
inode370fs/sysv/namei.ciput(inode);
inode378fs/sysv/namei.cstatic int empty_dir(struct inode * inode)
inode386fs/sysv/namei.cif (!inode)
inode391fs/sysv/namei.cif (inode->i_size % SYSV_DIRSIZE)
inode393fs/sysv/namei.cif (inode->i_size < pos)
inode395fs/sysv/namei.cbh = sysv_file_bread(inode,0,0,&bh_data);
inode399fs/sysv/namei.cif (!de->inode || strcmp(de->name,"."))
inode402fs/sysv/namei.cif (!de->inode || strcmp(de->name,".."))
inode404fs/sysv/namei.csb = inode->i_sb;
inode405fs/sysv/namei.cwhile (pos < inode->i_size) {
inode407fs/sysv/namei.cbh = sysv_file_bread(inode,block,0,&bh_data);
inode417fs/sysv/namei.cif (de->inode) {
inode431fs/sysv/namei.cprintk("Bad directory on device %04x\n",inode->i_dev);
inode435fs/sysv/namei.cint sysv_rmdir(struct inode * dir, const char * name, int len)
inode438fs/sysv/namei.cstruct inode * inode;
inode442fs/sysv/namei.cinode = NULL;
inode448fs/sysv/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode451fs/sysv/namei.cinode->i_uid != current->euid)
inode453fs/sysv/namei.cif (inode->i_dev != dir->i_dev)
inode455fs/sysv/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode457fs/sysv/namei.cif (!S_ISDIR(inode->i_mode)) {
inode461fs/sysv/namei.cif (!empty_dir(inode)) {
inode465fs/sysv/namei.cif (de->inode != inode->i_ino) {
inode469fs/sysv/namei.cif (inode->i_count > 1) {
inode473fs/sysv/namei.cif (inode->i_nlink != 2)
inode474fs/sysv/namei.cprintk("empty directory has nlink!=2 (%d)\n",inode->i_nlink);
inode475fs/sysv/namei.cde->inode = 0;
inode477fs/sysv/namei.cinode->i_nlink=0;
inode478fs/sysv/namei.cinode->i_dirt=1;
inode480fs/sysv/namei.cinode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
inode485fs/sysv/namei.ciput(inode);
inode490fs/sysv/namei.cint sysv_unlink(struct inode * dir, const char * name, int len)
inode493fs/sysv/namei.cstruct inode * inode;
inode499fs/sysv/namei.cinode = NULL;
inode503fs/sysv/namei.cif (!(inode = iget(dir->i_sb, de->inode)))
inode506fs/sysv/namei.cif (S_ISDIR(inode->i_mode))
inode508fs/sysv/namei.cif (de->inode != inode->i_ino) {
inode509fs/sysv/namei.ciput(inode);
inode516fs/sysv/namei.ccurrent->euid != inode->i_uid &&
inode519fs/sysv/namei.cif (de->inode != inode->i_ino) {
inode523fs/sysv/namei.cif (!inode->i_nlink) {
inode525fs/sysv/namei.cinode->i_dev,inode->i_ino,inode->i_nlink);
inode526fs/sysv/namei.cinode->i_nlink=1;
inode528fs/sysv/namei.cde->inode = 0;
inode532fs/sysv/namei.cinode->i_nlink--;
inode533fs/sysv/namei.cinode->i_ctime = dir->i_ctime;
inode534fs/sysv/namei.cinode->i_dirt = 1;
inode538fs/sysv/namei.ciput(inode);
inode543fs/sysv/namei.cint sysv_symlink(struct inode * dir, const char * name, int len, const char * symname)
inode546fs/sysv/namei.cstruct inode * inode;
inode554fs/sysv/namei.cif (!(inode = sysv_new_inode(dir))) {
inode558fs/sysv/namei.cinode->i_mode = S_IFLNK | 0777;
inode559fs/sysv/namei.cinode->i_op = &sysv_symlink_inode_operations;
inode560fs/sysv/namei.cname_block = sysv_file_bread(inode,0,1,&name_block_data);
inode563fs/sysv/namei.cinode->i_nlink--;
inode564fs/sysv/namei.cinode->i_dirt = 1;
inode565fs/sysv/namei.ciput(inode);
inode568fs/sysv/namei.csb = inode->i_sb;
inode575fs/sysv/namei.cinode->i_size = i;
inode576fs/sysv/namei.cinode->i_dirt = 1;
inode579fs/sysv/namei.cinode->i_nlink--;
inode580fs/sysv/namei.cinode->i_dirt = 1;
inode581fs/sysv/namei.ciput(inode);
inode588fs/sysv/namei.cinode->i_nlink--;
inode589fs/sysv/namei.cinode->i_dirt = 1;
inode590fs/sysv/namei.ciput(inode);
inode594fs/sysv/namei.cde->inode = inode->i_ino;
inode598fs/sysv/namei.ciput(inode);
inode602fs/sysv/namei.cint sysv_link(struct inode * oldinode, struct inode * dir, const char * name, int len)
inode631fs/sysv/namei.cde->inode = oldinode->i_ino;
inode643fs/sysv/namei.cstatic int subdir(struct inode * new_inode, struct inode * old_inode)
inode668fs/sysv/namei.c(((struct sysv_dir_entry *) ((buffer) + 1*SYSV_DIRSIZE))->inode)
inode680fs/sysv/namei.cstatic int do_sysv_rename(struct inode * old_dir, const char * old_name, int old_len,
inode681fs/sysv/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode683fs/sysv/namei.cstruct inode * old_inode, * new_inode;
inode705fs/sysv/namei.cold_inode = __iget(old_dir->i_sb, old_de->inode, 0); /* don't cross mnt-points */
inode715fs/sysv/namei.cnew_inode = __iget(new_dir->i_sb, new_de->inode, 0);
inode767fs/sysv/namei.cif (new_inode && (new_de->inode != new_inode->i_ino))
inode769fs/sysv/namei.cif (new_de->inode && !new_inode)
inode771fs/sysv/namei.cif (old_de->inode != old_inode->i_ino)
inode774fs/sysv/namei.cold_de->inode = 0;
inode775fs/sysv/namei.cnew_de->inode = old_inode->i_ino;
inode821fs/sysv/namei.cint sysv_rename(struct inode * old_dir, const char * old_name, int old_len,
inode822fs/sysv/namei.cstruct inode * new_dir, const char * new_name, int new_len)
inode23fs/sysv/symlink.cstatic int sysv_readlink(struct inode *, char *, int);
inode24fs/sysv/symlink.cstatic int sysv_follow_link(struct inode *, struct inode *, int, int, struct inode **);
inode47fs/sysv/symlink.cstatic int sysv_follow_link(struct inode * dir, struct inode * inode,
inode48fs/sysv/symlink.cint flag, int mode, struct inode ** res_inode)
inode59fs/sysv/symlink.cif (!inode) {
inode63fs/sysv/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode65fs/sysv/symlink.c*res_inode = inode;
inode69fs/sysv/symlink.ciput(inode);
inode73fs/sysv/symlink.cif (!(bh = sysv_file_bread(inode, 0, 0, &bh_data))) { /* is reading 1 block enough ?? */
inode74fs/sysv/symlink.ciput(inode);
inode78fs/sysv/symlink.ciput(inode);
inode86fs/sysv/symlink.cstatic int sysv_readlink(struct inode * inode, char * buffer, int buflen)
inode93fs/sysv/symlink.cif (!S_ISLNK(inode->i_mode)) {
inode94fs/sysv/symlink.ciput(inode);
inode97fs/sysv/symlink.cif (buflen > inode->i_sb->sv_block_size_1)
inode98fs/sysv/symlink.cbuflen = inode->i_sb->sv_block_size_1;
inode99fs/sysv/symlink.cbh = sysv_file_bread(inode, 0, 0, &bh_data);
inode100fs/sysv/symlink.ciput(inode);
inode32fs/sysv/truncate.cstatic int coh_trunc_direct (struct inode * inode, unsigned long blocks)
inode39fs/sysv/truncate.cp = &inode->u.sysv_i.i_data[i];
inode44fs/sysv/truncate.cinode->i_dirt = 1;
inode45fs/sysv/truncate.csysv_free_block(inode->i_sb,block);
inode53fs/sysv/truncate.cstatic int coh_trunc_indirect (struct inode * inode, unsigned long blocks, unsigned long * p, int convert, unsigned char * dirt)
inode55fs/sysv/truncate.cstruct super_block * sb = inode->i_sb;
inode69fs/sysv/truncate.cbh = sysv_bread(sb,inode->i_dev,block,&bh_data);
inode108fs/sysv/truncate.cstatic int coh_trunc_dindirect (struct inode * inode, unsigned long blocks, unsigned long * p, int convert, unsigned char * dirt)
inode110fs/sysv/truncate.cstruct super_block * sb = inode->i_sb;
inode125fs/sysv/truncate.cbh = sysv_bread(sb,inode->i_dev,block,&bh_data);
inode145fs/sysv/truncate.cretry |= coh_trunc_indirect(inode,j,dind,sb->sv_convert,&bh->b_dirt);
inode165fs/sysv/truncate.cstatic int coh_trunc_tindirect (struct inode * inode, unsigned long blocks, unsigned long * p)
inode167fs/sysv/truncate.cstruct super_block * sb = inode->i_sb;
inode180fs/sysv/truncate.cbh = sysv_bread(sb,inode->i_dev,block,&bh_data);
inode187fs/sysv/truncate.cinode->i_dirt = 1;
inode200fs/sysv/truncate.cretry |= coh_trunc_dindirect(inode,j,tind,sb->sv_convert,&bh->b_dirt);
inode210fs/sysv/truncate.cinode->i_dirt = 1;
inode217fs/sysv/truncate.cstatic int coh_trunc_all(struct inode * inode)
inode219fs/sysv/truncate.cstruct super_block * sb = inode->i_sb;
inode223fs/sysv/truncate.cblocks = (inode->i_size + sb->sv_block_size_1) >> sb->sv_block_size_bits;
inode224fs/sysv/truncate.cretry = coh_trunc_direct(inode,blocks);
inode227fs/sysv/truncate.cretry |= coh_trunc_indirect(inode,blocks,&inode->u.sysv_i.i_data[10],0,&inode->i_dirt);
inode230fs/sysv/truncate.cretry |= coh_trunc_dindirect(inode,blocks,&inode->u.sysv_i.i_data[11],0,&inode->i_dirt);
inode233fs/sysv/truncate.cretry |= coh_trunc_tindirect(inode,blocks,&inode->u.sysv_i.i_data[12]);
inode255fs/sysv/truncate.cstatic int trunc_direct(struct inode * inode)
inode264fs/sysv/truncate.csb = inode->i_sb;
inode266fs/sysv/truncate.cfor (i = ((unsigned long) inode->i_size + BLOCK_SIZE-1) / BLOCK_SIZE; i < 10; i++) {
inode267fs/sysv/truncate.cp = inode->u.sysv_i.i_data + i;
inode271fs/sysv/truncate.cbh = get_hash_table(inode->i_dev,block+sb->sv_block_base,BLOCK_SIZE);
inode272fs/sysv/truncate.cif (i*BLOCK_SIZE < inode->i_size) {
inode282fs/sysv/truncate.cinode->i_dirt = 1;
inode291fs/sysv/truncate.cstatic int trunc_indirect(struct inode * inode, unsigned long offset, unsigned long * p, int convert, unsigned char * dirt)
inode307fs/sysv/truncate.csb = inode->i_sb;
inode308fs/sysv/truncate.cindbh = bread(inode->i_dev,indblock+sb->sv_block_base,BLOCK_SIZE);
inode319fs/sysv/truncate.cif (inode->i_size < offset)
inode322fs/sysv/truncate.ci = (inode->i_size - offset + BLOCK_SIZE-1) / BLOCK_SIZE;
inode330fs/sysv/truncate.cbh = get_hash_table(inode->i_dev,block+sb->sv_block_base,BLOCK_SIZE);
inode331fs/sysv/truncate.cif (i*BLOCK_SIZE + offset < inode->i_size) {
inode360fs/sysv/truncate.cstatic int trunc_dindirect(struct inode * inode, unsigned long offset, unsigned long * p, int convert, unsigned char * dirt)
inode375fs/sysv/truncate.csb = inode->i_sb;
inode376fs/sysv/truncate.cindbh = bread(inode->i_dev,indblock+sb->sv_block_base,BLOCK_SIZE);
inode386fs/sysv/truncate.cif (inode->i_size < offset)
inode389fs/sysv/truncate.ci = (inode->i_size - offset + IND_PER_BLOCK*BLOCK_SIZE-1) / (IND_PER_BLOCK*BLOCK_SIZE);
inode397fs/sysv/truncate.cretry |= trunc_indirect(inode,offset+i*IND_PER_BLOCK,ind,sb->sv_convert,&indbh->b_dirt);
inode414fs/sysv/truncate.cstatic int trunc_tindirect(struct inode * inode, unsigned long offset, unsigned long * p, int convert, unsigned char * dirt)
inode429fs/sysv/truncate.csb = inode->i_sb;
inode430fs/sysv/truncate.cindbh = bread(inode->i_dev,indblock+sb->sv_block_base,BLOCK_SIZE);
inode440fs/sysv/truncate.cif (inode->i_size < offset)
inode443fs/sysv/truncate.ci = (inode->i_size - offset + IND_PER_BLOCK*IND_PER_BLOCK*BLOCK_SIZE-1) / (IND_PER_BLOCK*IND_PER_BLOCK*BLOCK_SIZE);
inode451fs/sysv/truncate.cretry |= trunc_dindirect(inode,offset+i*IND_PER_BLOCK*IND_PER_BLOCK,ind,sb->sv_convert,&indbh->b_dirt);
inode468fs/sysv/truncate.cstatic int trunc_all(struct inode * inode)
inode470fs/sysv/truncate.creturn trunc_direct(inode)
inode471fs/sysv/truncate.c| trunc_indirect(inode,10*BLOCK_SIZE,&inode->u.sysv_i.i_data[10],0,&inode->i_dirt)
inode472fs/sysv/truncate.c| trunc_dindirect(inode,(10+IND_PER_BLOCK)*BLOCK_SIZE,&inode->u.sysv_i.i_data[11],0,&inode->i_dirt)
inode473fs/sysv/truncate.c| trunc_tindirect(inode,(10+IND_PER_BLOCK+IND_PER_BLOCK*IND_PER_BLOCK)*BLOCK_SIZE,&inode->u.sysv_i.i_data[12],0,&inode->i_dirt);
inode477fs/sysv/truncate.cvoid sysv_truncate(struct inode * inode)
inode487fs/sysv/truncate.cif (S_ISLNK(inode->i_mode))
inode489fs/sysv/truncate.celse if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode)))
inode491fs/sysv/truncate.cif (inode->i_sb->sv_block_size_ratio_bits > 0) { /* block_size < BLOCK_SIZE ? */
inode492fs/sysv/truncate.ccoh_lock_inode(inode); /* do not write to the inode while we truncate */
inode493fs/sysv/truncate.cwhile (coh_trunc_all(inode)) {
inode497fs/sysv/truncate.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode498fs/sysv/truncate.cinode->i_dirt = 1;
inode499fs/sysv/truncate.ccoh_unlock_inode(inode);
inode501fs/sysv/truncate.cwhile (trunc_all(inode)) {
inode505fs/sysv/truncate.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode506fs/sysv/truncate.cinode->i_dirt = 1;
inode285fs/xiafs/bitmap.cvoid xiafs_free_inode(struct inode * inode)
inode291fs/xiafs/bitmap.cif (!inode)
inode293fs/xiafs/bitmap.cif (!inode->i_dev || inode->i_count!=1 || inode->i_nlink || !inode->i_sb ||
inode294fs/xiafs/bitmap.cinode->i_ino < 3 || inode->i_ino > inode->i_sb->u.xiafs_sb.s_ninodes) {
inode298fs/xiafs/bitmap.csb = inode->i_sb;
inode299fs/xiafs/bitmap.cino = inode->i_ino;
inode303fs/xiafs/bitmap.cclear_inode(inode);
inode307fs/xiafs/bitmap.cinode->i_dev, ino, ino, WHERE_ERR);
inode312fs/xiafs/bitmap.cstruct inode * xiafs_new_inode(struct inode * dir)
inode315fs/xiafs/bitmap.cstruct inode * inode;
inode319fs/xiafs/bitmap.cif (!dir || !(inode = get_empty_inode()))
inode321fs/xiafs/bitmap.cinode->i_sb = sb;
inode322fs/xiafs/bitmap.cinode->i_flags = inode->i_sb->s_flags;
inode326fs/xiafs/bitmap.ciput(inode);
inode329fs/xiafs/bitmap.cinode->i_count = 1;
inode330fs/xiafs/bitmap.cinode->i_nlink = 1;
inode331fs/xiafs/bitmap.cinode->i_dev = sb->s_dev;
inode332fs/xiafs/bitmap.cinode->i_uid = current->euid;
inode333fs/xiafs/bitmap.cinode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid;
inode334fs/xiafs/bitmap.cinode->i_dirt = 1;
inode335fs/xiafs/bitmap.cinode->i_ino = tmp;
inode336fs/xiafs/bitmap.cinode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
inode337fs/xiafs/bitmap.cinode->i_op = NULL;
inode338fs/xiafs/bitmap.cinode->i_blocks = 0;
inode339fs/xiafs/bitmap.cinode->i_blksize = XIAFS_ZSIZE(inode->i_sb);
inode340fs/xiafs/bitmap.cinsert_inode_hash(inode);
inode341fs/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);
inode151fs/xiafs/file.cif (left < XIAFS_ZSIZE(inode->i_sb) - offset)
inode154fs/xiafs/file.cchars = XIAFS_ZSIZE(inode->i_sb) - offset;
inode181fs/xiafs/file.cif (!IS_RDONLY (inode)) {
inode182fs/xiafs/file.cinode->i_atime = CURRENT_TIME;
inode183fs/xiafs/file.cinode->i_dirt = 1;
inode189fs/xiafs/file.cxiafs_file_write(struct inode * inode, struct file * filp, char * buf, int count)
inode196fs/xiafs/file.cif (!inode) {
inode200fs/xiafs/file.cif (!S_ISREG(inode->i_mode)) {
inode209fs/xiafs/file.cpos = inode->i_size;
inode214fs/xiafs/file.cbh = xiafs_getblk(inode, pos >> XIAFS_ZSIZE_BITS(inode->i_sb), 1);
inode220fs/xiafs/file.cc = XIAFS_ZSIZE(inode->i_sb) - (pos & (XIAFS_ZSIZE(inode->i_sb) - 1));
inode223fs/xiafs/file.cif (c != XIAFS_ZSIZE(inode->i_sb) && !bh->b_uptodate) {
inode233fs/xiafs/file.ccp = (pos & (XIAFS_ZSIZE(inode->i_sb)-1)) + bh->b_data;
inode235fs/xiafs/file.cif (pos > inode->i_size) {
inode236fs/xiafs/file.cinode->i_size = pos;
inode237fs/xiafs/file.cinode->i_dirt = 1;
inode246fs/xiafs/file.cinode->i_mtime = inode->i_ctime = CURRENT_TIME;
inode248fs/xiafs/file.cinode->i_dirt = 1;
inode26fs/xiafs/fsync.c#define blocksize (XIAFS_ZSIZE(inode->i_sb))
inode27fs/xiafs/fsync.c#define addr_per_block (XIAFS_ADDRS_PER_Z(inode->i_sb))
inode29fs/xiafs/fsync.cstatic int sync_block (struct inode * inode, unsigned long * block, int wait)
inode37fs/xiafs/fsync.cbh = get_hash_table(inode->i_dev, *block, blocksize);
inode58fs/xiafs/fsync.cstatic int sync_iblock (struct inode * inode, unsigned long * iblock, 
inode67fs/xiafs/fsync.crc = sync_block (inode, iblock, wait);
inode70fs/xiafs/fsync.c*bh = bread(inode->i_dev, tmp, blocksize);
inode82fs/xiafs/fsync.cstatic int sync_direct(struct inode *inode, int wait)
inode88fs/xiafs/fsync.crc = sync_block (inode, inode->u.ext_i.i_data + i, wait);
inode97fs/xiafs/fsync.cstatic int sync_indirect(struct inode *inode, unsigned long *iblock, int wait)
inode103fs/xiafs/fsync.crc = sync_iblock (inode, iblock, &ind_bh, wait);
inode108fs/xiafs/fsync.crc = sync_block (inode, 
inode120fs/xiafs/fsync.cstatic int sync_dindirect(struct inode *inode, unsigned long *diblock,
inode127fs/xiafs/fsync.crc = sync_iblock (inode, diblock, &dind_bh, wait);
inode132fs/xiafs/fsync.crc = sync_indirect (inode,
inode144fs/xiafs/fsync.cint xiafs_sync_file(struct inode * inode, struct file * file)
inode148fs/xiafs/fsync.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode149fs/xiafs/fsync.cS_ISLNK(inode->i_mode)))
inode153fs/xiafs/fsync.cerr |= sync_direct(inode, wait);
inode154fs/xiafs/fsync.cerr |= sync_indirect(inode, &inode->u.xiafs_i.i_ind_zone, wait);
inode155fs/xiafs/fsync.cerr |= sync_dindirect(inode, &inode->u.xiafs_i.i_dind_zone, wait);
inode157fs/xiafs/fsync.cerr |= xiafs_sync_inode (inode);
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);
inode185fs/xiafs/inode.cint xiafs_bmap(struct inode * inode,int zone)
inode193fs/xiafs/inode.cif (zone >= 8+(1+XIAFS_ADDRS_PER_Z(inode->i_sb))*XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode197fs/xiafs/inode.cif (!IS_RDONLY (inode)) {
inode198fs/xiafs/inode.cinode->i_atime = CURRENT_TIME;
inode199fs/xiafs/inode.cinode->i_dirt = 1;
inode202fs/xiafs/inode.creturn inode->u.xiafs_i.i_zone[zone];
inode204fs/xiafs/inode.cif (zone < XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode205fs/xiafs/inode.ci = inode->u.xiafs_i.i_ind_zone;
inode207fs/xiafs/inode.ci = zone_bmap(bread(inode->i_dev, i, XIAFS_ZSIZE(inode->i_sb)), zone);
inode210fs/xiafs/inode.czone -= XIAFS_ADDRS_PER_Z(inode->i_sb);
inode211fs/xiafs/inode.ci = inode->u.xiafs_i.i_dind_zone;
inode213fs/xiafs/inode.ci = zone_bmap(bread(inode->i_dev, i, XIAFS_ZSIZE(inode->i_sb)), 
inode214fs/xiafs/inode.czone >> XIAFS_ADDRS_PER_Z_BITS(inode->i_sb));
inode216fs/xiafs/inode.ci= zone_bmap(bread(inode->i_dev,i, XIAFS_ZSIZE(inode->i_sb)),
inode217fs/xiafs/inode.czone & (XIAFS_ADDRS_PER_Z(inode->i_sb)-1));
inode221fs/xiafs/inode.cstatic u_long get_prev_addr(struct inode * inode, int zone)
inode227fs/xiafs/inode.cif ((tmp=xiafs_bmap(inode, zone)))
inode229fs/xiafs/inode.crandom_nr=(random_nr+23)%inode->i_sb->u.xiafs_sb.s_ndatazones;
inode230fs/xiafs/inode.creturn random_nr + inode->i_sb->u.xiafs_sb.s_firstdatazone;
inode234fs/xiafs/inode.cdt_getblk(struct inode * inode, u_long *lp, int create, u_long prev_addr)
inode241fs/xiafs/inode.cresult = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode249fs/xiafs/inode.ctmp = xiafs_new_zone(inode->i_sb, prev_addr);
inode252fs/xiafs/inode.cresult = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode254fs/xiafs/inode.cxiafs_free_zone(inode->i_sb, tmp);
inode259fs/xiafs/inode.cinode->i_blocks+=2 << XIAFS_ZSHIFT(inode->i_sb);
inode264fs/xiafs/inode.cindt_getblk(struct inode * inode, struct buffer_head * bh, 
inode284fs/xiafs/inode.cresult = getblk(bh->b_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode296fs/xiafs/inode.ctmp = xiafs_new_zone(inode->i_sb, prev_addr);
inode301fs/xiafs/inode.cresult = getblk(bh->b_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode303fs/xiafs/inode.cxiafs_free_zone(inode->i_sb, tmp);
inode308fs/xiafs/inode.cinode->i_blocks+=2 << XIAFS_ZSHIFT(inode->i_sb);
inode314fs/xiafs/inode.cstruct buffer_head * xiafs_getblk(struct inode * inode, int zone, int create)
inode323fs/xiafs/inode.cif (zone >= 8+(1+XIAFS_ADDRS_PER_Z(inode->i_sb))*XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode329fs/xiafs/inode.cprev_addr=get_prev_addr(inode, zone);
inode331fs/xiafs/inode.creturn dt_getblk(inode, zone+inode->u.xiafs_i.i_zone, create, prev_addr);
inode333fs/xiafs/inode.cif (zone < XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode334fs/xiafs/inode.cbh = dt_getblk(inode, &(inode->u.xiafs_i.i_ind_zone), create, prev_addr);
inode335fs/xiafs/inode.cbh = indt_getblk(inode, bh, zone, create, prev_addr);
inode338fs/xiafs/inode.czone -= XIAFS_ADDRS_PER_Z(inode->i_sb);
inode339fs/xiafs/inode.cbh = dt_getblk(inode, &(inode->u.xiafs_i.i_dind_zone), create, prev_addr);
inode340fs/xiafs/inode.cbh = indt_getblk(inode, bh, zone>>XIAFS_ADDRS_PER_Z_BITS(inode->i_sb), 
inode342fs/xiafs/inode.cbh = indt_getblk(inode, bh, zone&(XIAFS_ADDRS_PER_Z(inode->i_sb)-1), 
inode347fs/xiafs/inode.cstruct buffer_head * xiafs_bread(struct inode * inode, int zone, int create)
inode351fs/xiafs/inode.cbh = xiafs_getblk(inode, zone, create);
inode362fs/xiafs/inode.cvoid xiafs_read_inode(struct inode * inode)
inode369fs/xiafs/inode.cino = inode->i_ino;
inode370fs/xiafs/inode.cinode->i_op = NULL;
inode371fs/xiafs/inode.cinode->i_mode=0;
inode372fs/xiafs/inode.cif (!ino || ino > inode->i_sb->u.xiafs_sb.s_ninodes) {
inode376fs/xiafs/inode.czone = 1 + inode->i_sb->u.xiafs_sb.s_imap_zones +
inode377fs/xiafs/inode.cinode->i_sb->u.xiafs_sb.s_zmap_zones +
inode378fs/xiafs/inode.c(ino-1)/ XIAFS_INODES_PER_Z(inode->i_sb);
inode379fs/xiafs/inode.cif (!(bh=bread(inode->i_dev, zone, XIAFS_ZSIZE(inode->i_sb)))) {
inode384fs/xiafs/inode.c((ino-1) & (XIAFS_INODES_PER_Z(inode->i_sb) - 1));
inode385fs/xiafs/inode.cinode->i_mode = raw_inode->i_mode;
inode386fs/xiafs/inode.cinode->i_uid = raw_inode->i_uid;
inode387fs/xiafs/inode.cinode->i_gid = raw_inode->i_gid;
inode388fs/xiafs/inode.cinode->i_nlink = raw_inode->i_nlinks;
inode389fs/xiafs/inode.cinode->i_size = raw_inode->i_size;
inode390fs/xiafs/inode.cinode->i_mtime = raw_inode->i_mtime;
inode391fs/xiafs/inode.cinode->i_atime = raw_inode->i_atime;
inode392fs/xiafs/inode.cinode->i_ctime = raw_inode->i_ctime;
inode393fs/xiafs/inode.cinode->i_blksize = XIAFS_ZSIZE(inode->i_sb);
inode394fs/xiafs/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) {
inode395fs/xiafs/inode.cinode->i_blocks=0;
inode396fs/xiafs/inode.cinode->i_rdev = raw_inode->i_zone[0];
inode398fs/xiafs/inode.cXIAFS_GET_BLOCKS(raw_inode, inode->i_blocks);
inode400fs/xiafs/inode.cinode->u.xiafs_i.i_zone[zone] = raw_inode->i_zone[zone] & 0xffffff;
inode401fs/xiafs/inode.cinode->u.xiafs_i.i_ind_zone       = raw_inode->i_ind_zone   & 0xffffff;
inode402fs/xiafs/inode.cinode->u.xiafs_i.i_dind_zone      = raw_inode->i_dind_zone  & 0xffffff;
inode405fs/xiafs/inode.cif (S_ISREG(inode->i_mode))
inode406fs/xiafs/inode.cinode->i_op = &xiafs_file_inode_operations;
inode407fs/xiafs/inode.celse if (S_ISDIR(inode->i_mode))
inode408fs/xiafs/inode.cinode->i_op = &xiafs_dir_inode_operations;
inode409fs/xiafs/inode.celse if (S_ISLNK(inode->i_mode))
inode410fs/xiafs/inode.cinode->i_op = &xiafs_symlink_inode_operations;
inode411fs/xiafs/inode.celse if (S_ISCHR(inode->i_mode))
inode412fs/xiafs/inode.cinode->i_op = &chrdev_inode_operations;
inode413fs/xiafs/inode.celse if (S_ISBLK(inode->i_mode))
inode414fs/xiafs/inode.cinode->i_op = &blkdev_inode_operations;
inode415fs/xiafs/inode.celse if (S_ISFIFO(inode->i_mode))
inode416fs/xiafs/inode.cinit_fifo(inode);
inode419fs/xiafs/inode.cstatic struct buffer_head *  xiafs_update_inode(struct inode * inode)
inode426fs/xiafs/inode.cif (IS_RDONLY (inode)) {
inode428fs/xiafs/inode.cinode->i_dirt = 0;
inode432fs/xiafs/inode.cino = inode->i_ino;
inode433fs/xiafs/inode.cif (!ino || ino > inode->i_sb->u.xiafs_sb.s_ninodes) {
inode435fs/xiafs/inode.cinode->i_dirt=0;
inode438fs/xiafs/inode.czone = 1 + inode->i_sb->u.xiafs_sb.s_imap_zones + 
inode439fs/xiafs/inode.cinode->i_sb->u.xiafs_sb.s_zmap_zones +
inode440fs/xiafs/inode.c(ino-1) / XIAFS_INODES_PER_Z(inode->i_sb);
inode441fs/xiafs/inode.cif (!(bh=bread(inode->i_dev, zone, XIAFS_ZSIZE(inode->i_sb)))) {
inode443fs/xiafs/inode.cinode->i_dirt=0;
inode447fs/xiafs/inode.c((ino-1) & (XIAFS_INODES_PER_Z(inode->i_sb) -1));
inode448fs/xiafs/inode.craw_inode->i_mode = inode->i_mode;
inode449fs/xiafs/inode.craw_inode->i_uid = inode->i_uid;
inode450fs/xiafs/inode.craw_inode->i_gid = inode->i_gid;
inode451fs/xiafs/inode.craw_inode->i_nlinks = inode->i_nlink;
inode452fs/xiafs/inode.craw_inode->i_size = inode->i_size;
inode453fs/xiafs/inode.craw_inode->i_atime = inode->i_atime;
inode454fs/xiafs/inode.craw_inode->i_ctime = inode->i_ctime;
inode455fs/xiafs/inode.craw_inode->i_mtime = inode->i_mtime;
inode456fs/xiafs/inode.cif (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
inode457fs/xiafs/inode.craw_inode->i_zone[0] = inode->i_rdev;
inode459fs/xiafs/inode.cXIAFS_PUT_BLOCKS(raw_inode, inode->i_blocks);
inode462fs/xiafs/inode.c| (inode->u.xiafs_i.i_zone[zone] & 0xffffff);
inode464fs/xiafs/inode.c| (inode->u.xiafs_i.i_ind_zone   & 0xffffff);
inode466fs/xiafs/inode.c| (inode->u.xiafs_i.i_dind_zone  & 0xffffff);
inode468fs/xiafs/inode.cinode->i_dirt=0;
inode474fs/xiafs/inode.cvoid xiafs_write_inode(struct inode * inode)
inode477fs/xiafs/inode.cbh = xiafs_update_inode(inode);
inode481fs/xiafs/inode.cint xiafs_sync_inode (struct inode *inode)
inode486fs/xiafs/inode.cbh = xiafs_update_inode(inode);
inode494fs/xiafs/inode.cinode->i_dev, inode->i_ino);
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,
inode244fs/xiafs/namei.cint xiafs_create(struct inode * dir, const char * name, int len, int mode,
inode245fs/xiafs/namei.cstruct inode ** result)
inode247fs/xiafs/namei.cstruct inode * inode;
inode254fs/xiafs/namei.cinode = xiafs_new_inode(dir);
inode255fs/xiafs/namei.cif (!inode) {
inode259fs/xiafs/namei.cinode->i_op = &xiafs_file_inode_operations;
inode260fs/xiafs/namei.cinode->i_mode = mode;
inode261fs/xiafs/namei.cinode->i_dirt = 1;
inode264fs/xiafs/namei.cinode->i_nlink--;
inode265fs/xiafs/namei.cinode->i_dirt = 1;
inode266fs/xiafs/namei.ciput(inode);
inode270fs/xiafs/namei.cde->d_ino = inode->i_ino;
inode274fs/xiafs/namei.c*result = inode;
inode278fs/xiafs/namei.cint xiafs_mknod(struct inode *dir, const char *name, int len, int mode, int rdev)
inode280fs/xiafs/namei.cstruct inode * inode;
inode292fs/xiafs/namei.cinode = xiafs_new_inode(dir);
inode293fs/xiafs/namei.cif (!inode) {
inode297fs/xiafs/namei.cinode->i_uid = current->euid;
inode298fs/xiafs/namei.cinode->i_mode = mode;
inode299fs/xiafs/namei.cinode->i_op = NULL;
inode300fs/xiafs/namei.cif (S_ISREG(inode->i_mode))
inode301fs/xiafs/namei.cinode->i_op = &xiafs_file_inode_operations;
inode302fs/xiafs/namei.celse if (S_ISDIR(inode->i_mode)) {
inode303fs/xiafs/namei.cinode->i_op = &xiafs_dir_inode_operations;
inode305fs/xiafs/namei.cinode->i_mode |= S_ISGID;
inode307fs/xiafs/namei.celse if (S_ISLNK(inode->i_mode))
inode308fs/xiafs/namei.cinode->i_op = &xiafs_symlink_inode_operations;
inode309fs/xiafs/namei.celse if (S_ISCHR(inode->i_mode))
inode310fs/xiafs/namei.cinode->i_op = &chrdev_inode_operations;
inode311fs/xiafs/namei.celse if (S_ISBLK(inode->i_mode))
inode312fs/xiafs/namei.cinode->i_op = &blkdev_inode_operations;
inode313fs/xiafs/namei.celse if (S_ISFIFO(inode->i_mode))
inode314fs/xiafs/namei.cinit_fifo(inode);
inode316fs/xiafs/namei.cinode->i_rdev = rdev;
inode317fs/xiafs/namei.cinode->i_atime = inode->i_ctime = inode->i_atime = CURRENT_TIME;
inode318fs/xiafs/namei.cinode->i_dirt = 1;
inode321fs/xiafs/namei.cinode->i_nlink--;
inode322fs/xiafs/namei.cinode->i_dirt = 1;
inode323fs/xiafs/namei.ciput(inode);
inode327fs/xiafs/namei.cde->d_ino = inode->i_ino;
inode331fs/xiafs/namei.ciput(inode);
inode335fs/xiafs/namei.cint xiafs_mkdir(struct inode * dir, const char * name, int len, int mode)
inode337fs/xiafs/namei.cstruct inode * inode;
inode351fs/xiafs/namei.cinode = xiafs_new_inode(dir);
inode352fs/xiafs/namei.cif (!inode) {
inode356fs/xiafs/namei.cinode->i_op = &xiafs_dir_inode_operations;
inode357fs/xiafs/namei.cinode->i_size = XIAFS_ZSIZE(dir->i_sb);
inode358fs/xiafs/namei.cinode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME;
inode359fs/xiafs/namei.cdir_block = xiafs_bread(inode,0,1);
inode362fs/xiafs/namei.cinode->i_nlink--;
inode363fs/xiafs/namei.cinode->i_dirt = 1;
inode364fs/xiafs/namei.ciput(inode);
inode368fs/xiafs/namei.cde->d_ino=inode->i_ino;
inode377fs/xiafs/namei.cinode->i_nlink = 2;
inode380fs/xiafs/namei.cinode->i_mode = S_IFDIR | (mode & S_IRWXUGO & ~current->umask);
inode382fs/xiafs/namei.cinode->i_mode |= S_ISGID;
inode383fs/xiafs/namei.cinode->i_dirt = 1;
inode387fs/xiafs/namei.cinode->i_nlink=0;
inode388fs/xiafs/namei.ciput(inode);
inode391fs/xiafs/namei.cde->d_ino = inode->i_ino;
inode396fs/xiafs/namei.ciput(inode);
inode404fs/xiafs/namei.cstatic int empty_dir(struct inode * inode)
inode410fs/xiafs/namei.cif (inode->i_size & (XIAFS_ZSIZE(inode->i_sb)-1) ) {
inode415fs/xiafs/namei.czones=inode->i_size >> XIAFS_ZSIZE_BITS(inode->i_sb);
inode417fs/xiafs/namei.cbh =  xiafs_bread(inode, i, 0);
inode424fs/xiafs/namei.cif (de->d_ino != inode->i_ino || strcmp(".", de->d_name) ||
inode442fs/xiafs/namei.cwhile (offset < XIAFS_ZSIZE(inode->i_sb)) {
inode444fs/xiafs/namei.cif (de->d_ino > inode->i_sb->u.xiafs_sb.s_ninodes ||
inode446fs/xiafs/namei.c(char *)de+de->d_rec_len > bh->b_data+XIAFS_ZSIZE(inode->i_sb) ||
inode484fs/xiafs/namei.cint xiafs_rmdir(struct inode * dir, const char * name, int len)
inode487fs/xiafs/namei.cstruct inode * inode;
inode491fs/xiafs/namei.cinode = NULL;
inode497fs/xiafs/namei.cif (!(inode = iget(dir->i_sb, de->d_ino)))
inode500fs/xiafs/namei.cinode->i_uid != current->euid)
inode502fs/xiafs/namei.cif (inode->i_dev != dir->i_dev)
inode504fs/xiafs/namei.cif (inode == dir)  /* we may not delete ".", but "../dir" is ok */
inode506fs/xiafs/namei.cif (!S_ISDIR(inode->i_mode)) {
inode510fs/xiafs/namei.cif (!empty_dir(inode)) {
inode514fs/xiafs/namei.cif (inode->i_count > 1) {
inode518fs/xiafs/namei.cif (inode->i_nlink != 2)
inode522fs/xiafs/namei.cinode->i_nlink=0;
inode523fs/xiafs/namei.cinode->i_dirt=1;
inode525fs/xiafs/namei.cinode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
inode530fs/xiafs/namei.ciput(inode);
inode535fs/xiafs/namei.cint xiafs_unlink(struct inode * dir, const char * name, int len)
inode538fs/xiafs/namei.cstruct inode * inode;
inode544fs/xiafs/namei.cinode = NULL;
inode548fs/xiafs/namei.cif (!(inode = iget(dir->i_sb, de->d_ino)))
inode551fs/xiafs/namei.cif (S_ISDIR(inode->i_mode))
inode553fs/xiafs/namei.cif (de->d_ino != inode->i_ino) {
inode554fs/xiafs/namei.ciput(inode);
inode561fs/xiafs/namei.ccurrent->euid != inode->i_uid &&
inode564fs/xiafs/namei.cif (!inode->i_nlink) {
inode566fs/xiafs/namei.cinode->i_nlink=1;
inode570fs/xiafs/namei.cinode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
inode572fs/xiafs/namei.cinode->i_nlink--;
inode573fs/xiafs/namei.cinode->i_dirt = 1;
inode577fs/xiafs/namei.ciput(inode);
inode582fs/xiafs/namei.cint xiafs_symlink(struct inode * dir, const char * name, 
inode586fs/xiafs/namei.cstruct inode * inode = NULL;
inode597fs/xiafs/namei.cif (!(inode = xiafs_new_inode(dir))) {
inode601fs/xiafs/namei.cinode->i_mode = S_IFLNK | S_IRWXUGO;
inode602fs/xiafs/namei.cinode->i_op = &xiafs_symlink_inode_operations;
inode603fs/xiafs/namei.cname_block = xiafs_bread(inode,0,1);
inode606fs/xiafs/namei.cinode->i_nlink--;
inode607fs/xiafs/namei.cinode->i_dirt = 1;
inode608fs/xiafs/namei.ciput(inode);
inode616fs/xiafs/namei.cinode->i_size = i;
inode617fs/xiafs/namei.cinode->i_dirt = 1;
inode620fs/xiafs/namei.cinode->i_nlink--;
inode621fs/xiafs/namei.cinode->i_dirt = 1;
inode622fs/xiafs/namei.ciput(inode);
inode626fs/xiafs/namei.cde->d_ino = inode->i_ino;
inode630fs/xiafs/namei.ciput(inode);
inode634fs/xiafs/namei.cint xiafs_link(struct inode * oldinode, struct inode * dir, 
inode674fs/xiafs/namei.cstatic int subdir(struct inode * new_inode, struct inode * old_inode)
inode711fs/xiafs/namei.cstatic int do_xiafs_rename(struct inode * old_dir, const char * old_name, 
inode712fs/xiafs/namei.cint old_len, struct inode * new_dir, 
inode715fs/xiafs/namei.cstruct inode * old_inode, * new_inode;
inode832fs/xiafs/namei.cint xiafs_rename(struct inode * old_dir, const char * old_name, int old_len,
inode833fs/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);
inode35fs/xiafs/truncate.c#define DT_ZONE    ((inode->i_size + XIAFS_ZSIZE(inode->i_sb) - 1) \
inode36fs/xiafs/truncate.c>> XIAFS_ZSIZE_BITS(inode->i_sb) )
inode38fs/xiafs/truncate.cstatic int trunc_direct(struct inode * inode)
inode49fs/xiafs/truncate.clp=i + inode->u.xiafs_i.i_zone;
inode52fs/xiafs/truncate.cbh = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode61fs/xiafs/truncate.cinode->i_dirt = 1;
inode62fs/xiafs/truncate.cinode->i_blocks-=2 << XIAFS_ZSHIFT(inode->i_sb);
inode63fs/xiafs/truncate.cxiafs_free_zone(inode->i_sb, tmp);
inode70fs/xiafs/truncate.cstatic int trunc_indirect(struct inode * inode, int addr_off, u_long * lp)
inode82fs/xiafs/truncate.cind_bh = bread(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode92fs/xiafs/truncate.cfor (i = INDT_ZONE<0?0:INDT_ZONE; i < XIAFS_ADDRS_PER_Z(inode->i_sb); i++) {
inode98fs/xiafs/truncate.cbh = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode108fs/xiafs/truncate.cinode->i_blocks-= 2 << XIAFS_ZSHIFT(inode->i_sb);
inode109fs/xiafs/truncate.cxiafs_free_zone(inode->i_sb, tmp);
inode114fs/xiafs/truncate.cfor (i = 0; i < XIAFS_ADDRS_PER_Z(inode->i_sb) && !(*indp++); i++) ;
inode115fs/xiafs/truncate.cif (i >= XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode121fs/xiafs/truncate.cinode->i_blocks-= 2 << XIAFS_ZSHIFT(inode->i_sb);
inode122fs/xiafs/truncate.cxiafs_free_zone(inode->i_sb, tmp);
inode129fs/xiafs/truncate.cstatic int trunc_dindirect(struct inode * inode)
inode133fs/xiafs/truncate.c((DT_ZONE-XIAFS_ADDRS_PER_Z(inode->i_sb)-8)>>XIAFS_ADDRS_PER_Z_BITS(inode->i_sb))
inode140fs/xiafs/truncate.clp = &(inode->u.xiafs_i.i_dind_zone);
inode143fs/xiafs/truncate.cdind_bh = bread(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb));
inode153fs/xiafs/truncate.cfor (i=DINDT_ZONE<0?0:DINDT_ZONE ; i < XIAFS_ADDRS_PER_Z(inode->i_sb) ; i ++) {
inode157fs/xiafs/truncate.cretry |= trunc_indirect(inode, 
inode158fs/xiafs/truncate.c8+((1+i)<<XIAFS_ADDRS_PER_Z_BITS(inode->i_sb)), 
inode163fs/xiafs/truncate.cfor (i = 0; i < XIAFS_ADDRS_PER_Z(inode->i_sb) && !(*dindp++); i++);
inode164fs/xiafs/truncate.cif (i >= XIAFS_ADDRS_PER_Z(inode->i_sb)) {
inode170fs/xiafs/truncate.cinode->i_dirt = 1;
inode171fs/xiafs/truncate.cinode->i_blocks-=2 << XIAFS_ZSHIFT(inode->i_sb);
inode172fs/xiafs/truncate.cxiafs_free_zone(inode->i_sb, tmp);
inode179fs/xiafs/truncate.cvoid xiafs_truncate(struct inode * inode)
inode183fs/xiafs/truncate.cif (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
inode184fs/xiafs/truncate.cS_ISLNK(inode->i_mode)))
inode187fs/xiafs/truncate.cretry = trunc_direct(inode);
inode188fs/xiafs/truncate.cretry |= trunc_indirect(inode, 8, &(inode->u.xiafs_i.i_ind_zone)); 
inode189fs/xiafs/truncate.cretry |= trunc_dindirect(inode);
inode195fs/xiafs/truncate.cinode->i_ctime = inode->i_mtime = CURRENT_TIME;
inode196fs/xiafs/truncate.cinode->i_dirt = 1;
inode21include/linux/binfmts.hstruct inode * inode;
inode37include/linux/binfmts.hextern int read_exec(struct inode *inode, unsigned long offset,
inode40include/linux/binfmts.hextern int open_inode(struct inode * inode, int mode);
inode306include/linux/ext2_fs.hunsigned long  inode;      /* Inode number */
inode342include/linux/ext2_fs.hextern int ext2_permission (struct inode *, int);
inode367include/linux/ext2_fs.hextern int ext2_check_dir_entry (char *, struct inode *,
inode372include/linux/ext2_fs.hextern int ext2_read (struct inode *, struct file *, char *, int);
inode373include/linux/ext2_fs.hextern int ext2_write (struct inode *, struct file *, char *, int);
inode376include/linux/ext2_fs.hextern int ext2_sync_file (struct inode *, struct file *);
inode379include/linux/ext2_fs.hextern struct inode * ext2_new_inode (const struct inode *, int);
inode380include/linux/ext2_fs.hextern void ext2_free_inode (struct inode *);
inode385include/linux/ext2_fs.hextern int ext2_bmap (struct inode *, int);
inode387include/linux/ext2_fs.hextern struct buffer_head * ext2_getblk (struct inode *, long, int, int *);
inode388include/linux/ext2_fs.hextern struct buffer_head * ext2_bread (struct inode *, int, int, int *);
inode390include/linux/ext2_fs.hextern void ext2_read_inode (struct inode *);
inode391include/linux/ext2_fs.hextern void ext2_write_inode (struct inode *);
inode392include/linux/ext2_fs.hextern void ext2_put_inode (struct inode *);
inode393include/linux/ext2_fs.hextern int ext2_sync_inode (struct inode *);
inode394include/linux/ext2_fs.hextern void ext2_discard_prealloc (struct inode *);
inode397include/linux/ext2_fs.hextern int ext2_ioctl (struct inode *, struct file *, unsigned int,
inode401include/linux/ext2_fs.hextern int ext2_open (struct inode *, struct file *);
inode402include/linux/ext2_fs.hextern void ext2_release (struct inode *, struct file *);
inode403include/linux/ext2_fs.hextern int ext2_lookup (struct inode *,const char *, int, struct inode **);
inode404include/linux/ext2_fs.hextern int ext2_create (struct inode *,const char *, int, int,
inode405include/linux/ext2_fs.hstruct inode **);
inode406include/linux/ext2_fs.hextern int ext2_mkdir (struct inode *, const char *, int, int);
inode407include/linux/ext2_fs.hextern int ext2_rmdir (struct inode *, const char *, int);
inode408include/linux/ext2_fs.hextern int ext2_unlink (struct inode *, const char *, int);
inode409include/linux/ext2_fs.hextern int ext2_symlink (struct inode *, const char *, int, const char *);
inode410include/linux/ext2_fs.hextern int ext2_link (struct inode *, struct inode *, const char *, int);
inode411include/linux/ext2_fs.hextern int ext2_mknod (struct inode *, const char *, int, int, int);
inode412include/linux/ext2_fs.hextern int ext2_rename (struct inode *, const char *, int,
inode413include/linux/ext2_fs.hstruct inode *, const char *, int);
inode430include/linux/ext2_fs.hextern void ext2_truncate (struct inode *);
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 *);
inode97include/linux/ext_fs.hextern int ext_sync_inode(struct inode *);
inode98include/linux/ext_fs.hextern int ext_sync_file(struct inode *, struct file *);
inode100include/linux/ext_fs.hextern int ext_lseek(struct inode *, struct file *, off_t, int);
inode101include/linux/ext_fs.hextern int ext_read(struct inode *, struct file *, char *, int);
inode102include/linux/ext_fs.hextern int ext_write(struct inode *, struct file *, char *, int);
inode92include/linux/fs.h#define IS_RDONLY(inode) (((inode)->i_sb) && ((inode)->i_sb->s_flags & MS_RDONLY))
inode93include/linux/fs.h#define IS_NOSUID(inode) ((inode)->i_flags & MS_NOSUID)
inode94include/linux/fs.h#define IS_NODEV(inode) ((inode)->i_flags & MS_NODEV)
inode95include/linux/fs.h#define IS_NOEXEC(inode) ((inode)->i_flags & MS_NOEXEC)
inode96include/linux/fs.h#define IS_SYNC(inode) ((inode)->i_flags & MS_SYNC)
inode179include/linux/fs.hstruct inode * i_next, * i_prev;
inode180include/linux/fs.hstruct inode * i_hash_next, * i_hash_prev;
inode181include/linux/fs.hstruct inode * i_bound_to, * i_bound_by;
inode182include/linux/fs.hstruct inode * i_mount;
inode213include/linux/fs.hstruct inode * f_inode;
inode249include/linux/fs.hstruct inode * s_covered;
inode250include/linux/fs.hstruct inode * s_mounted;
inode266include/linux/fs.hint (*lseek) (struct inode *, struct file *, off_t, int);
inode267include/linux/fs.hint (*read) (struct inode *, struct file *, char *, int);
inode268include/linux/fs.hint (*write) (struct inode *, struct file *, char *, int);
inode269include/linux/fs.hint (*readdir) (struct inode *, struct file *, struct dirent *, int);
inode270include/linux/fs.hint (*select) (struct inode *, struct file *, int, select_table *);
inode271include/linux/fs.hint (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
inode272include/linux/fs.hint (*mmap) (struct inode *, struct file *, unsigned long, size_t, int, unsigned long);
inode273include/linux/fs.hint (*open) (struct inode *, struct file *);
inode274include/linux/fs.hvoid (*release) (struct inode *, struct file *);
inode275include/linux/fs.hint (*fsync) (struct inode *, struct file *);
inode280include/linux/fs.hint (*create) (struct inode *,const char *,int,int,struct inode **);
inode281include/linux/fs.hint (*lookup) (struct inode *,const char *,int,struct inode **);
inode282include/linux/fs.hint (*link) (struct inode *,struct inode *,const char *,int);
inode283include/linux/fs.hint (*unlink) (struct inode *,const char *,int);
inode284include/linux/fs.hint (*symlink) (struct inode *,const char *,int,const char *);
inode285include/linux/fs.hint (*mkdir) (struct inode *,const char *,int,int);
inode286include/linux/fs.hint (*rmdir) (struct inode *,const char *,int);
inode287include/linux/fs.hint (*mknod) (struct inode *,const char *,int,int,int);
inode288include/linux/fs.hint (*rename) (struct inode *,const char *,int,struct inode *,const char *,int);
inode289include/linux/fs.hint (*readlink) (struct inode *,char *,int);
inode290include/linux/fs.hint (*follow_link) (struct inode *,struct inode *,int,int,struct inode **);
inode291include/linux/fs.hint (*bmap) (struct inode *,int);
inode292include/linux/fs.hvoid (*truncate) (struct inode *);
inode293include/linux/fs.hint (*permission) (struct inode *, int);
inode297include/linux/fs.hvoid (*read_inode) (struct inode *);
inode298include/linux/fs.hint (*notify_change) (int flags, struct inode *);
inode299include/linux/fs.hvoid (*write_inode) (struct inode *);
inode300include/linux/fs.hvoid (*put_inode) (struct inode *);
inode322include/linux/fs.hextern int blkdev_open(struct inode * inode, struct file * filp);
inode328include/linux/fs.hextern int chrdev_open(struct inode * inode, struct file * filp);
inode332include/linux/fs.hextern void init_fifo(struct inode * inode);
inode345include/linux/fs.hextern int fs_may_umount(dev_t dev, struct inode * mount_root);
inode366include/linux/fs.hextern int bmap(struct inode * inode,int block);
inode367include/linux/fs.hextern int notify_change(int flags, struct inode * inode);
inode368include/linux/fs.hextern int namei(const char * pathname, struct inode ** res_inode);
inode369include/linux/fs.hextern int lnamei(const char * pathname, struct inode ** res_inode);
inode370include/linux/fs.hextern int permission(struct inode * inode,int mask);
inode372include/linux/fs.hstruct inode ** res_inode, struct inode * base);
inode374include/linux/fs.hextern void iput(struct inode * inode);
inode375include/linux/fs.hextern struct inode * __iget(struct super_block * sb,int nr,int crsmnt);
inode376include/linux/fs.hextern struct inode * iget(struct super_block * sb,int nr);
inode377include/linux/fs.hextern struct inode * get_empty_inode(void);
inode378include/linux/fs.hextern void insert_inode_hash(struct inode *);
inode379include/linux/fs.hextern void clear_inode(struct inode *);
inode380include/linux/fs.hextern struct inode * get_pipe_inode(void);
inode397include/linux/fs.hextern int char_read(struct inode *, struct file *, char *, int);
inode398include/linux/fs.hextern int block_read(struct inode *, struct file *, char *, int);
inode401include/linux/fs.hextern int char_write(struct inode *, struct file *, char *, int);
inode402include/linux/fs.hextern int block_write(struct inode *, struct file *, char *, int);
inode404include/linux/fs.hextern int generic_mmap(struct inode *, struct file *, unsigned long, size_t, int, unsigned long);
inode406include/linux/fs.hextern int block_fsync(struct inode *, struct file *);
inode407include/linux/fs.hextern int file_fsync(struct inode *, struct file *);
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 *);
inode167include/linux/iso_fs.hextern int isofs_open(struct inode * inode, struct file * filp);
inode168include/linux/iso_fs.hextern void isofs_release(struct inode * inode, struct file * filp);
inode169include/linux/iso_fs.hextern int isofs_lookup(struct inode * dir,const char * name, int len,
inode170include/linux/iso_fs.hstruct inode ** result);
inode174include/linux/iso_fs.hextern int isofs_bmap(struct inode *,int);
inode178include/linux/iso_fs.hextern void isofs_read_inode(struct inode *);
inode179include/linux/iso_fs.hextern void isofs_put_inode(struct inode *);
inode182include/linux/iso_fs.hextern int isofs_lseek(struct inode *, struct file *, off_t, int);
inode183include/linux/iso_fs.hextern int isofs_read(struct inode *, struct file *, char *, int);
inode184include/linux/iso_fs.hextern int isofs_lookup_grandparent(struct inode *, int);
inode74include/linux/minix_fs.hunsigned short inode;
inode78include/linux/minix_fs.hextern int minix_lookup(struct inode * dir,const char * name, int len,
inode79include/linux/minix_fs.hstruct inode ** result);
inode80include/linux/minix_fs.hextern int minix_create(struct inode * dir,const char * name, int len, int mode,
inode81include/linux/minix_fs.hstruct inode ** result);
inode82include/linux/minix_fs.hextern int minix_mkdir(struct inode * dir, const char * name, int len, int mode);
inode83include/linux/minix_fs.hextern int minix_rmdir(struct inode * dir, const char * name, int len);
inode84include/linux/minix_fs.hextern int minix_unlink(struct inode * dir, const char * name, int len);
inode85include/linux/minix_fs.hextern int minix_symlink(struct inode * inode, const char * name, int len,
inode87include/linux/minix_fs.hextern int minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len);
inode88include/linux/minix_fs.hextern int minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev);
inode89include/linux/minix_fs.hextern int minix_rename(struct inode * old_dir, const char * old_name, int old_len,
inode90include/linux/minix_fs.hstruct inode * new_dir, const char * new_name, int new_len);
inode91include/linux/minix_fs.hextern struct inode * minix_new_inode(const struct inode * dir);
inode92include/linux/minix_fs.hextern void minix_free_inode(struct inode * inode);
inode98include/linux/minix_fs.hextern int minix_bmap(struct inode *,int);
inode100include/linux/minix_fs.hextern struct buffer_head * minix_getblk(struct inode *, int, int);
inode101include/linux/minix_fs.hextern struct buffer_head * minix_bread(struct inode *, int, int);
inode103include/linux/minix_fs.hextern void minix_truncate(struct inode *);
inode108include/linux/minix_fs.hextern void minix_read_inode(struct inode *);
inode109include/linux/minix_fs.hextern void minix_write_inode(struct inode *);
inode110include/linux/minix_fs.hextern void minix_put_inode(struct inode *);
inode112include/linux/minix_fs.hextern int minix_sync_inode(struct inode *);
inode113include/linux/minix_fs.hextern int minix_sync_file(struct inode *, struct file *);
inode47include/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,off_t *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);
inode188include/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
inode79include/linux/net.hstruct inode    *inode;
inode82include/linux/net.h#define SOCK_INODE(S)  ((S)->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);
inode121include/linux/nfs_fs.hextern int nfs_mmap(struct inode * inode, struct file * file,
inode16include/linux/pipe_fs_i.h#define PIPE_WAIT(inode)  ((inode).u.pipe_i.wait)
inode17include/linux/pipe_fs_i.h#define PIPE_BASE(inode)  ((inode).u.pipe_i.base)
inode18include/linux/pipe_fs_i.h#define PIPE_START(inode)  ((inode).u.pipe_i.start)
inode19include/linux/pipe_fs_i.h#define PIPE_LEN(inode)    ((inode).u.pipe_i.len)
inode20include/linux/pipe_fs_i.h#define PIPE_RD_OPENERS(inode)  ((inode).u.pipe_i.rd_openers)
inode21include/linux/pipe_fs_i.h#define PIPE_WR_OPENERS(inode)  ((inode).u.pipe_i.wr_openers)
inode22include/linux/pipe_fs_i.h#define PIPE_READERS(inode)  ((inode).u.pipe_i.readers)
inode23include/linux/pipe_fs_i.h#define PIPE_WRITERS(inode)  ((inode).u.pipe_i.writers)
inode24include/linux/pipe_fs_i.h#define PIPE_LOCK(inode)  ((inode).u.pipe_i.lock)
inode25include/linux/pipe_fs_i.h#define PIPE_SIZE(inode)  PIPE_LEN(inode)
inode27include/linux/pipe_fs_i.h#define PIPE_EMPTY(inode)  (PIPE_SIZE(inode)==0)
inode28include/linux/pipe_fs_i.h#define PIPE_FULL(inode)  (PIPE_SIZE(inode)==PIPE_BUF)
inode29include/linux/pipe_fs_i.h#define PIPE_FREE(inode)  (PIPE_BUF - PIPE_LEN(inode))
inode30include/linux/pipe_fs_i.h#define PIPE_END(inode)    ((PIPE_START(inode)+PIPE_LEN(inode))&\
inode32include/linux/pipe_fs_i.h#define PIPE_MAX_RCHUNK(inode)  (PIPE_BUF - PIPE_START(inode))
inode33include/linux/pipe_fs_i.h#define PIPE_MAX_WCHUNK(inode)  (PIPE_BUF - PIPE_END(inode))
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 *);
inode219include/linux/sched.hstruct inode * pwd;
inode220include/linux/sched.hstruct inode * root;
inode221include/linux/sched.hstruct inode * executable;
inode312include/linux/sysv_fs.hsysv_ino_t inode;
inode365include/linux/sysv_fs.hextern void _coh_wait_on_inode (struct inode * inode);
inode367include/linux/sysv_fs.hextern inline void coh_wait_on_inode (struct inode * inode)
inode369include/linux/sysv_fs.hif (inode->u.sysv_i.i_lock)
inode370include/linux/sysv_fs.h_coh_wait_on_inode(inode);
inode373include/linux/sysv_fs.hextern inline void coh_lock_inode (struct inode * inode)
inode375include/linux/sysv_fs.hif (inode->u.sysv_i.i_lock)
inode376include/linux/sysv_fs.h_coh_wait_on_inode(inode);
inode377include/linux/sysv_fs.hinode->u.sysv_i.i_lock = 1;
inode380include/linux/sysv_fs.hextern inline void coh_unlock_inode (struct inode * inode)
inode382include/linux/sysv_fs.hinode->u.sysv_i.i_lock = 0;
inode383include/linux/sysv_fs.hwake_up(&inode->u.sysv_i.i_wait);
inode391include/linux/sysv_fs.hextern int sysv_lookup(struct inode * dir,const char * name, int len,
inode392include/linux/sysv_fs.hstruct inode ** result);
inode393include/linux/sysv_fs.hextern int sysv_create(struct inode * dir,const char * name, int len, int mode,
inode394include/linux/sysv_fs.hstruct inode ** result);
inode395include/linux/sysv_fs.hextern int sysv_mkdir(struct inode * dir, const char * name, int len, int mode);
inode396include/linux/sysv_fs.hextern int sysv_rmdir(struct inode * dir, const char * name, int len);
inode397include/linux/sysv_fs.hextern int sysv_unlink(struct inode * dir, const char * name, int len);
inode398include/linux/sysv_fs.hextern int sysv_symlink(struct inode * inode, const char * name, int len,
inode400include/linux/sysv_fs.hextern int sysv_link(struct inode * oldinode, struct inode * dir, const char * name, int len);
inode401include/linux/sysv_fs.hextern int sysv_mknod(struct inode * dir, const char * name, int len, int mode, int rdev);
inode402include/linux/sysv_fs.hextern int sysv_rename(struct inode * old_dir, const char * old_name, int old_len,
inode403include/linux/sysv_fs.hstruct inode * new_dir, const char * new_name, int new_len);
inode404include/linux/sysv_fs.hextern struct inode * sysv_new_inode(const struct inode * dir);
inode405include/linux/sysv_fs.hextern void sysv_free_inode(struct inode * inode);
inode411include/linux/sysv_fs.hextern int sysv_bmap(struct inode *,int);
inode413include/linux/sysv_fs.hextern struct buffer_head * sysv_getblk(struct inode *, unsigned int, int, char* *);
inode414include/linux/sysv_fs.hextern struct buffer_head * sysv_file_bread(struct inode *, int, int, char* *);
inode416include/linux/sysv_fs.hextern void sysv_truncate(struct inode *);
inode420include/linux/sysv_fs.hextern void sysv_read_inode(struct inode *);
inode421include/linux/sysv_fs.hextern int sysv_notify_change(int,struct inode *);
inode422include/linux/sysv_fs.hextern void sysv_write_inode(struct inode *);
inode423include/linux/sysv_fs.hextern void sysv_put_inode(struct inode *);
inode425include/linux/sysv_fs.hextern int sysv_sync_inode(struct inode *);
inode426include/linux/sysv_fs.hextern int sysv_sync_file(struct inode *, struct file *);
inode428include/linux/sysv_fs.hextern int sysv_mmap(struct inode *, struct file *, unsigned long, size_t, int, unsigned long);
inode295include/linux/tty.hint  (*select)(struct tty_struct * tty, struct inode * inode,
inode412include/linux/tty.hextern int tty_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
inode113include/linux/xd.hstatic int xd_open (struct inode *inode,struct file *file);
inode115include/linux/xd.hstatic int xd_ioctl (struct inode *inode,struct file *file,unsigned int cmd,unsigned long arg);
inode116include/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 *);
inode100include/linux/xia_fs.hextern int xiafs_sync_inode(struct inode *);
inode101include/linux/xia_fs.hextern int xiafs_sync_file(struct inode *, struct file *);
inode753mm/memory.cstruct inode * inode,
inode758mm/memory.cif (!inode || inode->i_count < 2 || !area->vm_ops)
inode765mm/memory.cif (inode != (*p)->executable) {
inode1149mm/memory.cstruct inode * inode = area->vm_inode;
inode1158mm/memory.cblock >>= inode->i_sb->s_blocksize_bits;
inode1161mm/memory.cif (share_page(area, area->vm_task, inode, address, error_code, page)) {
inode1172mm/memory.cfor (i=0, j=0; i< PAGE_SIZE ; j++, block++, i += inode->i_sb->s_blocksize)
inode1173mm/memory.cnr[j] = bmap(inode,block);
inode1176mm/memory.cpage = bread_page(page, inode->i_dev, nr, inode->i_sb->s_blocksize, prot);
inode1179mm/memory.cif (share_page(area, area->vm_task, inode, address, error_code, page))
inode19mm/mmap.cstatic int anon_map(struct inode *, struct file *,
inode311mm/mmap.cint generic_mmap(struct inode * inode, struct file * file,
inode320mm/mmap.cif (off & (inode->i_sb->s_blocksize - 1))
inode322mm/mmap.cif (!inode->i_sb || !S_ISREG(inode->i_mode))
inode324mm/mmap.cif (!inode->i_op || !inode->i_op->bmap)
inode326mm/mmap.cif (!(bh = bread(inode->i_dev,bmap(inode,0),inode->i_sb->s_blocksize)))
inode328mm/mmap.cif (!IS_RDONLY(inode)) {
inode329mm/mmap.cinode->i_atime = CURRENT_TIME;
inode330mm/mmap.cinode->i_dirt = 1;
inode344mm/mmap.cmpnt->vm_inode = inode;
inode345mm/mmap.cinode->i_count++;
inode445mm/mmap.cstatic int anon_map(struct inode *ino, struct file * file,
inode480mm/mmap.creturn (struct inode *)data == m1->vm_inode;
inode38mm/swap.cstruct inode * swap_file;
inode671mm/swap.cstruct inode * inode;
inode677mm/swap.ci = namei(specialfile,&inode);
inode685mm/swap.cif (p->swap_file == inode)
inode688mm/swap.cif (!S_ISBLK(inode->i_mode))
inode690mm/swap.cif (p->swap_device == inode->i_rdev)
inode694mm/swap.ciput(inode);
inode723mm/swap.cstruct inode * swap_inode;
inode1769net/inet/sock.cinet_fioctl(struct inode *inode, struct file *file,
inode1775net/inet/sock.cminor = MINOR(inode->i_rdev);
inode46net/socket.cstatic int sock_lseek(struct inode *inode, struct file *file, off_t offset,
inode48net/socket.cstatic int sock_read(struct inode *inode, struct file *file, char *buf,
inode50net/socket.cstatic int sock_write(struct inode *inode, struct file *file, char *buf,
inode52net/socket.cstatic int sock_readdir(struct inode *inode, struct file *file,
inode54net/socket.cstatic void sock_close(struct inode *inode, struct file *file);
inode55net/socket.cstatic int sock_select(struct inode *inode, struct file *file, int which, select_table *seltable);
inode56net/socket.cstatic int sock_ioctl(struct inode *inode, struct file *file,
inode98net/socket.cget_fd(struct inode *inode)
inode118net/socket.cfile->f_inode = inode;
inode119net/socket.cif (inode) inode->i_count++;
inode138net/socket.csocki_lookup(struct inode *inode)
inode142net/socket.cif ((sock = inode->i_socket) != NULL) {
inode143net/socket.cif (sock->state != SS_FREE && SOCK_INODE(sock) == inode)
inode148net/socket.cif (sock->state != SS_FREE && SOCK_INODE(sock) == inode) {
inode233net/socket.cstruct inode *inode;
inode254net/socket.cinode = SOCK_INODE(sock);
inode259net/socket.ciput(inode);
inode264net/socket.csock_lseek(struct inode *inode, struct file *file, off_t offset, int whence)
inode272net/socket.csock_read(struct inode *inode, struct file *file, char *ubuf, int size)
inode277net/socket.cif (!(sock = socki_lookup(inode))) {
inode287net/socket.csock_write(struct inode *inode, struct file *file, char *ubuf, int size)
inode292net/socket.cif (!(sock = socki_lookup(inode))) {
inode302net/socket.csock_readdir(struct inode *inode, struct file *file, struct dirent *dirent,
inode311net/socket.csock_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
inode317net/socket.cinode, cmd, arg));
inode318net/socket.cif (!(sock = socki_lookup(inode))) {
inode327net/socket.csock_select(struct inode *inode, struct file *file, int sel_type, select_table * wait)
inode331net/socket.cDPRINTF((net_debug, "NET: sock_select: inode = 0x%x, kind = %s\n", inode,
inode334net/socket.cif (!(sock = socki_lookup(inode))) {
inode347net/socket.csock_close(struct inode *inode, struct file *file)
inode352net/socket.cinode, inode->i_count));
inode355net/socket.cif (!inode) return;
inode356net/socket.cif (!(sock = socki_lookup(inode))) {
inode1008net/socket.cnet_fioctl(struct inode *inode, struct file *file,
inode1014net/socket.cswitch(MINOR(inode->i_rdev)) {
inode235net/unix/sock.cstruct inode *inode)
inode243net/unix/sock.cupd->inode == inode) return(upd);
inode264net/unix/sock.cupd->inode = NULL;
inode356net/unix/sock.cif (upd->inode) {
inode357net/unix/sock.cdprintf(1, "UNIX: release: releasing inode 0x%x\n", upd->inode);
inode358net/unix/sock.ciput(upd->inode);
inode359net/unix/sock.cupd->inode = NULL;
inode394net/unix/sock.cif (upd->sockaddr_len || upd->inode) {
inode414net/unix/sock.cif (i == 0) i = open_namei(fname, 0, S_IFSOCK, &upd->inode, NULL);
inode424net/unix/sock.cdprintf(1, "to inode 0x%x\n", upd->inode);
inode441net/unix/sock.cstruct inode *inode;
inode477net/unix/sock.ci = open_namei(fname, 0, S_IFSOCK, &inode, NULL);
inode483net/unix/sock.cserv_upd = unix_data_lookup(&sockun, sockaddr_len, inode);
inode484net/unix/sock.ciput(inode);
inode487net/unix/sock.cfname, inode);
inode833net/unix/sock.cunix_open(struct inode * inode, struct file * file)
inode838net/unix/sock.cminor = MINOR(inode->i_rdev);
inode846net/unix/sock.cunix_close(struct inode * inode, struct file * file)
inode853net/unix/sock.cunix_ioctl(struct inode *inode, struct file *file,
inode860net/unix/sock.cminor = MINOR(inode->i_rdev);
inode36net/unix/unix.hstruct inode  *inode;