tag | line | file | source code |
inode | 16 | fs/block_dev.c | int block_write(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 27 | fs/block_dev.c | dev = inode->i_rdev; |
inode | 62 | fs/block_dev.c | int block_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 76 | fs/block_dev.c | dev = inode->i_rdev; |
inode | 49 | fs/devices.c | int blkdev_open(struct inode * inode, struct file * filp) |
inode | 53 | fs/devices.c | i = MAJOR(inode->i_rdev); |
inode | 58 | fs/devices.c | return filp->f_op->open(inode,filp); |
inode | 100 | fs/devices.c | int chrdev_open(struct inode * inode, struct file * filp) |
inode | 104 | fs/devices.c | i = MAJOR(inode->i_rdev); |
inode | 109 | fs/devices.c | return filp->f_op->open(inode,filp); |
inode | 50 | fs/exec.c | while (file.f_op->write(inode,&file,(char *)(addr),(nr)) != (nr)) goto close_coredump |
inode | 54 | fs/exec.c | if (file.f_op->lseek(inode,&file,(offset),0) != (offset)) \ |
inode | 69 | fs/exec.c | struct inode * inode = NULL; |
inode | 84 | fs/exec.c | if (open_namei("core",O_CREAT | O_WRONLY | O_TRUNC,0600,&inode,NULL)) { |
inode | 85 | fs/exec.c | inode = NULL; |
inode | 88 | fs/exec.c | if (!S_ISREG(inode->i_mode)) |
inode | 90 | fs/exec.c | if (!inode->i_op || !inode->i_op->default_file_ops) |
inode | 95 | fs/exec.c | file.f_inode = inode; |
inode | 98 | fs/exec.c | file.f_op = inode->i_op->default_file_ops; |
inode | 100 | fs/exec.c | if (file.f_op->open(inode,&file)) |
inode | 168 | fs/exec.c | file.f_op->release(inode,&file); |
inode | 171 | fs/exec.c | iput(inode); |
inode | 184 | fs/exec.c | struct inode * inode; |
inode | 194 | fs/exec.c | error = namei(library,&inode); |
inode | 197 | fs/exec.c | if (!inode->i_sb || !S_ISREG(inode->i_mode) || !permission(inode,MAY_READ)) { |
inode | 198 | fs/exec.c | iput(inode); |
inode | 201 | fs/exec.c | if (!inode->i_op || !inode->i_op->bmap) { |
inode | 202 | fs/exec.c | iput(inode); |
inode | 205 | fs/exec.c | if (!(bh = bread(inode->i_dev,bmap(inode,0),inode->i_sb->s_blocksize))) { |
inode | 206 | fs/exec.c | iput(inode); |
inode | 209 | fs/exec.c | if (!IS_RDONLY(inode)) { |
inode | 210 | fs/exec.c | inode->i_atime = CURRENT_TIME; |
inode | 211 | fs/exec.c | inode->i_dirt = 1; |
inode | 217 | fs/exec.c | inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { |
inode | 218 | fs/exec.c | iput(inode); |
inode | 221 | fs/exec.c | current->libraries[libnum].library = inode; |
inode | 384 | fs/exec.c | static int read_exec(struct inode *inode, unsigned long offset, |
inode | 390 | fs/exec.c | if (!inode->i_op || !inode->i_op->default_file_ops) |
inode | 395 | fs/exec.c | file.f_inode = inode; |
inode | 398 | fs/exec.c | file.f_op = inode->i_op->default_file_ops; |
inode | 400 | fs/exec.c | if (file.f_op->open(inode,&file)) |
inode | 405 | fs/exec.c | if (file.f_op->lseek(inode,&file,offset,0) != offset) |
inode | 409 | fs/exec.c | result = file.f_op->read(inode, &file, addr, count); |
inode | 412 | fs/exec.c | file.f_op->release(inode,&file); |
inode | 426 | fs/exec.c | struct inode * inode; |
inode | 442 | fs/exec.c | retval = namei(filename,&inode); /* get executable inode */ |
inode | 449 | fs/exec.c | if (!S_ISREG(inode->i_mode)) { /* must be regular file */ |
inode | 453 | fs/exec.c | if (IS_NOEXEC(inode)) { /* FS mustn't be mounted noexec */ |
inode | 457 | fs/exec.c | if (!inode->i_sb) { |
inode | 461 | fs/exec.c | i = inode->i_mode; |
inode | 462 | fs/exec.c | if (IS_NOSUID(inode) && (((i & S_ISUID) && inode->i_uid != current-> |
inode | 463 | fs/exec.c | euid) || ((i & S_ISGID) && !in_group_p(inode->i_gid))) && |
inode | 473 | fs/exec.c | e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; |
inode | 474 | fs/exec.c | e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; |
inode | 476 | fs/exec.c | if (current->euid == inode->i_uid) |
inode | 478 | fs/exec.c | else if (in_group_p(inode->i_gid)) |
inode | 481 | fs/exec.c | !((inode->i_mode & 0111) && suser())) { |
inode | 488 | fs/exec.c | retval = read_exec(inode,0,buf,128); |
inode | 501 | fs/exec.c | iput(inode); |
inode | 561 | fs/exec.c | retval = open_namei(interp,0,0,&inode,NULL); |
inode | 568 | fs/exec.c | inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { |
inode | 604 | fs/exec.c | !permission(inode,MAY_READ)) |
inode | 633 | fs/exec.c | read_exec(inode, 32, (char *) 0, ex.a_text+ex.a_data); |
inode | 634 | fs/exec.c | iput(inode); |
inode | 635 | fs/exec.c | } else if (!inode->i_op || !inode->i_op->bmap) { |
inode | 636 | fs/exec.c | read_exec(inode, 1024, (char *) 0, ex.a_text+ex.a_data); |
inode | 637 | fs/exec.c | iput(inode); |
inode | 639 | fs/exec.c | current->executable = inode; |
inode | 647 | fs/exec.c | iput(inode); |
inode | 23 | fs/ext/dir.c | static int ext_dir_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 28 | fs/ext/dir.c | static int ext_readdir(struct inode *, struct file *, struct dirent *, int); |
inode | 64 | fs/ext/dir.c | static int ext_readdir(struct inode * inode, struct file * filp, |
inode | 72 | fs/ext/dir.c | if (!inode || !S_ISDIR(inode->i_mode)) |
inode | 76 | fs/ext/dir.c | while (filp->f_pos < inode->i_size) { |
inode | 78 | fs/ext/dir.c | bh = ext_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0); |
inode | 84 | fs/ext/dir.c | while (offset < 1024 && filp->f_pos < inode->i_size) { |
inode | 90 | fs/ext/dir.c | inode->i_dev, inode->i_ino, offset, de->rec_len, de->name_len); |
inode | 92 | fs/ext/dir.c | if (filp->f_pos > inode->i_size) |
inode | 93 | fs/ext/dir.c | filp->f_pos = inode->i_size; |
inode | 98 | fs/ext/dir.c | if (de->inode) { |
inode | 105 | fs/ext/dir.c | put_fs_long(de->inode,&dirent->d_ino); |
inode | 34 | fs/ext/file.c | static int ext_file_read(struct inode *, struct file *, char *, int); |
inode | 35 | fs/ext/file.c | static int ext_file_write(struct inode *, struct file *, char *, int); |
inode | 72 | fs/ext/file.c | static int ext_file_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 82 | fs/ext/file.c | if (!inode) { |
inode | 86 | fs/ext/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 87 | fs/ext/file.c | printk("ext_file_read: mode = %07o\n",inode->i_mode); |
inode | 91 | fs/ext/file.c | size = inode->i_size; |
inode | 107 | fs/ext/file.c | blocks += read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9); |
inode | 127 | fs/ext/file.c | *bhb = ext_getblk(inode, block++, 0); |
inode | 186 | fs/ext/file.c | if (!IS_RDONLY(inode)) { |
inode | 187 | fs/ext/file.c | inode->i_atime = CURRENT_TIME; |
inode | 188 | fs/ext/file.c | inode->i_dirt = 1; |
inode | 193 | fs/ext/file.c | static int ext_file_write(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 200 | fs/ext/file.c | if (!inode) { |
inode | 204 | fs/ext/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 205 | fs/ext/file.c | printk("ext_file_write: mode = %07o\n",inode->i_mode); |
inode | 213 | fs/ext/file.c | pos = inode->i_size; |
inode | 218 | fs/ext/file.c | bh = ext_getblk(inode,pos/BLOCK_SIZE,1); |
inode | 239 | fs/ext/file.c | if (pos > inode->i_size) { |
inode | 240 | fs/ext/file.c | inode->i_size = pos; |
inode | 241 | fs/ext/file.c | inode->i_dirt = 1; |
inode | 250 | fs/ext/file.c | inode->i_mtime = CURRENT_TIME; |
inode | 251 | fs/ext/file.c | inode->i_ctime = CURRENT_TIME; |
inode | 253 | fs/ext/file.c | inode->i_dirt = 1; |
inode | 181 | fs/ext/freelists.c | void ext_free_inode(struct inode * inode) |
inode | 187 | fs/ext/freelists.c | if (!inode) |
inode | 189 | fs/ext/freelists.c | if (!inode->i_dev) { |
inode | 193 | fs/ext/freelists.c | if (inode->i_count != 1) { |
inode | 194 | fs/ext/freelists.c | printk("free_inode: inode has count=%d\n",inode->i_count); |
inode | 197 | fs/ext/freelists.c | if (inode->i_nlink) { |
inode | 198 | fs/ext/freelists.c | printk("free_inode: inode has nlink=%d\n",inode->i_nlink); |
inode | 201 | fs/ext/freelists.c | if (!inode->i_sb) { |
inode | 205 | fs/ext/freelists.c | lock_super (inode->i_sb); |
inode | 206 | fs/ext/freelists.c | if (inode->i_ino < 1 || inode->i_ino > inode->i_sb->u.ext_sb.s_ninodes) { |
inode | 208 | fs/ext/freelists.c | unlock_super (inode->i_sb); |
inode | 211 | fs/ext/freelists.c | if (inode->i_sb->u.ext_sb.s_firstfreeinodeblock) |
inode | 212 | fs/ext/freelists.c | efi = ((struct ext_free_inode *) inode->i_sb->u.ext_sb.s_firstfreeinodeblock->b_data) + |
inode | 213 | fs/ext/freelists.c | (inode->i_sb->u.ext_sb.s_firstfreeinodenumber-1)%EXT_INODES_PER_BLOCK; |
inode | 214 | fs/ext/freelists.c | if (!inode->i_sb->u.ext_sb.s_firstfreeinodeblock || efi->count == 14) { |
inode | 216 | fs/ext/freelists.c | printk("ext_free_inode: inode full, skipping to %d\n", inode->i_ino); |
inode | 218 | fs/ext/freelists.c | if (inode->i_sb->u.ext_sb.s_firstfreeinodeblock) |
inode | 219 | fs/ext/freelists.c | brelse (inode->i_sb->u.ext_sb.s_firstfreeinodeblock); |
inode | 220 | fs/ext/freelists.c | block = 2 + (inode->i_ino - 1) / EXT_INODES_PER_BLOCK; |
inode | 221 | fs/ext/freelists.c | if (!(bh = bread(inode->i_dev, block, inode->i_sb->s_blocksize))) |
inode | 224 | fs/ext/freelists.c | (inode->i_ino - 1) % EXT_INODES_PER_BLOCK; |
inode | 225 | fs/ext/freelists.c | efi->next = inode->i_sb->u.ext_sb.s_firstfreeinodenumber; |
inode | 227 | fs/ext/freelists.c | inode->i_sb->u.ext_sb.s_firstfreeinodenumber = inode->i_ino; |
inode | 228 | fs/ext/freelists.c | inode->i_sb->u.ext_sb.s_firstfreeinodeblock = bh; |
inode | 230 | fs/ext/freelists.c | efi->free[efi->count++] = inode->i_ino; |
inode | 232 | fs/ext/freelists.c | inode->i_sb->u.ext_sb.s_freeinodescount ++; |
inode | 233 | fs/ext/freelists.c | inode->i_sb->s_dirt = 1; |
inode | 234 | fs/ext/freelists.c | inode->i_sb->u.ext_sb.s_firstfreeinodeblock->b_dirt = 1; |
inode | 235 | fs/ext/freelists.c | unlock_super (inode->i_sb); |
inode | 236 | fs/ext/freelists.c | clear_inode(inode); |
inode | 239 | fs/ext/freelists.c | struct inode * ext_new_inode(const struct inode * dir) |
inode | 242 | fs/ext/freelists.c | struct inode * inode; |
inode | 247 | fs/ext/freelists.c | if (!dir || !(inode=get_empty_inode())) |
inode | 250 | fs/ext/freelists.c | inode->i_sb = sb; |
inode | 251 | fs/ext/freelists.c | inode->i_flags = sb->s_flags; |
inode | 282 | fs/ext/freelists.c | inode->i_count = 1; |
inode | 283 | fs/ext/freelists.c | inode->i_nlink = 1; |
inode | 284 | fs/ext/freelists.c | inode->i_dev = sb->s_dev; |
inode | 285 | fs/ext/freelists.c | inode->i_uid = current->euid; |
inode | 286 | fs/ext/freelists.c | inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid; |
inode | 287 | fs/ext/freelists.c | inode->i_dirt = 1; |
inode | 288 | fs/ext/freelists.c | inode->i_ino = j; |
inode | 289 | fs/ext/freelists.c | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
inode | 290 | fs/ext/freelists.c | inode->i_op = NULL; |
inode | 291 | fs/ext/freelists.c | inode->i_blocks = inode->i_blksize = 0; |
inode | 293 | fs/ext/freelists.c | printk("ext_new_inode : allocating inode %d\n", inode->i_ino); |
inode | 296 | fs/ext/freelists.c | return inode; |
inode | 24 | fs/ext/inode.c | void ext_put_inode(struct inode *inode) |
inode | 26 | fs/ext/inode.c | if (inode->i_nlink) |
inode | 28 | fs/ext/inode.c | inode->i_size = 0; |
inode | 29 | fs/ext/inode.c | ext_truncate(inode); |
inode | 30 | fs/ext/inode.c | ext_free_inode(inode); |
inode | 161 | fs/ext/inode.c | #define inode_bmap(inode,nr) ((inode)->u.ext_i.i_data[(nr)]) |
inode | 174 | fs/ext/inode.c | int ext_bmap(struct inode * inode,int block) |
inode | 187 | fs/ext/inode.c | return inode_bmap(inode,block); |
inode | 190 | fs/ext/inode.c | i = inode_bmap(inode,9); |
inode | 193 | fs/ext/inode.c | return block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block); |
inode | 197 | fs/ext/inode.c | i = inode_bmap(inode,10); |
inode | 200 | fs/ext/inode.c | i = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>8); |
inode | 203 | fs/ext/inode.c | return block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 255); |
inode | 206 | fs/ext/inode.c | i = inode_bmap(inode,11); |
inode | 209 | fs/ext/inode.c | i = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>16); |
inode | 212 | fs/ext/inode.c | i = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),(block>>8) & 255); |
inode | 215 | fs/ext/inode.c | return block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 255); |
inode | 218 | fs/ext/inode.c | static struct buffer_head * inode_getblk(struct inode * inode, int nr, int create) |
inode | 224 | fs/ext/inode.c | p = inode->u.ext_i.i_data + nr; |
inode | 228 | fs/ext/inode.c | result = getblk(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 236 | fs/ext/inode.c | tmp = ext_new_block(inode->i_sb); |
inode | 239 | fs/ext/inode.c | result = getblk(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 241 | fs/ext/inode.c | ext_free_block(inode->i_sb,tmp); |
inode | 246 | fs/ext/inode.c | inode->i_ctime = CURRENT_TIME; |
inode | 247 | fs/ext/inode.c | inode->i_dirt = 1; |
inode | 251 | fs/ext/inode.c | static struct buffer_head * block_getblk(struct inode * inode, |
inode | 284 | fs/ext/inode.c | tmp = ext_new_block(inode->i_sb); |
inode | 291 | fs/ext/inode.c | ext_free_block(inode->i_sb,tmp); |
inode | 301 | fs/ext/inode.c | struct buffer_head * ext_getblk(struct inode * inode, int block, int create) |
inode | 314 | fs/ext/inode.c | return inode_getblk(inode,block,create); |
inode | 317 | fs/ext/inode.c | bh = inode_getblk(inode,9,create); |
inode | 318 | fs/ext/inode.c | return block_getblk(inode,bh,block,create); |
inode | 322 | fs/ext/inode.c | bh = inode_getblk(inode,10,create); |
inode | 323 | fs/ext/inode.c | bh = block_getblk(inode,bh,block>>8,create); |
inode | 324 | fs/ext/inode.c | return block_getblk(inode,bh,block & 255,create); |
inode | 327 | fs/ext/inode.c | bh = inode_getblk(inode,11,create); |
inode | 328 | fs/ext/inode.c | bh = block_getblk(inode,bh,block>>16,create); |
inode | 329 | fs/ext/inode.c | bh = block_getblk(inode,bh,(block>>8) & 255,create); |
inode | 330 | fs/ext/inode.c | return block_getblk(inode,bh,block & 255,create); |
inode | 333 | fs/ext/inode.c | struct buffer_head * ext_bread(struct inode * inode, int block, int create) |
inode | 337 | fs/ext/inode.c | bh = ext_getblk(inode,block,create); |
inode | 348 | fs/ext/inode.c | void ext_read_inode(struct inode * inode) |
inode | 354 | fs/ext/inode.c | block = 2 + (inode->i_ino-1)/EXT_INODES_PER_BLOCK; |
inode | 355 | fs/ext/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) |
inode | 358 | fs/ext/inode.c | (inode->i_ino-1)%EXT_INODES_PER_BLOCK; |
inode | 359 | fs/ext/inode.c | inode->i_mode = raw_inode->i_mode; |
inode | 360 | fs/ext/inode.c | inode->i_uid = raw_inode->i_uid; |
inode | 361 | fs/ext/inode.c | inode->i_gid = raw_inode->i_gid; |
inode | 362 | fs/ext/inode.c | inode->i_nlink = raw_inode->i_nlinks; |
inode | 363 | fs/ext/inode.c | inode->i_size = raw_inode->i_size; |
inode | 364 | fs/ext/inode.c | inode->i_mtime = inode->i_atime = inode->i_ctime = raw_inode->i_time; |
inode | 365 | fs/ext/inode.c | inode->i_blocks = inode->i_blksize = 0; |
inode | 366 | fs/ext/inode.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
inode | 367 | fs/ext/inode.c | inode->i_rdev = raw_inode->i_zone[0]; |
inode | 369 | fs/ext/inode.c | inode->u.ext_i.i_data[block] = raw_inode->i_zone[block]; |
inode | 371 | fs/ext/inode.c | inode->i_op = NULL; |
inode | 372 | fs/ext/inode.c | if (S_ISREG(inode->i_mode)) |
inode | 373 | fs/ext/inode.c | inode->i_op = &ext_file_inode_operations; |
inode | 374 | fs/ext/inode.c | else if (S_ISDIR(inode->i_mode)) |
inode | 375 | fs/ext/inode.c | inode->i_op = &ext_dir_inode_operations; |
inode | 376 | fs/ext/inode.c | else if (S_ISLNK(inode->i_mode)) |
inode | 377 | fs/ext/inode.c | inode->i_op = &ext_symlink_inode_operations; |
inode | 378 | fs/ext/inode.c | else if (S_ISCHR(inode->i_mode)) |
inode | 379 | fs/ext/inode.c | inode->i_op = &chrdev_inode_operations; |
inode | 380 | fs/ext/inode.c | else if (S_ISBLK(inode->i_mode)) |
inode | 381 | fs/ext/inode.c | inode->i_op = &blkdev_inode_operations; |
inode | 382 | fs/ext/inode.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 383 | fs/ext/inode.c | init_fifo(inode); |
inode | 386 | fs/ext/inode.c | void ext_write_inode(struct inode * inode) |
inode | 392 | fs/ext/inode.c | block = 2 + (inode->i_ino-1)/EXT_INODES_PER_BLOCK; |
inode | 393 | fs/ext/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) |
inode | 396 | fs/ext/inode.c | (inode->i_ino-1)%EXT_INODES_PER_BLOCK; |
inode | 397 | fs/ext/inode.c | raw_inode->i_mode = inode->i_mode; |
inode | 398 | fs/ext/inode.c | raw_inode->i_uid = inode->i_uid; |
inode | 399 | fs/ext/inode.c | raw_inode->i_gid = inode->i_gid; |
inode | 400 | fs/ext/inode.c | raw_inode->i_nlinks = inode->i_nlink; |
inode | 401 | fs/ext/inode.c | raw_inode->i_size = inode->i_size; |
inode | 402 | fs/ext/inode.c | raw_inode->i_time = inode->i_mtime; |
inode | 403 | fs/ext/inode.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
inode | 404 | fs/ext/inode.c | raw_inode->i_zone[0] = inode->i_rdev; |
inode | 406 | fs/ext/inode.c | raw_inode->i_zone[block] = inode->u.ext_i.i_data[block]; |
inode | 408 | fs/ext/inode.c | inode->i_dirt=0; |
inode | 60 | fs/ext/namei.c | if (!de || !de->inode || len > EXT_NAME_LEN) |
inode | 87 | fs/ext/namei.c | static struct buffer_head * ext_find_entry(struct inode * dir, |
inode | 157 | fs/ext/namei.c | int ext_lookup(struct inode * dir,const char * name, int len, |
inode | 158 | fs/ext/namei.c | struct inode ** result) |
inode | 175 | fs/ext/namei.c | ino = de->inode; |
inode | 195 | fs/ext/namei.c | static struct buffer_head * ext_add_entry(struct inode * dir, |
inode | 242 | fs/ext/namei.c | de->inode = 0; |
inode | 263 | fs/ext/namei.c | de->inode=0; |
inode | 278 | fs/ext/namei.c | if (!de->inode && de->rec_len >= rec_len) { |
inode | 286 | fs/ext/namei.c | de1->inode = 0; |
inode | 306 | fs/ext/namei.c | int ext_create(struct inode * dir,const char * name, int len, int mode, |
inode | 307 | fs/ext/namei.c | struct inode ** result) |
inode | 309 | fs/ext/namei.c | struct inode * inode; |
inode | 316 | fs/ext/namei.c | inode = ext_new_inode(dir); |
inode | 317 | fs/ext/namei.c | if (!inode) { |
inode | 321 | fs/ext/namei.c | inode->i_op = &ext_file_inode_operations; |
inode | 322 | fs/ext/namei.c | inode->i_mode = mode; |
inode | 323 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 326 | fs/ext/namei.c | inode->i_nlink--; |
inode | 327 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 328 | fs/ext/namei.c | iput(inode); |
inode | 332 | fs/ext/namei.c | de->inode = inode->i_ino; |
inode | 336 | fs/ext/namei.c | *result = inode; |
inode | 340 | fs/ext/namei.c | int ext_mknod(struct inode * dir, const char * name, int len, int mode, int rdev) |
inode | 342 | fs/ext/namei.c | struct inode * inode; |
inode | 354 | fs/ext/namei.c | inode = ext_new_inode(dir); |
inode | 355 | fs/ext/namei.c | if (!inode) { |
inode | 359 | fs/ext/namei.c | inode->i_uid = current->euid; |
inode | 360 | fs/ext/namei.c | inode->i_mode = mode; |
inode | 361 | fs/ext/namei.c | inode->i_op = NULL; |
inode | 362 | fs/ext/namei.c | if (S_ISREG(inode->i_mode)) |
inode | 363 | fs/ext/namei.c | inode->i_op = &ext_file_inode_operations; |
inode | 364 | fs/ext/namei.c | else if (S_ISDIR(inode->i_mode)) { |
inode | 365 | fs/ext/namei.c | inode->i_op = &ext_dir_inode_operations; |
inode | 367 | fs/ext/namei.c | inode->i_mode |= S_ISGID; |
inode | 369 | fs/ext/namei.c | else if (S_ISLNK(inode->i_mode)) |
inode | 370 | fs/ext/namei.c | inode->i_op = &ext_symlink_inode_operations; |
inode | 371 | fs/ext/namei.c | else if (S_ISCHR(inode->i_mode)) |
inode | 372 | fs/ext/namei.c | inode->i_op = &chrdev_inode_operations; |
inode | 373 | fs/ext/namei.c | else if (S_ISBLK(inode->i_mode)) |
inode | 374 | fs/ext/namei.c | inode->i_op = &blkdev_inode_operations; |
inode | 375 | fs/ext/namei.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 376 | fs/ext/namei.c | init_fifo(inode); |
inode | 378 | fs/ext/namei.c | inode->i_rdev = rdev; |
inode | 379 | fs/ext/namei.c | inode->i_mtime = inode->i_atime = CURRENT_TIME; |
inode | 380 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 383 | fs/ext/namei.c | inode->i_nlink--; |
inode | 384 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 385 | fs/ext/namei.c | iput(inode); |
inode | 389 | fs/ext/namei.c | de->inode = inode->i_ino; |
inode | 393 | fs/ext/namei.c | iput(inode); |
inode | 397 | fs/ext/namei.c | int ext_mkdir(struct inode * dir, const char * name, int len, int mode) |
inode | 399 | fs/ext/namei.c | struct inode * inode; |
inode | 409 | fs/ext/namei.c | inode = ext_new_inode(dir); |
inode | 410 | fs/ext/namei.c | if (!inode) { |
inode | 414 | fs/ext/namei.c | inode->i_op = &ext_dir_inode_operations; |
inode | 415 | fs/ext/namei.c | inode->i_size = 2 * 16; /* Each entry is coded on 16 bytes for "." and ".." |
inode | 420 | fs/ext/namei.c | inode->i_mtime = inode->i_atime = CURRENT_TIME; |
inode | 421 | fs/ext/namei.c | dir_block = ext_bread(inode,0,1); |
inode | 424 | fs/ext/namei.c | inode->i_nlink--; |
inode | 425 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 426 | fs/ext/namei.c | iput(inode); |
inode | 430 | fs/ext/namei.c | de->inode=inode->i_ino; |
inode | 435 | fs/ext/namei.c | de->inode = dir->i_ino; |
inode | 439 | fs/ext/namei.c | inode->i_nlink = 2; |
inode | 442 | fs/ext/namei.c | inode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask); |
inode | 444 | fs/ext/namei.c | inode->i_mode |= S_ISGID; |
inode | 445 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 449 | fs/ext/namei.c | inode->i_nlink=0; |
inode | 450 | fs/ext/namei.c | iput(inode); |
inode | 453 | fs/ext/namei.c | de->inode = inode->i_ino; |
inode | 458 | fs/ext/namei.c | iput(inode); |
inode | 466 | fs/ext/namei.c | static int empty_dir(struct inode * inode) |
inode | 472 | fs/ext/namei.c | if (inode->i_size < 2 * 12 || !(bh = ext_bread(inode,0,0))) { |
inode | 473 | fs/ext/namei.c | printk("warning - bad directory on dev %04x\n",inode->i_dev); |
inode | 478 | fs/ext/namei.c | if (de->inode != inode->i_ino || !de1->inode || |
inode | 480 | fs/ext/namei.c | printk("warning - bad directory on dev %04x\n",inode->i_dev); |
inode | 485 | fs/ext/namei.c | while (offset < inode->i_size ) { |
inode | 488 | fs/ext/namei.c | bh = ext_bread(inode, offset >> BLOCK_SIZE_BITS,1); |
inode | 499 | fs/ext/namei.c | inode->i_dev, inode->i_ino, offset, de->rec_len, de->name_len); |
inode | 503 | fs/ext/namei.c | if (de->inode) { |
inode | 517 | fs/ext/namei.c | if (nde && !nde->inode) |
inode | 519 | fs/ext/namei.c | if (pde && !pde->inode) |
inode | 523 | fs/ext/namei.c | int ext_rmdir(struct inode * dir, const char * name, int len) |
inode | 526 | fs/ext/namei.c | struct inode * inode; |
inode | 530 | fs/ext/namei.c | inode = NULL; |
inode | 536 | fs/ext/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
inode | 539 | fs/ext/namei.c | inode->i_uid != current->euid) |
inode | 541 | fs/ext/namei.c | if (inode->i_dev != dir->i_dev) |
inode | 543 | fs/ext/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
inode | 545 | fs/ext/namei.c | if (!S_ISDIR(inode->i_mode)) { |
inode | 549 | fs/ext/namei.c | if (!empty_dir(inode)) { |
inode | 553 | fs/ext/namei.c | if (inode->i_count > 1) { |
inode | 557 | fs/ext/namei.c | if (inode->i_nlink != 2) |
inode | 558 | fs/ext/namei.c | printk("empty directory has nlink!=2 (%d)\n",inode->i_nlink); |
inode | 559 | fs/ext/namei.c | de->inode = 0; |
inode | 563 | fs/ext/namei.c | inode->i_nlink=0; |
inode | 564 | fs/ext/namei.c | inode->i_dirt=1; |
inode | 571 | fs/ext/namei.c | iput(inode); |
inode | 576 | fs/ext/namei.c | int ext_unlink(struct inode * dir, const char * name, int len) |
inode | 579 | fs/ext/namei.c | struct inode * inode; |
inode | 584 | fs/ext/namei.c | inode = NULL; |
inode | 588 | fs/ext/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
inode | 592 | fs/ext/namei.c | current->euid != inode->i_uid && |
inode | 595 | fs/ext/namei.c | if (S_ISDIR(inode->i_mode)) |
inode | 597 | fs/ext/namei.c | if (!inode->i_nlink) { |
inode | 599 | fs/ext/namei.c | inode->i_dev,inode->i_ino,inode->i_nlink); |
inode | 600 | fs/ext/namei.c | inode->i_nlink=1; |
inode | 602 | fs/ext/namei.c | de->inode = 0; |
inode | 606 | fs/ext/namei.c | inode->i_nlink--; |
inode | 607 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 608 | fs/ext/namei.c | inode->i_ctime = CURRENT_TIME; |
inode | 614 | fs/ext/namei.c | iput(inode); |
inode | 619 | fs/ext/namei.c | int ext_symlink(struct inode * dir, const char * name, int len, const char * symname) |
inode | 622 | fs/ext/namei.c | struct inode * inode = NULL; |
inode | 627 | fs/ext/namei.c | if (!(inode = ext_new_inode(dir))) { |
inode | 631 | fs/ext/namei.c | inode->i_mode = S_IFLNK | 0777; |
inode | 632 | fs/ext/namei.c | inode->i_op = &ext_symlink_inode_operations; |
inode | 633 | fs/ext/namei.c | name_block = ext_bread(inode,0,1); |
inode | 636 | fs/ext/namei.c | inode->i_nlink--; |
inode | 637 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 638 | fs/ext/namei.c | iput(inode); |
inode | 647 | fs/ext/namei.c | inode->i_size = i; |
inode | 648 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 651 | fs/ext/namei.c | inode->i_nlink--; |
inode | 652 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 653 | fs/ext/namei.c | iput(inode); |
inode | 660 | fs/ext/namei.c | inode->i_nlink--; |
inode | 661 | fs/ext/namei.c | inode->i_dirt = 1; |
inode | 662 | fs/ext/namei.c | iput(inode); |
inode | 666 | fs/ext/namei.c | de->inode = inode->i_ino; |
inode | 670 | fs/ext/namei.c | iput(inode); |
inode | 674 | fs/ext/namei.c | int ext_link(struct inode * oldinode, struct inode * dir, const char * name, int len) |
inode | 702 | fs/ext/namei.c | de->inode = oldinode->i_ino; |
inode | 713 | fs/ext/namei.c | static int subdir(struct inode * new, struct inode * old) |
inode | 739 | fs/ext/namei.c | ((struct ext_dir_entry *) buffer)->rec_len))->inode |
inode | 755 | fs/ext/namei.c | static int do_ext_rename(struct inode * old_dir, const char * old_name, int old_len, |
inode | 756 | fs/ext/namei.c | struct inode * new_dir, const char * new_name, int new_len) |
inode | 758 | fs/ext/namei.c | struct inode * old_inode, * new_inode; |
inode | 779 | fs/ext/namei.c | old_inode = iget(old_dir->i_sb, old_de->inode); |
inode | 789 | fs/ext/namei.c | new_inode = iget(new_dir->i_sb, new_de->inode); |
inode | 831 | fs/ext/namei.c | if (new_inode && (new_de->inode != new_inode->i_ino)) |
inode | 833 | fs/ext/namei.c | if (new_de->inode && !new_inode) |
inode | 835 | fs/ext/namei.c | if (old_de->inode != old_inode->i_ino) |
inode | 838 | fs/ext/namei.c | old_de->inode = 0; |
inode | 840 | fs/ext/namei.c | new_de->inode = old_inode->i_ino; |
inode | 877 | fs/ext/namei.c | int ext_rename(struct inode * old_dir, const char * old_name, int old_len, |
inode | 878 | fs/ext/namei.c | struct inode * new_dir, const char * new_name, int new_len) |
inode | 23 | fs/ext/symlink.c | static int ext_readlink(struct inode *, char *, int); |
inode | 24 | fs/ext/symlink.c | static int ext_follow_link(struct inode *, struct inode *, int, int, struct inode **); |
inode | 47 | fs/ext/symlink.c | static int ext_follow_link(struct inode * dir, struct inode * inode, |
inode | 48 | fs/ext/symlink.c | int flag, int mode, struct inode ** res_inode) |
inode | 58 | fs/ext/symlink.c | if (!inode) { |
inode | 62 | fs/ext/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 64 | fs/ext/symlink.c | *res_inode = inode; |
inode | 69 | fs/ext/symlink.c | iput(inode); |
inode | 72 | fs/ext/symlink.c | if (!(bh = ext_bread(inode, 0, 0))) { |
inode | 73 | fs/ext/symlink.c | iput(inode); |
inode | 77 | fs/ext/symlink.c | iput(inode); |
inode | 85 | fs/ext/symlink.c | static int ext_readlink(struct inode * inode, char * buffer, int buflen) |
inode | 91 | fs/ext/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 92 | fs/ext/symlink.c | iput(inode); |
inode | 97 | fs/ext/symlink.c | bh = ext_bread(inode, 0, 0); |
inode | 98 | fs/ext/symlink.c | iput(inode); |
inode | 33 | fs/ext/truncate.c | static int trunc_direct(struct inode * inode) |
inode | 39 | fs/ext/truncate.c | #define DIRECT_BLOCK ((inode->i_size + 1023) >> 10) |
inode | 43 | fs/ext/truncate.c | p = inode->u.ext_i.i_data+i; |
inode | 46 | fs/ext/truncate.c | bh = getblk(inode->i_dev,tmp,BLOCK_SIZE); |
inode | 57 | fs/ext/truncate.c | inode->i_dirt = 1; |
inode | 59 | fs/ext/truncate.c | ext_free_block(inode->i_sb,tmp); |
inode | 64 | fs/ext/truncate.c | static int trunc_indirect(struct inode * inode, int offset, unsigned long * p) |
inode | 76 | fs/ext/truncate.c | ind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 95 | fs/ext/truncate.c | bh = getblk(inode->i_dev,tmp,BLOCK_SIZE); |
inode | 108 | fs/ext/truncate.c | ext_free_block(inode->i_sb,tmp); |
inode | 120 | fs/ext/truncate.c | inode->i_dirt = 1; |
inode | 121 | fs/ext/truncate.c | ext_free_block(inode->i_sb,tmp); |
inode | 127 | fs/ext/truncate.c | static int trunc_dindirect(struct inode * inode, int offset, unsigned long * p) |
inode | 138 | fs/ext/truncate.c | dind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 157 | fs/ext/truncate.c | retry |= trunc_indirect(inode,offset+(i<<8),dind); |
inode | 170 | fs/ext/truncate.c | inode->i_dirt = 1; |
inode | 171 | fs/ext/truncate.c | ext_free_block(inode->i_sb,tmp); |
inode | 177 | fs/ext/truncate.c | static int trunc_tindirect(struct inode * inode) |
inode | 185 | fs/ext/truncate.c | p = inode->u.ext_i.i_data+11; |
inode | 188 | fs/ext/truncate.c | tind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 204 | fs/ext/truncate.c | retry |= trunc_dindirect(inode,9+256+256*256+(i<<16),tind); |
inode | 217 | fs/ext/truncate.c | inode->i_dirt = 1; |
inode | 218 | fs/ext/truncate.c | ext_free_block(inode->i_sb,tmp); |
inode | 224 | fs/ext/truncate.c | void ext_truncate(struct inode * inode) |
inode | 228 | fs/ext/truncate.c | if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || |
inode | 229 | fs/ext/truncate.c | S_ISLNK(inode->i_mode))) |
inode | 232 | fs/ext/truncate.c | retry = trunc_direct(inode); |
inode | 233 | fs/ext/truncate.c | retry |= trunc_indirect(inode,9,inode->u.ext_i.i_data+9); |
inode | 234 | fs/ext/truncate.c | retry |= trunc_dindirect(inode,9+256,inode->u.ext_i.i_data+10); |
inode | 235 | fs/ext/truncate.c | retry |= trunc_tindirect(inode); |
inode | 241 | fs/ext/truncate.c | inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
inode | 242 | fs/ext/truncate.c | inode->i_dirt = 1; |
inode | 250 | fs/ext/truncate.c | void ext_release(struct inode * inode, struct file * filp) |
inode | 21 | fs/ext2/acl.c | int ext2_permission (struct inode * inode, int mask) |
inode | 23 | fs/ext2/acl.c | int mode = inode->i_mode; |
inode | 29 | fs/ext2/acl.c | else if (current->euid == inode->i_uid) |
inode | 31 | fs/ext2/acl.c | else if (in_group_p (inode->i_gid)) |
inode | 24 | fs/ext2/dir.c | static int ext2_dir_read (struct inode * inode, struct file * filp, |
inode | 31 | fs/ext2/dir.c | /* static */ int ext2_file_read (struct inode *, struct file *, char *, int); |
inode | 32 | fs/ext2/dir.c | static int ext2_readdir (struct inode *, struct file *, struct dirent *, int); |
inode | 68 | fs/ext2/dir.c | int ext2_check_dir_entry (char * function, struct inode * dir, |
inode | 88 | fs/ext2/dir.c | offset, de->inode, de->rec_len, de->name_len); |
inode | 93 | fs/ext2/dir.c | static int ext2_readdir (struct inode * inode, struct file * filp, |
inode | 101 | fs/ext2/dir.c | if (!inode || !S_ISDIR(inode->i_mode)) |
inode | 103 | fs/ext2/dir.c | sb = inode->i_sb; |
inode | 104 | fs/ext2/dir.c | while (filp->f_pos < inode->i_size) { |
inode | 106 | fs/ext2/dir.c | bh = ext2_bread (inode, (filp->f_pos) >> EXT2_BLOCK_SIZE_BITS(sb), 0, &err); |
inode | 112 | fs/ext2/dir.c | while (offset < sb->s_blocksize && filp->f_pos < inode->i_size) { |
inode | 113 | fs/ext2/dir.c | if (! ext2_check_dir_entry ("ext2_readdir", inode, de, |
inode | 120 | fs/ext2/dir.c | if (de->inode) { |
inode | 123 | fs/ext2/dir.c | put_fs_long (de->inode, &dirent->d_ino); |
inode | 127 | fs/ext2/dir.c | ext2_dcache_add (inode->i_dev, inode->i_ino, |
inode | 129 | fs/ext2/dir.c | de->inode); |
inode | 34 | fs/ext2/file.c | /* static */ int ext2_file_read (struct inode *, struct file *, char *, int); |
inode | 35 | fs/ext2/file.c | static int ext2_file_write (struct inode *, struct file *, char *, int); |
inode | 72 | fs/ext2/file.c | /* static */ int ext2_file_read (struct inode * inode, struct file * filp, |
inode | 84 | fs/ext2/file.c | if (!inode) { |
inode | 88 | fs/ext2/file.c | sb = inode->i_sb; |
inode | 89 | fs/ext2/file.c | if (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode)) { |
inode | 90 | fs/ext2/file.c | printk ("ext2_file_read: mode = %07o\n", inode->i_mode); |
inode | 94 | fs/ext2/file.c | size = inode->i_size; |
inode | 110 | fs/ext2/file.c | blocks += read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9); |
inode | 130 | fs/ext2/file.c | *bhb = ext2_getblk (inode, block++, 0, &err); |
inode | 191 | fs/ext2/file.c | if (!IS_RDONLY(inode)) { |
inode | 192 | fs/ext2/file.c | inode->i_atime = CURRENT_TIME; |
inode | 193 | fs/ext2/file.c | inode->i_dirt = 1; |
inode | 198 | fs/ext2/file.c | static int ext2_file_write (struct inode * inode, struct file * filp, |
inode | 208 | fs/ext2/file.c | if (!inode) { |
inode | 212 | fs/ext2/file.c | sb = inode->i_sb; |
inode | 213 | fs/ext2/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 214 | fs/ext2/file.c | printk ("ext2_file_write: mode = %07o\n", inode->i_mode); |
inode | 222 | fs/ext2/file.c | pos = inode->i_size; |
inode | 227 | fs/ext2/file.c | bh = ext2_getblk (inode, pos / sb->s_blocksize, 1, &err); |
inode | 251 | fs/ext2/file.c | if (pos > inode->i_size) { |
inode | 252 | fs/ext2/file.c | inode->i_size = pos; |
inode | 253 | fs/ext2/file.c | inode->i_dirt = 1; |
inode | 262 | fs/ext2/file.c | inode->i_mtime = CURRENT_TIME; |
inode | 263 | fs/ext2/file.c | inode->i_ctime = CURRENT_TIME; |
inode | 265 | fs/ext2/file.c | inode->i_dirt = 1; |
inode | 162 | fs/ext2/ialloc.c | static void set_inode_dtime (struct inode * inode, |
inode | 169 | fs/ext2/ialloc.c | inode_block = gdp[desc].bg_inode_table + (((inode->i_ino - 1) % |
inode | 170 | fs/ext2/ialloc.c | EXT2_INODES_PER_GROUP(inode->i_sb)) / |
inode | 171 | fs/ext2/ialloc.c | EXT2_INODES_PER_BLOCK(inode->i_sb)); |
inode | 172 | fs/ext2/ialloc.c | bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize); |
inode | 174 | fs/ext2/ialloc.c | printk ("inode=%d, inode_block=%d\n", inode->i_ino, inode_block); |
inode | 178 | fs/ext2/ialloc.c | (((inode->i_ino - 1) % |
inode | 179 | fs/ext2/ialloc.c | EXT2_INODES_PER_GROUP(inode->i_sb)) % |
inode | 180 | fs/ext2/ialloc.c | EXT2_INODES_PER_BLOCK(inode->i_sb)); |
inode | 186 | fs/ext2/ialloc.c | void ext2_free_inode (struct inode * inode) |
inode | 199 | fs/ext2/ialloc.c | if (!inode) |
inode | 201 | fs/ext2/ialloc.c | if (!inode->i_dev) { |
inode | 205 | fs/ext2/ialloc.c | if (inode->i_count > 1) { |
inode | 207 | fs/ext2/ialloc.c | inode->i_count); |
inode | 210 | fs/ext2/ialloc.c | if (inode->i_nlink) { |
inode | 212 | fs/ext2/ialloc.c | inode->i_nlink); |
inode | 215 | fs/ext2/ialloc.c | if (!inode->i_sb) { |
inode | 220 | fs/ext2/ialloc.c | printk ("ext2_free_inode: freeing inode %d\n", inode->i_ino); |
inode | 222 | fs/ext2/ialloc.c | sb = inode->i_sb; |
inode | 224 | fs/ext2/ialloc.c | if (inode->i_ino < 1 || inode->i_ino > sb->u.ext2_sb.s_inodes_count) { |
inode | 230 | fs/ext2/ialloc.c | block_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(sb); |
inode | 231 | fs/ext2/ialloc.c | bit = (inode->i_ino - 1) % EXT2_INODES_PER_GROUP(sb); |
inode | 240 | fs/ext2/ialloc.c | sb->s_dev, inode->i_ino); |
inode | 251 | fs/ext2/ialloc.c | if (S_ISDIR(inode->i_mode)) |
inode | 254 | fs/ext2/ialloc.c | set_inode_dtime (inode, gdp, desc); |
inode | 261 | fs/ext2/ialloc.c | clear_inode (inode); |
inode | 269 | fs/ext2/ialloc.c | static void inc_inode_version (struct inode * inode, |
inode | 277 | fs/ext2/ialloc.c | inode_block = gdp->bg_inode_table + (((inode->i_ino - 1) % |
inode | 278 | fs/ext2/ialloc.c | EXT2_INODES_PER_GROUP(inode->i_sb)) / |
inode | 279 | fs/ext2/ialloc.c | EXT2_INODES_PER_BLOCK(inode->i_sb)); |
inode | 280 | fs/ext2/ialloc.c | bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize); |
inode | 283 | fs/ext2/ialloc.c | inode->i_ino, inode_block); |
inode | 285 | fs/ext2/ialloc.c | inode->u.ext2_i.i_version = 1; |
inode | 289 | fs/ext2/ialloc.c | (((inode->i_ino - 1) % |
inode | 290 | fs/ext2/ialloc.c | EXT2_INODES_PER_GROUP(inode->i_sb)) % |
inode | 291 | fs/ext2/ialloc.c | EXT2_INODES_PER_BLOCK(inode->i_sb)); |
inode | 293 | fs/ext2/ialloc.c | inode->u.ext2_i.i_version = raw_inode->i_version; |
inode | 322 | fs/ext2/ialloc.c | struct inode * ext2_new_inode (const struct inode * dir, int mode) |
inode | 327 | fs/ext2/ialloc.c | struct inode * inode; |
inode | 332 | fs/ext2/ialloc.c | if (!dir || !(inode = get_empty_inode ())) |
inode | 335 | fs/ext2/ialloc.c | inode->i_sb = sb; |
inode | 336 | fs/ext2/ialloc.c | inode->i_flags = sb->s_flags; |
inode | 439 | fs/ext2/ialloc.c | inode->i_sb = sb; |
inode | 440 | fs/ext2/ialloc.c | inode->i_count = 1; |
inode | 441 | fs/ext2/ialloc.c | inode->i_nlink = 1; |
inode | 442 | fs/ext2/ialloc.c | inode->i_dev = sb->s_dev; |
inode | 443 | fs/ext2/ialloc.c | inode->i_uid = current->euid; |
inode | 444 | fs/ext2/ialloc.c | inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid; |
inode | 445 | fs/ext2/ialloc.c | inode->i_dirt = 1; |
inode | 446 | fs/ext2/ialloc.c | inode->i_ino = j; |
inode | 447 | fs/ext2/ialloc.c | inode->i_blksize = sb->s_blocksize; |
inode | 448 | fs/ext2/ialloc.c | inode->i_blocks = 0; |
inode | 449 | fs/ext2/ialloc.c | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
inode | 450 | fs/ext2/ialloc.c | inode->u.ext2_i.i_flags = 0; |
inode | 451 | fs/ext2/ialloc.c | inode->u.ext2_i.i_faddr = 0; |
inode | 452 | fs/ext2/ialloc.c | inode->u.ext2_i.i_frag = 0; |
inode | 453 | fs/ext2/ialloc.c | inode->u.ext2_i.i_fsize = 0; |
inode | 454 | fs/ext2/ialloc.c | inode->u.ext2_i.i_file_acl = 0; |
inode | 455 | fs/ext2/ialloc.c | inode->u.ext2_i.i_dir_acl = 0; |
inode | 456 | fs/ext2/ialloc.c | inode->u.ext2_i.i_dtime = 0; |
inode | 457 | fs/ext2/ialloc.c | inode->u.ext2_i.i_block_group = i; |
inode | 458 | fs/ext2/ialloc.c | inode->i_op = NULL; |
inode | 459 | fs/ext2/ialloc.c | inc_inode_version (inode, gdp, mode); |
inode | 461 | fs/ext2/ialloc.c | printk ("ext2_new_inode : allocating inode %d\n", inode->i_ino); |
inode | 464 | fs/ext2/ialloc.c | return inode; |
inode | 27 | fs/ext2/inode.c | void ext2_put_inode (struct inode * inode) |
inode | 29 | fs/ext2/inode.c | if (inode->i_nlink || inode->i_ino == EXT2_ACL_INO) |
inode | 31 | fs/ext2/inode.c | inode->i_size = 0; |
inode | 32 | fs/ext2/inode.c | if (inode->i_blocks) |
inode | 33 | fs/ext2/inode.c | ext2_truncate (inode); |
inode | 34 | fs/ext2/inode.c | ext2_free_inode (inode); |
inode | 357 | fs/ext2/inode.c | #define inode_bmap(inode, nr) ((inode)->u.ext2_i.i_data[(nr)]) |
inode | 370 | fs/ext2/inode.c | int ext2_bmap (struct inode * inode, int block) |
inode | 373 | fs/ext2/inode.c | int addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb); |
inode | 386 | fs/ext2/inode.c | return inode_bmap (inode, block); |
inode | 389 | fs/ext2/inode.c | i = inode_bmap (inode, EXT2_IND_BLOCK); |
inode | 392 | fs/ext2/inode.c | return block_bmap (bread (inode->i_dev, i, |
inode | 393 | fs/ext2/inode.c | inode->i_sb->s_blocksize), block); |
inode | 397 | fs/ext2/inode.c | i = inode_bmap (inode, EXT2_DIND_BLOCK); |
inode | 400 | fs/ext2/inode.c | i = block_bmap (bread (inode->i_dev, i, |
inode | 401 | fs/ext2/inode.c | inode->i_sb->s_blocksize), |
inode | 405 | fs/ext2/inode.c | return block_bmap (bread (inode->i_dev, i, |
inode | 406 | fs/ext2/inode.c | inode->i_sb->s_blocksize), |
inode | 410 | fs/ext2/inode.c | i = inode_bmap (inode, EXT2_TIND_BLOCK); |
inode | 413 | fs/ext2/inode.c | i = block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize), |
inode | 417 | fs/ext2/inode.c | i = block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize), |
inode | 421 | fs/ext2/inode.c | return block_bmap (bread (inode->i_dev, i, inode->i_sb->s_blocksize), |
inode | 425 | fs/ext2/inode.c | static struct buffer_head * inode_getblk (struct inode * inode, int nr, |
inode | 431 | fs/ext2/inode.c | int blocks = inode->i_sb->s_blocksize / 512; |
inode | 433 | fs/ext2/inode.c | p = inode->u.ext2_i.i_data + nr; |
inode | 437 | fs/ext2/inode.c | result = getblk (inode->i_dev, tmp, inode->i_sb->s_blocksize); |
inode | 445 | fs/ext2/inode.c | EXT2_BLOCK_SIZE_BITS(inode->i_sb))) { |
inode | 449 | fs/ext2/inode.c | if (inode->u.ext2_i.i_next_alloc_block == new_block) |
inode | 450 | fs/ext2/inode.c | goal = inode->u.ext2_i.i_next_alloc_goal; |
inode | 456 | fs/ext2/inode.c | if (inode->u.ext2_i.i_data[tmp]) { |
inode | 457 | fs/ext2/inode.c | goal = inode->u.ext2_i.i_data[tmp]; |
inode | 462 | fs/ext2/inode.c | goal = (inode->u.ext2_i.i_block_group * |
inode | 463 | fs/ext2/inode.c | EXT2_BLOCKS_PER_GROUP(inode->i_sb)) |
inode | 464 | fs/ext2/inode.c | + inode->i_sb->u.ext2_sb.s_first_data_block; |
inode | 470 | fs/ext2/inode.c | tmp = ext2_new_block (inode->i_sb, goal); |
inode | 473 | fs/ext2/inode.c | result = getblk (inode->i_dev, tmp, inode->i_sb->s_blocksize); |
inode | 475 | fs/ext2/inode.c | ext2_free_block (inode->i_sb, tmp); |
inode | 480 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_block = new_block; |
inode | 481 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_goal = tmp; |
inode | 482 | fs/ext2/inode.c | inode->i_ctime = CURRENT_TIME; |
inode | 483 | fs/ext2/inode.c | inode->i_blocks += blocks; |
inode | 484 | fs/ext2/inode.c | inode->i_dirt = 1; |
inode | 488 | fs/ext2/inode.c | static struct buffer_head * block_getblk (struct inode * inode, |
inode | 496 | fs/ext2/inode.c | int blocks = inode->i_sb->s_blocksize / 512; |
inode | 522 | fs/ext2/inode.c | EXT2_BLOCK_SIZE_BITS(inode->i_sb))) { |
inode | 527 | fs/ext2/inode.c | if (inode->u.ext2_i.i_next_alloc_block == new_block) |
inode | 528 | fs/ext2/inode.c | goal = inode->u.ext2_i.i_next_alloc_goal; |
inode | 539 | fs/ext2/inode.c | tmp = ext2_new_block (inode->i_sb, goal); |
inode | 549 | fs/ext2/inode.c | ext2_free_block (inode->i_sb, tmp); |
inode | 555 | fs/ext2/inode.c | inode->i_ctime = CURRENT_TIME; |
inode | 556 | fs/ext2/inode.c | inode->i_blocks += blocks; |
inode | 557 | fs/ext2/inode.c | inode->i_dirt = 1; |
inode | 558 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_block = new_block; |
inode | 559 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_goal = tmp; |
inode | 564 | fs/ext2/inode.c | struct buffer_head * ext2_getblk (struct inode * inode, int block, |
inode | 569 | fs/ext2/inode.c | unsigned long addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb); |
inode | 587 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_block, |
inode | 588 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_goal); |
inode | 590 | fs/ext2/inode.c | if (block == inode->u.ext2_i.i_next_alloc_block + 1) { |
inode | 591 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_block++; |
inode | 592 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_goal++; |
inode | 598 | fs/ext2/inode.c | return inode_getblk (inode, block, create, b, err); |
inode | 601 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_IND_BLOCK, create, b, err); |
inode | 602 | fs/ext2/inode.c | return block_getblk (inode, bh, block, create, |
inode | 603 | fs/ext2/inode.c | inode->i_sb->s_blocksize, b, err); |
inode | 607 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_DIND_BLOCK, create, b, err); |
inode | 608 | fs/ext2/inode.c | bh = block_getblk (inode, bh, block / addr_per_block, create, |
inode | 609 | fs/ext2/inode.c | inode->i_sb->s_blocksize, b, err); |
inode | 610 | fs/ext2/inode.c | return block_getblk (inode, bh, block & (addr_per_block - 1), |
inode | 611 | fs/ext2/inode.c | create, inode->i_sb->s_blocksize, b, err); |
inode | 614 | fs/ext2/inode.c | bh = inode_getblk (inode, EXT2_TIND_BLOCK, create, b, err); |
inode | 615 | fs/ext2/inode.c | bh = block_getblk (inode, bh, block/(addr_per_block * addr_per_block), |
inode | 616 | fs/ext2/inode.c | create, inode->i_sb->s_blocksize, b, err); |
inode | 617 | fs/ext2/inode.c | bh = block_getblk (inode, bh, (block/addr_per_block) & (addr_per_block - 1), |
inode | 618 | fs/ext2/inode.c | create, inode->i_sb->s_blocksize, b, err); |
inode | 619 | fs/ext2/inode.c | return block_getblk (inode, bh, block & (addr_per_block - 1), create, |
inode | 620 | fs/ext2/inode.c | inode->i_sb->s_blocksize, b, err); |
inode | 623 | fs/ext2/inode.c | struct buffer_head * ext2_bread (struct inode * inode, int block, |
inode | 628 | fs/ext2/inode.c | bh = ext2_getblk (inode, block, create, err); |
inode | 640 | fs/ext2/inode.c | void ext2_read_inode (struct inode * inode) |
inode | 650 | fs/ext2/inode.c | if ((inode->i_ino != EXT2_ROOT_INO && inode->i_ino != EXT2_ACL_INO && |
inode | 651 | fs/ext2/inode.c | inode->i_ino < EXT2_FIRST_INO) || |
inode | 652 | fs/ext2/inode.c | inode->i_ino > inode->i_sb->u.ext2_sb.s_inodes_count) { |
inode | 654 | fs/ext2/inode.c | inode->i_dev, inode->i_ino); |
inode | 657 | fs/ext2/inode.c | block_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb); |
inode | 658 | fs/ext2/inode.c | if (block_group >= inode->i_sb->u.ext2_sb.s_groups_count) |
inode | 660 | fs/ext2/inode.c | group_desc = block_group / EXT2_DESC_PER_BLOCK(inode->i_sb); |
inode | 661 | fs/ext2/inode.c | desc = block_group % EXT2_DESC_PER_BLOCK(inode->i_sb); |
inode | 662 | fs/ext2/inode.c | bh = inode->i_sb->u.ext2_sb.s_group_desc[group_desc]; |
inode | 667 | fs/ext2/inode.c | (((inode->i_ino - 1) % EXT2_INODES_PER_GROUP(inode->i_sb)) |
inode | 668 | fs/ext2/inode.c | / EXT2_INODES_PER_BLOCK(inode->i_sb)); |
inode | 669 | fs/ext2/inode.c | if (!(bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize))) |
inode | 672 | fs/ext2/inode.c | (inode->i_ino - 1) % EXT2_INODES_PER_BLOCK(inode->i_sb); |
inode | 673 | fs/ext2/inode.c | inode->i_mode = raw_inode->i_mode; |
inode | 674 | fs/ext2/inode.c | inode->i_uid = raw_inode->i_uid; |
inode | 675 | fs/ext2/inode.c | inode->i_gid = raw_inode->i_gid; |
inode | 676 | fs/ext2/inode.c | inode->i_nlink = raw_inode->i_links_count; |
inode | 677 | fs/ext2/inode.c | inode->i_size = raw_inode->i_size; |
inode | 678 | fs/ext2/inode.c | inode->i_atime = raw_inode->i_atime; |
inode | 679 | fs/ext2/inode.c | inode->i_ctime = raw_inode->i_ctime; |
inode | 680 | fs/ext2/inode.c | inode->i_mtime = raw_inode->i_mtime; |
inode | 681 | fs/ext2/inode.c | inode->u.ext2_i.i_dtime = raw_inode->i_dtime; |
inode | 682 | fs/ext2/inode.c | inode->i_blksize = inode->i_sb->s_blocksize; |
inode | 683 | fs/ext2/inode.c | inode->i_blocks = raw_inode->i_blocks; |
inode | 684 | fs/ext2/inode.c | inode->u.ext2_i.i_flags = raw_inode->i_flags; |
inode | 685 | fs/ext2/inode.c | inode->u.ext2_i.i_faddr = raw_inode->i_faddr; |
inode | 686 | fs/ext2/inode.c | inode->u.ext2_i.i_frag = raw_inode->i_frag; |
inode | 687 | fs/ext2/inode.c | inode->u.ext2_i.i_fsize = raw_inode->i_fsize; |
inode | 688 | fs/ext2/inode.c | inode->u.ext2_i.i_file_acl = raw_inode->i_file_acl; |
inode | 689 | fs/ext2/inode.c | inode->u.ext2_i.i_dir_acl = raw_inode->i_dir_acl; |
inode | 690 | fs/ext2/inode.c | inode->u.ext2_i.i_version = raw_inode->i_version; |
inode | 691 | fs/ext2/inode.c | inode->u.ext2_i.i_block_group = block_group; |
inode | 692 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_block = 0; |
inode | 693 | fs/ext2/inode.c | inode->u.ext2_i.i_next_alloc_goal = 0; |
inode | 694 | fs/ext2/inode.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
inode | 695 | fs/ext2/inode.c | inode->i_rdev = raw_inode->i_block[0]; |
inode | 697 | fs/ext2/inode.c | inode->u.ext2_i.i_data[block] = raw_inode->i_block[block]; |
inode | 699 | fs/ext2/inode.c | inode->i_op = NULL; |
inode | 700 | fs/ext2/inode.c | if (inode->i_ino == EXT2_ACL_INO) |
inode | 702 | fs/ext2/inode.c | else if (S_ISREG(inode->i_mode)) |
inode | 703 | fs/ext2/inode.c | inode->i_op = &ext2_file_inode_operations; |
inode | 704 | fs/ext2/inode.c | else if (S_ISDIR(inode->i_mode)) |
inode | 705 | fs/ext2/inode.c | inode->i_op = &ext2_dir_inode_operations; |
inode | 706 | fs/ext2/inode.c | else if (S_ISLNK(inode->i_mode)) |
inode | 707 | fs/ext2/inode.c | inode->i_op = &ext2_symlink_inode_operations; |
inode | 708 | fs/ext2/inode.c | else if (S_ISCHR(inode->i_mode)) |
inode | 709 | fs/ext2/inode.c | inode->i_op = &chrdev_inode_operations; |
inode | 710 | fs/ext2/inode.c | else if (S_ISBLK(inode->i_mode)) |
inode | 711 | fs/ext2/inode.c | inode->i_op = &blkdev_inode_operations; |
inode | 712 | fs/ext2/inode.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 713 | fs/ext2/inode.c | init_fifo(inode); |
inode | 716 | fs/ext2/inode.c | void ext2_write_inode (struct inode * inode) |
inode | 726 | fs/ext2/inode.c | if ((inode->i_ino != EXT2_ROOT_INO && inode->i_ino < EXT2_FIRST_INO) || |
inode | 727 | fs/ext2/inode.c | inode->i_ino > inode->i_sb->u.ext2_sb.s_inodes_count) { |
inode | 729 | fs/ext2/inode.c | inode->i_dev, inode->i_ino); |
inode | 732 | fs/ext2/inode.c | block_group = (inode->i_ino - 1) / EXT2_INODES_PER_GROUP(inode->i_sb); |
inode | 733 | fs/ext2/inode.c | if (block_group >= inode->i_sb->u.ext2_sb.s_groups_count) |
inode | 735 | fs/ext2/inode.c | group_desc = block_group / EXT2_DESC_PER_BLOCK(inode->i_sb); |
inode | 736 | fs/ext2/inode.c | desc = block_group % EXT2_DESC_PER_BLOCK(inode->i_sb); |
inode | 737 | fs/ext2/inode.c | bh = inode->i_sb->u.ext2_sb.s_group_desc[group_desc]; |
inode | 742 | fs/ext2/inode.c | (((inode->i_ino - 1) % EXT2_INODES_PER_GROUP(inode->i_sb)) |
inode | 743 | fs/ext2/inode.c | / EXT2_INODES_PER_BLOCK(inode->i_sb)); |
inode | 744 | fs/ext2/inode.c | if (!(bh = bread (inode->i_dev, block, inode->i_sb->s_blocksize))) |
inode | 747 | fs/ext2/inode.c | (inode->i_ino - 1) % EXT2_INODES_PER_BLOCK(inode->i_sb); |
inode | 748 | fs/ext2/inode.c | raw_inode->i_mode = inode->i_mode; |
inode | 749 | fs/ext2/inode.c | raw_inode->i_uid = inode->i_uid; |
inode | 750 | fs/ext2/inode.c | raw_inode->i_gid = inode->i_gid; |
inode | 751 | fs/ext2/inode.c | raw_inode->i_links_count = inode->i_nlink; |
inode | 752 | fs/ext2/inode.c | raw_inode->i_size = inode->i_size; |
inode | 753 | fs/ext2/inode.c | raw_inode->i_atime = inode->i_atime; |
inode | 754 | fs/ext2/inode.c | raw_inode->i_ctime = inode->i_ctime; |
inode | 755 | fs/ext2/inode.c | raw_inode->i_mtime = inode->i_mtime; |
inode | 756 | fs/ext2/inode.c | raw_inode->i_blocks = inode->i_blocks; |
inode | 757 | fs/ext2/inode.c | raw_inode->i_dtime = inode->u.ext2_i.i_dtime; |
inode | 758 | fs/ext2/inode.c | raw_inode->i_flags = inode->u.ext2_i.i_flags; |
inode | 759 | fs/ext2/inode.c | raw_inode->i_faddr = inode->u.ext2_i.i_faddr; |
inode | 760 | fs/ext2/inode.c | raw_inode->i_frag = inode->u.ext2_i.i_frag; |
inode | 761 | fs/ext2/inode.c | raw_inode->i_fsize = inode->u.ext2_i.i_fsize; |
inode | 762 | fs/ext2/inode.c | raw_inode->i_file_acl = inode->u.ext2_i.i_file_acl; |
inode | 763 | fs/ext2/inode.c | raw_inode->i_dir_acl = inode->u.ext2_i.i_dir_acl; |
inode | 764 | fs/ext2/inode.c | raw_inode->i_version = inode->u.ext2_i.i_version; |
inode | 765 | fs/ext2/inode.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
inode | 766 | fs/ext2/inode.c | raw_inode->i_block[0] = inode->i_rdev; |
inode | 768 | fs/ext2/inode.c | raw_inode->i_block[block] = inode->u.ext2_i.i_data[block]; |
inode | 770 | fs/ext2/inode.c | inode->i_dirt = 0; |
inode | 11 | fs/ext2/ioctl.c | int ext2_ioctl (struct inode * inode, struct file * filp, unsigned int cmd, |
inode | 41 | fs/ext2/namei.c | if (!de || !de->inode || len > EXT2_NAME_LEN) |
inode | 70 | fs/ext2/namei.c | static struct buffer_head * ext2_find_entry (struct inode * dir, |
inode | 129 | fs/ext2/namei.c | int ext2_lookup (struct inode * dir, const char * name, int len, |
inode | 130 | fs/ext2/namei.c | struct inode ** result) |
inode | 150 | fs/ext2/namei.c | ino = de->inode; |
inode | 177 | fs/ext2/namei.c | static struct buffer_head * ext2_add_entry (struct inode * dir, |
inode | 222 | fs/ext2/namei.c | de->inode = 0; |
inode | 240 | fs/ext2/namei.c | if (de->inode) { |
inode | 247 | fs/ext2/namei.c | if ((!de->inode && de->rec_len >= rec_len) || |
inode | 250 | fs/ext2/namei.c | if (de->inode) { |
inode | 258 | fs/ext2/namei.c | de->inode = 0; |
inode | 284 | fs/ext2/namei.c | dir->inode = 0; |
inode | 287 | fs/ext2/namei.c | int ext2_create (struct inode * dir,const char * name, int len, int mode, |
inode | 288 | fs/ext2/namei.c | struct inode ** result) |
inode | 290 | fs/ext2/namei.c | struct inode * inode; |
inode | 298 | fs/ext2/namei.c | inode = ext2_new_inode (dir, mode); |
inode | 299 | fs/ext2/namei.c | if (!inode) { |
inode | 303 | fs/ext2/namei.c | inode->i_op = &ext2_file_inode_operations; |
inode | 304 | fs/ext2/namei.c | inode->i_mode = mode; |
inode | 305 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 308 | fs/ext2/namei.c | inode->i_nlink --; |
inode | 309 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 310 | fs/ext2/namei.c | iput (inode); |
inode | 314 | fs/ext2/namei.c | de->inode = inode->i_ino; |
inode | 317 | fs/ext2/namei.c | de->inode); |
inode | 322 | fs/ext2/namei.c | *result = inode; |
inode | 326 | fs/ext2/namei.c | int ext2_mknod (struct inode * dir, const char * name, int len, int mode, |
inode | 329 | fs/ext2/namei.c | struct inode * inode; |
inode | 342 | fs/ext2/namei.c | inode = ext2_new_inode (dir, mode); |
inode | 343 | fs/ext2/namei.c | if (!inode) { |
inode | 347 | fs/ext2/namei.c | inode->i_uid = current->euid; |
inode | 348 | fs/ext2/namei.c | inode->i_mode = mode; |
inode | 349 | fs/ext2/namei.c | inode->i_op = NULL; |
inode | 350 | fs/ext2/namei.c | if (S_ISREG(inode->i_mode)) |
inode | 351 | fs/ext2/namei.c | inode->i_op = &ext2_file_inode_operations; |
inode | 352 | fs/ext2/namei.c | else if (S_ISDIR(inode->i_mode)) { |
inode | 353 | fs/ext2/namei.c | inode->i_op = &ext2_dir_inode_operations; |
inode | 355 | fs/ext2/namei.c | inode->i_mode |= S_ISGID; |
inode | 357 | fs/ext2/namei.c | else if (S_ISLNK(inode->i_mode)) |
inode | 358 | fs/ext2/namei.c | inode->i_op = &ext2_symlink_inode_operations; |
inode | 359 | fs/ext2/namei.c | else if (S_ISCHR(inode->i_mode)) |
inode | 360 | fs/ext2/namei.c | inode->i_op = &chrdev_inode_operations; |
inode | 361 | fs/ext2/namei.c | else if (S_ISBLK(inode->i_mode)) |
inode | 362 | fs/ext2/namei.c | inode->i_op = &blkdev_inode_operations; |
inode | 363 | fs/ext2/namei.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 364 | fs/ext2/namei.c | init_fifo(inode); |
inode | 366 | fs/ext2/namei.c | inode->i_rdev = rdev; |
inode | 367 | fs/ext2/namei.c | inode->i_mtime = inode->i_atime = CURRENT_TIME; |
inode | 368 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 371 | fs/ext2/namei.c | inode->i_nlink --; |
inode | 372 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 373 | fs/ext2/namei.c | iput (inode); |
inode | 377 | fs/ext2/namei.c | de->inode = inode->i_ino; |
inode | 380 | fs/ext2/namei.c | de->inode); |
inode | 385 | fs/ext2/namei.c | iput (inode); |
inode | 389 | fs/ext2/namei.c | int ext2_mkdir (struct inode * dir, const char * name, int len, int mode) |
inode | 391 | fs/ext2/namei.c | struct inode * inode; |
inode | 408 | fs/ext2/namei.c | inode = ext2_new_inode (dir, S_IFDIR); |
inode | 409 | fs/ext2/namei.c | if (!inode) { |
inode | 413 | fs/ext2/namei.c | inode->i_op = &ext2_dir_inode_operations; |
inode | 414 | fs/ext2/namei.c | inode->i_size = inode->i_sb->s_blocksize; |
inode | 415 | fs/ext2/namei.c | inode->i_mtime = inode->i_atime = CURRENT_TIME; |
inode | 416 | fs/ext2/namei.c | dir_block = ext2_bread (inode, 0, 1, &err); |
inode | 419 | fs/ext2/namei.c | inode->i_nlink --; |
inode | 420 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 421 | fs/ext2/namei.c | iput (inode); |
inode | 424 | fs/ext2/namei.c | inode->i_blocks = inode->i_sb->s_blocksize / 512; |
inode | 426 | fs/ext2/namei.c | de->inode = inode->i_ino; |
inode | 431 | fs/ext2/namei.c | de->inode = dir->i_ino; |
inode | 432 | fs/ext2/namei.c | de->rec_len = inode->i_sb->s_blocksize - EXT2_DIR_REC_LEN(1); |
inode | 435 | fs/ext2/namei.c | inode->i_nlink = 2; |
inode | 438 | fs/ext2/namei.c | inode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask); |
inode | 440 | fs/ext2/namei.c | inode->i_mode |= S_ISGID; |
inode | 441 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 445 | fs/ext2/namei.c | inode->i_nlink = 0; |
inode | 446 | fs/ext2/namei.c | iput (inode); |
inode | 449 | fs/ext2/namei.c | de->inode = inode->i_ino; |
inode | 452 | fs/ext2/namei.c | de->inode); |
inode | 458 | fs/ext2/namei.c | iput (inode); |
inode | 466 | fs/ext2/namei.c | static int empty_dir (struct inode * inode) |
inode | 474 | fs/ext2/namei.c | sb = inode->i_sb; |
inode | 475 | fs/ext2/namei.c | if (inode->i_size < EXT2_DIR_REC_LEN(1) + EXT2_DIR_REC_LEN(2) || |
inode | 476 | fs/ext2/namei.c | !(bh = ext2_bread (inode, 0, 0, &err))) { |
inode | 478 | fs/ext2/namei.c | inode->i_dev, inode->i_ino); |
inode | 483 | fs/ext2/namei.c | if (de->inode != inode->i_ino || !de1->inode || |
inode | 486 | fs/ext2/namei.c | inode->i_dev, inode->i_ino); |
inode | 491 | fs/ext2/namei.c | while (offset < inode->i_size ) { |
inode | 494 | fs/ext2/namei.c | bh = ext2_bread (inode, offset >> EXT2_BLOCK_SIZE_BITS(sb), 1, &err); |
inode | 501 | fs/ext2/namei.c | if (! ext2_check_dir_entry ("empty_dir", inode, de, bh, |
inode | 506 | fs/ext2/namei.c | if (de->inode) { |
inode | 517 | fs/ext2/namei.c | int ext2_rmdir (struct inode * dir, const char * name, int len) |
inode | 520 | fs/ext2/namei.c | struct inode * inode; |
inode | 526 | fs/ext2/namei.c | inode = NULL; |
inode | 532 | fs/ext2/namei.c | if (!(inode = iget (dir->i_sb, de->inode))) |
inode | 535 | fs/ext2/namei.c | inode->i_uid != current->euid) |
inode | 537 | fs/ext2/namei.c | if (inode->i_dev != dir->i_dev) |
inode | 539 | fs/ext2/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
inode | 541 | fs/ext2/namei.c | if (!S_ISDIR(inode->i_mode)) { |
inode | 545 | fs/ext2/namei.c | if (!empty_dir (inode)) { |
inode | 549 | fs/ext2/namei.c | if (inode->i_count > 1) { |
inode | 553 | fs/ext2/namei.c | if (inode->i_nlink != 2) |
inode | 554 | fs/ext2/namei.c | printk ("empty directory has nlink!=2 (%d)\n", inode->i_nlink); |
inode | 560 | fs/ext2/namei.c | inode->i_nlink = 0; |
inode | 561 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 568 | fs/ext2/namei.c | iput (inode); |
inode | 573 | fs/ext2/namei.c | int ext2_unlink (struct inode * dir, const char * name, int len) |
inode | 576 | fs/ext2/namei.c | struct inode * inode; |
inode | 583 | fs/ext2/namei.c | inode = NULL; |
inode | 587 | fs/ext2/namei.c | if (!(inode = iget (dir->i_sb, de->inode))) |
inode | 591 | fs/ext2/namei.c | current->euid != inode->i_uid && |
inode | 594 | fs/ext2/namei.c | if (S_ISDIR(inode->i_mode)) |
inode | 596 | fs/ext2/namei.c | if (!inode->i_nlink) { |
inode | 598 | fs/ext2/namei.c | inode->i_dev, inode->i_ino, inode->i_nlink); |
inode | 599 | fs/ext2/namei.c | inode->i_nlink = 1; |
inode | 608 | fs/ext2/namei.c | inode->i_nlink --; |
inode | 609 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 610 | fs/ext2/namei.c | inode->i_ctime = CURRENT_TIME; |
inode | 614 | fs/ext2/namei.c | iput (inode); |
inode | 619 | fs/ext2/namei.c | int ext2_symlink (struct inode * dir, const char * name, int len, |
inode | 623 | fs/ext2/namei.c | struct inode * inode = NULL; |
inode | 630 | fs/ext2/namei.c | if (!(inode = ext2_new_inode (dir, S_IFLNK))) { |
inode | 634 | fs/ext2/namei.c | inode->i_mode = S_IFLNK | 0777; |
inode | 635 | fs/ext2/namei.c | inode->i_op = &ext2_symlink_inode_operations; |
inode | 636 | fs/ext2/namei.c | for (l = 0; l < inode->i_sb->s_blocksize - 1 && |
inode | 643 | fs/ext2/namei.c | name_block = ext2_bread (inode, 0, 1, &err); |
inode | 646 | fs/ext2/namei.c | inode->i_nlink --; |
inode | 647 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 648 | fs/ext2/namei.c | iput (inode); |
inode | 653 | fs/ext2/namei.c | link = (char *) inode->u.ext2_i.i_data; |
inode | 659 | fs/ext2/namei.c | while (i < inode->i_sb->s_blocksize - 1 && (c = *(symname ++))) |
inode | 666 | fs/ext2/namei.c | inode->i_size = i; |
inode | 667 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 670 | fs/ext2/namei.c | inode->i_nlink --; |
inode | 671 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 672 | fs/ext2/namei.c | iput (inode); |
inode | 679 | fs/ext2/namei.c | inode->i_nlink --; |
inode | 680 | fs/ext2/namei.c | inode->i_dirt = 1; |
inode | 681 | fs/ext2/namei.c | iput (inode); |
inode | 685 | fs/ext2/namei.c | de->inode = inode->i_ino; |
inode | 688 | fs/ext2/namei.c | de->inode); |
inode | 693 | fs/ext2/namei.c | iput (inode); |
inode | 697 | fs/ext2/namei.c | int ext2_link (struct inode * oldinode, struct inode * dir, |
inode | 727 | fs/ext2/namei.c | de->inode = oldinode->i_ino; |
inode | 730 | fs/ext2/namei.c | de->inode); |
inode | 742 | fs/ext2/namei.c | static int subdir (struct inode * new, struct inode * old) |
inode | 768 | fs/ext2/namei.c | ((struct ext2_dir_entry *) buffer)->rec_len))->inode |
inode | 785 | fs/ext2/namei.c | static int do_ext2_rename (struct inode * old_dir, const char * old_name, |
inode | 786 | fs/ext2/namei.c | int old_len, struct inode * new_dir, |
inode | 789 | fs/ext2/namei.c | struct inode * old_inode, * new_inode; |
inode | 810 | fs/ext2/namei.c | old_inode = iget (old_dir->i_sb, old_de->inode); |
inode | 820 | fs/ext2/namei.c | new_inode = iget (new_dir->i_sb, new_de->inode); |
inode | 871 | fs/ext2/namei.c | if (new_inode && (new_de->inode != new_inode->i_ino)) |
inode | 873 | fs/ext2/namei.c | if (new_de->inode && !new_inode) |
inode | 875 | fs/ext2/namei.c | if (old_de->inode != old_inode->i_ino) |
inode | 878 | fs/ext2/namei.c | new_de->inode = old_inode->i_ino; |
inode | 883 | fs/ext2/namei.c | new_de->name_len, new_de->inode); |
inode | 929 | fs/ext2/namei.c | int ext2_rename (struct inode * old_dir, const char * old_name, int old_len, |
inode | 930 | fs/ext2/namei.c | struct inode * new_dir, const char * new_name, int new_len) |
inode | 23 | fs/ext2/symlink.c | static int ext2_readlink (struct inode *, char *, int); |
inode | 24 | fs/ext2/symlink.c | static int ext2_follow_link (struct inode *, struct inode *, int, int, |
inode | 25 | fs/ext2/symlink.c | struct inode **); |
inode | 48 | fs/ext2/symlink.c | static int ext2_follow_link(struct inode * dir, struct inode * inode, |
inode | 49 | fs/ext2/symlink.c | int flag, int mode, struct inode ** res_inode) |
inode | 60 | fs/ext2/symlink.c | if (!inode) { |
inode | 64 | fs/ext2/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 66 | fs/ext2/symlink.c | *res_inode = inode; |
inode | 71 | fs/ext2/symlink.c | iput (inode); |
inode | 74 | fs/ext2/symlink.c | if (inode->i_blocks) { |
inode | 75 | fs/ext2/symlink.c | if (!(bh = ext2_bread (inode, 0, 0, &error))) { |
inode | 77 | fs/ext2/symlink.c | iput (inode); |
inode | 82 | fs/ext2/symlink.c | link = (char *) inode->u.ext2_i.i_data; |
inode | 86 | fs/ext2/symlink.c | iput (inode); |
inode | 92 | fs/ext2/symlink.c | static int ext2_readlink (struct inode * inode, char * buffer, int buflen) |
inode | 99 | fs/ext2/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 100 | fs/ext2/symlink.c | iput (inode); |
inode | 103 | fs/ext2/symlink.c | if (buflen > inode->i_sb->s_blocksize - 1) |
inode | 104 | fs/ext2/symlink.c | buflen = inode->i_sb->s_blocksize - 1; |
inode | 105 | fs/ext2/symlink.c | if (inode->i_blocks) { |
inode | 106 | fs/ext2/symlink.c | bh = ext2_bread (inode, 0, 0, &err); |
inode | 108 | fs/ext2/symlink.c | iput (inode); |
inode | 114 | fs/ext2/symlink.c | link = (char *) inode->u.ext2_i.i_data; |
inode | 120 | fs/ext2/symlink.c | iput (inode); |
inode | 33 | fs/ext2/truncate.c | static int trunc_direct (struct inode * inode) |
inode | 39 | fs/ext2/truncate.c | int blocks = inode->i_sb->s_blocksize / 512; |
inode | 40 | fs/ext2/truncate.c | #define DIRECT_BLOCK ((inode->i_size + inode->i_sb->s_blocksize - 1) / \ |
inode | 41 | fs/ext2/truncate.c | inode->i_sb->s_blocksize) |
inode | 46 | fs/ext2/truncate.c | p = inode->u.ext2_i.i_data + i; |
inode | 50 | fs/ext2/truncate.c | bh = get_hash_table (inode->i_dev, tmp, inode->i_sb->s_blocksize); |
inode | 61 | fs/ext2/truncate.c | inode->i_blocks -= blocks; |
inode | 62 | fs/ext2/truncate.c | inode->i_dirt = 1; |
inode | 64 | fs/ext2/truncate.c | ext2_free_block (inode->i_sb, tmp); |
inode | 69 | fs/ext2/truncate.c | static int trunc_indirect (struct inode * inode, int offset, unsigned long * p) |
inode | 76 | fs/ext2/truncate.c | int addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb); |
inode | 77 | fs/ext2/truncate.c | int blocks = inode->i_sb->s_blocksize / 512; |
inode | 84 | fs/ext2/truncate.c | ind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize); |
inode | 103 | fs/ext2/truncate.c | bh = get_hash_table (inode->i_dev, tmp, |
inode | 104 | fs/ext2/truncate.c | inode->i_sb->s_blocksize); |
inode | 117 | fs/ext2/truncate.c | ext2_free_block (inode->i_sb, tmp); |
inode | 118 | fs/ext2/truncate.c | inode->i_blocks -= blocks; |
inode | 119 | fs/ext2/truncate.c | inode->i_dirt = 1; |
inode | 131 | fs/ext2/truncate.c | inode->i_blocks -= blocks; |
inode | 132 | fs/ext2/truncate.c | inode->i_dirt = 1; |
inode | 133 | fs/ext2/truncate.c | ext2_free_block (inode->i_sb, tmp); |
inode | 139 | fs/ext2/truncate.c | static int trunc_dindirect (struct inode * inode, int offset, |
inode | 146 | fs/ext2/truncate.c | int addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb); |
inode | 147 | fs/ext2/truncate.c | int blocks = inode->i_sb->s_blocksize / 512; |
inode | 154 | fs/ext2/truncate.c | dind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize); |
inode | 173 | fs/ext2/truncate.c | retry |= trunc_indirect (inode, offset + (i * addr_per_block), |
inode | 187 | fs/ext2/truncate.c | inode->i_blocks -= blocks; |
inode | 188 | fs/ext2/truncate.c | inode->i_dirt = 1; |
inode | 189 | fs/ext2/truncate.c | ext2_free_block (inode->i_sb, tmp); |
inode | 195 | fs/ext2/truncate.c | static int trunc_tindirect (struct inode * inode) |
inode | 201 | fs/ext2/truncate.c | int addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb); |
inode | 202 | fs/ext2/truncate.c | int blocks = inode->i_sb->s_blocksize / 512; |
inode | 208 | fs/ext2/truncate.c | p = inode->u.ext2_i.i_data + EXT2_TIND_BLOCK; |
inode | 211 | fs/ext2/truncate.c | tind_bh = bread (inode->i_dev, tmp, inode->i_sb->s_blocksize); |
inode | 227 | fs/ext2/truncate.c | retry |= trunc_dindirect(inode, EXT2_NDIR_BLOCKS + |
inode | 244 | fs/ext2/truncate.c | inode->i_blocks -= blocks; |
inode | 245 | fs/ext2/truncate.c | inode->i_dirt = 1; |
inode | 246 | fs/ext2/truncate.c | ext2_free_block (inode->i_sb, tmp); |
inode | 252 | fs/ext2/truncate.c | void ext2_truncate (struct inode * inode) |
inode | 256 | fs/ext2/truncate.c | if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || |
inode | 257 | fs/ext2/truncate.c | S_ISLNK(inode->i_mode))) |
inode | 260 | fs/ext2/truncate.c | retry = trunc_direct(inode); |
inode | 261 | fs/ext2/truncate.c | retry |= trunc_indirect (inode, EXT2_IND_BLOCK, |
inode | 262 | fs/ext2/truncate.c | (unsigned long *) &inode->u.ext2_i.i_data[EXT2_IND_BLOCK]); |
inode | 263 | fs/ext2/truncate.c | retry |= trunc_dindirect (inode, EXT2_IND_BLOCK + |
inode | 264 | fs/ext2/truncate.c | EXT2_ADDR_PER_BLOCK(inode->i_sb), |
inode | 265 | fs/ext2/truncate.c | (unsigned long *) &inode->u.ext2_i.i_data[EXT2_DIND_BLOCK]); |
inode | 266 | fs/ext2/truncate.c | retry |= trunc_tindirect (inode); |
inode | 272 | fs/ext2/truncate.c | inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
inode | 273 | fs/ext2/truncate.c | inode->i_dirt = 1; |
inode | 281 | fs/ext2/truncate.c | void ext2_release (struct inode * inode, struct file * filp) |
inode | 16 | fs/fifo.c | static int fifo_open(struct inode * inode,struct file * filp) |
inode | 30 | fs/fifo.c | if (!PIPE_READERS(*inode)++) |
inode | 31 | fs/fifo.c | wake_up(&PIPE_WRITE_WAIT(*inode)); |
inode | 32 | fs/fifo.c | if (!(filp->f_flags & O_NONBLOCK) && !PIPE_WRITERS(*inode)) { |
inode | 33 | fs/fifo.c | PIPE_RD_OPENERS(*inode)++; |
inode | 34 | fs/fifo.c | while (!PIPE_WRITERS(*inode)) { |
inode | 36 | fs/fifo.c | if (PIPE_HEAD(*inode) != PIPE_TAIL(*inode)) |
inode | 43 | fs/fifo.c | interruptible_sleep_on(&PIPE_READ_WAIT(*inode)); |
inode | 45 | fs/fifo.c | if (!--PIPE_RD_OPENERS(*inode)) |
inode | 46 | fs/fifo.c | wake_up(&PIPE_WRITE_WAIT(*inode)); |
inode | 48 | fs/fifo.c | while (PIPE_WR_OPENERS(*inode)) |
inode | 49 | fs/fifo.c | interruptible_sleep_on(&PIPE_READ_WAIT(*inode)); |
inode | 50 | fs/fifo.c | if (retval && !--PIPE_READERS(*inode)) |
inode | 51 | fs/fifo.c | wake_up(&PIPE_WRITE_WAIT(*inode)); |
inode | 60 | fs/fifo.c | if ((filp->f_flags & O_NONBLOCK) && !PIPE_READERS(*inode)) { |
inode | 65 | fs/fifo.c | if (!PIPE_WRITERS(*inode)++) |
inode | 66 | fs/fifo.c | wake_up(&PIPE_READ_WAIT(*inode)); |
inode | 67 | fs/fifo.c | if (!PIPE_READERS(*inode)) { |
inode | 68 | fs/fifo.c | PIPE_WR_OPENERS(*inode)++; |
inode | 69 | fs/fifo.c | while (!PIPE_READERS(*inode)) { |
inode | 74 | fs/fifo.c | interruptible_sleep_on(&PIPE_WRITE_WAIT(*inode)); |
inode | 76 | fs/fifo.c | if (!--PIPE_WR_OPENERS(*inode)) |
inode | 77 | fs/fifo.c | wake_up(&PIPE_READ_WAIT(*inode)); |
inode | 79 | fs/fifo.c | while (PIPE_RD_OPENERS(*inode)) |
inode | 80 | fs/fifo.c | interruptible_sleep_on(&PIPE_WRITE_WAIT(*inode)); |
inode | 81 | fs/fifo.c | if (retval && !--PIPE_WRITERS(*inode)) |
inode | 82 | fs/fifo.c | wake_up(&PIPE_READ_WAIT(*inode)); |
inode | 93 | fs/fifo.c | if (!PIPE_READERS(*inode)++) |
inode | 94 | fs/fifo.c | wake_up(&PIPE_WRITE_WAIT(*inode)); |
inode | 95 | fs/fifo.c | while (PIPE_WR_OPENERS(*inode)) |
inode | 96 | fs/fifo.c | interruptible_sleep_on(&PIPE_READ_WAIT(*inode)); |
inode | 97 | fs/fifo.c | if (!PIPE_WRITERS(*inode)++) |
inode | 98 | fs/fifo.c | wake_up(&PIPE_READ_WAIT(*inode)); |
inode | 99 | fs/fifo.c | while (PIPE_RD_OPENERS(*inode)) |
inode | 100 | fs/fifo.c | interruptible_sleep_on(&PIPE_WRITE_WAIT(*inode)); |
inode | 106 | fs/fifo.c | if (retval || PIPE_BASE(*inode)) |
inode | 109 | fs/fifo.c | if (PIPE_BASE(*inode)) { |
inode | 115 | fs/fifo.c | PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; |
inode | 116 | fs/fifo.c | PIPE_BASE(*inode) = (char *) page; |
inode | 156 | fs/fifo.c | void init_fifo(struct inode * inode) |
inode | 158 | fs/fifo.c | inode->i_op = &fifo_inode_operations; |
inode | 159 | fs/fifo.c | inode->i_pipe = 1; |
inode | 160 | fs/fifo.c | PIPE_BASE(*inode) = NULL; |
inode | 161 | fs/fifo.c | PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; |
inode | 162 | fs/fifo.c | PIPE_RD_OPENERS(*inode) = PIPE_WR_OPENERS(*inode) = 0; |
inode | 163 | fs/fifo.c | PIPE_READ_WAIT(*inode) = PIPE_WRITE_WAIT(*inode) = NULL; |
inode | 164 | fs/fifo.c | PIPE_READERS(*inode) = PIPE_WRITERS(*inode) = 0; |
inode | 15 | fs/inode.c | static struct inode * inode_table; |
inode | 16 | fs/inode.c | static struct inode * last_inode; |
inode | 23 | fs/inode.c | inode_table = (struct inode *) start; |
inode | 26 | fs/inode.c | memset(inode_table,0,NR_INODE*sizeof(struct inode)); |
inode | 30 | fs/inode.c | static void __wait_on_inode(struct inode *); |
inode | 32 | fs/inode.c | static inline void wait_on_inode(struct inode * inode) |
inode | 34 | fs/inode.c | if (inode->i_lock) |
inode | 35 | fs/inode.c | __wait_on_inode(inode); |
inode | 38 | fs/inode.c | static inline void lock_inode(struct inode * inode) |
inode | 40 | fs/inode.c | wait_on_inode(inode); |
inode | 41 | fs/inode.c | inode->i_lock = 1; |
inode | 44 | fs/inode.c | static inline void unlock_inode(struct inode * inode) |
inode | 46 | fs/inode.c | inode->i_lock = 0; |
inode | 47 | fs/inode.c | wake_up(&inode->i_wait); |
inode | 62 | fs/inode.c | void clear_inode(struct inode * inode) |
inode | 66 | fs/inode.c | wait_on_inode(inode); |
inode | 67 | fs/inode.c | wait = ((volatile struct inode *) inode)->i_wait; |
inode | 68 | fs/inode.c | memset(inode,0,sizeof(*inode)); |
inode | 69 | fs/inode.c | ((volatile struct inode *) inode)->i_wait = wait; |
inode | 74 | fs/inode.c | struct inode * inode; |
inode | 76 | fs/inode.c | for (inode = inode_table+0 ; inode < inode_table+NR_INODE ; inode++) { |
inode | 77 | fs/inode.c | if (inode->i_dev != dev) |
inode | 79 | fs/inode.c | if (inode->i_count || inode->i_dirt || inode->i_lock) |
inode | 81 | fs/inode.c | clear_inode(inode); |
inode | 86 | fs/inode.c | int fs_may_umount(dev_t dev, struct inode * mount_root) |
inode | 88 | fs/inode.c | struct inode * inode; |
inode | 90 | fs/inode.c | for (inode = inode_table+0 ; inode < inode_table+NR_INODE ; inode++) { |
inode | 91 | fs/inode.c | if (inode->i_dev==dev && inode->i_count) |
inode | 92 | fs/inode.c | if (inode == mount_root && inode->i_count == 1) |
inode | 100 | fs/inode.c | static void write_inode(struct inode * inode) |
inode | 102 | fs/inode.c | if (!inode->i_dirt) |
inode | 104 | fs/inode.c | wait_on_inode(inode); |
inode | 105 | fs/inode.c | if (!inode->i_dirt) |
inode | 107 | fs/inode.c | if (!inode->i_sb || !inode->i_sb->s_op || !inode->i_sb->s_op->write_inode) { |
inode | 108 | fs/inode.c | inode->i_dirt = 0; |
inode | 111 | fs/inode.c | inode->i_lock = 1; |
inode | 112 | fs/inode.c | inode->i_sb->s_op->write_inode(inode); |
inode | 113 | fs/inode.c | unlock_inode(inode); |
inode | 116 | fs/inode.c | static void read_inode(struct inode * inode) |
inode | 118 | fs/inode.c | lock_inode(inode); |
inode | 119 | fs/inode.c | if (inode->i_sb && inode->i_sb->s_op && inode->i_sb->s_op->read_inode) |
inode | 120 | fs/inode.c | inode->i_sb->s_op->read_inode(inode); |
inode | 121 | fs/inode.c | unlock_inode(inode); |
inode | 132 | fs/inode.c | int notify_change(int flags, struct inode * inode) |
inode | 134 | fs/inode.c | if (inode->i_sb && inode->i_sb->s_op && |
inode | 135 | fs/inode.c | inode->i_sb->s_op->notify_change) |
inode | 136 | fs/inode.c | return inode->i_sb->s_op->notify_change(flags, inode); |
inode | 150 | fs/inode.c | int bmap(struct inode * inode, int block) |
inode | 152 | fs/inode.c | if (inode->i_op && inode->i_op->bmap) |
inode | 153 | fs/inode.c | return inode->i_op->bmap(inode,block); |
inode | 160 | fs/inode.c | struct inode * inode; |
inode | 162 | fs/inode.c | inode = 0+inode_table; |
inode | 163 | fs/inode.c | for(i=0 ; i<NR_INODE ; i++,inode++) { |
inode | 164 | fs/inode.c | wait_on_inode(inode); |
inode | 165 | fs/inode.c | if (inode->i_dev == dev) { |
inode | 166 | fs/inode.c | if (inode->i_count) { |
inode | 171 | fs/inode.c | clear_inode(inode); |
inode | 178 | fs/inode.c | struct inode * inode; |
inode | 180 | fs/inode.c | for(inode = 0+inode_table ; inode < NR_INODE+inode_table ; inode++) { |
inode | 181 | fs/inode.c | if (dev && inode->i_dev != dev) |
inode | 183 | fs/inode.c | wait_on_inode(inode); |
inode | 184 | fs/inode.c | if (inode->i_dirt) |
inode | 185 | fs/inode.c | write_inode(inode); |
inode | 189 | fs/inode.c | void iput(struct inode * inode) |
inode | 191 | fs/inode.c | if (!inode) |
inode | 193 | fs/inode.c | wait_on_inode(inode); |
inode | 194 | fs/inode.c | if (!inode->i_count) { |
inode | 197 | fs/inode.c | MAJOR(inode->i_rdev), MINOR(inode->i_rdev), |
inode | 198 | fs/inode.c | inode->i_ino, inode->i_mode); |
inode | 201 | fs/inode.c | if (inode->i_pipe) { |
inode | 202 | fs/inode.c | wake_up(&PIPE_READ_WAIT(*inode)); |
inode | 203 | fs/inode.c | wake_up(&PIPE_WRITE_WAIT(*inode)); |
inode | 206 | fs/inode.c | if (inode->i_count>1) { |
inode | 207 | fs/inode.c | inode->i_count--; |
inode | 211 | fs/inode.c | if (inode->i_pipe) { |
inode | 212 | fs/inode.c | unsigned long page = (unsigned long) PIPE_BASE(*inode); |
inode | 213 | fs/inode.c | PIPE_BASE(*inode) = NULL; |
inode | 216 | fs/inode.c | if (inode->i_sb && inode->i_sb->s_op && inode->i_sb->s_op->put_inode) { |
inode | 217 | fs/inode.c | inode->i_sb->s_op->put_inode(inode); |
inode | 218 | fs/inode.c | if (!inode->i_nlink) |
inode | 221 | fs/inode.c | if (inode->i_dirt) { |
inode | 222 | fs/inode.c | write_inode(inode); /* we can sleep - so do again */ |
inode | 223 | fs/inode.c | wait_on_inode(inode); |
inode | 226 | fs/inode.c | inode->i_count--; |
inode | 230 | fs/inode.c | struct inode * get_empty_inode(void) |
inode | 232 | fs/inode.c | struct inode * inode; |
inode | 236 | fs/inode.c | inode = NULL; |
inode | 241 | fs/inode.c | inode = last_inode; |
inode | 242 | fs/inode.c | if (!inode->i_dirt && !inode->i_lock) |
inode | 246 | fs/inode.c | if (!inode) { |
inode | 251 | fs/inode.c | if (inode->i_lock) { |
inode | 252 | fs/inode.c | wait_on_inode(inode); |
inode | 255 | fs/inode.c | if (inode->i_dirt) { |
inode | 256 | fs/inode.c | write_inode(inode); |
inode | 259 | fs/inode.c | if (inode->i_count) |
inode | 261 | fs/inode.c | clear_inode(inode); |
inode | 262 | fs/inode.c | inode->i_count = 1; |
inode | 263 | fs/inode.c | inode->i_nlink = 1; |
inode | 264 | fs/inode.c | return inode; |
inode | 267 | fs/inode.c | struct inode * get_pipe_inode(void) |
inode | 269 | fs/inode.c | struct inode * inode; |
inode | 271 | fs/inode.c | if (!(inode = get_empty_inode())) |
inode | 273 | fs/inode.c | if (!(PIPE_BASE(*inode) = (char *) get_free_page(GFP_USER))) { |
inode | 274 | fs/inode.c | inode->i_count = 0; |
inode | 277 | fs/inode.c | inode->i_count = 2; /* sum of readers/writers */ |
inode | 278 | fs/inode.c | PIPE_READ_WAIT(*inode) = PIPE_WRITE_WAIT(*inode) = NULL; |
inode | 279 | fs/inode.c | PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; |
inode | 280 | fs/inode.c | PIPE_RD_OPENERS(*inode) = PIPE_WR_OPENERS(*inode) = 0; |
inode | 281 | fs/inode.c | PIPE_READERS(*inode) = PIPE_WRITERS(*inode) = 1; |
inode | 282 | fs/inode.c | inode->i_pipe = 1; |
inode | 283 | fs/inode.c | inode->i_mode |= S_IFIFO; |
inode | 284 | fs/inode.c | inode->i_uid = current->euid; |
inode | 285 | fs/inode.c | inode->i_gid = current->egid; |
inode | 286 | fs/inode.c | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
inode | 287 | fs/inode.c | return inode; |
inode | 290 | fs/inode.c | struct inode * iget(struct super_block * sb,int nr) |
inode | 292 | fs/inode.c | struct inode * inode, * empty; |
inode | 297 | fs/inode.c | inode = inode_table; |
inode | 298 | fs/inode.c | while (inode < NR_INODE+inode_table) { |
inode | 299 | fs/inode.c | if (inode->i_dev != sb->s_dev || inode->i_ino != nr) { |
inode | 300 | fs/inode.c | inode++; |
inode | 303 | fs/inode.c | wait_on_inode(inode); |
inode | 304 | fs/inode.c | if (inode->i_dev != sb->s_dev || inode->i_ino != nr) { |
inode | 305 | fs/inode.c | inode = inode_table; |
inode | 308 | fs/inode.c | inode->i_count++; |
inode | 309 | fs/inode.c | if (inode->i_mount) { |
inode | 313 | fs/inode.c | if (super_block[i].s_covered==inode) |
inode | 325 | fs/inode.c | return inode; |
inode | 327 | fs/inode.c | iput(inode); |
inode | 328 | fs/inode.c | if (!(inode = super_block[i].s_mounted)) |
inode | 330 | fs/inode.c | MAJOR(inode->i_dev), MINOR(inode->i_dev)); |
inode | 332 | fs/inode.c | inode->i_count++; |
inode | 333 | fs/inode.c | wait_on_inode(inode); |
inode | 344 | fs/inode.c | return inode; |
inode | 348 | fs/inode.c | inode = empty; |
inode | 349 | fs/inode.c | inode->i_sb = sb; |
inode | 350 | fs/inode.c | inode->i_dev = sb->s_dev; |
inode | 351 | fs/inode.c | inode->i_ino = nr; |
inode | 352 | fs/inode.c | inode->i_flags = sb->s_flags; |
inode | 353 | fs/inode.c | read_inode(inode); |
inode | 354 | fs/inode.c | return inode; |
inode | 363 | fs/inode.c | static void __wait_on_inode(struct inode * inode) |
inode | 367 | fs/inode.c | add_wait_queue(&inode->i_wait, &wait); |
inode | 370 | fs/inode.c | if (inode->i_lock) { |
inode | 374 | fs/inode.c | remove_wait_queue(&inode->i_wait, &wait); |
inode | 22 | fs/isofs/dir.c | static int isofs_readdir(struct inode *, struct file *, struct dirent *, int); |
inode | 63 | fs/isofs/dir.c | static int isofs_readdir(struct inode * inode, struct file * filp, |
inode | 76 | fs/isofs/dir.c | if (!inode || !S_ISDIR(inode->i_mode)) |
inode | 80 | fs/isofs/dir.c | block = isofs_bmap(inode,(filp->f_pos)>>BLOCK_SIZE_BITS); |
inode | 81 | fs/isofs/dir.c | if (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE))) |
inode | 84 | fs/isofs/dir.c | while (filp->f_pos < inode->i_size) { |
inode | 98 | fs/isofs/dir.c | block = isofs_bmap(inode,(filp->f_pos)>>BLOCK_SIZE_BITS); |
inode | 99 | fs/isofs/dir.c | if (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE))) |
inode | 117 | fs/isofs/dir.c | block = isofs_bmap(inode,(filp->f_pos)>>BLOCK_SIZE_BITS); |
inode | 118 | fs/isofs/dir.c | if (!block || !(bh = bread(inode->i_dev,block,ISOFS_BUFFER_SIZE))) |
inode | 129 | fs/isofs/dir.c | inode_number = inode->i_ino; |
inode | 140 | fs/isofs/dir.c | if((inode->i_sb->u.isofs_sb.s_firstdatazone << BLOCK_SIZE_BITS) != inode->i_ino) |
inode | 141 | fs/isofs/dir.c | inode_number = inode->u.isofs_i.i_backlink; |
inode | 143 | fs/isofs/dir.c | inode_number = inode->i_ino; |
inode | 148 | fs/isofs/dir.c | isofs_lookup_grandparent(inode, |
inode | 149 | fs/isofs/dir.c | find_rock_ridge_relocation(de, inode)); |
inode | 164 | fs/isofs/dir.c | rrflag = get_rock_ridge_filename(de, &dpnt, &dlen, inode); |
inode | 176 | fs/isofs/dir.c | if(inode->i_sb->u.isofs_sb.s_mapping == 'n') |
inode | 197 | fs/isofs/dir.c | cache.dir = inode->i_ino; |
inode | 198 | fs/isofs/dir.c | cache.dev = inode->i_dev; |
inode | 32 | fs/isofs/file.c | static int isofs_file_read(struct inode *, struct file *, char *, int); |
inode | 88 | fs/isofs/file.c | static void isofs_determine_filetype(struct inode * inode) |
inode | 95 | fs/isofs/file.c | block = isofs_bmap(inode,0); |
inode | 96 | fs/isofs/file.c | if (block && (bh = bread(inode->i_dev,block, ISOFS_BUFFER_SIZE))) { |
inode | 99 | fs/isofs/file.c | for(i=0;i<(inode->i_size < ISOFS_BUFFER_SIZE ? inode->i_size : ISOFS_BUFFER_SIZE); |
inode | 109 | fs/isofs/file.c | inode->u.isofs_i.i_file_format = result; |
inode | 113 | fs/isofs/file.c | static int isofs_file_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 123 | fs/isofs/file.c | if (!inode) { |
inode | 127 | fs/isofs/file.c | if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) { |
inode | 128 | fs/isofs/file.c | printk("isofs_file_read: mode = %07o\n",inode->i_mode); |
inode | 131 | fs/isofs/file.c | if (inode->u.isofs_i.i_file_format == ISOFS_FILE_UNKNOWN) |
inode | 132 | fs/isofs/file.c | isofs_determine_filetype(inode); |
inode | 133 | fs/isofs/file.c | if (filp->f_pos > inode->i_size) |
inode | 136 | fs/isofs/file.c | left = inode->i_size - filp->f_pos; |
inode | 147 | fs/isofs/file.c | ra_blocks = read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9); |
inode | 148 | fs/isofs/file.c | max_block = (inode->i_size + BLOCK_SIZE - 1)/BLOCK_SIZE; |
inode | 166 | fs/isofs/file.c | *bhb = getblk(inode->i_dev,isofs_bmap(inode, block++), ISOFS_BUFFER_SIZE); |
inode | 192 | fs/isofs/file.c | *bhb = getblk(inode->i_dev,isofs_bmap(inode, block++), ISOFS_BUFFER_SIZE); |
inode | 231 | fs/isofs/file.c | if (inode->u.isofs_i.i_file_format == ISOFS_FILE_TEXT || |
inode | 232 | fs/isofs/file.c | inode->u.isofs_i.i_file_format == ISOFS_FILE_TEXT_M) |
inode | 234 | fs/isofs/file.c | chars, inode->u.isofs_i.i_file_format); |
inode | 256 | fs/isofs/inode.c | int isofs_bmap(struct inode * inode,int block) |
inode | 263 | fs/isofs/inode.c | return inode->u.isofs_i.i_first_extent + block; |
inode | 266 | fs/isofs/inode.c | void isofs_read_inode(struct inode * inode) |
inode | 275 | fs/isofs/inode.c | block = inode->i_ino >> ISOFS_BUFFER_BITS; |
inode | 276 | fs/isofs/inode.c | if (!(bh=bread(inode->i_dev,block, ISOFS_BUFFER_SIZE))) |
inode | 279 | fs/isofs/inode.c | pnt = ((char *) bh->b_data) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1)); |
inode | 282 | fs/isofs/inode.c | high_sierra = inode->i_sb->u.isofs_sb.s_high_sierra; |
inode | 284 | fs/isofs/inode.c | if ((inode->i_ino & (ISOFS_BUFFER_SIZE - 1)) + *pnt > ISOFS_BUFFER_SIZE){ |
inode | 288 | fs/isofs/inode.c | if (!(bh = bread(inode->i_dev,++block, ISOFS_BUFFER_SIZE))) |
inode | 291 | fs/isofs/inode.c | pnt = ((char *) cpnt) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1)); |
inode | 296 | fs/isofs/inode.c | inode->i_mode = 0444; /* Everybody gets to read the file. */ |
inode | 297 | fs/isofs/inode.c | inode->i_nlink = 1; |
inode | 300 | fs/isofs/inode.c | inode->i_mode = 0555 | S_IFDIR; |
inode | 301 | fs/isofs/inode.c | inode->i_nlink = 2; /* There are always at least 2. It is |
inode | 304 | fs/isofs/inode.c | inode->i_mode = 0444; /* Everybody gets to read the file. */ |
inode | 305 | fs/isofs/inode.c | inode->i_nlink = 1; |
inode | 306 | fs/isofs/inode.c | inode->i_mode |= S_IFREG; |
inode | 312 | fs/isofs/inode.c | inode->i_mode |= 0111; /* execute permission */ |
inode | 314 | fs/isofs/inode.c | inode->i_uid = 0; |
inode | 315 | fs/isofs/inode.c | inode->i_gid = 0; |
inode | 316 | fs/isofs/inode.c | inode->i_size = isonum_733 (raw_inode->size); |
inode | 320 | fs/isofs/inode.c | if(inode->i_size < 0 || inode->i_size > 700000000) { |
inode | 322 | fs/isofs/inode.c | inode->i_sb->u.isofs_sb.s_cruft = 'y'; |
inode | 329 | fs/isofs/inode.c | if(inode->i_sb->u.isofs_sb.s_cruft == 'y' && |
inode | 330 | fs/isofs/inode.c | inode->i_size & 0xff000000){ |
inode | 332 | fs/isofs/inode.c | inode->i_size &= 0x00ffffff; |
inode | 341 | fs/isofs/inode.c | inode->i_size = 0; |
inode | 349 | fs/isofs/inode.c | inode->i_ino); |
inode | 356 | fs/isofs/inode.c | printk("File unit size != 0 for ISO file.(%d)\n",inode->i_ino); |
inode | 363 | fs/isofs/inode.c | inode->i_ino, raw_inode->flags[-high_sierra]); |
inode | 367 | fs/isofs/inode.c | printk("Get inode %d: %d %d: %d\n",inode->i_ino, block, |
inode | 368 | fs/isofs/inode.c | ((int)pnt) & 0x3ff, inode->i_size); |
inode | 371 | fs/isofs/inode.c | inode->i_mtime = inode->i_atime = inode->i_ctime = |
inode | 374 | fs/isofs/inode.c | inode->u.isofs_i.i_first_extent = isonum_733 (raw_inode->extent) << |
inode | 377 | fs/isofs/inode.c | inode->u.isofs_i.i_backlink = -1; /* Will be used for previous directory */ |
inode | 378 | fs/isofs/inode.c | switch (inode->i_sb->u.isofs_sb.s_conversion){ |
inode | 380 | fs/isofs/inode.c | inode->u.isofs_i.i_file_format = ISOFS_FILE_UNKNOWN; /* File type */ |
inode | 383 | fs/isofs/inode.c | inode->u.isofs_i.i_file_format = ISOFS_FILE_BINARY; /* File type */ |
inode | 386 | fs/isofs/inode.c | inode->u.isofs_i.i_file_format = ISOFS_FILE_TEXT; /* File type */ |
inode | 389 | fs/isofs/inode.c | inode->u.isofs_i.i_file_format = ISOFS_FILE_TEXT_M; /* File type */ |
inode | 398 | fs/isofs/inode.c | parse_rock_ridge_inode(raw_inode, inode); |
inode | 401 | fs/isofs/inode.c | printk("Inode: %x extent: %x\n",inode->i_ino, inode->u.isofs_i.i_first_extent); |
inode | 410 | fs/isofs/inode.c | inode->i_op = NULL; |
inode | 411 | fs/isofs/inode.c | if (S_ISREG(inode->i_mode)) |
inode | 412 | fs/isofs/inode.c | inode->i_op = &isofs_file_inode_operations; |
inode | 413 | fs/isofs/inode.c | else if (S_ISDIR(inode->i_mode)) |
inode | 414 | fs/isofs/inode.c | inode->i_op = &isofs_dir_inode_operations; |
inode | 415 | fs/isofs/inode.c | else if (S_ISLNK(inode->i_mode)) |
inode | 416 | fs/isofs/inode.c | inode->i_op = &isofs_symlink_inode_operations; |
inode | 417 | fs/isofs/inode.c | else if (S_ISCHR(inode->i_mode)) |
inode | 418 | fs/isofs/inode.c | inode->i_op = &chrdev_inode_operations; |
inode | 419 | fs/isofs/inode.c | else if (S_ISBLK(inode->i_mode)) |
inode | 420 | fs/isofs/inode.c | inode->i_op = &blkdev_inode_operations; |
inode | 421 | fs/isofs/inode.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 422 | fs/isofs/inode.c | init_fifo(inode); |
inode | 444 | fs/isofs/inode.c | int isofs_lookup_grandparent(struct inode * parent, int extent) { |
inode | 64 | fs/isofs/namei.c | static struct buffer_head * isofs_find_entry(struct inode * dir, |
inode | 193 | fs/isofs/namei.c | int isofs_lookup(struct inode * dir,const char * name, int len, |
inode | 194 | fs/isofs/namei.c | struct inode ** result) |
inode | 81 | fs/isofs/rock.c | struct inode * inode) { |
inode | 96 | fs/isofs/rock.c | if (!inode->i_sb->u.isofs_sb.s_rock) return retval; |
inode | 146 | fs/isofs/rock.c | MAYBE_CONTINUE(repeat, inode->i_dev); |
inode | 154 | fs/isofs/rock.c | char ** name, int * namlen, struct inode * inode) |
inode | 162 | fs/isofs/rock.c | if (!inode->i_sb->u.isofs_sb.s_rock) return 0; |
inode | 213 | fs/isofs/rock.c | printk("RR: RE (%x)\n", inode->i_ino); |
inode | 223 | fs/isofs/rock.c | MAYBE_CONTINUE(repeat,inode->i_dev); |
inode | 237 | fs/isofs/rock.c | struct inode * inode){ |
inode | 242 | fs/isofs/rock.c | if (!inode->i_sb->u.isofs_sb.s_rock) return 0; |
inode | 248 | fs/isofs/rock.c | struct inode * reloc; |
inode | 277 | fs/isofs/rock.c | inode->i_mode = isonum_733(rr->u.PX.mode); |
inode | 278 | fs/isofs/rock.c | inode->i_nlink = isonum_733(rr->u.PX.n_links); |
inode | 279 | fs/isofs/rock.c | inode->i_uid = isonum_733(rr->u.PX.uid); |
inode | 280 | fs/isofs/rock.c | inode->i_gid = isonum_733(rr->u.PX.gid); |
inode | 286 | fs/isofs/rock.c | inode->i_rdev = ((high << 8) | (low & 0xff)) & 0xffff; |
inode | 291 | fs/isofs/rock.c | if(rr->u.TF.flags & TF_CREATE) inode->i_ctime = iso_date(rr->u.TF.times[cnt++].time, 0); |
inode | 292 | fs/isofs/rock.c | if(rr->u.TF.flags & TF_MODIFY) inode->i_mtime = iso_date(rr->u.TF.times[cnt++].time, 0); |
inode | 293 | fs/isofs/rock.c | if(rr->u.TF.flags & TF_ACCESS) inode->i_atime = iso_date(rr->u.TF.times[cnt++].time, 0); |
inode | 303 | fs/isofs/rock.c | inode->i_size += slp->len; |
inode | 306 | fs/isofs/rock.c | inode->i_size += 1; |
inode | 309 | fs/isofs/rock.c | inode->i_size += 2; |
inode | 312 | fs/isofs/rock.c | inode->i_size += 1; |
inode | 321 | fs/isofs/rock.c | inode->i_size += 1; |
inode | 330 | fs/isofs/rock.c | printk("RR CL (%x)\n",inode->i_ino); |
inode | 332 | fs/isofs/rock.c | inode->u.isofs_i.i_first_extent = isonum_733(rr->u.CL.location) << |
inode | 334 | fs/isofs/rock.c | reloc = iget(inode->i_sb, inode->u.isofs_i.i_first_extent << ISOFS_BUFFER_BITS); |
inode | 335 | fs/isofs/rock.c | inode->i_mode = reloc->i_mode; |
inode | 336 | fs/isofs/rock.c | inode->i_nlink = reloc->i_nlink; |
inode | 337 | fs/isofs/rock.c | inode->i_uid = reloc->i_uid; |
inode | 338 | fs/isofs/rock.c | inode->i_gid = reloc->i_gid; |
inode | 339 | fs/isofs/rock.c | inode->i_rdev = reloc->i_rdev; |
inode | 340 | fs/isofs/rock.c | inode->i_size = reloc->i_size; |
inode | 341 | fs/isofs/rock.c | inode->i_atime = reloc->i_atime; |
inode | 342 | fs/isofs/rock.c | inode->i_ctime = reloc->i_ctime; |
inode | 343 | fs/isofs/rock.c | inode->i_mtime = reloc->i_mtime; |
inode | 351 | fs/isofs/rock.c | MAYBE_CONTINUE(repeat,inode->i_dev); |
inode | 362 | fs/isofs/rock.c | char * get_rock_ridge_symlink(struct inode * inode) |
inode | 375 | fs/isofs/rock.c | if (!inode->i_sb->u.isofs_sb.s_rock) |
inode | 380 | fs/isofs/rock.c | block = inode->i_ino >> ISOFS_BUFFER_BITS; |
inode | 381 | fs/isofs/rock.c | if (!(bh=bread(inode->i_dev,block, ISOFS_BUFFER_SIZE))) |
inode | 384 | fs/isofs/rock.c | pnt = ((char *) bh->b_data) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1)); |
inode | 388 | fs/isofs/rock.c | if ((inode->i_ino & (ISOFS_BUFFER_SIZE - 1)) + *pnt > ISOFS_BUFFER_SIZE){ |
inode | 392 | fs/isofs/rock.c | if (!(bh = bread(inode->i_dev,++block, ISOFS_BUFFER_SIZE))) |
inode | 395 | fs/isofs/rock.c | pnt = ((char *) cpnt) + (inode->i_ino & (ISOFS_BUFFER_SIZE - 1)); |
inode | 427 | fs/isofs/rock.c | rpnt = (char *) kmalloc (inode->i_size +1, GFP_KERNEL); |
inode | 458 | fs/isofs/rock.c | MAYBE_CONTINUE(repeat,inode->i_dev); |
inode | 20 | fs/isofs/symlink.c | static int isofs_readlink(struct inode *, char *, int); |
inode | 21 | fs/isofs/symlink.c | static int isofs_follow_link(struct inode *, struct inode *, int, int, struct inode **); |
inode | 44 | fs/isofs/symlink.c | static int isofs_follow_link(struct inode * dir, struct inode * inode, |
inode | 45 | fs/isofs/symlink.c | int flag, int mode, struct inode ** res_inode) |
inode | 54 | fs/isofs/symlink.c | if (!inode) { |
inode | 59 | fs/isofs/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 61 | fs/isofs/symlink.c | *res_inode = inode; |
inode | 65 | fs/isofs/symlink.c | !(pnt = get_rock_ridge_symlink(inode))) { |
inode | 67 | fs/isofs/symlink.c | iput(inode); |
inode | 71 | fs/isofs/symlink.c | iput(inode); |
inode | 79 | fs/isofs/symlink.c | static int isofs_readlink(struct inode * inode, char * buffer, int buflen) |
inode | 85 | fs/isofs/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 86 | fs/isofs/symlink.c | iput(inode); |
inode | 92 | fs/isofs/symlink.c | pnt = get_rock_ridge_symlink(inode); |
inode | 94 | fs/isofs/symlink.c | iput(inode); |
inode | 142 | fs/minix/bitmap.c | void minix_free_inode(struct inode * inode) |
inode | 146 | fs/minix/bitmap.c | if (!inode) |
inode | 148 | fs/minix/bitmap.c | if (!inode->i_dev) { |
inode | 152 | fs/minix/bitmap.c | if (inode->i_count != 1) { |
inode | 153 | fs/minix/bitmap.c | printk("free_inode: inode has count=%d\n",inode->i_count); |
inode | 156 | fs/minix/bitmap.c | if (inode->i_nlink) { |
inode | 157 | fs/minix/bitmap.c | printk("free_inode: inode has nlink=%d\n",inode->i_nlink); |
inode | 160 | fs/minix/bitmap.c | if (!inode->i_sb) { |
inode | 164 | fs/minix/bitmap.c | if (inode->i_ino < 1 || inode->i_ino >= inode->i_sb->u.minix_sb.s_ninodes) { |
inode | 168 | fs/minix/bitmap.c | if (!(bh=inode->i_sb->u.minix_sb.s_imap[inode->i_ino>>13])) { |
inode | 172 | fs/minix/bitmap.c | if (clear_bit(inode->i_ino&8191,bh->b_data)) |
inode | 173 | fs/minix/bitmap.c | printk("free_inode: bit %d already cleared.\n",inode->i_ino); |
inode | 175 | fs/minix/bitmap.c | clear_inode(inode); |
inode | 178 | fs/minix/bitmap.c | struct inode * minix_new_inode(const struct inode * dir) |
inode | 181 | fs/minix/bitmap.c | struct inode * inode; |
inode | 185 | fs/minix/bitmap.c | if (!dir || !(inode = get_empty_inode())) |
inode | 188 | fs/minix/bitmap.c | inode->i_sb = sb; |
inode | 189 | fs/minix/bitmap.c | inode->i_flags = inode->i_sb->s_flags; |
inode | 192 | fs/minix/bitmap.c | if ((bh = inode->i_sb->u.minix_sb.s_imap[i]) != NULL) |
inode | 196 | fs/minix/bitmap.c | iput(inode); |
inode | 201 | fs/minix/bitmap.c | iput(inode); |
inode | 206 | fs/minix/bitmap.c | if (!j || j >= inode->i_sb->u.minix_sb.s_ninodes) { |
inode | 207 | fs/minix/bitmap.c | iput(inode); |
inode | 210 | fs/minix/bitmap.c | inode->i_count = 1; |
inode | 211 | fs/minix/bitmap.c | inode->i_nlink = 1; |
inode | 212 | fs/minix/bitmap.c | inode->i_dev = sb->s_dev; |
inode | 213 | fs/minix/bitmap.c | inode->i_uid = current->euid; |
inode | 214 | fs/minix/bitmap.c | inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid; |
inode | 215 | fs/minix/bitmap.c | inode->i_dirt = 1; |
inode | 216 | fs/minix/bitmap.c | inode->i_ino = j; |
inode | 217 | fs/minix/bitmap.c | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
inode | 218 | fs/minix/bitmap.c | inode->i_op = NULL; |
inode | 219 | fs/minix/bitmap.c | inode->i_blocks = inode->i_blksize = 0; |
inode | 220 | fs/minix/bitmap.c | return inode; |
inode | 16 | fs/minix/dir.c | static int minix_dir_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 21 | fs/minix/dir.c | static int minix_readdir(struct inode *, struct file *, struct dirent *, int); |
inode | 57 | fs/minix/dir.c | static int minix_readdir(struct inode * inode, struct file * filp, |
inode | 66 | fs/minix/dir.c | if (!inode || !inode->i_sb || !S_ISDIR(inode->i_mode)) |
inode | 68 | fs/minix/dir.c | info = &inode->i_sb->u.minix_sb; |
inode | 71 | fs/minix/dir.c | while (filp->f_pos < inode->i_size) { |
inode | 73 | fs/minix/dir.c | bh = minix_bread(inode,(filp->f_pos)>>BLOCK_SIZE_BITS,0); |
inode | 78 | fs/minix/dir.c | while (offset < 1024 && filp->f_pos < inode->i_size) { |
inode | 82 | fs/minix/dir.c | if (de->inode) { |
inode | 89 | fs/minix/dir.c | put_fs_long(de->inode,&dirent->d_ino); |
inode | 28 | fs/minix/file.c | static int minix_file_read(struct inode *, struct file *, char *, int); |
inode | 29 | fs/minix/file.c | static int minix_file_write(struct inode *, struct file *, char *, int); |
inode | 66 | fs/minix/file.c | static int minix_file_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 76 | fs/minix/file.c | if (!inode) { |
inode | 80 | fs/minix/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 81 | fs/minix/file.c | printk("minix_file_read: mode = %07o\n",inode->i_mode); |
inode | 85 | fs/minix/file.c | size = inode->i_size; |
inode | 101 | fs/minix/file.c | blocks += read_ahead[MAJOR(inode->i_dev)] / (BLOCK_SIZE >> 9); |
inode | 121 | fs/minix/file.c | *bhb = minix_getblk(inode, block++, 0); |
inode | 180 | fs/minix/file.c | if (!IS_RDONLY(inode)) { |
inode | 181 | fs/minix/file.c | inode->i_atime = CURRENT_TIME; |
inode | 182 | fs/minix/file.c | inode->i_dirt = 1; |
inode | 187 | fs/minix/file.c | static int minix_file_write(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 194 | fs/minix/file.c | if (!inode) { |
inode | 198 | fs/minix/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 199 | fs/minix/file.c | printk("minix_file_write: mode = %07o\n",inode->i_mode); |
inode | 207 | fs/minix/file.c | pos = inode->i_size; |
inode | 212 | fs/minix/file.c | bh = minix_getblk(inode,pos/BLOCK_SIZE,1); |
inode | 233 | fs/minix/file.c | if (pos > inode->i_size) { |
inode | 234 | fs/minix/file.c | inode->i_size = pos; |
inode | 235 | fs/minix/file.c | inode->i_dirt = 1; |
inode | 244 | fs/minix/file.c | inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
inode | 246 | fs/minix/file.c | inode->i_dirt = 1; |
inode | 18 | fs/minix/inode.c | void minix_put_inode(struct inode *inode) |
inode | 20 | fs/minix/inode.c | if (inode->i_nlink) |
inode | 22 | fs/minix/inode.c | inode->i_size = 0; |
inode | 23 | fs/minix/inode.c | minix_truncate(inode); |
inode | 24 | fs/minix/inode.c | minix_free_inode(inode); |
inode | 148 | fs/minix/inode.c | #define inode_bmap(inode,nr) ((inode)->u.minix_i.i_data[(nr)]) |
inode | 161 | fs/minix/inode.c | int minix_bmap(struct inode * inode,int block) |
inode | 174 | fs/minix/inode.c | return inode_bmap(inode,block); |
inode | 177 | fs/minix/inode.c | i = inode_bmap(inode,7); |
inode | 180 | fs/minix/inode.c | return block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block); |
inode | 183 | fs/minix/inode.c | i = inode_bmap(inode,8); |
inode | 186 | fs/minix/inode.c | i = block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block>>9); |
inode | 189 | fs/minix/inode.c | return block_bmap(bread(inode->i_dev,i,BLOCK_SIZE),block & 511); |
inode | 192 | fs/minix/inode.c | static struct buffer_head * inode_getblk(struct inode * inode, int nr, int create) |
inode | 198 | fs/minix/inode.c | p = inode->u.minix_i.i_data + nr; |
inode | 202 | fs/minix/inode.c | result = getblk(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 210 | fs/minix/inode.c | tmp = minix_new_block(inode->i_sb); |
inode | 213 | fs/minix/inode.c | result = getblk(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 215 | fs/minix/inode.c | minix_free_block(inode->i_sb,tmp); |
inode | 220 | fs/minix/inode.c | inode->i_ctime = CURRENT_TIME; |
inode | 221 | fs/minix/inode.c | inode->i_dirt = 1; |
inode | 225 | fs/minix/inode.c | static struct buffer_head * block_getblk(struct inode * inode, |
inode | 258 | fs/minix/inode.c | tmp = minix_new_block(inode->i_sb); |
inode | 265 | fs/minix/inode.c | minix_free_block(inode->i_sb,tmp); |
inode | 275 | fs/minix/inode.c | struct buffer_head * minix_getblk(struct inode * inode, int block, int create) |
inode | 288 | fs/minix/inode.c | return inode_getblk(inode,block,create); |
inode | 291 | fs/minix/inode.c | bh = inode_getblk(inode,7,create); |
inode | 292 | fs/minix/inode.c | return block_getblk(inode, bh, block, create); |
inode | 295 | fs/minix/inode.c | bh = inode_getblk(inode,8,create); |
inode | 296 | fs/minix/inode.c | bh = block_getblk(inode, bh, block>>9, create); |
inode | 297 | fs/minix/inode.c | return block_getblk(inode, bh, block & 511, create); |
inode | 300 | fs/minix/inode.c | struct buffer_head * minix_bread(struct inode * inode, int block, int create) |
inode | 304 | fs/minix/inode.c | bh = minix_getblk(inode,block,create); |
inode | 315 | fs/minix/inode.c | void minix_read_inode(struct inode * inode) |
inode | 321 | fs/minix/inode.c | ino = inode->i_ino; |
inode | 322 | fs/minix/inode.c | inode->i_op = NULL; |
inode | 323 | fs/minix/inode.c | inode->i_mode = 0; |
inode | 324 | fs/minix/inode.c | if (!ino || ino >= inode->i_sb->u.minix_sb.s_ninodes) { |
inode | 326 | fs/minix/inode.c | inode->i_dev, ino); |
inode | 329 | fs/minix/inode.c | block = 2 + inode->i_sb->u.minix_sb.s_imap_blocks + |
inode | 330 | fs/minix/inode.c | inode->i_sb->u.minix_sb.s_zmap_blocks + |
inode | 332 | fs/minix/inode.c | if (!(bh=bread(inode->i_dev,block, BLOCK_SIZE))) { |
inode | 334 | fs/minix/inode.c | inode->i_dev); |
inode | 339 | fs/minix/inode.c | inode->i_mode = raw_inode->i_mode; |
inode | 340 | fs/minix/inode.c | inode->i_uid = raw_inode->i_uid; |
inode | 341 | fs/minix/inode.c | inode->i_gid = raw_inode->i_gid; |
inode | 342 | fs/minix/inode.c | inode->i_nlink = raw_inode->i_nlinks; |
inode | 343 | fs/minix/inode.c | inode->i_size = raw_inode->i_size; |
inode | 344 | fs/minix/inode.c | inode->i_mtime = inode->i_atime = inode->i_ctime = raw_inode->i_time; |
inode | 345 | fs/minix/inode.c | inode->i_blocks = inode->i_blksize = 0; |
inode | 346 | fs/minix/inode.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
inode | 347 | fs/minix/inode.c | inode->i_rdev = raw_inode->i_zone[0]; |
inode | 349 | fs/minix/inode.c | inode->u.minix_i.i_data[block] = raw_inode->i_zone[block]; |
inode | 351 | fs/minix/inode.c | if (S_ISREG(inode->i_mode)) |
inode | 352 | fs/minix/inode.c | inode->i_op = &minix_file_inode_operations; |
inode | 353 | fs/minix/inode.c | else if (S_ISDIR(inode->i_mode)) |
inode | 354 | fs/minix/inode.c | inode->i_op = &minix_dir_inode_operations; |
inode | 355 | fs/minix/inode.c | else if (S_ISLNK(inode->i_mode)) |
inode | 356 | fs/minix/inode.c | inode->i_op = &minix_symlink_inode_operations; |
inode | 357 | fs/minix/inode.c | else if (S_ISCHR(inode->i_mode)) |
inode | 358 | fs/minix/inode.c | inode->i_op = &chrdev_inode_operations; |
inode | 359 | fs/minix/inode.c | else if (S_ISBLK(inode->i_mode)) |
inode | 360 | fs/minix/inode.c | inode->i_op = &blkdev_inode_operations; |
inode | 361 | fs/minix/inode.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 362 | fs/minix/inode.c | init_fifo(inode); |
inode | 365 | fs/minix/inode.c | void minix_write_inode(struct inode * inode) |
inode | 371 | fs/minix/inode.c | ino = inode->i_ino; |
inode | 372 | fs/minix/inode.c | if (!ino || ino >= inode->i_sb->u.minix_sb.s_ninodes) { |
inode | 374 | fs/minix/inode.c | inode->i_dev, ino); |
inode | 375 | fs/minix/inode.c | inode->i_dirt = 0; |
inode | 378 | fs/minix/inode.c | block = 2 + inode->i_sb->u.minix_sb.s_imap_blocks + inode->i_sb->u.minix_sb.s_zmap_blocks + |
inode | 380 | fs/minix/inode.c | if (!(bh=bread(inode->i_dev, block, BLOCK_SIZE))) { |
inode | 382 | fs/minix/inode.c | inode->i_dirt = 0; |
inode | 387 | fs/minix/inode.c | raw_inode->i_mode = inode->i_mode; |
inode | 388 | fs/minix/inode.c | raw_inode->i_uid = inode->i_uid; |
inode | 389 | fs/minix/inode.c | raw_inode->i_gid = inode->i_gid; |
inode | 390 | fs/minix/inode.c | raw_inode->i_nlinks = inode->i_nlink; |
inode | 391 | fs/minix/inode.c | raw_inode->i_size = inode->i_size; |
inode | 392 | fs/minix/inode.c | raw_inode->i_time = inode->i_mtime; |
inode | 393 | fs/minix/inode.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
inode | 394 | fs/minix/inode.c | raw_inode->i_zone[0] = inode->i_rdev; |
inode | 396 | fs/minix/inode.c | raw_inode->i_zone[block] = inode->u.minix_i.i_data[block]; |
inode | 397 | fs/minix/inode.c | inode->i_dirt=0; |
inode | 52 | fs/minix/namei.c | if (!de->inode || len > info->s_namelen) |
inode | 68 | fs/minix/namei.c | static struct buffer_head * minix_find_entry(struct inode * dir, |
inode | 111 | fs/minix/namei.c | int minix_lookup(struct inode * dir,const char * name, int len, |
inode | 112 | fs/minix/namei.c | struct inode ** result) |
inode | 129 | fs/minix/namei.c | ino = de->inode; |
inode | 149 | fs/minix/namei.c | static int minix_add_entry(struct inode * dir, |
inode | 185 | fs/minix/namei.c | de->inode = 0; |
inode | 190 | fs/minix/namei.c | if (de->inode) { |
inode | 214 | fs/minix/namei.c | int minix_create(struct inode * dir,const char * name, int len, int mode, |
inode | 215 | fs/minix/namei.c | struct inode ** result) |
inode | 218 | fs/minix/namei.c | struct inode * inode; |
inode | 225 | fs/minix/namei.c | inode = minix_new_inode(dir); |
inode | 226 | fs/minix/namei.c | if (!inode) { |
inode | 230 | fs/minix/namei.c | inode->i_op = &minix_file_inode_operations; |
inode | 231 | fs/minix/namei.c | inode->i_mode = mode; |
inode | 232 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 235 | fs/minix/namei.c | inode->i_nlink--; |
inode | 236 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 237 | fs/minix/namei.c | iput(inode); |
inode | 241 | fs/minix/namei.c | de->inode = inode->i_ino; |
inode | 245 | fs/minix/namei.c | *result = inode; |
inode | 249 | fs/minix/namei.c | int minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev) |
inode | 252 | fs/minix/namei.c | struct inode * inode; |
inode | 264 | fs/minix/namei.c | inode = minix_new_inode(dir); |
inode | 265 | fs/minix/namei.c | if (!inode) { |
inode | 269 | fs/minix/namei.c | inode->i_uid = current->euid; |
inode | 270 | fs/minix/namei.c | inode->i_mode = mode; |
inode | 271 | fs/minix/namei.c | inode->i_op = NULL; |
inode | 272 | fs/minix/namei.c | if (S_ISREG(inode->i_mode)) |
inode | 273 | fs/minix/namei.c | inode->i_op = &minix_file_inode_operations; |
inode | 274 | fs/minix/namei.c | else if (S_ISDIR(inode->i_mode)) { |
inode | 275 | fs/minix/namei.c | inode->i_op = &minix_dir_inode_operations; |
inode | 277 | fs/minix/namei.c | inode->i_mode |= S_ISGID; |
inode | 279 | fs/minix/namei.c | else if (S_ISLNK(inode->i_mode)) |
inode | 280 | fs/minix/namei.c | inode->i_op = &minix_symlink_inode_operations; |
inode | 281 | fs/minix/namei.c | else if (S_ISCHR(inode->i_mode)) |
inode | 282 | fs/minix/namei.c | inode->i_op = &chrdev_inode_operations; |
inode | 283 | fs/minix/namei.c | else if (S_ISBLK(inode->i_mode)) |
inode | 284 | fs/minix/namei.c | inode->i_op = &blkdev_inode_operations; |
inode | 285 | fs/minix/namei.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 286 | fs/minix/namei.c | init_fifo(inode); |
inode | 288 | fs/minix/namei.c | inode->i_rdev = rdev; |
inode | 289 | fs/minix/namei.c | inode->i_mtime = inode->i_atime = CURRENT_TIME; |
inode | 290 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 293 | fs/minix/namei.c | inode->i_nlink--; |
inode | 294 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 295 | fs/minix/namei.c | iput(inode); |
inode | 299 | fs/minix/namei.c | de->inode = inode->i_ino; |
inode | 303 | fs/minix/namei.c | iput(inode); |
inode | 307 | fs/minix/namei.c | int minix_mkdir(struct inode * dir, const char * name, int len, int mode) |
inode | 310 | fs/minix/namei.c | struct inode * inode; |
inode | 330 | fs/minix/namei.c | inode = minix_new_inode(dir); |
inode | 331 | fs/minix/namei.c | if (!inode) { |
inode | 335 | fs/minix/namei.c | inode->i_op = &minix_dir_inode_operations; |
inode | 336 | fs/minix/namei.c | inode->i_size = 2 * info->s_dirsize; |
inode | 337 | fs/minix/namei.c | inode->i_mtime = inode->i_atime = CURRENT_TIME; |
inode | 338 | fs/minix/namei.c | dir_block = minix_bread(inode,0,1); |
inode | 341 | fs/minix/namei.c | inode->i_nlink--; |
inode | 342 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 343 | fs/minix/namei.c | iput(inode); |
inode | 347 | fs/minix/namei.c | de->inode=inode->i_ino; |
inode | 350 | fs/minix/namei.c | de->inode = dir->i_ino; |
inode | 352 | fs/minix/namei.c | inode->i_nlink = 2; |
inode | 355 | fs/minix/namei.c | inode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask); |
inode | 357 | fs/minix/namei.c | inode->i_mode |= S_ISGID; |
inode | 358 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 362 | fs/minix/namei.c | inode->i_nlink=0; |
inode | 363 | fs/minix/namei.c | iput(inode); |
inode | 366 | fs/minix/namei.c | de->inode = inode->i_ino; |
inode | 371 | fs/minix/namei.c | iput(inode); |
inode | 379 | fs/minix/namei.c | static int empty_dir(struct inode * inode) |
inode | 386 | fs/minix/namei.c | if (!inode || !inode->i_sb) |
inode | 388 | fs/minix/namei.c | info = &inode->i_sb->u.minix_sb; |
inode | 392 | fs/minix/namei.c | if (inode->i_size & (info->s_dirsize-1)) |
inode | 394 | fs/minix/namei.c | if (inode->i_size < offset) |
inode | 396 | fs/minix/namei.c | bh = minix_bread(inode,0,0); |
inode | 400 | fs/minix/namei.c | if (!de->inode || strcmp(de->name,".")) |
inode | 403 | fs/minix/namei.c | if (!de->inode || strcmp(de->name,"..")) |
inode | 405 | fs/minix/namei.c | while (block*BLOCK_SIZE+offset < inode->i_size) { |
inode | 407 | fs/minix/namei.c | bh = minix_bread(inode,block,0); |
inode | 415 | fs/minix/namei.c | if (de->inode) { |
inode | 430 | fs/minix/namei.c | printk("Bad directory on device %04x\n",inode->i_dev); |
inode | 434 | fs/minix/namei.c | int minix_rmdir(struct inode * dir, const char * name, int len) |
inode | 437 | fs/minix/namei.c | struct inode * inode; |
inode | 441 | fs/minix/namei.c | inode = NULL; |
inode | 447 | fs/minix/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
inode | 450 | fs/minix/namei.c | inode->i_uid != current->euid) |
inode | 452 | fs/minix/namei.c | if (inode->i_dev != dir->i_dev) |
inode | 454 | fs/minix/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
inode | 456 | fs/minix/namei.c | if (!S_ISDIR(inode->i_mode)) { |
inode | 460 | fs/minix/namei.c | if (!empty_dir(inode)) { |
inode | 464 | fs/minix/namei.c | if (inode->i_count > 1) { |
inode | 468 | fs/minix/namei.c | if (inode->i_nlink != 2) |
inode | 469 | fs/minix/namei.c | printk("empty directory has nlink!=2 (%d)\n",inode->i_nlink); |
inode | 470 | fs/minix/namei.c | de->inode = 0; |
inode | 472 | fs/minix/namei.c | inode->i_nlink=0; |
inode | 473 | fs/minix/namei.c | inode->i_dirt=1; |
inode | 480 | fs/minix/namei.c | iput(inode); |
inode | 485 | fs/minix/namei.c | int minix_unlink(struct inode * dir, const char * name, int len) |
inode | 488 | fs/minix/namei.c | struct inode * inode; |
inode | 494 | fs/minix/namei.c | inode = NULL; |
inode | 498 | fs/minix/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
inode | 500 | fs/minix/namei.c | if (de->inode != inode->i_ino) { |
inode | 501 | fs/minix/namei.c | iput(inode); |
inode | 509 | fs/minix/namei.c | current->euid != inode->i_uid && |
inode | 512 | fs/minix/namei.c | if (S_ISDIR(inode->i_mode)) |
inode | 514 | fs/minix/namei.c | if (!inode->i_nlink) { |
inode | 516 | fs/minix/namei.c | inode->i_dev,inode->i_ino,inode->i_nlink); |
inode | 517 | fs/minix/namei.c | inode->i_nlink=1; |
inode | 519 | fs/minix/namei.c | de->inode = 0; |
inode | 523 | fs/minix/namei.c | inode->i_nlink--; |
inode | 524 | fs/minix/namei.c | inode->i_ctime = CURRENT_TIME; |
inode | 525 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 529 | fs/minix/namei.c | iput(inode); |
inode | 534 | fs/minix/namei.c | int minix_symlink(struct inode * dir, const char * name, int len, const char * symname) |
inode | 537 | fs/minix/namei.c | struct inode * inode = NULL; |
inode | 542 | fs/minix/namei.c | if (!(inode = minix_new_inode(dir))) { |
inode | 546 | fs/minix/namei.c | inode->i_mode = S_IFLNK | 0777; |
inode | 547 | fs/minix/namei.c | inode->i_op = &minix_symlink_inode_operations; |
inode | 548 | fs/minix/namei.c | name_block = minix_bread(inode,0,1); |
inode | 551 | fs/minix/namei.c | inode->i_nlink--; |
inode | 552 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 553 | fs/minix/namei.c | iput(inode); |
inode | 562 | fs/minix/namei.c | inode->i_size = i; |
inode | 563 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 566 | fs/minix/namei.c | inode->i_nlink--; |
inode | 567 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 568 | fs/minix/namei.c | iput(inode); |
inode | 575 | fs/minix/namei.c | inode->i_nlink--; |
inode | 576 | fs/minix/namei.c | inode->i_dirt = 1; |
inode | 577 | fs/minix/namei.c | iput(inode); |
inode | 581 | fs/minix/namei.c | de->inode = inode->i_ino; |
inode | 585 | fs/minix/namei.c | iput(inode); |
inode | 589 | fs/minix/namei.c | int minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len) |
inode | 618 | fs/minix/namei.c | de->inode = oldinode->i_ino; |
inode | 629 | fs/minix/namei.c | static int subdir(struct inode * new, struct inode * old) |
inode | 654 | fs/minix/namei.c | (((struct minix_dir_entry *) ((buffer)+info->s_dirsize))->inode) |
inode | 666 | fs/minix/namei.c | static int do_minix_rename(struct inode * old_dir, const char * old_name, int old_len, |
inode | 667 | fs/minix/namei.c | struct inode * new_dir, const char * new_name, int new_len) |
inode | 669 | fs/minix/namei.c | struct inode * old_inode, * new_inode; |
inode | 692 | fs/minix/namei.c | old_inode = iget(old_dir->i_sb, old_de->inode); |
inode | 702 | fs/minix/namei.c | new_inode = iget(new_dir->i_sb, new_de->inode); |
inode | 754 | fs/minix/namei.c | if (new_inode && (new_de->inode != new_inode->i_ino)) |
inode | 756 | fs/minix/namei.c | if (new_de->inode && !new_inode) |
inode | 758 | fs/minix/namei.c | if (old_de->inode != old_inode->i_ino) |
inode | 761 | fs/minix/namei.c | old_de->inode = 0; |
inode | 762 | fs/minix/namei.c | new_de->inode = old_inode->i_ino; |
inode | 803 | fs/minix/namei.c | int minix_rename(struct inode * old_dir, const char * old_name, int old_len, |
inode | 804 | fs/minix/namei.c | struct inode * new_dir, const char * new_name, int new_len) |
inode | 17 | fs/minix/symlink.c | static int minix_readlink(struct inode *, char *, int); |
inode | 18 | fs/minix/symlink.c | static int minix_follow_link(struct inode *, struct inode *, int, int, struct inode **); |
inode | 41 | fs/minix/symlink.c | static int minix_follow_link(struct inode * dir, struct inode * inode, |
inode | 42 | fs/minix/symlink.c | int flag, int mode, struct inode ** res_inode) |
inode | 52 | fs/minix/symlink.c | if (!inode) { |
inode | 56 | fs/minix/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 58 | fs/minix/symlink.c | *res_inode = inode; |
inode | 62 | fs/minix/symlink.c | iput(inode); |
inode | 66 | fs/minix/symlink.c | if (!(bh = minix_bread(inode, 0, 0))) { |
inode | 67 | fs/minix/symlink.c | iput(inode); |
inode | 71 | fs/minix/symlink.c | iput(inode); |
inode | 79 | fs/minix/symlink.c | static int minix_readlink(struct inode * inode, char * buffer, int buflen) |
inode | 85 | fs/minix/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 86 | fs/minix/symlink.c | iput(inode); |
inode | 91 | fs/minix/symlink.c | bh = minix_bread(inode, 0, 0); |
inode | 92 | fs/minix/symlink.c | iput(inode); |
inode | 27 | fs/minix/truncate.c | static int trunc_direct(struct inode * inode) |
inode | 33 | fs/minix/truncate.c | #define DIRECT_BLOCK ((inode->i_size + 1023) >> 10) |
inode | 37 | fs/minix/truncate.c | p = i + inode->u.minix_i.i_data; |
inode | 40 | fs/minix/truncate.c | bh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE); |
inode | 51 | fs/minix/truncate.c | inode->i_dirt = 1; |
inode | 53 | fs/minix/truncate.c | minix_free_block(inode->i_sb,tmp); |
inode | 58 | fs/minix/truncate.c | static int trunc_indirect(struct inode * inode, int offset, unsigned short * p) |
inode | 70 | fs/minix/truncate.c | ind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 89 | fs/minix/truncate.c | bh = get_hash_table(inode->i_dev,tmp,BLOCK_SIZE); |
inode | 102 | fs/minix/truncate.c | minix_free_block(inode->i_sb,tmp); |
inode | 114 | fs/minix/truncate.c | minix_free_block(inode->i_sb,tmp); |
inode | 120 | fs/minix/truncate.c | static int trunc_dindirect(struct inode * inode) |
inode | 128 | fs/minix/truncate.c | p = 8 + inode->u.minix_i.i_data; |
inode | 131 | fs/minix/truncate.c | dind_bh = bread(inode->i_dev, tmp, BLOCK_SIZE); |
inode | 147 | fs/minix/truncate.c | retry |= trunc_indirect(inode,7+512+(i<<9),dind); |
inode | 160 | fs/minix/truncate.c | inode->i_dirt = 1; |
inode | 161 | fs/minix/truncate.c | minix_free_block(inode->i_sb,tmp); |
inode | 167 | fs/minix/truncate.c | void minix_truncate(struct inode * inode) |
inode | 171 | fs/minix/truncate.c | if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || |
inode | 172 | fs/minix/truncate.c | S_ISLNK(inode->i_mode))) |
inode | 175 | fs/minix/truncate.c | retry = trunc_direct(inode); |
inode | 176 | fs/minix/truncate.c | retry |= trunc_indirect(inode,7,inode->u.minix_i.i_data+7); |
inode | 177 | fs/minix/truncate.c | retry |= trunc_dindirect(inode); |
inode | 183 | fs/minix/truncate.c | inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
inode | 184 | fs/minix/truncate.c | inode->i_dirt = 1; |
inode | 17 | fs/msdos/dir.c | static int msdos_dir_read(struct inode * inode,struct file * filp, char * buf,int count) |
inode | 22 | fs/msdos/dir.c | static int msdos_readdir(struct inode *inode,struct file *filp, |
inode | 57 | fs/msdos/dir.c | static int msdos_readdir(struct inode *inode,struct file *filp, |
inode | 65 | fs/msdos/dir.c | if (!inode || !S_ISDIR(inode->i_mode)) return -EBADF; |
inode | 66 | fs/msdos/dir.c | if (inode->i_ino == MSDOS_ROOT_INO) { |
inode | 81 | fs/msdos/dir.c | while ((ino = msdos_get_entry(inode,&filp->f_pos,&bh,&de)) > -1) { |
inode | 101 | fs/msdos/dir.c | ino = inode->i_ino; |
inode | 103 | fs/msdos/dir.c | ino = msdos_parent_ino(inode,0); |
inode | 120 | fs/msdos/fat.c | void cache_lookup(struct inode *inode,int cluster,int *f_clu,int *d_clu) |
inode | 125 | fs/msdos/fat.c | printk("cache lookup: <%d,%d> %d (%d,%d) -> ",inode->i_dev,inode->i_ino,cluster, |
inode | 129 | fs/msdos/fat.c | if (inode->i_dev == walk->device && walk->ino == inode->i_ino && |
inode | 160 | fs/msdos/fat.c | void cache_add(struct inode *inode,int f_clu,int d_clu) |
inode | 165 | fs/msdos/fat.c | printk("cache add: <%d,%d> %d (%d)\n",inode->i_dev,inode->i_ino,f_clu,d_clu); |
inode | 169 | fs/msdos/fat.c | if (inode->i_dev == walk->device && walk->ino == inode->i_ino && |
inode | 173 | fs/msdos/fat.c | cache_inval_inode(inode); |
inode | 186 | fs/msdos/fat.c | walk->device = inode->i_dev; |
inode | 187 | fs/msdos/fat.c | walk->ino = inode->i_ino; |
inode | 202 | fs/msdos/fat.c | void cache_inval_inode(struct inode *inode) |
inode | 207 | fs/msdos/fat.c | if (walk->device == inode->i_dev && walk->ino == inode->i_ino) |
inode | 221 | fs/msdos/fat.c | int get_cluster(struct inode *inode,int cluster) |
inode | 225 | fs/msdos/fat.c | if (!(this = MSDOS_I(inode)->i_start)) return 0; |
inode | 228 | fs/msdos/fat.c | for (cache_lookup(inode,cluster,&count,&this); count < cluster; |
inode | 230 | fs/msdos/fat.c | if ((this = fat_access(inode->i_sb,this,-1)) == -1) return 0; |
inode | 233 | fs/msdos/fat.c | cache_add(inode,cluster,this); |
inode | 238 | fs/msdos/fat.c | int msdos_smap(struct inode *inode,int sector) |
inode | 243 | fs/msdos/fat.c | sb = MSDOS_SB(inode->i_sb); |
inode | 244 | fs/msdos/fat.c | if (inode->i_ino == MSDOS_ROOT_INO || (S_ISDIR(inode->i_mode) && |
inode | 245 | fs/msdos/fat.c | !MSDOS_I(inode)->i_start)) { |
inode | 251 | fs/msdos/fat.c | if (!(cluster = get_cluster(inode,cluster))) return 0; |
inode | 259 | fs/msdos/fat.c | int fat_free(struct inode *inode,int skip) |
inode | 263 | fs/msdos/fat.c | if (!(this = MSDOS_I(inode)->i_start)) return 0; |
inode | 267 | fs/msdos/fat.c | if ((this = fat_access(inode->i_sb,this,-1)) == -1) return 0; |
inode | 274 | fs/msdos/fat.c | fat_access(inode->i_sb,last,MSDOS_SB(inode->i_sb)->fat_bits == |
inode | 277 | fs/msdos/fat.c | MSDOS_I(inode)->i_start = 0; |
inode | 278 | fs/msdos/fat.c | inode->i_dirt = 1; |
inode | 280 | fs/msdos/fat.c | lock_fat(inode->i_sb); |
inode | 282 | fs/msdos/fat.c | if (!(this = fat_access(inode->i_sb,this,0))) { |
inode | 283 | fs/msdos/fat.c | fs_panic(inode->i_sb,"fat_free: deleting beyond EOF"); |
inode | 286 | fs/msdos/fat.c | if (MSDOS_SB(inode->i_sb)->free_clusters != -1) |
inode | 287 | fs/msdos/fat.c | MSDOS_SB(inode->i_sb)->free_clusters++; |
inode | 288 | fs/msdos/fat.c | inode->i_blocks -= MSDOS_SB(inode->i_sb)->cluster_size; |
inode | 290 | fs/msdos/fat.c | unlock_fat(inode->i_sb); |
inode | 291 | fs/msdos/fat.c | cache_inval_inode(inode); |
inode | 22 | fs/msdos/file.c | static int msdos_file_read(struct inode *inode,struct file *filp,char *buf, |
inode | 24 | fs/msdos/file.c | static int msdos_file_write(struct inode *inode,struct file *filp,char *buf, |
inode | 80 | fs/msdos/file.c | static int msdos_file_read(struct inode *inode,struct file *filp,char *buf, |
inode | 90 | fs/msdos/file.c | if (!inode) { |
inode | 94 | fs/msdos/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 95 | fs/msdos/file.c | printk("msdos_file_read: mode = %07o\n",inode->i_mode); |
inode | 98 | fs/msdos/file.c | if (filp->f_pos >= inode->i_size || count <= 0) return 0; |
inode | 100 | fs/msdos/file.c | while ((left = MIN(inode->i_size-filp->f_pos,count-(buf-start))) > 0){ |
inode | 101 | fs/msdos/file.c | if (!(sector = msdos_smap(inode,filp->f_pos >> SECTOR_BITS))) |
inode | 104 | fs/msdos/file.c | if (!(bh = msdos_sread(inode->i_dev,sector,&data))) break; |
inode | 106 | fs/msdos/file.c | if (MSDOS_I(inode)->i_binary) { |
inode | 116 | fs/msdos/file.c | filp->f_pos = inode->i_size; |
inode | 129 | fs/msdos/file.c | static int msdos_file_write(struct inode *inode,struct file *filp,char *buf, |
inode | 138 | fs/msdos/file.c | if (!inode) { |
inode | 142 | fs/msdos/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 143 | fs/msdos/file.c | printk("msdos_file_write: mode = %07o\n",inode->i_mode); |
inode | 150 | fs/msdos/file.c | if (filp->f_flags & O_APPEND) filp->f_pos = inode->i_size; |
inode | 154 | fs/msdos/file.c | while (!(sector = msdos_smap(inode,filp->f_pos >> SECTOR_BITS))) |
inode | 155 | fs/msdos/file.c | if ((error = msdos_add_cluster(inode)) < 0) break; |
inode | 157 | fs/msdos/file.c | msdos_truncate(inode); |
inode | 162 | fs/msdos/file.c | if (!(bh = msdos_sread(inode->i_dev,sector,&data))) { |
inode | 166 | fs/msdos/file.c | if (MSDOS_I(inode)->i_binary) { |
inode | 193 | fs/msdos/file.c | if (filp->f_pos > inode->i_size) { |
inode | 194 | fs/msdos/file.c | inode->i_size = filp->f_pos; |
inode | 195 | fs/msdos/file.c | inode->i_dirt = 1; |
inode | 200 | fs/msdos/file.c | inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
inode | 201 | fs/msdos/file.c | MSDOS_I(inode)->i_attrs |= ATTR_ARCH; |
inode | 202 | fs/msdos/file.c | inode->i_dirt = 1; |
inode | 207 | fs/msdos/file.c | void msdos_truncate(struct inode *inode) |
inode | 211 | fs/msdos/file.c | cluster = SECTOR_SIZE*MSDOS_SB(inode->i_sb)->cluster_size; |
inode | 212 | fs/msdos/file.c | (void) fat_free(inode,(inode->i_size+(cluster-1))/cluster); |
inode | 213 | fs/msdos/file.c | MSDOS_I(inode)->i_attrs |= ATTR_ARCH; |
inode | 214 | fs/msdos/file.c | inode->i_dirt = 1; |
inode | 19 | fs/msdos/inode.c | void msdos_put_inode(struct inode *inode) |
inode | 21 | fs/msdos/inode.c | struct inode *depend; |
inode | 24 | fs/msdos/inode.c | if (inode->i_nlink) { |
inode | 25 | fs/msdos/inode.c | if (MSDOS_I(inode)->i_busy) cache_inval_inode(inode); |
inode | 28 | fs/msdos/inode.c | inode->i_size = 0; |
inode | 29 | fs/msdos/inode.c | msdos_truncate(inode); |
inode | 30 | fs/msdos/inode.c | depend = MSDOS_I(inode)->i_depend; |
inode | 31 | fs/msdos/inode.c | sb = inode->i_sb; |
inode | 32 | fs/msdos/inode.c | clear_inode(inode); |
inode | 34 | fs/msdos/inode.c | if (MSDOS_I(depend)->i_old != inode) { |
inode | 36 | fs/msdos/inode.c | (int) depend,(int) inode,(int) MSDOS_I(depend)-> |
inode | 285 | fs/msdos/inode.c | int msdos_bmap(struct inode *inode,int block) |
inode | 290 | fs/msdos/inode.c | sb = MSDOS_SB(inode->i_sb); |
inode | 292 | fs/msdos/inode.c | if (inode->i_ino == MSDOS_ROOT_INO) { |
inode | 298 | fs/msdos/inode.c | if (!(cluster = get_cluster(inode,cluster))) return 0; |
inode | 303 | fs/msdos/inode.c | void msdos_read_inode(struct inode *inode) |
inode | 310 | fs/msdos/inode.c | MSDOS_I(inode)->i_busy = 0; |
inode | 311 | fs/msdos/inode.c | MSDOS_I(inode)->i_depend = MSDOS_I(inode)->i_old = NULL; |
inode | 312 | fs/msdos/inode.c | MSDOS_I(inode)->i_binary = 1; |
inode | 313 | fs/msdos/inode.c | inode->i_uid = MSDOS_SB(inode->i_sb)->fs_uid; |
inode | 314 | fs/msdos/inode.c | inode->i_gid = MSDOS_SB(inode->i_sb)->fs_gid; |
inode | 315 | fs/msdos/inode.c | if (inode->i_ino == MSDOS_ROOT_INO) { |
inode | 316 | fs/msdos/inode.c | inode->i_mode = (0777 & ~MSDOS_SB(inode->i_sb)->fs_umask) | |
inode | 318 | fs/msdos/inode.c | inode->i_op = &msdos_dir_inode_operations; |
inode | 319 | fs/msdos/inode.c | inode->i_nlink = msdos_subdirs(inode)+2; |
inode | 321 | fs/msdos/inode.c | inode->i_size = MSDOS_SB(inode->i_sb)->dir_entries* |
inode | 323 | fs/msdos/inode.c | inode->i_blksize = MSDOS_SB(inode->i_sb)->cluster_size* |
inode | 325 | fs/msdos/inode.c | inode->i_blocks = (inode->i_size+inode->i_blksize-1)/ |
inode | 326 | fs/msdos/inode.c | inode->i_blksize*MSDOS_SB(inode->i_sb)->cluster_size; |
inode | 327 | fs/msdos/inode.c | MSDOS_I(inode)->i_start = 0; |
inode | 328 | fs/msdos/inode.c | MSDOS_I(inode)->i_attrs = 0; |
inode | 329 | fs/msdos/inode.c | inode->i_mtime = inode->i_atime = inode->i_ctime = 0; |
inode | 332 | fs/msdos/inode.c | if (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS, |
inode | 334 | fs/msdos/inode.c | printk("dev = 0x%04X, ino = %d\n",inode->i_dev,inode->i_ino); |
inode | 338 | fs/msdos/inode.c | [inode->i_ino & (MSDOS_DPB-1)]; |
inode | 340 | fs/msdos/inode.c | inode->i_mode = MSDOS_MKMODE(raw_entry->attr,0777 & |
inode | 341 | fs/msdos/inode.c | ~MSDOS_SB(inode->i_sb)->fs_umask) | S_IFDIR; |
inode | 342 | fs/msdos/inode.c | inode->i_op = &msdos_dir_inode_operations; |
inode | 343 | fs/msdos/inode.c | MSDOS_I(inode)->i_start = CF_LE_W(raw_entry->start); |
inode | 344 | fs/msdos/inode.c | inode->i_nlink = msdos_subdirs(inode); |
inode | 347 | fs/msdos/inode.c | if (!inode->i_nlink) { |
inode | 348 | fs/msdos/inode.c | printk("directory %d: i_nlink == 0\n",inode->i_ino); |
inode | 349 | fs/msdos/inode.c | inode->i_nlink = 1; |
inode | 352 | fs/msdos/inode.c | inode->i_size = 0; |
inode | 355 | fs/msdos/inode.c | inode->i_size += SECTOR_SIZE*MSDOS_SB(inode-> |
inode | 357 | fs/msdos/inode.c | if (!(this = fat_access(inode->i_sb,this,-1))) |
inode | 359 | fs/msdos/inode.c | inode->i_ino); |
inode | 363 | fs/msdos/inode.c | inode->i_mode = MSDOS_MKMODE(raw_entry->attr,(IS_NOEXEC(inode) |
inode | 364 | fs/msdos/inode.c | ? 0666 : 0777) & ~MSDOS_SB(inode->i_sb)->fs_umask) | |
inode | 366 | fs/msdos/inode.c | inode->i_op = MSDOS_CAN_BMAP(MSDOS_SB(inode->i_sb)) ? |
inode | 369 | fs/msdos/inode.c | MSDOS_I(inode)->i_start = CF_LE_W(raw_entry->start); |
inode | 370 | fs/msdos/inode.c | inode->i_nlink = 1; |
inode | 371 | fs/msdos/inode.c | inode->i_size = CF_LE_L(raw_entry->size); |
inode | 373 | fs/msdos/inode.c | MSDOS_I(inode)->i_binary = is_binary(MSDOS_SB(inode->i_sb)->conversion, |
inode | 375 | fs/msdos/inode.c | MSDOS_I(inode)->i_attrs = raw_entry->attr & ATTR_UNUSED; |
inode | 377 | fs/msdos/inode.c | inode->i_blksize = MSDOS_SB(inode->i_sb)->cluster_size*SECTOR_SIZE; |
inode | 378 | fs/msdos/inode.c | inode->i_blocks = (inode->i_size+inode->i_blksize-1)/ |
inode | 379 | fs/msdos/inode.c | inode->i_blksize*MSDOS_SB(inode->i_sb)->cluster_size; |
inode | 380 | fs/msdos/inode.c | inode->i_mtime = inode->i_atime = inode->i_ctime = |
inode | 386 | fs/msdos/inode.c | void msdos_write_inode(struct inode *inode) |
inode | 391 | fs/msdos/inode.c | inode->i_dirt = 0; |
inode | 392 | fs/msdos/inode.c | if (inode->i_ino == MSDOS_ROOT_INO || !inode->i_nlink) return; |
inode | 393 | fs/msdos/inode.c | if (!(bh = bread(inode->i_dev,inode->i_ino >> MSDOS_DPB_BITS, |
inode | 395 | fs/msdos/inode.c | printk("dev = 0x%04X, ino = %d\n",inode->i_dev,inode->i_ino); |
inode | 399 | fs/msdos/inode.c | [inode->i_ino & (MSDOS_DPB-1)]; |
inode | 400 | fs/msdos/inode.c | if (S_ISDIR(inode->i_mode)) { |
inode | 406 | fs/msdos/inode.c | raw_entry->size = CT_LE_L(inode->i_size); |
inode | 408 | fs/msdos/inode.c | raw_entry->attr |= MSDOS_MKATTR(inode->i_mode) | |
inode | 409 | fs/msdos/inode.c | MSDOS_I(inode)->i_attrs; |
inode | 410 | fs/msdos/inode.c | raw_entry->start = CT_LE_L(MSDOS_I(inode)->i_start); |
inode | 411 | fs/msdos/inode.c | date_unix2dos(inode->i_mtime,&raw_entry->time,&raw_entry->date); |
inode | 419 | fs/msdos/inode.c | int msdos_notify_change(int flags,struct inode *inode) |
inode | 424 | fs/msdos/inode.c | if ((flags & NOTIFY_UIDGID) && (inode->i_uid != MSDOS_SB(inode->i_sb)-> |
inode | 425 | fs/msdos/inode.c | fs_uid || inode->i_gid != MSDOS_SB(inode->i_sb)->fs_gid)) { |
inode | 426 | fs/msdos/inode.c | inode->i_uid = MSDOS_SB(inode->i_sb)->fs_uid; |
inode | 427 | fs/msdos/inode.c | inode->i_gid = MSDOS_SB(inode->i_sb)->fs_gid; |
inode | 431 | fs/msdos/inode.c | return MSDOS_SB(inode->i_sb)->quiet ? 0 : error; |
inode | 432 | fs/msdos/inode.c | if (inode->i_mode & ~MSDOS_VALID_MODE) { |
inode | 433 | fs/msdos/inode.c | inode->i_mode &= MSDOS_VALID_MODE; |
inode | 436 | fs/msdos/inode.c | if (IS_NOEXEC(inode) && !S_ISDIR(inode->i_mode)) |
inode | 437 | fs/msdos/inode.c | inode->i_mode &= S_IFMT | 0666; |
inode | 438 | fs/msdos/inode.c | else inode->i_mode |= 0111; |
inode | 439 | fs/msdos/inode.c | inode->i_mode = ((inode->i_mode & S_IFMT) | ((((inode->i_mode & S_IRWXU |
inode | 440 | fs/msdos/inode.c | & ~MSDOS_SB(inode->i_sb)->fs_umask) | S_IRUSR) >> 6)*0111)) & |
inode | 441 | fs/msdos/inode.c | ~MSDOS_SB(inode->i_sb)->fs_umask; |
inode | 442 | fs/msdos/inode.c | return MSDOS_SB(inode->i_sb)->quiet ? 0 : error; |
inode | 109 | fs/msdos/misc.c | int msdos_add_cluster(struct inode *inode) |
inode | 115 | fs/msdos/misc.c | if (inode->i_ino == MSDOS_ROOT_INO) return -ENOSPC; |
inode | 116 | fs/msdos/misc.c | if (!MSDOS_SB(inode->i_sb)->free_clusters) return -ENOSPC; |
inode | 117 | fs/msdos/misc.c | lock_fat(inode->i_sb); |
inode | 118 | fs/msdos/misc.c | limit = MSDOS_SB(inode->i_sb)->clusters; |
inode | 121 | fs/msdos/misc.c | this = ((count+MSDOS_SB(inode->i_sb)->prev_free) % limit)+2; |
inode | 122 | fs/msdos/misc.c | if (fat_access(inode->i_sb,this,-1) == 0) break; |
inode | 127 | fs/msdos/misc.c | MSDOS_SB(inode->i_sb)->prev_free = (count+MSDOS_SB(inode->i_sb)-> |
inode | 130 | fs/msdos/misc.c | MSDOS_SB(inode->i_sb)->free_clusters = 0; |
inode | 131 | fs/msdos/misc.c | unlock_fat(inode->i_sb); |
inode | 134 | fs/msdos/misc.c | fat_access(inode->i_sb,this,MSDOS_SB(inode->i_sb)->fat_bits == 12 ? |
inode | 136 | fs/msdos/misc.c | if (MSDOS_SB(inode->i_sb)->free_clusters != -1) |
inode | 137 | fs/msdos/misc.c | MSDOS_SB(inode->i_sb)->free_clusters--; |
inode | 138 | fs/msdos/misc.c | unlock_fat(inode->i_sb); |
inode | 140 | fs/msdos/misc.c | printk("set to %x\n",fat_access(inode->i_sb,this,-1)); |
inode | 143 | fs/msdos/misc.c | if ((current = MSDOS_I(inode)->i_start) != 0) { |
inode | 144 | fs/msdos/misc.c | cache_lookup(inode,0x7fffffff,&last,¤t); |
inode | 146 | fs/msdos/misc.c | if (!(current = fat_access(inode->i_sb, |
inode | 148 | fs/msdos/misc.c | fs_panic(inode->i_sb,"File without EOF"); |
inode | 155 | fs/msdos/misc.c | if (last) fat_access(inode->i_sb,last,this); |
inode | 157 | fs/msdos/misc.c | MSDOS_I(inode)->i_start = this; |
inode | 158 | fs/msdos/misc.c | inode->i_dirt = 1; |
inode | 161 | fs/msdos/misc.c | if (last) printk("next set to %d\n",fat_access(inode->i_sb,last,-1)); |
inode | 163 | fs/msdos/misc.c | for (current = 0; current < MSDOS_SB(inode->i_sb)->cluster_size; |
inode | 165 | fs/msdos/misc.c | sector = MSDOS_SB(inode->i_sb)->data_start+(this-2)* |
inode | 166 | fs/msdos/misc.c | MSDOS_SB(inode->i_sb)->cluster_size+current; |
inode | 170 | fs/msdos/misc.c | if (current < MSDOS_SB(inode->i_sb)->cluster_size-1 && |
inode | 172 | fs/msdos/misc.c | if (!(bh = getblk(inode->i_dev,sector >> 1, |
inode | 182 | fs/msdos/misc.c | if (!(bh = msdos_sread(inode->i_dev,sector, |
inode | 192 | fs/msdos/misc.c | inode->i_blocks += MSDOS_SB(inode->i_sb)->cluster_size; |
inode | 193 | fs/msdos/misc.c | if (S_ISDIR(inode->i_mode)) { |
inode | 194 | fs/msdos/misc.c | if (inode->i_size & (SECTOR_SIZE-1)) { |
inode | 195 | fs/msdos/misc.c | fs_panic(inode->i_sb,"Odd directory size"); |
inode | 196 | fs/msdos/misc.c | inode->i_size = (inode->i_size+SECTOR_SIZE) & |
inode | 199 | fs/msdos/misc.c | inode->i_size += SECTOR_SIZE*MSDOS_SB(inode->i_sb)-> |
inode | 202 | fs/msdos/misc.c | printk("size is %d now (%x)\n",inode->i_size,inode); |
inode | 204 | fs/msdos/misc.c | inode->i_dirt = 1; |
inode | 267 | fs/msdos/misc.c | int msdos_get_entry(struct inode *dir,int *pos,struct buffer_head **bh, |
inode | 330 | fs/msdos/misc.c | inode = iget(sb,sector*MSDOS_DPS+entry); \ |
inode | 331 | fs/msdos/misc.c | if (inode) { \ |
inode | 333 | fs/msdos/misc.c | done = !MSDOS_I(inode)->i_busy; \ |
inode | 334 | fs/msdos/misc.c | iput(inode); \ |
inode | 352 | fs/msdos/misc.c | struct inode *inode; |
inode | 455 | fs/msdos/misc.c | int msdos_parent_ino(struct inode *dir,int locked) |
inode | 491 | fs/msdos/misc.c | int msdos_subdirs(struct inode *dir) |
inode | 512 | fs/msdos/misc.c | int msdos_scan(struct inode *dir,char *name,struct buffer_head **res_bh, |
inode | 93 | fs/msdos/namei.c | static int msdos_find(struct inode *dir,const char *name,int len, |
inode | 105 | fs/msdos/namei.c | int msdos_lookup(struct inode *dir,const char *name,int len, |
inode | 106 | fs/msdos/namei.c | struct inode **result) |
inode | 111 | fs/msdos/namei.c | struct inode *next; |
inode | 161 | fs/msdos/namei.c | static int msdos_create_entry(struct inode *dir,char *name,int is_dir, |
inode | 162 | fs/msdos/namei.c | struct inode **result) |
inode | 191 | fs/msdos/namei.c | int msdos_create(struct inode *dir,const char *name,int len,int mode, |
inode | 192 | fs/msdos/namei.c | struct inode **result) |
inode | 239 | fs/msdos/namei.c | int msdos_mkdir(struct inode *dir,const char *name,int len,int mode) |
inode | 243 | fs/msdos/namei.c | struct inode *inode,*dot; |
inode | 259 | fs/msdos/namei.c | if ((res = msdos_create_entry(dir,msdos_name,1,&inode)) < 0) { |
inode | 265 | fs/msdos/namei.c | inode->i_nlink = 2; /* no need to mark them dirty */ |
inode | 266 | fs/msdos/namei.c | MSDOS_I(inode)->i_busy = 1; /* prevent lookups */ |
inode | 267 | fs/msdos/namei.c | if ((res = msdos_add_cluster(inode)) < 0) goto mkdir_error; |
inode | 268 | fs/msdos/namei.c | if ((res = msdos_create_entry(inode,MSDOS_DOT,1,&dot)) < 0) |
inode | 270 | fs/msdos/namei.c | dot->i_size = inode->i_size; /* doesn't grow in the 2nd create_entry */ |
inode | 271 | fs/msdos/namei.c | MSDOS_I(dot)->i_start = MSDOS_I(inode)->i_start; |
inode | 272 | fs/msdos/namei.c | dot->i_nlink = inode->i_nlink; |
inode | 275 | fs/msdos/namei.c | if ((res = msdos_create_entry(inode,MSDOS_DOTDOT,1,&dot)) < 0) |
inode | 282 | fs/msdos/namei.c | MSDOS_I(inode)->i_busy = 0; |
inode | 284 | fs/msdos/namei.c | iput(inode); |
inode | 288 | fs/msdos/namei.c | iput(inode); |
inode | 296 | fs/msdos/namei.c | static int msdos_empty(struct inode *dir) |
inode | 321 | fs/msdos/namei.c | int msdos_rmdir(struct inode *dir,const char *name,int len) |
inode | 326 | fs/msdos/namei.c | struct inode *inode; |
inode | 329 | fs/msdos/namei.c | inode = NULL; |
inode | 335 | fs/msdos/namei.c | if (!(inode = iget(dir->i_sb,ino))) goto rmdir_done; |
inode | 337 | fs/msdos/namei.c | if (!S_ISDIR(inode->i_mode)) goto rmdir_done; |
inode | 339 | fs/msdos/namei.c | if (dir->i_dev != inode->i_dev || dir == inode) goto rmdir_done; |
inode | 340 | fs/msdos/namei.c | res = msdos_empty(inode); |
inode | 343 | fs/msdos/namei.c | inode->i_nlink = 0; |
inode | 346 | fs/msdos/namei.c | inode->i_dirt = dir->i_dirt = 1; |
inode | 353 | fs/msdos/namei.c | iput(inode); |
inode | 358 | fs/msdos/namei.c | int msdos_unlink(struct inode *dir,const char *name,int len) |
inode | 363 | fs/msdos/namei.c | struct inode *inode; |
inode | 366 | fs/msdos/namei.c | inode = NULL; |
inode | 369 | fs/msdos/namei.c | if (!(inode = iget(dir->i_sb,ino))) { |
inode | 373 | fs/msdos/namei.c | if (!S_ISREG(inode->i_mode)) { |
inode | 377 | fs/msdos/namei.c | inode->i_nlink = 0; |
inode | 378 | fs/msdos/namei.c | MSDOS_I(inode)->i_busy = 1; |
inode | 379 | fs/msdos/namei.c | inode->i_dirt = 1; |
inode | 384 | fs/msdos/namei.c | iput(inode); |
inode | 390 | fs/msdos/namei.c | static int rename_same_dir(struct inode *old_dir,char *old_name, |
inode | 391 | fs/msdos/namei.c | struct inode *new_dir,char *new_name,struct buffer_head *old_bh, |
inode | 396 | fs/msdos/namei.c | struct inode *new_inode,*old_inode; |
inode | 441 | fs/msdos/namei.c | static int rename_diff_dir(struct inode *old_dir,char *old_name, |
inode | 442 | fs/msdos/namei.c | struct inode *new_dir,char *new_name,struct buffer_head *old_bh, |
inode | 447 | fs/msdos/namei.c | struct inode *old_inode,*new_inode,*free_inode,*dotdot_inode,*walk; |
inode | 560 | fs/msdos/namei.c | int msdos_rename(struct inode *old_dir,const char *old_name,int old_len, |
inode | 561 | fs/msdos/namei.c | struct inode *new_dir,const char *new_name,int new_len) |
inode | 75 | fs/namei.c | int permission(struct inode * inode,int mask) |
inode | 77 | fs/namei.c | int mode = inode->i_mode; |
inode | 80 | fs/namei.c | if (inode->i_dev && !inode->i_nlink) |
inode | 82 | fs/namei.c | else if (inode->i_op && inode->i_op->permission) |
inode | 83 | fs/namei.c | return inode->i_op->permission(inode, mask); |
inode | 84 | fs/namei.c | else if (current->euid == inode->i_uid) |
inode | 86 | fs/namei.c | else if (in_group_p(inode->i_gid)) |
inode | 98 | fs/namei.c | int lookup(struct inode * dir,const char * name, int len, |
inode | 99 | fs/namei.c | struct inode ** result) |
inode | 137 | fs/namei.c | int follow_link(struct inode * dir, struct inode * inode, |
inode | 138 | fs/namei.c | int flag, int mode, struct inode ** res_inode) |
inode | 140 | fs/namei.c | if (!dir || !inode) { |
inode | 142 | fs/namei.c | iput(inode); |
inode | 146 | fs/namei.c | if (!inode->i_op || !inode->i_op->follow_link) { |
inode | 148 | fs/namei.c | *res_inode = inode; |
inode | 151 | fs/namei.c | return inode->i_op->follow_link(dir,inode,flag,mode,res_inode); |
inode | 161 | fs/namei.c | struct inode * base, struct inode ** res_inode) |
inode | 166 | fs/namei.c | struct inode * inode; |
inode | 186 | fs/namei.c | error = lookup(base,thisname,len,&inode); |
inode | 191 | fs/namei.c | error = follow_link(base,inode,0,0,&base); |
inode | 205 | fs/namei.c | static int _namei(const char * pathname, struct inode * base, |
inode | 206 | fs/namei.c | int follow_links, struct inode ** res_inode) |
inode | 210 | fs/namei.c | struct inode * inode; |
inode | 217 | fs/namei.c | error = lookup(base,basename,namelen,&inode); |
inode | 223 | fs/namei.c | error = follow_link(base,inode,0,0,&inode); |
inode | 228 | fs/namei.c | *res_inode = inode; |
inode | 232 | fs/namei.c | int lnamei(const char * pathname, struct inode ** res_inode) |
inode | 252 | fs/namei.c | int namei(const char * pathname, struct inode ** res_inode) |
inode | 279 | fs/namei.c | struct inode ** res_inode, struct inode * base) |
inode | 283 | fs/namei.c | struct inode * dir, *inode; |
inode | 306 | fs/namei.c | error = lookup(dir,basename,namelen,&inode); |
inode | 338 | fs/namei.c | iput(inode); |
inode | 341 | fs/namei.c | error = follow_link(dir,inode,flag,mode,&inode); |
inode | 344 | fs/namei.c | if (S_ISDIR(inode->i_mode) && (flag & 2)) { |
inode | 345 | fs/namei.c | iput(inode); |
inode | 348 | fs/namei.c | if (!permission(inode,ACC_MODE(flag))) { |
inode | 349 | fs/namei.c | iput(inode); |
inode | 352 | fs/namei.c | if (S_ISBLK(inode->i_mode) || S_ISCHR(inode->i_mode)) { |
inode | 353 | fs/namei.c | if (IS_NODEV(inode)) { |
inode | 354 | fs/namei.c | iput(inode); |
inode | 358 | fs/namei.c | if (IS_RDONLY(inode) && (flag & 2)) { |
inode | 359 | fs/namei.c | iput(inode); |
inode | 363 | fs/namei.c | if ((inode->i_count > 1) && (flag & 2)) |
inode | 367 | fs/namei.c | if (inode == (*p)->executable) { |
inode | 368 | fs/namei.c | iput(inode); |
inode | 372 | fs/namei.c | if (inode == (*p)->libraries[i].library) { |
inode | 373 | fs/namei.c | iput(inode); |
inode | 377 | fs/namei.c | *res_inode = inode; |
inode | 385 | fs/namei.c | struct inode * dir; |
inode | 429 | fs/namei.c | struct inode * dir; |
inode | 470 | fs/namei.c | struct inode * dir; |
inode | 511 | fs/namei.c | struct inode * dir; |
inode | 550 | fs/namei.c | struct inode * dir; |
inode | 593 | fs/namei.c | static int do_link(struct inode * oldinode, const char * newname) |
inode | 595 | fs/namei.c | struct inode * dir; |
inode | 636 | fs/namei.c | struct inode * oldinode; |
inode | 651 | fs/namei.c | struct inode * old_dir, * new_dir; |
inode | 20 | fs/nfs/dir.c | static int nfs_dir_read(struct inode *, struct file *filp, char *buf, |
inode | 22 | fs/nfs/dir.c | static int nfs_readdir(struct inode *, struct file *, struct dirent *, int); |
inode | 23 | fs/nfs/dir.c | static int nfs_lookup(struct inode *dir, const char *name, int len, |
inode | 24 | fs/nfs/dir.c | struct inode **result); |
inode | 25 | fs/nfs/dir.c | static int nfs_create(struct inode *dir, const char *name, int len, int mode, |
inode | 26 | fs/nfs/dir.c | struct inode **result); |
inode | 27 | fs/nfs/dir.c | static int nfs_mkdir(struct inode *dir, const char *name, int len, int mode); |
inode | 28 | fs/nfs/dir.c | static int nfs_rmdir(struct inode *dir, const char *name, int len); |
inode | 29 | fs/nfs/dir.c | static int nfs_unlink(struct inode *dir, const char *name, int len); |
inode | 30 | fs/nfs/dir.c | static int nfs_symlink(struct inode *inode, const char *name, int len, |
inode | 32 | fs/nfs/dir.c | static int nfs_link(struct inode *oldinode, struct inode *dir, |
inode | 34 | fs/nfs/dir.c | static int nfs_mknod(struct inode *dir, const char *name, int len, int mode, |
inode | 36 | fs/nfs/dir.c | static int nfs_rename(struct inode *old_dir, const char *old_name, |
inode | 37 | fs/nfs/dir.c | int old_len, struct inode *new_dir, const char *new_name, |
inode | 71 | fs/nfs/dir.c | static int nfs_dir_read(struct inode *inode, struct file *filp, char *buf, |
inode | 85 | fs/nfs/dir.c | static int nfs_readdir(struct inode *inode, struct file *filp, |
inode | 97 | fs/nfs/dir.c | if (!inode || !S_ISDIR(inode->i_mode)) { |
inode | 116 | fs/nfs/dir.c | if (inode->i_dev == c_dev && inode->i_ino == c_ino) { |
inode | 133 | fs/nfs/dir.c | result = nfs_proc_readdir(NFS_SERVER(inode), NFS_FH(inode), |
inode | 140 | fs/nfs/dir.c | c_dev = inode->i_dev; |
inode | 141 | fs/nfs/dir.c | c_ino = inode->i_ino; |
inode | 175 | fs/nfs/dir.c | int inode; |
inode | 182 | fs/nfs/dir.c | static struct nfs_lookup_cache_entry *nfs_lookup_cache_index(struct inode *dir, |
inode | 190 | fs/nfs/dir.c | if (entry->dev == dir->i_dev && entry->inode == dir->i_ino |
inode | 197 | fs/nfs/dir.c | static int nfs_lookup_cache_lookup(struct inode *dir, const char *filename, |
inode | 221 | fs/nfs/dir.c | static void nfs_lookup_cache_add(struct inode *dir, const char *filename, |
inode | 238 | fs/nfs/dir.c | entry->inode = dir->i_ino; |
inode | 246 | fs/nfs/dir.c | static void nfs_lookup_cache_remove(struct inode *dir, struct inode *inode, |
inode | 254 | fs/nfs/dir.c | if (inode) { |
inode | 255 | fs/nfs/dir.c | dev = inode->i_dev; |
inode | 256 | fs/nfs/dir.c | fileid = inode->i_ino; |
inode | 271 | fs/nfs/dir.c | static void nfs_lookup_cache_refresh(struct inode *file, |
inode | 286 | fs/nfs/dir.c | static int nfs_lookup(struct inode *dir, const char *__name, int len, |
inode | 287 | fs/nfs/dir.c | struct inode **result) |
inode | 327 | fs/nfs/dir.c | static int nfs_create(struct inode *dir, const char *name, int len, int mode, |
inode | 328 | fs/nfs/dir.c | struct inode **result) |
inode | 362 | fs/nfs/dir.c | static int nfs_mknod(struct inode *dir, const char *name, int len, |
inode | 394 | fs/nfs/dir.c | static int nfs_mkdir(struct inode *dir, const char *name, int len, int mode) |
inode | 421 | fs/nfs/dir.c | static int nfs_rmdir(struct inode *dir, const char *name, int len) |
inode | 441 | fs/nfs/dir.c | static int nfs_unlink(struct inode *dir, const char *name, int len) |
inode | 461 | fs/nfs/dir.c | static int nfs_symlink(struct inode *dir, const char *name, int len, |
inode | 489 | fs/nfs/dir.c | static int nfs_link(struct inode *oldinode, struct inode *dir, |
inode | 520 | fs/nfs/dir.c | static int nfs_rename(struct inode *old_dir, const char *old_name, int old_len, |
inode | 521 | fs/nfs/dir.c | struct inode *new_dir, const char *new_name, int new_len) |
inode | 560 | fs/nfs/dir.c | void nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr) |
inode | 564 | fs/nfs/dir.c | if (!inode || !fattr) { |
inode | 568 | fs/nfs/dir.c | if (inode->i_ino != fattr->fileid) { |
inode | 572 | fs/nfs/dir.c | was_empty = inode->i_mode == 0; |
inode | 573 | fs/nfs/dir.c | inode->i_mode = fattr->mode; |
inode | 574 | fs/nfs/dir.c | inode->i_nlink = fattr->nlink; |
inode | 575 | fs/nfs/dir.c | inode->i_uid = fattr->uid; |
inode | 576 | fs/nfs/dir.c | inode->i_gid = fattr->gid; |
inode | 577 | fs/nfs/dir.c | inode->i_size = fattr->size; |
inode | 578 | fs/nfs/dir.c | inode->i_blksize = fattr->blocksize; |
inode | 579 | fs/nfs/dir.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
inode | 580 | fs/nfs/dir.c | inode->i_rdev = fattr->rdev; |
inode | 582 | fs/nfs/dir.c | inode->i_rdev = 0; |
inode | 583 | fs/nfs/dir.c | inode->i_blocks = fattr->blocks; |
inode | 584 | fs/nfs/dir.c | inode->i_atime = fattr->atime.seconds; |
inode | 585 | fs/nfs/dir.c | inode->i_mtime = fattr->mtime.seconds; |
inode | 586 | fs/nfs/dir.c | inode->i_ctime = fattr->ctime.seconds; |
inode | 588 | fs/nfs/dir.c | if (S_ISREG(inode->i_mode)) |
inode | 589 | fs/nfs/dir.c | inode->i_op = &nfs_file_inode_operations; |
inode | 590 | fs/nfs/dir.c | else if (S_ISDIR(inode->i_mode)) |
inode | 591 | fs/nfs/dir.c | inode->i_op = &nfs_dir_inode_operations; |
inode | 592 | fs/nfs/dir.c | else if (S_ISLNK(inode->i_mode)) |
inode | 593 | fs/nfs/dir.c | inode->i_op = &nfs_symlink_inode_operations; |
inode | 594 | fs/nfs/dir.c | else if (S_ISCHR(inode->i_mode)) |
inode | 595 | fs/nfs/dir.c | inode->i_op = &chrdev_inode_operations; |
inode | 596 | fs/nfs/dir.c | else if (S_ISBLK(inode->i_mode)) |
inode | 597 | fs/nfs/dir.c | inode->i_op = &blkdev_inode_operations; |
inode | 598 | fs/nfs/dir.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 599 | fs/nfs/dir.c | init_fifo(inode); |
inode | 601 | fs/nfs/dir.c | inode->i_op = NULL; |
inode | 603 | fs/nfs/dir.c | nfs_lookup_cache_refresh(inode, fattr); |
inode | 20 | fs/nfs/file.c | static int nfs_file_read(struct inode *, struct file *, char *, int); |
inode | 21 | fs/nfs/file.c | static int nfs_file_write(struct inode *, struct file *, char *, int); |
inode | 53 | fs/nfs/file.c | static int nfs_file_read(struct inode *inode, struct file *file, char *buf, |
inode | 64 | fs/nfs/file.c | if (!inode) { |
inode | 68 | fs/nfs/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 70 | fs/nfs/file.c | inode->i_mode); |
inode | 74 | fs/nfs/file.c | if (file->f_pos + count > inode->i_size) |
inode | 75 | fs/nfs/file.c | count = inode->i_size - pos; |
inode | 78 | fs/nfs/file.c | n = NFS_SERVER(inode)->rsize; |
inode | 84 | fs/nfs/file.c | result = nfs_proc_read(NFS_SERVER(inode), NFS_FH(inode), |
inode | 100 | fs/nfs/file.c | nfs_refresh_inode(inode, &fattr); |
inode | 104 | fs/nfs/file.c | static int nfs_file_write(struct inode *inode, struct file *file, char *buf, |
inode | 115 | fs/nfs/file.c | if (!inode) { |
inode | 119 | fs/nfs/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 121 | fs/nfs/file.c | inode->i_mode); |
inode | 128 | fs/nfs/file.c | pos = inode->i_size; |
inode | 129 | fs/nfs/file.c | n = NFS_SERVER(inode)->wsize; |
inode | 136 | fs/nfs/file.c | result = nfs_proc_write(NFS_SERVER(inode), NFS_FH(inode), |
inode | 151 | fs/nfs/file.c | nfs_refresh_inode(inode, &fattr); |
inode | 23 | fs/nfs/inode.c | static int nfs_notify_change(int, struct inode *); |
inode | 24 | fs/nfs/inode.c | static void nfs_put_inode(struct inode *); |
inode | 38 | fs/nfs/inode.c | static void nfs_put_inode(struct inode * inode) |
inode | 40 | fs/nfs/inode.c | clear_inode(inode); |
inode | 158 | fs/nfs/inode.c | struct inode *nfs_fhget(struct super_block *sb, struct nfs_fh *fhandle, |
inode | 163 | fs/nfs/inode.c | struct inode *inode; |
inode | 178 | fs/nfs/inode.c | if (!(inode = iget(sb, fattr->fileid))) { |
inode | 182 | fs/nfs/inode.c | if (inode->i_dev == sb->s_dev) { |
inode | 183 | fs/nfs/inode.c | if (inode->i_ino != fattr->fileid) { |
inode | 185 | fs/nfs/inode.c | return inode; |
inode | 187 | fs/nfs/inode.c | *NFS_FH(inode) = *fhandle; |
inode | 188 | fs/nfs/inode.c | nfs_refresh_inode(inode, fattr); |
inode | 190 | fs/nfs/inode.c | return inode; |
inode | 193 | fs/nfs/inode.c | int nfs_notify_change(int flags, struct inode *inode) |
inode | 200 | fs/nfs/inode.c | sattr.mode = inode->i_mode; |
inode | 204 | fs/nfs/inode.c | sattr.uid = inode->i_uid; |
inode | 205 | fs/nfs/inode.c | sattr.gid = inode->i_gid; |
inode | 210 | fs/nfs/inode.c | sattr.size = S_ISREG(inode->i_mode) ? inode->i_size : -1; |
inode | 214 | fs/nfs/inode.c | sattr.mtime.seconds = inode->i_mtime; |
inode | 216 | fs/nfs/inode.c | sattr.atime.seconds = inode->i_atime; |
inode | 223 | fs/nfs/inode.c | error = nfs_proc_setattr(NFS_SERVER(inode), NFS_FH(inode), |
inode | 226 | fs/nfs/inode.c | nfs_refresh_inode(inode, &fattr); |
inode | 227 | fs/nfs/inode.c | inode->i_dirt = 0; |
inode | 20 | fs/nfs/sock.c | extern struct socket *socki_lookup(struct inode *inode); |
inode | 35 | fs/nfs/sock.c | struct inode *inode; |
inode | 43 | fs/nfs/sock.c | int (*select) (struct inode *, struct file *, int, select_table *); |
inode | 55 | fs/nfs/sock.c | inode = file->f_inode; |
inode | 57 | fs/nfs/sock.c | sock = socki_lookup(inode); |
inode | 79 | fs/nfs/sock.c | if (!select(inode, file, SEL_IN, &wait_table) |
inode | 80 | fs/nfs/sock.c | && !select(inode, file, SEL_IN, NULL)) { |
inode | 17 | fs/nfs/symlink.c | static int nfs_readlink(struct inode *, char *, int); |
inode | 18 | fs/nfs/symlink.c | static int nfs_follow_link(struct inode *, struct inode *, int, int, |
inode | 19 | fs/nfs/symlink.c | struct inode **); |
inode | 42 | fs/nfs/symlink.c | static int nfs_follow_link(struct inode *dir, struct inode *inode, |
inode | 43 | fs/nfs/symlink.c | int flag, int mode, struct inode **res_inode) |
inode | 53 | fs/nfs/symlink.c | if (!inode) { |
inode | 57 | fs/nfs/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 59 | fs/nfs/symlink.c | *res_inode = inode; |
inode | 63 | fs/nfs/symlink.c | iput(inode); |
inode | 68 | fs/nfs/symlink.c | error = nfs_proc_readlink(NFS_SERVER(inode), NFS_FH(inode), res); |
inode | 70 | fs/nfs/symlink.c | iput(inode); |
inode | 75 | fs/nfs/symlink.c | iput(inode); |
inode | 83 | fs/nfs/symlink.c | static int nfs_readlink(struct inode *inode, char *buffer, int buflen) |
inode | 90 | fs/nfs/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 91 | fs/nfs/symlink.c | iput(inode); |
inode | 97 | fs/nfs/symlink.c | error = nfs_proc_readlink(NFS_SERVER(inode), NFS_FH(inode), res); |
inode | 98 | fs/nfs/symlink.c | iput(inode); |
inode | 31 | fs/open.c | struct inode * inode; |
inode | 37 | fs/open.c | error = namei(path,&inode); |
inode | 40 | fs/open.c | if (!inode->i_sb->s_op->statfs) { |
inode | 41 | fs/open.c | iput(inode); |
inode | 44 | fs/open.c | inode->i_sb->s_op->statfs(inode->i_sb, buf); |
inode | 45 | fs/open.c | iput(inode); |
inode | 51 | fs/open.c | struct inode * inode; |
inode | 60 | fs/open.c | if (!(inode = file->f_inode)) |
inode | 62 | fs/open.c | if (!inode->i_sb->s_op->statfs) |
inode | 64 | fs/open.c | inode->i_sb->s_op->statfs(inode->i_sb, buf); |
inode | 70 | fs/open.c | struct inode * inode; |
inode | 73 | fs/open.c | error = namei(path,&inode); |
inode | 76 | fs/open.c | if (S_ISDIR(inode->i_mode) || !permission(inode,MAY_WRITE)) { |
inode | 77 | fs/open.c | iput(inode); |
inode | 80 | fs/open.c | if (IS_RDONLY(inode)) { |
inode | 81 | fs/open.c | iput(inode); |
inode | 84 | fs/open.c | inode->i_size = length; |
inode | 85 | fs/open.c | if (inode->i_op && inode->i_op->truncate) |
inode | 86 | fs/open.c | inode->i_op->truncate(inode); |
inode | 87 | fs/open.c | inode->i_atime = inode->i_mtime = CURRENT_TIME; |
inode | 88 | fs/open.c | inode->i_dirt = 1; |
inode | 89 | fs/open.c | error = notify_change(NOTIFY_SIZE, inode); |
inode | 90 | fs/open.c | iput(inode); |
inode | 96 | fs/open.c | struct inode * inode; |
inode | 101 | fs/open.c | if (!(inode = file->f_inode)) |
inode | 103 | fs/open.c | if (S_ISDIR(inode->i_mode) || !(file->f_mode & 2)) |
inode | 105 | fs/open.c | inode->i_size = length; |
inode | 106 | fs/open.c | if (inode->i_op && inode->i_op->truncate) |
inode | 107 | fs/open.c | inode->i_op->truncate(inode); |
inode | 108 | fs/open.c | inode->i_atime = inode->i_mtime = CURRENT_TIME; |
inode | 109 | fs/open.c | inode->i_dirt = 1; |
inode | 110 | fs/open.c | return notify_change(NOTIFY_SIZE, inode); |
inode | 119 | fs/open.c | struct inode * inode; |
inode | 123 | fs/open.c | error = namei(filename,&inode); |
inode | 126 | fs/open.c | if (IS_RDONLY(inode)) { |
inode | 127 | fs/open.c | iput(inode); |
inode | 131 | fs/open.c | if ((current->euid != inode->i_uid) && !suser()) { |
inode | 132 | fs/open.c | iput(inode); |
inode | 137 | fs/open.c | inode->i_ctime = CURRENT_TIME; |
inode | 139 | fs/open.c | if ((current->euid != inode->i_uid) && |
inode | 140 | fs/open.c | !permission(inode,MAY_WRITE)) { |
inode | 141 | fs/open.c | iput(inode); |
inode | 144 | fs/open.c | actime = modtime = inode->i_ctime = CURRENT_TIME; |
inode | 146 | fs/open.c | inode->i_atime = actime; |
inode | 147 | fs/open.c | inode->i_mtime = modtime; |
inode | 148 | fs/open.c | inode->i_dirt = 1; |
inode | 149 | fs/open.c | error = notify_change(NOTIFY_TIME, inode); |
inode | 150 | fs/open.c | iput(inode); |
inode | 160 | fs/open.c | struct inode * inode; |
inode | 165 | fs/open.c | res = namei(filename,&inode); |
inode | 168 | fs/open.c | i_mode = inode->i_mode; |
inode | 170 | fs/open.c | if (current->uid == inode->i_uid) |
inode | 172 | fs/open.c | else if (in_group_p(inode->i_gid)) |
inode | 174 | fs/open.c | iput(inode); |
inode | 194 | fs/open.c | struct inode * inode; |
inode | 197 | fs/open.c | error = namei(filename,&inode); |
inode | 200 | fs/open.c | if (!S_ISDIR(inode->i_mode)) { |
inode | 201 | fs/open.c | iput(inode); |
inode | 204 | fs/open.c | if (!permission(inode,MAY_EXEC)) { |
inode | 205 | fs/open.c | iput(inode); |
inode | 209 | fs/open.c | current->pwd = inode; |
inode | 215 | fs/open.c | struct inode * inode; |
inode | 218 | fs/open.c | error = namei(filename,&inode); |
inode | 221 | fs/open.c | if (!S_ISDIR(inode->i_mode)) { |
inode | 222 | fs/open.c | iput(inode); |
inode | 226 | fs/open.c | iput(inode); |
inode | 230 | fs/open.c | current->root = inode; |
inode | 236 | fs/open.c | struct inode * inode; |
inode | 241 | fs/open.c | if (!(inode = file->f_inode)) |
inode | 243 | fs/open.c | if ((current->euid != inode->i_uid) && !suser()) |
inode | 245 | fs/open.c | if (IS_RDONLY(inode)) |
inode | 247 | fs/open.c | inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); |
inode | 248 | fs/open.c | if (!suser() && !in_group_p(inode->i_gid)) |
inode | 249 | fs/open.c | inode->i_mode &= ~S_ISGID; |
inode | 250 | fs/open.c | inode->i_ctime = CURRENT_TIME; |
inode | 251 | fs/open.c | inode->i_dirt = 1; |
inode | 252 | fs/open.c | return notify_change(NOTIFY_MODE, inode); |
inode | 257 | fs/open.c | struct inode * inode; |
inode | 260 | fs/open.c | error = namei(filename,&inode); |
inode | 263 | fs/open.c | if ((current->euid != inode->i_uid) && !suser()) { |
inode | 264 | fs/open.c | iput(inode); |
inode | 267 | fs/open.c | if (IS_RDONLY(inode)) { |
inode | 268 | fs/open.c | iput(inode); |
inode | 271 | fs/open.c | inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); |
inode | 272 | fs/open.c | if (!suser() && !in_group_p(inode->i_gid)) |
inode | 273 | fs/open.c | inode->i_mode &= ~S_ISGID; |
inode | 274 | fs/open.c | inode->i_ctime = CURRENT_TIME; |
inode | 275 | fs/open.c | inode->i_dirt = 1; |
inode | 276 | fs/open.c | error = notify_change(NOTIFY_MODE, inode); |
inode | 277 | fs/open.c | iput(inode); |
inode | 283 | fs/open.c | struct inode * inode; |
inode | 288 | fs/open.c | if (!(inode = file->f_inode)) |
inode | 290 | fs/open.c | if (IS_RDONLY(inode)) |
inode | 293 | fs/open.c | user = inode->i_uid; |
inode | 295 | fs/open.c | group = inode->i_gid; |
inode | 296 | fs/open.c | if ((current->euid == inode->i_uid && user == inode->i_uid && |
inode | 297 | fs/open.c | (in_group_p(group) || group == inode->i_gid)) || |
inode | 299 | fs/open.c | inode->i_uid = user; |
inode | 300 | fs/open.c | inode->i_gid = group; |
inode | 301 | fs/open.c | inode->i_ctime = CURRENT_TIME; |
inode | 302 | fs/open.c | inode->i_dirt = 1; |
inode | 303 | fs/open.c | return notify_change(NOTIFY_UIDGID, inode); |
inode | 310 | fs/open.c | struct inode * inode; |
inode | 313 | fs/open.c | error = lnamei(filename,&inode); |
inode | 316 | fs/open.c | if (IS_RDONLY(inode)) { |
inode | 317 | fs/open.c | iput(inode); |
inode | 321 | fs/open.c | user = inode->i_uid; |
inode | 323 | fs/open.c | group = inode->i_gid; |
inode | 324 | fs/open.c | if ((current->euid == inode->i_uid && user == inode->i_uid && |
inode | 325 | fs/open.c | (in_group_p(group) || group == inode->i_gid)) || |
inode | 327 | fs/open.c | inode->i_uid = user; |
inode | 328 | fs/open.c | inode->i_gid = group; |
inode | 329 | fs/open.c | inode->i_ctime = CURRENT_TIME; |
inode | 330 | fs/open.c | inode->i_dirt = 1; |
inode | 331 | fs/open.c | error = notify_change(NOTIFY_UIDGID, inode); |
inode | 332 | fs/open.c | iput(inode); |
inode | 335 | fs/open.c | iput(inode); |
inode | 355 | fs/open.c | struct inode * inode; |
inode | 378 | fs/open.c | error = open_namei(tmp,flag,mode,&inode,NULL); |
inode | 387 | fs/open.c | inode->i_size = 0; |
inode | 388 | fs/open.c | if (inode->i_op && inode->i_op->truncate) |
inode | 389 | fs/open.c | inode->i_op->truncate(inode); |
inode | 390 | fs/open.c | if ((error = notify_change(NOTIFY_SIZE, inode))) { |
inode | 391 | fs/open.c | iput(inode); |
inode | 396 | fs/open.c | inode->i_dirt = 1; |
inode | 398 | fs/open.c | f->f_inode = inode; |
inode | 402 | fs/open.c | if (inode->i_op) |
inode | 403 | fs/open.c | f->f_op = inode->i_op->default_file_ops; |
inode | 405 | fs/open.c | error = f->f_op->open(inode,f); |
inode | 407 | fs/open.c | iput(inode); |
inode | 424 | fs/open.c | struct inode *inode; |
inode | 430 | fs/open.c | inode = filp->f_inode; |
inode | 431 | fs/open.c | if (inode && S_ISREG(inode->i_mode)) |
inode | 438 | fs/open.c | filp->f_op->release(inode,filp); |
inode | 441 | fs/open.c | iput(inode); |
inode | 16 | fs/pipe.c | static int pipe_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 21 | fs/pipe.c | while (!PIPE_SIZE(*inode)) { |
inode | 22 | fs/pipe.c | wake_up(& PIPE_WRITE_WAIT(*inode)); |
inode | 23 | fs/pipe.c | if (!PIPE_WRITERS(*inode)) /* are there any writers? */ |
inode | 27 | fs/pipe.c | interruptible_sleep_on(& PIPE_READ_WAIT(*inode)); |
inode | 29 | fs/pipe.c | while (count>0 && (size = PIPE_SIZE(*inode))) { |
inode | 30 | fs/pipe.c | chars = PAGE_SIZE-PIPE_TAIL(*inode); |
inode | 35 | fs/pipe.c | memcpy_tofs(buf, PIPE_BASE(*inode)+PIPE_TAIL(*inode), chars ); |
inode | 37 | fs/pipe.c | PIPE_TAIL(*inode) += chars; |
inode | 38 | fs/pipe.c | PIPE_TAIL(*inode) &= (PAGE_SIZE-1); |
inode | 42 | fs/pipe.c | wake_up(& PIPE_WRITE_WAIT(*inode)); |
inode | 45 | fs/pipe.c | if (PIPE_WRITERS(*inode)) |
inode | 50 | fs/pipe.c | static int pipe_write(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 54 | fs/pipe.c | if (!PIPE_READERS(*inode)) { /* no readers */ |
inode | 64 | fs/pipe.c | while (PIPE_SIZE(*inode) >= size) { |
inode | 65 | fs/pipe.c | if (!PIPE_READERS(*inode)) { /* no readers */ |
inode | 74 | fs/pipe.c | interruptible_sleep_on(&PIPE_WRITE_WAIT(*inode)); |
inode | 76 | fs/pipe.c | while (count>0 && (size = (PAGE_SIZE-1)-PIPE_SIZE(*inode))) { |
inode | 77 | fs/pipe.c | chars = PAGE_SIZE-PIPE_HEAD(*inode); |
inode | 82 | fs/pipe.c | memcpy_fromfs(PIPE_BASE(*inode)+PIPE_HEAD(*inode), buf, chars ); |
inode | 84 | fs/pipe.c | PIPE_HEAD(*inode) += chars; |
inode | 85 | fs/pipe.c | PIPE_HEAD(*inode) &= (PAGE_SIZE-1); |
inode | 89 | fs/pipe.c | wake_up(& PIPE_READ_WAIT(*inode)); |
inode | 95 | fs/pipe.c | static int pipe_lseek(struct inode * inode, struct file * file, off_t offset, int orig) |
inode | 100 | fs/pipe.c | static int pipe_readdir(struct inode * inode, struct file * file, struct dirent * de, int count) |
inode | 105 | fs/pipe.c | static int bad_pipe_rw(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 110 | fs/pipe.c | static int pipe_ioctl(struct inode *pino, struct file * filp, |
inode | 126 | fs/pipe.c | static int pipe_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait) |
inode | 130 | fs/pipe.c | if (!PIPE_EMPTY(*inode) || !PIPE_WRITERS(*inode)) |
inode | 132 | fs/pipe.c | select_wait(&PIPE_READ_WAIT(*inode), wait); |
inode | 135 | fs/pipe.c | if (!PIPE_FULL(*inode) || !PIPE_WRITERS(*inode)) |
inode | 137 | fs/pipe.c | select_wait(&PIPE_WRITE_WAIT(*inode), wait); |
inode | 140 | fs/pipe.c | if (!PIPE_READERS(*inode) || !PIPE_WRITERS(*inode)) |
inode | 142 | fs/pipe.c | select_wait(&inode->i_wait,wait); |
inode | 152 | fs/pipe.c | static void pipe_read_release(struct inode * inode, struct file * filp) |
inode | 154 | fs/pipe.c | PIPE_READERS(*inode)--; |
inode | 155 | fs/pipe.c | wake_up(&PIPE_WRITE_WAIT(*inode)); |
inode | 158 | fs/pipe.c | static void pipe_write_release(struct inode * inode, struct file * filp) |
inode | 160 | fs/pipe.c | PIPE_WRITERS(*inode)--; |
inode | 161 | fs/pipe.c | wake_up(&PIPE_READ_WAIT(*inode)); |
inode | 164 | fs/pipe.c | static void pipe_rdwr_release(struct inode * inode, struct file * filp) |
inode | 166 | fs/pipe.c | PIPE_READERS(*inode)--; |
inode | 167 | fs/pipe.c | PIPE_WRITERS(*inode)--; |
inode | 168 | fs/pipe.c | wake_up(&PIPE_READ_WAIT(*inode)); |
inode | 169 | fs/pipe.c | wake_up(&PIPE_WRITE_WAIT(*inode)); |
inode | 217 | fs/pipe.c | struct inode * inode; |
inode | 245 | fs/pipe.c | if (!(inode=get_pipe_inode())) { |
inode | 252 | fs/pipe.c | f[0]->f_inode = f[1]->f_inode = inode; |
inode | 295 | fs/proc/array.c | static int array_read(struct inode * inode, struct file * file,char * buf, int count) |
inode | 307 | fs/proc/array.c | type = inode->i_ino; |
inode | 16 | fs/proc/base.c | static int proc_readbase(struct inode *, struct file *, struct dirent *, int); |
inode | 17 | fs/proc/base.c | static int proc_lookupbase(struct inode *,const char *,int,struct inode **); |
inode | 90 | fs/proc/base.c | static int proc_lookupbase(struct inode * dir,const char * name, int len, |
inode | 91 | fs/proc/base.c | struct inode ** result) |
inode | 131 | fs/proc/base.c | static int proc_readbase(struct inode * inode, struct file * filp, |
inode | 138 | fs/proc/base.c | if (!inode || !S_ISDIR(inode->i_mode)) |
inode | 140 | fs/proc/base.c | ino = inode->i_ino; |
inode | 16 | fs/proc/fd.c | static int proc_readfd(struct inode *, struct file *, struct dirent *, int); |
inode | 17 | fs/proc/fd.c | static int proc_lookupfd(struct inode *,const char *,int,struct inode **); |
inode | 53 | fs/proc/fd.c | static int proc_lookupfd(struct inode * dir,const char * name, int len, |
inode | 54 | fs/proc/fd.c | struct inode ** result) |
inode | 121 | fs/proc/fd.c | static int proc_readfd(struct inode * inode, struct file * filp, |
inode | 128 | fs/proc/fd.c | if (!inode || !S_ISDIR(inode->i_mode)) |
inode | 130 | fs/proc/fd.c | ino = inode->i_ino; |
inode | 142 | fs/proc/fd.c | fd = inode->i_ino; |
inode | 144 | fs/proc/fd.c | fd = (inode->i_ino & 0xffff0000) | 2; |
inode | 19 | fs/proc/inode.c | void proc_put_inode(struct inode *inode) |
inode | 21 | fs/proc/inode.c | if (inode->i_nlink) |
inode | 23 | fs/proc/inode.c | inode->i_size = 0; |
inode | 72 | fs/proc/inode.c | void proc_read_inode(struct inode * inode) |
inode | 78 | fs/proc/inode.c | inode->i_op = NULL; |
inode | 79 | fs/proc/inode.c | inode->i_mode = 0; |
inode | 80 | fs/proc/inode.c | inode->i_uid = 0; |
inode | 81 | fs/proc/inode.c | inode->i_gid = 0; |
inode | 82 | fs/proc/inode.c | inode->i_nlink = 1; |
inode | 83 | fs/proc/inode.c | inode->i_size = 0; |
inode | 84 | fs/proc/inode.c | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
inode | 85 | fs/proc/inode.c | inode->i_blocks = inode->i_blksize = 0; |
inode | 86 | fs/proc/inode.c | ino = inode->i_ino; |
inode | 95 | fs/proc/inode.c | inode->i_mode = S_IFDIR | 0555; |
inode | 96 | fs/proc/inode.c | inode->i_nlink = 2; |
inode | 99 | fs/proc/inode.c | inode->i_nlink++; |
inode | 100 | fs/proc/inode.c | inode->i_op = &proc_root_inode_operations; |
inode | 104 | fs/proc/inode.c | inode->i_mode = S_IFREG | 0444; |
inode | 105 | fs/proc/inode.c | inode->i_op = &proc_array_inode_operations; |
inode | 107 | fs/proc/inode.c | inode->i_mode = S_IFREG | 0400; |
inode | 108 | fs/proc/inode.c | inode->i_op = &proc_kmsg_inode_operations; |
inode | 113 | fs/proc/inode.c | inode->i_uid = p->euid; |
inode | 114 | fs/proc/inode.c | inode->i_gid = p->egid; |
inode | 117 | fs/proc/inode.c | inode->i_nlink = 4; |
inode | 118 | fs/proc/inode.c | inode->i_mode = S_IFDIR | 0555; |
inode | 119 | fs/proc/inode.c | inode->i_op = &proc_base_inode_operations; |
inode | 122 | fs/proc/inode.c | inode->i_op = &proc_mem_inode_operations; |
inode | 123 | fs/proc/inode.c | inode->i_mode = S_IFREG | 0600; |
inode | 128 | fs/proc/inode.c | inode->i_op = &proc_link_inode_operations; |
inode | 129 | fs/proc/inode.c | inode->i_size = 64; |
inode | 130 | fs/proc/inode.c | inode->i_mode = S_IFLNK | 0700; |
inode | 134 | fs/proc/inode.c | inode->i_mode = S_IFDIR | 0500; |
inode | 135 | fs/proc/inode.c | inode->i_op = &proc_fd_inode_operations; |
inode | 136 | fs/proc/inode.c | inode->i_nlink = 2; |
inode | 142 | fs/proc/inode.c | inode->i_mode = S_IFREG | 0444; |
inode | 143 | fs/proc/inode.c | inode->i_op = &proc_array_inode_operations; |
inode | 151 | fs/proc/inode.c | inode->i_op = &proc_link_inode_operations; |
inode | 152 | fs/proc/inode.c | inode->i_size = 64; |
inode | 153 | fs/proc/inode.c | inode->i_mode = S_IFLNK | 0700; |
inode | 159 | fs/proc/inode.c | inode->i_op = &proc_link_inode_operations; |
inode | 160 | fs/proc/inode.c | inode->i_size = 64; |
inode | 161 | fs/proc/inode.c | inode->i_mode = S_IFLNK | 0700; |
inode | 167 | fs/proc/inode.c | void proc_write_inode(struct inode * inode) |
inode | 169 | fs/proc/inode.c | inode->i_dirt=0; |
inode | 22 | fs/proc/kmsg.c | static int kmsg_open(struct inode * inode, struct file * file) |
inode | 27 | fs/proc/kmsg.c | static void kmsg_release(struct inode * inode, struct file * file) |
inode | 32 | fs/proc/kmsg.c | static int kmsg_read(struct inode * inode, struct file * file,char * buf, int count) |
inode | 37 | fs/proc/kmsg.c | static int kmsg_select(struct inode *inode, struct file *file, int sel_type, select_table * wait) |
inode | 17 | fs/proc/link.c | static int proc_readlink(struct inode *, char *, int); |
inode | 18 | fs/proc/link.c | static int proc_follow_link(struct inode *, struct inode *, int, int, struct inode **); |
inode | 41 | fs/proc/link.c | static int proc_follow_link(struct inode * dir, struct inode * inode, |
inode | 42 | fs/proc/link.c | int flag, int mode, struct inode ** res_inode) |
inode | 51 | fs/proc/link.c | if (!inode) |
inode | 53 | fs/proc/link.c | ino = inode->i_ino; |
inode | 56 | fs/proc/link.c | iput(inode); |
inode | 62 | fs/proc/link.c | inode = NULL; |
inode | 65 | fs/proc/link.c | inode = p->pwd; |
inode | 68 | fs/proc/link.c | inode = p->root; |
inode | 71 | fs/proc/link.c | inode = p->executable; |
inode | 78 | fs/proc/link.c | inode = p->filp[ino]->f_inode; |
inode | 83 | fs/proc/link.c | inode = p->libraries[ino].library; |
inode | 86 | fs/proc/link.c | if (!inode) |
inode | 88 | fs/proc/link.c | *res_inode = inode; |
inode | 89 | fs/proc/link.c | inode->i_count++; |
inode | 93 | fs/proc/link.c | static int proc_readlink(struct inode * inode, char * buffer, int buflen) |
inode | 99 | fs/proc/link.c | i = proc_follow_link(NULL, inode, 0, 0, &inode); |
inode | 102 | fs/proc/link.c | if (!inode) |
inode | 104 | fs/proc/link.c | dev = inode->i_dev; |
inode | 105 | fs/proc/link.c | ino = inode->i_ino; |
inode | 106 | fs/proc/link.c | iput(inode); |
inode | 23 | fs/proc/mem.c | static int mem_read(struct inode * inode, struct file * file,char * buf, int count) |
inode | 32 | fs/proc/mem.c | pid = inode->i_ino; |
inode | 72 | fs/proc/mem.c | static int mem_write(struct inode * inode, struct file * file,char * buf, int count) |
inode | 82 | fs/proc/mem.c | pid = inode->i_ino; |
inode | 129 | fs/proc/mem.c | static int mem_lseek(struct inode * inode, struct file * file, off_t offset, int orig) |
inode | 16 | fs/proc/root.c | static int proc_readroot(struct inode *, struct file *, struct dirent *, int); |
inode | 17 | fs/proc/root.c | static int proc_lookuproot(struct inode *,const char *,int,struct inode **); |
inode | 66 | fs/proc/root.c | static int proc_lookuproot(struct inode * dir,const char * name, int len, |
inode | 67 | fs/proc/root.c | struct inode ** result) |
inode | 123 | fs/proc/root.c | static int proc_readroot(struct inode * inode, struct file * filp, |
inode | 130 | fs/proc/root.c | if (!inode || !S_ISDIR(inode->i_mode)) |
inode | 23 | fs/read_write.c | struct inode * inode; |
inode | 26 | fs/read_write.c | !(inode = file->f_inode)) |
inode | 32 | fs/read_write.c | error = file->f_op->readdir(inode,file,dirent,count); |
inode | 74 | fs/read_write.c | struct inode * inode; |
inode | 76 | fs/read_write.c | if (fd>=NR_OPEN || !(file=current->filp[fd]) || !(inode=file->f_inode)) |
inode | 87 | fs/read_write.c | return file->f_op->read(inode,file,buf,count); |
inode | 94 | fs/read_write.c | struct inode * inode; |
inode | 96 | fs/read_write.c | if (fd>=NR_OPEN || !(file=current->filp[fd]) || !(inode=file->f_inode)) |
inode | 107 | fs/read_write.c | return file->f_op->write(inode,file,buf,count); |
inode | 65 | fs/select.c | struct inode * inode; |
inode | 67 | fs/select.c | int (*select) (struct inode *, struct file *, int, select_table *); |
inode | 69 | fs/select.c | inode = file->f_inode; |
inode | 71 | fs/select.c | return select(inode, file, flag, wait) |
inode | 72 | fs/select.c | || (wait && select(inode, file, flag, NULL)); |
inode | 73 | fs/select.c | if (S_ISREG(inode->i_mode)) |
inode | 14 | fs/stat.c | static void cp_old_stat(struct inode * inode, struct old_stat * statbuf) |
inode | 20 | fs/stat.c | tmp.st_dev = inode->i_dev; |
inode | 21 | fs/stat.c | tmp.st_ino = inode->i_ino; |
inode | 22 | fs/stat.c | tmp.st_mode = inode->i_mode; |
inode | 23 | fs/stat.c | tmp.st_nlink = inode->i_nlink; |
inode | 24 | fs/stat.c | tmp.st_uid = inode->i_uid; |
inode | 25 | fs/stat.c | tmp.st_gid = inode->i_gid; |
inode | 26 | fs/stat.c | tmp.st_rdev = inode->i_rdev; |
inode | 27 | fs/stat.c | tmp.st_size = inode->i_size; |
inode | 28 | fs/stat.c | tmp.st_atime = inode->i_atime; |
inode | 29 | fs/stat.c | tmp.st_mtime = inode->i_mtime; |
inode | 30 | fs/stat.c | tmp.st_ctime = inode->i_ctime; |
inode | 34 | fs/stat.c | static void cp_new_stat(struct inode * inode, struct new_stat * statbuf) |
inode | 39 | fs/stat.c | tmp.st_dev = inode->i_dev; |
inode | 40 | fs/stat.c | tmp.st_ino = inode->i_ino; |
inode | 41 | fs/stat.c | tmp.st_mode = inode->i_mode; |
inode | 42 | fs/stat.c | tmp.st_nlink = inode->i_nlink; |
inode | 43 | fs/stat.c | tmp.st_uid = inode->i_uid; |
inode | 44 | fs/stat.c | tmp.st_gid = inode->i_gid; |
inode | 45 | fs/stat.c | tmp.st_rdev = inode->i_rdev; |
inode | 46 | fs/stat.c | tmp.st_size = inode->i_size; |
inode | 47 | fs/stat.c | tmp.st_atime = inode->i_atime; |
inode | 48 | fs/stat.c | tmp.st_mtime = inode->i_mtime; |
inode | 49 | fs/stat.c | tmp.st_ctime = inode->i_ctime; |
inode | 58 | fs/stat.c | if (!inode->i_blksize) { |
inode | 72 | fs/stat.c | tmp.st_blocks = inode->i_blocks; |
inode | 73 | fs/stat.c | tmp.st_blksize = inode->i_blksize; |
inode | 80 | fs/stat.c | struct inode * inode; |
inode | 86 | fs/stat.c | error = namei(filename,&inode); |
inode | 89 | fs/stat.c | cp_old_stat(inode,statbuf); |
inode | 90 | fs/stat.c | iput(inode); |
inode | 96 | fs/stat.c | struct inode * inode; |
inode | 102 | fs/stat.c | error = namei(filename,&inode); |
inode | 105 | fs/stat.c | cp_new_stat(inode,statbuf); |
inode | 106 | fs/stat.c | iput(inode); |
inode | 112 | fs/stat.c | struct inode * inode; |
inode | 118 | fs/stat.c | error = lnamei(filename,&inode); |
inode | 121 | fs/stat.c | cp_old_stat(inode,statbuf); |
inode | 122 | fs/stat.c | iput(inode); |
inode | 128 | fs/stat.c | struct inode * inode; |
inode | 134 | fs/stat.c | error = lnamei(filename,&inode); |
inode | 137 | fs/stat.c | cp_new_stat(inode,statbuf); |
inode | 138 | fs/stat.c | iput(inode); |
inode | 145 | fs/stat.c | struct inode * inode; |
inode | 151 | fs/stat.c | if (fd >= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) |
inode | 153 | fs/stat.c | cp_old_stat(inode,statbuf); |
inode | 160 | fs/stat.c | struct inode * inode; |
inode | 166 | fs/stat.c | if (fd >= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) |
inode | 168 | fs/stat.c | cp_new_stat(inode,statbuf); |
inode | 174 | fs/stat.c | struct inode * inode; |
inode | 182 | fs/stat.c | error = lnamei(path,&inode); |
inode | 185 | fs/stat.c | if (!inode->i_op || !inode->i_op->readlink) { |
inode | 186 | fs/stat.c | iput(inode); |
inode | 189 | fs/stat.c | return inode->i_op->readlink(inode,buf,bufsiz); |
inode | 235 | fs/super.c | struct inode * inode; |
inode | 238 | fs/super.c | struct inode dummy_inode; |
inode | 243 | fs/super.c | retval = namei(name,&inode); |
inode | 246 | fs/super.c | if (S_ISBLK(inode->i_mode)) { |
inode | 247 | fs/super.c | dev = inode->i_rdev; |
inode | 248 | fs/super.c | if (IS_NODEV(inode)) { |
inode | 249 | fs/super.c | iput(inode); |
inode | 252 | fs/super.c | } else if (S_ISDIR(inode->i_mode)) { |
inode | 253 | fs/super.c | if (!inode || !inode->i_sb || inode != inode->i_sb->s_mounted) { |
inode | 254 | fs/super.c | iput(inode); |
inode | 257 | fs/super.c | dev = inode->i_sb->s_dev; |
inode | 258 | fs/super.c | iput(inode); |
inode | 261 | fs/super.c | inode = &dummy_inode; |
inode | 263 | fs/super.c | iput(inode); |
inode | 267 | fs/super.c | iput(inode); |
inode | 273 | fs/super.c | fops->release(inode,NULL); |
inode | 277 | fs/super.c | if (inode != &dummy_inode) |
inode | 278 | fs/super.c | iput(inode); |
inode | 296 | fs/super.c | struct inode * dir_i; |
inode | 334 | fs/super.c | struct inode *dir_i; |
inode | 367 | fs/super.c | struct inode * inode; |
inode | 395 | fs/super.c | retval = namei(dev_name,&inode); |
inode | 398 | fs/super.c | if (!S_ISBLK(inode->i_mode)) { |
inode | 399 | fs/super.c | iput(inode); |
inode | 402 | fs/super.c | if (IS_NODEV(inode)) { |
inode | 403 | fs/super.c | iput(inode); |
inode | 406 | fs/super.c | dev = inode->i_rdev; |
inode | 408 | fs/super.c | iput(inode); |
inode | 414 | fs/super.c | inode = NULL; |
inode | 418 | fs/super.c | retval = fops->open(inode,NULL); |
inode | 420 | fs/super.c | iput(inode); |
inode | 428 | fs/super.c | iput(inode); |
inode | 441 | fs/super.c | fops->release(inode,NULL); |
inode | 442 | fs/super.c | iput(inode); |
inode | 450 | fs/super.c | struct inode * inode; |
inode | 463 | fs/super.c | inode = sb->s_mounted; |
inode | 464 | fs/super.c | inode->i_count += 3 ; /* NOTE! it is logically used 4 times, not 1 */ |
inode | 465 | fs/super.c | sb->s_covered = inode; |
inode | 467 | fs/super.c | current->pwd = inode; |
inode | 468 | fs/super.c | current->root = inode; |
inode | 283 | fs/xiafs/bitmap.c | void xiafs_free_inode(struct inode * inode) |
inode | 288 | fs/xiafs/bitmap.c | if (!inode) |
inode | 290 | fs/xiafs/bitmap.c | if (!inode->i_dev || inode->i_count!=1 || inode->i_nlink || !inode->i_sb || |
inode | 291 | fs/xiafs/bitmap.c | inode->i_ino < 3 || inode->i_ino > inode->i_sb->u.xiafs_sb.s_ninodes) { |
inode | 295 | fs/xiafs/bitmap.c | bh = get_imap_zone(inode->i_sb, inode->i_ino, NULL); |
inode | 298 | fs/xiafs/bitmap.c | tmp = inode->i_ino & (XIAFS_BITS_PER_Z(inode->i_sb)-1); |
inode | 301 | fs/xiafs/bitmap.c | inode->i_ino, inode->i_ino, WHERE_ERR); |
inode | 303 | fs/xiafs/bitmap.c | xiafs_unlock_super(inode->i_sb, inode->i_sb->u.xiafs_sb.s_imap_cached); |
inode | 304 | fs/xiafs/bitmap.c | clear_inode(inode); |
inode | 307 | fs/xiafs/bitmap.c | struct inode * xiafs_new_inode(struct inode * dir) |
inode | 310 | fs/xiafs/bitmap.c | struct inode * inode; |
inode | 314 | fs/xiafs/bitmap.c | if (!dir || !(inode = get_empty_inode())) |
inode | 316 | fs/xiafs/bitmap.c | inode->i_sb = sb; |
inode | 317 | fs/xiafs/bitmap.c | inode->i_flags = inode->i_sb->s_flags; |
inode | 321 | fs/xiafs/bitmap.c | iput(inode); |
inode | 324 | fs/xiafs/bitmap.c | inode->i_count = 1; |
inode | 325 | fs/xiafs/bitmap.c | inode->i_nlink = 1; |
inode | 326 | fs/xiafs/bitmap.c | inode->i_dev = sb->s_dev; |
inode | 327 | fs/xiafs/bitmap.c | inode->i_uid = current->euid; |
inode | 328 | fs/xiafs/bitmap.c | inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->egid; |
inode | 329 | fs/xiafs/bitmap.c | inode->i_dirt = 1; |
inode | 330 | fs/xiafs/bitmap.c | inode->i_ino = tmp; |
inode | 331 | fs/xiafs/bitmap.c | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
inode | 332 | fs/xiafs/bitmap.c | inode->i_op = NULL; |
inode | 333 | fs/xiafs/bitmap.c | inode->i_blocks = 0; |
inode | 334 | fs/xiafs/bitmap.c | inode->i_blksize = XIAFS_ZSIZE(inode->i_sb); |
inode | 335 | fs/xiafs/bitmap.c | return inode; |
inode | 22 | fs/xiafs/dir.c | static int xiafs_dir_read(struct inode *, struct file *, char *, int); |
inode | 23 | fs/xiafs/dir.c | static int xiafs_readdir(struct inode *, struct file *, struct dirent *, int); |
inode | 59 | fs/xiafs/dir.c | static int xiafs_dir_read(struct inode * inode, |
inode | 65 | fs/xiafs/dir.c | static int xiafs_readdir(struct inode * inode, |
inode | 72 | fs/xiafs/dir.c | if (!inode || !inode->i_sb || !S_ISDIR(inode->i_mode)) |
inode | 74 | fs/xiafs/dir.c | if (inode->i_size & (XIAFS_ZSIZE(inode->i_sb) - 1) ) |
inode | 76 | fs/xiafs/dir.c | while (filp->f_pos < inode->i_size) { |
inode | 77 | fs/xiafs/dir.c | offset = filp->f_pos & (XIAFS_ZSIZE(inode->i_sb) - 1); |
inode | 78 | fs/xiafs/dir.c | bh = xiafs_bread(inode, filp->f_pos >> XIAFS_ZSIZE_BITS(inode->i_sb),0); |
inode | 80 | fs/xiafs/dir.c | filp->f_pos += XIAFS_ZSIZE(inode->i_sb)-offset; |
inode | 84 | fs/xiafs/dir.c | while (offset < XIAFS_ZSIZE(inode->i_sb) && filp->f_pos < inode->i_size) { |
inode | 85 | fs/xiafs/dir.c | if (de->d_ino > inode->i_sb->u.xiafs_sb.s_ninodes || |
inode | 87 | fs/xiafs/dir.c | (char *)de+de->d_rec_len > XIAFS_ZSIZE(inode->i_sb)+bh->b_data || |
inode | 104 | fs/xiafs/dir.c | if (!IS_RDONLY (inode)) { |
inode | 105 | fs/xiafs/dir.c | inode->i_atime=CURRENT_TIME; |
inode | 106 | fs/xiafs/dir.c | inode->i_dirt=1; |
inode | 113 | fs/xiafs/dir.c | if (offset > XIAFS_ZSIZE(inode->i_sb)) { |
inode | 118 | fs/xiafs/dir.c | if (!IS_RDONLY (inode)) { |
inode | 119 | fs/xiafs/dir.c | inode->i_atime=CURRENT_TIME; |
inode | 120 | fs/xiafs/dir.c | inode->i_dirt=1; |
inode | 31 | fs/xiafs/file.c | static int xiafs_file_read(struct inode *, struct file *, char *, int); |
inode | 32 | fs/xiafs/file.c | static int xiafs_file_write(struct inode *, struct file *, char *, int); |
inode | 70 | fs/xiafs/file.c | xiafs_file_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 79 | fs/xiafs/file.c | if (!inode) { |
inode | 83 | fs/xiafs/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 88 | fs/xiafs/file.c | left = inode->i_size - offset; |
inode | 94 | fs/xiafs/file.c | zone_nr = offset >> XIAFS_ZSIZE_BITS(inode->i_sb); |
inode | 95 | fs/xiafs/file.c | offset &= XIAFS_ZSIZE(inode->i_sb) -1 ; |
inode | 96 | fs/xiafs/file.c | f_zones =(inode->i_size+XIAFS_ZSIZE(inode->i_sb)-1)>>XIAFS_ZSIZE_BITS(inode->i_sb); |
inode | 97 | fs/xiafs/file.c | zones = (left+offset+XIAFS_ZSIZE(inode->i_sb)-1) >> XIAFS_ZSIZE_BITS(inode->i_sb); |
inode | 100 | fs/xiafs/file.c | zones += read_ahead[MAJOR(inode->i_dev)] >> (1+XIAFS_ZSHIFT(inode->i_sb)); |
inode | 119 | fs/xiafs/file.c | *bhb = xiafs_getblk(inode, zone_nr++, 0); |
inode | 148 | fs/xiafs/file.c | if (left < XIAFS_ZSIZE(inode->i_sb) - offset) |
inode | 151 | fs/xiafs/file.c | chars = XIAFS_ZSIZE(inode->i_sb) - offset; |
inode | 178 | fs/xiafs/file.c | if (!IS_RDONLY (inode)) { |
inode | 179 | fs/xiafs/file.c | inode->i_atime = CURRENT_TIME; |
inode | 180 | fs/xiafs/file.c | inode->i_dirt = 1; |
inode | 186 | fs/xiafs/file.c | xiafs_file_write(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 193 | fs/xiafs/file.c | if (!inode) { |
inode | 197 | fs/xiafs/file.c | if (!S_ISREG(inode->i_mode)) { |
inode | 206 | fs/xiafs/file.c | pos = inode->i_size; |
inode | 211 | fs/xiafs/file.c | bh = xiafs_getblk(inode, pos >> XIAFS_ZSIZE_BITS(inode->i_sb), 1); |
inode | 217 | fs/xiafs/file.c | c = XIAFS_ZSIZE(inode->i_sb) - (pos & (XIAFS_ZSIZE(inode->i_sb) - 1)); |
inode | 220 | fs/xiafs/file.c | if (c != XIAFS_ZSIZE(inode->i_sb) && !bh->b_uptodate) { |
inode | 230 | fs/xiafs/file.c | cp = (pos & (XIAFS_ZSIZE(inode->i_sb)-1)) + bh->b_data; |
inode | 232 | fs/xiafs/file.c | if (pos > inode->i_size) { |
inode | 233 | fs/xiafs/file.c | inode->i_size = pos; |
inode | 234 | fs/xiafs/file.c | inode->i_dirt = 1; |
inode | 243 | fs/xiafs/file.c | inode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME; |
inode | 245 | fs/xiafs/file.c | inode->i_dirt = 1; |
inode | 26 | fs/xiafs/inode.c | void xiafs_put_inode(struct inode *inode) |
inode | 28 | fs/xiafs/inode.c | if (inode->i_nlink) |
inode | 30 | fs/xiafs/inode.c | inode->i_size = 0; |
inode | 31 | fs/xiafs/inode.c | xiafs_truncate(inode); |
inode | 32 | fs/xiafs/inode.c | xiafs_free_inode(inode); |
inode | 171 | fs/xiafs/inode.c | int xiafs_bmap(struct inode * inode,int zone) |
inode | 179 | fs/xiafs/inode.c | if (zone >= 8+(1+XIAFS_ADDRS_PER_Z(inode->i_sb))*XIAFS_ADDRS_PER_Z(inode->i_sb)) { |
inode | 183 | fs/xiafs/inode.c | if (!IS_RDONLY (inode)) { |
inode | 184 | fs/xiafs/inode.c | inode->i_atime = CURRENT_TIME; |
inode | 185 | fs/xiafs/inode.c | inode->i_dirt = 1; |
inode | 188 | fs/xiafs/inode.c | return inode->u.xiafs_i.i_zone[zone]; |
inode | 190 | fs/xiafs/inode.c | if (zone < XIAFS_ADDRS_PER_Z(inode->i_sb)) { |
inode | 191 | fs/xiafs/inode.c | i = inode->u.xiafs_i.i_ind_zone; |
inode | 193 | fs/xiafs/inode.c | i = zone_bmap(bread(inode->i_dev, i, XIAFS_ZSIZE(inode->i_sb)), zone); |
inode | 196 | fs/xiafs/inode.c | zone -= XIAFS_ADDRS_PER_Z(inode->i_sb); |
inode | 197 | fs/xiafs/inode.c | i = inode->u.xiafs_i.i_dind_zone; |
inode | 199 | fs/xiafs/inode.c | i = zone_bmap(bread(inode->i_dev, i, XIAFS_ZSIZE(inode->i_sb)), |
inode | 200 | fs/xiafs/inode.c | zone >> XIAFS_ADDRS_PER_Z_BITS(inode->i_sb)); |
inode | 202 | fs/xiafs/inode.c | i= zone_bmap(bread(inode->i_dev,i, XIAFS_ZSIZE(inode->i_sb)), |
inode | 203 | fs/xiafs/inode.c | zone & (XIAFS_ADDRS_PER_Z(inode->i_sb)-1)); |
inode | 207 | fs/xiafs/inode.c | static u_long get_prev_addr(struct inode * inode, int zone) |
inode | 213 | fs/xiafs/inode.c | if ((tmp=xiafs_bmap(inode, zone))) |
inode | 215 | fs/xiafs/inode.c | random_nr=(random_nr+23)%inode->i_sb->u.xiafs_sb.s_ndatazones; |
inode | 216 | fs/xiafs/inode.c | return random_nr + inode->i_sb->u.xiafs_sb.s_firstdatazone; |
inode | 220 | fs/xiafs/inode.c | dt_getblk(struct inode * inode, u_long *lp, int create, u_long prev_addr) |
inode | 227 | fs/xiafs/inode.c | result = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
inode | 235 | fs/xiafs/inode.c | tmp = xiafs_new_zone(inode->i_sb, prev_addr); |
inode | 238 | fs/xiafs/inode.c | result = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
inode | 240 | fs/xiafs/inode.c | xiafs_free_zone(inode->i_sb, tmp); |
inode | 245 | fs/xiafs/inode.c | inode->i_blocks+=2 << XIAFS_ZSHIFT(inode->i_sb); |
inode | 250 | fs/xiafs/inode.c | indt_getblk(struct inode * inode, struct buffer_head * bh, |
inode | 270 | fs/xiafs/inode.c | result = getblk(bh->b_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
inode | 282 | fs/xiafs/inode.c | tmp = xiafs_new_zone(inode->i_sb, prev_addr); |
inode | 287 | fs/xiafs/inode.c | result = getblk(bh->b_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
inode | 289 | fs/xiafs/inode.c | xiafs_free_zone(inode->i_sb, tmp); |
inode | 294 | fs/xiafs/inode.c | inode->i_blocks+=2 << XIAFS_ZSHIFT(inode->i_sb); |
inode | 300 | fs/xiafs/inode.c | struct buffer_head * xiafs_getblk(struct inode * inode, int zone, int create) |
inode | 309 | fs/xiafs/inode.c | if (zone >= 8+(1+XIAFS_ADDRS_PER_Z(inode->i_sb))*XIAFS_ADDRS_PER_Z(inode->i_sb)) { |
inode | 315 | fs/xiafs/inode.c | prev_addr=get_prev_addr(inode, zone); |
inode | 317 | fs/xiafs/inode.c | return dt_getblk(inode, zone+inode->u.xiafs_i.i_zone, create, prev_addr); |
inode | 319 | fs/xiafs/inode.c | if (zone < XIAFS_ADDRS_PER_Z(inode->i_sb)) { |
inode | 320 | fs/xiafs/inode.c | bh = dt_getblk(inode, &(inode->u.xiafs_i.i_ind_zone), create, prev_addr); |
inode | 321 | fs/xiafs/inode.c | bh = indt_getblk(inode, bh, zone, create, prev_addr); |
inode | 324 | fs/xiafs/inode.c | zone -= XIAFS_ADDRS_PER_Z(inode->i_sb); |
inode | 325 | fs/xiafs/inode.c | bh = dt_getblk(inode, &(inode->u.xiafs_i.i_dind_zone), create, prev_addr); |
inode | 326 | fs/xiafs/inode.c | bh = indt_getblk(inode, bh, zone>>XIAFS_ADDRS_PER_Z_BITS(inode->i_sb), |
inode | 328 | fs/xiafs/inode.c | bh = indt_getblk(inode, bh, zone&(XIAFS_ADDRS_PER_Z(inode->i_sb)-1), |
inode | 333 | fs/xiafs/inode.c | struct buffer_head * xiafs_bread(struct inode * inode, int zone, int create) |
inode | 337 | fs/xiafs/inode.c | bh = xiafs_getblk(inode, zone, create); |
inode | 348 | fs/xiafs/inode.c | void xiafs_read_inode(struct inode * inode) |
inode | 355 | fs/xiafs/inode.c | ino = inode->i_ino; |
inode | 356 | fs/xiafs/inode.c | inode->i_op = NULL; |
inode | 357 | fs/xiafs/inode.c | inode->i_mode=0; |
inode | 358 | fs/xiafs/inode.c | if (!ino || ino > inode->i_sb->u.xiafs_sb.s_ninodes) { |
inode | 362 | fs/xiafs/inode.c | zone = 1 + inode->i_sb->u.xiafs_sb.s_imap_zones + |
inode | 363 | fs/xiafs/inode.c | inode->i_sb->u.xiafs_sb.s_zmap_zones + |
inode | 364 | fs/xiafs/inode.c | (ino-1)/ XIAFS_INODES_PER_Z(inode->i_sb); |
inode | 365 | fs/xiafs/inode.c | if (!(bh=bread(inode->i_dev, zone, XIAFS_ZSIZE(inode->i_sb)))) { |
inode | 370 | fs/xiafs/inode.c | ((ino-1) & (XIAFS_INODES_PER_Z(inode->i_sb) - 1)); |
inode | 371 | fs/xiafs/inode.c | inode->i_mode = raw_inode->i_mode; |
inode | 372 | fs/xiafs/inode.c | inode->i_uid = raw_inode->i_uid; |
inode | 373 | fs/xiafs/inode.c | inode->i_gid = raw_inode->i_gid; |
inode | 374 | fs/xiafs/inode.c | inode->i_nlink = raw_inode->i_nlinks; |
inode | 375 | fs/xiafs/inode.c | inode->i_size = raw_inode->i_size; |
inode | 376 | fs/xiafs/inode.c | inode->i_mtime = raw_inode->i_mtime; |
inode | 377 | fs/xiafs/inode.c | inode->i_atime = raw_inode->i_atime; |
inode | 378 | fs/xiafs/inode.c | inode->i_ctime = raw_inode->i_ctime; |
inode | 379 | fs/xiafs/inode.c | inode->i_blksize = XIAFS_ZSIZE(inode->i_sb); |
inode | 380 | fs/xiafs/inode.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) { |
inode | 381 | fs/xiafs/inode.c | inode->i_blocks=0; |
inode | 382 | fs/xiafs/inode.c | inode->i_rdev = raw_inode->i_zone[0]; |
inode | 384 | fs/xiafs/inode.c | XIAFS_GET_BLOCKS(raw_inode, inode->i_blocks); |
inode | 386 | fs/xiafs/inode.c | inode->u.xiafs_i.i_zone[zone] = raw_inode->i_zone[zone] & 0xffffff; |
inode | 387 | fs/xiafs/inode.c | inode->u.xiafs_i.i_ind_zone = raw_inode->i_ind_zone & 0xffffff; |
inode | 388 | fs/xiafs/inode.c | inode->u.xiafs_i.i_dind_zone = raw_inode->i_dind_zone & 0xffffff; |
inode | 391 | fs/xiafs/inode.c | if (S_ISREG(inode->i_mode)) |
inode | 392 | fs/xiafs/inode.c | inode->i_op = &xiafs_file_inode_operations; |
inode | 393 | fs/xiafs/inode.c | else if (S_ISDIR(inode->i_mode)) |
inode | 394 | fs/xiafs/inode.c | inode->i_op = &xiafs_dir_inode_operations; |
inode | 395 | fs/xiafs/inode.c | else if (S_ISLNK(inode->i_mode)) |
inode | 396 | fs/xiafs/inode.c | inode->i_op = &xiafs_symlink_inode_operations; |
inode | 397 | fs/xiafs/inode.c | else if (S_ISCHR(inode->i_mode)) |
inode | 398 | fs/xiafs/inode.c | inode->i_op = &chrdev_inode_operations; |
inode | 399 | fs/xiafs/inode.c | else if (S_ISBLK(inode->i_mode)) |
inode | 400 | fs/xiafs/inode.c | inode->i_op = &blkdev_inode_operations; |
inode | 401 | fs/xiafs/inode.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 402 | fs/xiafs/inode.c | init_fifo(inode); |
inode | 405 | fs/xiafs/inode.c | void xiafs_write_inode(struct inode * inode) |
inode | 412 | fs/xiafs/inode.c | if (IS_RDONLY (inode)) { |
inode | 414 | fs/xiafs/inode.c | inode->i_dirt = 0; |
inode | 418 | fs/xiafs/inode.c | ino = inode->i_ino; |
inode | 419 | fs/xiafs/inode.c | if (!ino || ino > inode->i_sb->u.xiafs_sb.s_ninodes) { |
inode | 421 | fs/xiafs/inode.c | inode->i_dirt=0; |
inode | 424 | fs/xiafs/inode.c | zone = 1 + inode->i_sb->u.xiafs_sb.s_imap_zones + |
inode | 425 | fs/xiafs/inode.c | inode->i_sb->u.xiafs_sb.s_zmap_zones + |
inode | 426 | fs/xiafs/inode.c | (ino-1) / XIAFS_INODES_PER_Z(inode->i_sb); |
inode | 427 | fs/xiafs/inode.c | if (!(bh=bread(inode->i_dev, zone, XIAFS_ZSIZE(inode->i_sb)))) { |
inode | 429 | fs/xiafs/inode.c | inode->i_dirt=0; |
inode | 433 | fs/xiafs/inode.c | ((ino-1) & (XIAFS_INODES_PER_Z(inode->i_sb) -1)); |
inode | 434 | fs/xiafs/inode.c | raw_inode->i_mode = inode->i_mode; |
inode | 435 | fs/xiafs/inode.c | raw_inode->i_uid = inode->i_uid; |
inode | 436 | fs/xiafs/inode.c | raw_inode->i_gid = inode->i_gid; |
inode | 437 | fs/xiafs/inode.c | raw_inode->i_nlinks = inode->i_nlink; |
inode | 438 | fs/xiafs/inode.c | raw_inode->i_size = inode->i_size; |
inode | 439 | fs/xiafs/inode.c | raw_inode->i_atime = inode->i_atime; |
inode | 440 | fs/xiafs/inode.c | raw_inode->i_ctime = inode->i_ctime; |
inode | 441 | fs/xiafs/inode.c | raw_inode->i_mtime = inode->i_mtime; |
inode | 442 | fs/xiafs/inode.c | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
inode | 443 | fs/xiafs/inode.c | raw_inode->i_zone[0] = inode->i_rdev; |
inode | 445 | fs/xiafs/inode.c | XIAFS_PUT_BLOCKS(raw_inode, inode->i_blocks); |
inode | 448 | fs/xiafs/inode.c | | (inode->u.xiafs_i.i_zone[zone] & 0xffffff); |
inode | 450 | fs/xiafs/inode.c | | (inode->u.xiafs_i.i_ind_zone & 0xffffff); |
inode | 452 | fs/xiafs/inode.c | | (inode->u.xiafs_i.i_dind_zone & 0xffffff); |
inode | 454 | fs/xiafs/inode.c | inode->i_dirt=0; |
inode | 57 | fs/xiafs/namei.c | xiafs_find_entry(struct inode * inode, const char * name, int namelen, |
inode | 65 | fs/xiafs/namei.c | if (!inode) |
inode | 70 | fs/xiafs/namei.c | if (inode->i_size & (XIAFS_ZSIZE(inode->i_sb) - 1)) { |
inode | 74 | fs/xiafs/namei.c | zones=inode->i_size >> XIAFS_ZSIZE_BITS(inode->i_sb); |
inode | 76 | fs/xiafs/namei.c | bh = xiafs_bread(inode, i, 0); |
inode | 87 | fs/xiafs/namei.c | while ( pos < XIAFS_ZSIZE(inode->i_sb) ) { |
inode | 88 | fs/xiafs/namei.c | if (dep->d_ino > inode->i_sb->u.xiafs_sb.s_ninodes || |
inode | 90 | fs/xiafs/namei.c | dep->d_rec_len+(char *)dep > bh->b_data+XIAFS_ZSIZE(inode->i_sb) || |
inode | 107 | fs/xiafs/namei.c | if (pos > XIAFS_ZSIZE(inode->i_sb)) { |
inode | 115 | fs/xiafs/namei.c | int xiafs_lookup(struct inode * dir, const char * name, int len, |
inode | 116 | fs/xiafs/namei.c | struct inode ** result) |
inode | 153 | fs/xiafs/namei.c | static struct buffer_head * xiafs_add_entry(struct inode * dir, |
inode | 240 | fs/xiafs/namei.c | int xiafs_create(struct inode * dir, const char * name, int len, int mode, |
inode | 241 | fs/xiafs/namei.c | struct inode ** result) |
inode | 243 | fs/xiafs/namei.c | struct inode * inode; |
inode | 250 | fs/xiafs/namei.c | inode = xiafs_new_inode(dir); |
inode | 251 | fs/xiafs/namei.c | if (!inode) { |
inode | 255 | fs/xiafs/namei.c | inode->i_op = &xiafs_file_inode_operations; |
inode | 256 | fs/xiafs/namei.c | inode->i_mode = mode; |
inode | 257 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 260 | fs/xiafs/namei.c | inode->i_nlink--; |
inode | 261 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 262 | fs/xiafs/namei.c | iput(inode); |
inode | 266 | fs/xiafs/namei.c | de->d_ino = inode->i_ino; |
inode | 270 | fs/xiafs/namei.c | *result = inode; |
inode | 274 | fs/xiafs/namei.c | int xiafs_mknod(struct inode *dir, const char *name, int len, int mode, int rdev) |
inode | 276 | fs/xiafs/namei.c | struct inode * inode; |
inode | 288 | fs/xiafs/namei.c | inode = xiafs_new_inode(dir); |
inode | 289 | fs/xiafs/namei.c | if (!inode) { |
inode | 293 | fs/xiafs/namei.c | inode->i_uid = current->euid; |
inode | 294 | fs/xiafs/namei.c | inode->i_mode = mode; |
inode | 295 | fs/xiafs/namei.c | inode->i_op = NULL; |
inode | 296 | fs/xiafs/namei.c | if (S_ISREG(inode->i_mode)) |
inode | 297 | fs/xiafs/namei.c | inode->i_op = &xiafs_file_inode_operations; |
inode | 298 | fs/xiafs/namei.c | else if (S_ISDIR(inode->i_mode)) { |
inode | 299 | fs/xiafs/namei.c | inode->i_op = &xiafs_dir_inode_operations; |
inode | 301 | fs/xiafs/namei.c | inode->i_mode |= S_ISGID; |
inode | 303 | fs/xiafs/namei.c | else if (S_ISLNK(inode->i_mode)) |
inode | 304 | fs/xiafs/namei.c | inode->i_op = &xiafs_symlink_inode_operations; |
inode | 305 | fs/xiafs/namei.c | else if (S_ISCHR(inode->i_mode)) |
inode | 306 | fs/xiafs/namei.c | inode->i_op = &chrdev_inode_operations; |
inode | 307 | fs/xiafs/namei.c | else if (S_ISBLK(inode->i_mode)) |
inode | 308 | fs/xiafs/namei.c | inode->i_op = &blkdev_inode_operations; |
inode | 309 | fs/xiafs/namei.c | else if (S_ISFIFO(inode->i_mode)) |
inode | 310 | fs/xiafs/namei.c | init_fifo(inode); |
inode | 312 | fs/xiafs/namei.c | inode->i_rdev = rdev; |
inode | 313 | fs/xiafs/namei.c | inode->i_atime = inode->i_ctime = inode->i_atime = CURRENT_TIME; |
inode | 314 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 317 | fs/xiafs/namei.c | inode->i_nlink--; |
inode | 318 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 319 | fs/xiafs/namei.c | iput(inode); |
inode | 323 | fs/xiafs/namei.c | de->d_ino = inode->i_ino; |
inode | 327 | fs/xiafs/namei.c | iput(inode); |
inode | 331 | fs/xiafs/namei.c | int xiafs_mkdir(struct inode * dir, const char * name, int len, int mode) |
inode | 333 | fs/xiafs/namei.c | struct inode * inode; |
inode | 347 | fs/xiafs/namei.c | inode = xiafs_new_inode(dir); |
inode | 348 | fs/xiafs/namei.c | if (!inode) { |
inode | 352 | fs/xiafs/namei.c | inode->i_op = &xiafs_dir_inode_operations; |
inode | 353 | fs/xiafs/namei.c | inode->i_size = XIAFS_ZSIZE(dir->i_sb); |
inode | 354 | fs/xiafs/namei.c | inode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME; |
inode | 355 | fs/xiafs/namei.c | dir_block = xiafs_bread(inode,0,1); |
inode | 358 | fs/xiafs/namei.c | inode->i_nlink--; |
inode | 359 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 360 | fs/xiafs/namei.c | iput(inode); |
inode | 364 | fs/xiafs/namei.c | de->d_ino=inode->i_ino; |
inode | 373 | fs/xiafs/namei.c | inode->i_nlink = 2; |
inode | 376 | fs/xiafs/namei.c | inode->i_mode = S_IFDIR | (mode & 0777 & ~current->umask); |
inode | 378 | fs/xiafs/namei.c | inode->i_mode |= S_ISGID; |
inode | 379 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 383 | fs/xiafs/namei.c | inode->i_nlink=0; |
inode | 384 | fs/xiafs/namei.c | iput(inode); |
inode | 387 | fs/xiafs/namei.c | de->d_ino = inode->i_ino; |
inode | 392 | fs/xiafs/namei.c | iput(inode); |
inode | 400 | fs/xiafs/namei.c | static int empty_dir(struct inode * inode) |
inode | 406 | fs/xiafs/namei.c | if (inode->i_size & (XIAFS_ZSIZE(inode->i_sb)-1) ) { |
inode | 411 | fs/xiafs/namei.c | zones=inode->i_size >> XIAFS_ZSIZE_BITS(inode->i_sb); |
inode | 413 | fs/xiafs/namei.c | bh = xiafs_bread(inode, i, 0); |
inode | 420 | fs/xiafs/namei.c | if (de->d_ino != inode->i_ino || strcmp(".", de->d_name) || |
inode | 438 | fs/xiafs/namei.c | while (offset < XIAFS_ZSIZE(inode->i_sb)) { |
inode | 440 | fs/xiafs/namei.c | if (de->d_ino > inode->i_sb->u.xiafs_sb.s_ninodes || |
inode | 442 | fs/xiafs/namei.c | (char *)de+de->d_rec_len > bh->b_data+XIAFS_ZSIZE(inode->i_sb) || |
inode | 480 | fs/xiafs/namei.c | int xiafs_rmdir(struct inode * dir, const char * name, int len) |
inode | 483 | fs/xiafs/namei.c | struct inode * inode; |
inode | 487 | fs/xiafs/namei.c | inode = NULL; |
inode | 493 | fs/xiafs/namei.c | if (!(inode = iget(dir->i_sb, de->d_ino))) |
inode | 496 | fs/xiafs/namei.c | inode->i_uid != current->euid) |
inode | 498 | fs/xiafs/namei.c | if (inode->i_dev != dir->i_dev) |
inode | 500 | fs/xiafs/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
inode | 502 | fs/xiafs/namei.c | if (!S_ISDIR(inode->i_mode)) { |
inode | 506 | fs/xiafs/namei.c | if (!empty_dir(inode)) { |
inode | 510 | fs/xiafs/namei.c | if (inode->i_count > 1) { |
inode | 514 | fs/xiafs/namei.c | if (inode->i_nlink != 2) |
inode | 518 | fs/xiafs/namei.c | inode->i_nlink=0; |
inode | 519 | fs/xiafs/namei.c | inode->i_dirt=1; |
inode | 526 | fs/xiafs/namei.c | iput(inode); |
inode | 531 | fs/xiafs/namei.c | int xiafs_unlink(struct inode * dir, const char * name, int len) |
inode | 534 | fs/xiafs/namei.c | struct inode * inode; |
inode | 540 | fs/xiafs/namei.c | inode = NULL; |
inode | 544 | fs/xiafs/namei.c | if (!(inode = iget(dir->i_sb, de->d_ino))) |
inode | 546 | fs/xiafs/namei.c | if (de->d_ino != inode->i_ino) { |
inode | 547 | fs/xiafs/namei.c | iput(inode); |
inode | 555 | fs/xiafs/namei.c | current->euid != inode->i_uid && |
inode | 558 | fs/xiafs/namei.c | if (S_ISDIR(inode->i_mode)) |
inode | 560 | fs/xiafs/namei.c | if (!inode->i_nlink) { |
inode | 562 | fs/xiafs/namei.c | inode->i_nlink=1; |
inode | 568 | fs/xiafs/namei.c | inode->i_nlink--; |
inode | 569 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 573 | fs/xiafs/namei.c | iput(inode); |
inode | 578 | fs/xiafs/namei.c | int xiafs_symlink(struct inode * dir, const char * name, |
inode | 582 | fs/xiafs/namei.c | struct inode * inode = NULL; |
inode | 593 | fs/xiafs/namei.c | if (!(inode = xiafs_new_inode(dir))) { |
inode | 597 | fs/xiafs/namei.c | inode->i_mode = S_IFLNK | 0777; |
inode | 598 | fs/xiafs/namei.c | inode->i_op = &xiafs_symlink_inode_operations; |
inode | 599 | fs/xiafs/namei.c | name_block = xiafs_bread(inode,0,1); |
inode | 602 | fs/xiafs/namei.c | inode->i_nlink--; |
inode | 603 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 604 | fs/xiafs/namei.c | iput(inode); |
inode | 612 | fs/xiafs/namei.c | inode->i_size = i; |
inode | 613 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 616 | fs/xiafs/namei.c | inode->i_nlink--; |
inode | 617 | fs/xiafs/namei.c | inode->i_dirt = 1; |
inode | 618 | fs/xiafs/namei.c | iput(inode); |
inode | 622 | fs/xiafs/namei.c | de->d_ino = inode->i_ino; |
inode | 626 | fs/xiafs/namei.c | iput(inode); |
inode | 630 | fs/xiafs/namei.c | int xiafs_link(struct inode * oldinode, struct inode * dir, |
inode | 670 | fs/xiafs/namei.c | static int subdir(struct inode * new, struct inode * old) |
inode | 707 | fs/xiafs/namei.c | static int do_xiafs_rename(struct inode * old_dir, const char * old_name, |
inode | 708 | fs/xiafs/namei.c | int old_len, struct inode * new_dir, |
inode | 711 | fs/xiafs/namei.c | struct inode * old_inode, * new_inode; |
inode | 828 | fs/xiafs/namei.c | int xiafs_rename(struct inode * old_dir, const char * old_name, int old_len, |
inode | 829 | fs/xiafs/namei.c | struct inode * new_dir, const char * new_name, int new_len) |
inode | 21 | fs/xiafs/symlink.c | xiafs_readlink(struct inode *, char *, int); |
inode | 24 | fs/xiafs/symlink.c | xiafs_follow_link(struct inode *, struct inode *, int, int, struct inode **); |
inode | 47 | fs/xiafs/symlink.c | static int xiafs_readlink(struct inode * inode, char * buffer, int buflen) |
inode | 53 | fs/xiafs/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 54 | fs/xiafs/symlink.c | iput(inode); |
inode | 59 | fs/xiafs/symlink.c | bh = xiafs_bread(inode, 0, 0); |
inode | 60 | fs/xiafs/symlink.c | if (!IS_RDONLY (inode)) { |
inode | 61 | fs/xiafs/symlink.c | inode->i_atime=CURRENT_TIME; |
inode | 62 | fs/xiafs/symlink.c | inode->i_dirt=1; |
inode | 64 | fs/xiafs/symlink.c | iput(inode); |
inode | 75 | fs/xiafs/symlink.c | static int xiafs_follow_link(struct inode * dir, struct inode * inode, |
inode | 76 | fs/xiafs/symlink.c | int flag, int mode, struct inode ** res_inode) |
inode | 86 | fs/xiafs/symlink.c | if (!inode) { |
inode | 90 | fs/xiafs/symlink.c | if (!S_ISLNK(inode->i_mode)) { |
inode | 92 | fs/xiafs/symlink.c | *res_inode = inode; |
inode | 95 | fs/xiafs/symlink.c | if (!IS_RDONLY (inode)) { |
inode | 96 | fs/xiafs/symlink.c | inode->i_atime=CURRENT_TIME; |
inode | 97 | fs/xiafs/symlink.c | inode->i_dirt=1; |
inode | 100 | fs/xiafs/symlink.c | iput(inode); |
inode | 104 | fs/xiafs/symlink.c | if (!(bh = xiafs_bread(inode, 0, 0))) { |
inode | 105 | fs/xiafs/symlink.c | iput(inode); |
inode | 109 | fs/xiafs/symlink.c | iput(inode); |
inode | 36 | fs/xiafs/truncate.c | #define DT_ZONE ((inode->i_size + XIAFS_ZSIZE(inode->i_sb) - 1) \ |
inode | 37 | fs/xiafs/truncate.c | >> XIAFS_ZSIZE_BITS(inode->i_sb) ) |
inode | 39 | fs/xiafs/truncate.c | static int trunc_direct(struct inode * inode) |
inode | 50 | fs/xiafs/truncate.c | lp=i + inode->u.xiafs_i.i_zone; |
inode | 53 | fs/xiafs/truncate.c | bh = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
inode | 62 | fs/xiafs/truncate.c | inode->i_dirt = 1; |
inode | 63 | fs/xiafs/truncate.c | inode->i_blocks-=2 << XIAFS_ZSHIFT(inode->i_sb); |
inode | 64 | fs/xiafs/truncate.c | xiafs_free_zone(inode->i_sb, tmp); |
inode | 71 | fs/xiafs/truncate.c | static int trunc_indirect(struct inode * inode, int addr_off, u_long * lp) |
inode | 83 | fs/xiafs/truncate.c | ind_bh = bread(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
inode | 93 | fs/xiafs/truncate.c | for (i = INDT_ZONE<0?0:INDT_ZONE; i < XIAFS_ADDRS_PER_Z(inode->i_sb); i++) { |
inode | 99 | fs/xiafs/truncate.c | bh = getblk(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
inode | 109 | fs/xiafs/truncate.c | inode->i_blocks-= 2 << XIAFS_ZSHIFT(inode->i_sb); |
inode | 110 | fs/xiafs/truncate.c | xiafs_free_zone(inode->i_sb, tmp); |
inode | 115 | fs/xiafs/truncate.c | for (i = 0; i < XIAFS_ADDRS_PER_Z(inode->i_sb) && !(*indp++); i++) ; |
inode | 116 | fs/xiafs/truncate.c | if (i >= XIAFS_ADDRS_PER_Z(inode->i_sb)) { |
inode | 122 | fs/xiafs/truncate.c | inode->i_blocks-= 2 << XIAFS_ZSHIFT(inode->i_sb); |
inode | 123 | fs/xiafs/truncate.c | xiafs_free_zone(inode->i_sb, tmp); |
inode | 130 | fs/xiafs/truncate.c | static int trunc_dindirect(struct inode * inode) |
inode | 134 | fs/xiafs/truncate.c | ((DT_ZONE-XIAFS_ADDRS_PER_Z(inode->i_sb)-8)>>XIAFS_ADDRS_PER_Z_BITS(inode->i_sb)) |
inode | 141 | fs/xiafs/truncate.c | lp = &(inode->u.xiafs_i.i_dind_zone); |
inode | 144 | fs/xiafs/truncate.c | dind_bh = bread(inode->i_dev, tmp, XIAFS_ZSIZE(inode->i_sb)); |
inode | 154 | fs/xiafs/truncate.c | for (i=DINDT_ZONE<0?0:DINDT_ZONE ; i < XIAFS_ADDRS_PER_Z(inode->i_sb) ; i ++) { |
inode | 158 | fs/xiafs/truncate.c | retry |= trunc_indirect(inode, |
inode | 159 | fs/xiafs/truncate.c | 8+((1+i)<<XIAFS_ADDRS_PER_Z_BITS(inode->i_sb)), |
inode | 164 | fs/xiafs/truncate.c | for (i = 0; i < XIAFS_ADDRS_PER_Z(inode->i_sb) && !(*dindp++); i++); |
inode | 165 | fs/xiafs/truncate.c | if (i >= XIAFS_ADDRS_PER_Z(inode->i_sb)) { |
inode | 171 | fs/xiafs/truncate.c | inode->i_dirt = 1; |
inode | 172 | fs/xiafs/truncate.c | inode->i_blocks-=2 << XIAFS_ZSHIFT(inode->i_sb); |
inode | 173 | fs/xiafs/truncate.c | xiafs_free_zone(inode->i_sb, tmp); |
inode | 180 | fs/xiafs/truncate.c | void xiafs_truncate(struct inode * inode) |
inode | 184 | fs/xiafs/truncate.c | if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || |
inode | 185 | fs/xiafs/truncate.c | S_ISLNK(inode->i_mode))) |
inode | 188 | fs/xiafs/truncate.c | retry = trunc_direct(inode); |
inode | 189 | fs/xiafs/truncate.c | retry |= trunc_indirect(inode, 8, &(inode->u.xiafs_i.i_ind_zone)); |
inode | 190 | fs/xiafs/truncate.c | retry |= trunc_dindirect(inode); |
inode | 196 | fs/xiafs/truncate.c | inode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME; |
inode | 197 | fs/xiafs/truncate.c | inode->i_dirt = 1; |
inode | 213 | include/linux/ext2_fs.h | unsigned long inode; /* Inode number */ |
inode | 234 | include/linux/ext2_fs.h | extern int ext2_permission (struct inode *, int); |
inode | 254 | include/linux/ext2_fs.h | extern int ext2_check_dir_entry (char *, struct inode *, |
inode | 259 | include/linux/ext2_fs.h | extern int ext2_read (struct inode *, struct file *, char *, int); |
inode | 260 | include/linux/ext2_fs.h | extern int ext2_write (struct inode *, struct file *, char *, int); |
inode | 263 | include/linux/ext2_fs.h | extern struct inode * ext2_new_inode (const struct inode *, int); |
inode | 264 | include/linux/ext2_fs.h | extern void ext2_free_inode (struct inode *); |
inode | 268 | include/linux/ext2_fs.h | extern int ext2_bmap (struct inode *, int); |
inode | 270 | include/linux/ext2_fs.h | extern struct buffer_head * ext2_getblk (struct inode *, int, int, int *); |
inode | 271 | include/linux/ext2_fs.h | extern struct buffer_head * ext2_bread (struct inode *, int, int, int *); |
inode | 276 | include/linux/ext2_fs.h | extern void ext2_read_inode (struct inode *); |
inode | 277 | include/linux/ext2_fs.h | extern void ext2_write_inode (struct inode *); |
inode | 278 | include/linux/ext2_fs.h | extern void ext2_put_inode (struct inode *); |
inode | 282 | include/linux/ext2_fs.h | extern int ext2_ioctl (struct inode *, struct file *, unsigned int, |
inode | 286 | include/linux/ext2_fs.h | extern int ext2_open (struct inode *, struct file *); |
inode | 287 | include/linux/ext2_fs.h | extern void ext2_release (struct inode *, struct file *); |
inode | 288 | include/linux/ext2_fs.h | extern int ext2_lookup (struct inode *,const char *, int, struct inode **); |
inode | 289 | include/linux/ext2_fs.h | extern int ext2_create (struct inode *,const char *, int, int, |
inode | 290 | include/linux/ext2_fs.h | struct inode **); |
inode | 291 | include/linux/ext2_fs.h | extern int ext2_mkdir (struct inode *, const char *, int, int); |
inode | 292 | include/linux/ext2_fs.h | extern int ext2_rmdir (struct inode *, const char *, int); |
inode | 293 | include/linux/ext2_fs.h | extern int ext2_unlink (struct inode *, const char *, int); |
inode | 294 | include/linux/ext2_fs.h | extern int ext2_symlink (struct inode *, const char *, int, const char *); |
inode | 295 | include/linux/ext2_fs.h | extern int ext2_link (struct inode *, struct inode *, const char *, int); |
inode | 296 | include/linux/ext2_fs.h | extern int ext2_mknod (struct inode *, const char *, int, int, int); |
inode | 297 | include/linux/ext2_fs.h | extern int ext2_rename (struct inode *, const char *, int, |
inode | 298 | include/linux/ext2_fs.h | struct inode *, const char *, int); |
inode | 301 | include/linux/ext2_fs.h | extern void ext2_truncate (struct inode *); |
inode | 56 | include/linux/ext_fs.h | unsigned long inode; |
inode | 62 | include/linux/ext_fs.h | extern int ext_open(struct inode * inode, struct file * filp); |
inode | 63 | include/linux/ext_fs.h | extern void ext_release(struct inode * inode, struct file * filp); |
inode | 64 | include/linux/ext_fs.h | extern int ext_lookup(struct inode * dir,const char * name, int len, |
inode | 65 | include/linux/ext_fs.h | struct inode ** result); |
inode | 66 | include/linux/ext_fs.h | extern int ext_create(struct inode * dir,const char * name, int len, int mode, |
inode | 67 | include/linux/ext_fs.h | struct inode ** result); |
inode | 68 | include/linux/ext_fs.h | extern int ext_mkdir(struct inode * dir, const char * name, int len, int mode); |
inode | 69 | include/linux/ext_fs.h | extern int ext_rmdir(struct inode * dir, const char * name, int len); |
inode | 70 | include/linux/ext_fs.h | extern int ext_unlink(struct inode * dir, const char * name, int len); |
inode | 71 | include/linux/ext_fs.h | extern int ext_symlink(struct inode * inode, const char * name, int len, |
inode | 73 | include/linux/ext_fs.h | extern int ext_link(struct inode * oldinode, struct inode * dir, const char * name, int len); |
inode | 74 | include/linux/ext_fs.h | extern int ext_mknod(struct inode * dir, const char * name, int len, int mode, int rdev); |
inode | 75 | include/linux/ext_fs.h | extern int ext_rename(struct inode * old_dir, const char * old_name, int old_len, |
inode | 76 | include/linux/ext_fs.h | struct inode * new_dir, const char * new_name, int new_len); |
inode | 77 | include/linux/ext_fs.h | extern struct inode * ext_new_inode(const struct inode * dir); |
inode | 78 | include/linux/ext_fs.h | extern void ext_free_inode(struct inode * inode); |
inode | 84 | include/linux/ext_fs.h | extern int ext_bmap(struct inode *,int); |
inode | 86 | include/linux/ext_fs.h | extern struct buffer_head * ext_getblk(struct inode *, int, int); |
inode | 87 | include/linux/ext_fs.h | extern struct buffer_head * ext_bread(struct inode *, int, int); |
inode | 89 | include/linux/ext_fs.h | extern void ext_truncate(struct inode *); |
inode | 93 | include/linux/ext_fs.h | extern void ext_read_inode(struct inode *); |
inode | 94 | include/linux/ext_fs.h | extern void ext_write_inode(struct inode *); |
inode | 95 | include/linux/ext_fs.h | extern void ext_put_inode(struct inode *); |
inode | 98 | include/linux/ext_fs.h | extern int ext_lseek(struct inode *, struct file *, off_t, int); |
inode | 99 | include/linux/ext_fs.h | extern int ext_read(struct inode *, struct file *, char *, int); |
inode | 100 | include/linux/ext_fs.h | extern int ext_write(struct inode *, struct file *, char *, int); |
inode | 113 | include/linux/fs.h | #define IS_RDONLY(inode) (((inode)->i_sb) && ((inode)->i_sb->s_flags & MS_RDONLY)) |
inode | 114 | include/linux/fs.h | #define IS_NOSUID(inode) ((inode)->i_flags & MS_NOSUID) |
inode | 115 | include/linux/fs.h | #define IS_NODEV(inode) ((inode)->i_flags & MS_NODEV) |
inode | 116 | include/linux/fs.h | #define IS_NOEXEC(inode) ((inode)->i_flags & MS_NOEXEC) |
inode | 117 | include/linux/fs.h | #define IS_SYNC(inode) ((inode)->i_flags & MS_SYNC) |
inode | 186 | include/linux/fs.h | struct inode * i_next, * i_prev; |
inode | 187 | include/linux/fs.h | struct inode * i_hash_next, * i_hash_prev; |
inode | 188 | include/linux/fs.h | struct inode * i_bound_to, * i_bound_by; |
inode | 216 | include/linux/fs.h | struct inode * f_inode; |
inode | 248 | include/linux/fs.h | struct inode * s_covered; |
inode | 249 | include/linux/fs.h | struct inode * s_mounted; |
inode | 263 | include/linux/fs.h | int (*lseek) (struct inode *, struct file *, off_t, int); |
inode | 264 | include/linux/fs.h | int (*read) (struct inode *, struct file *, char *, int); |
inode | 265 | include/linux/fs.h | int (*write) (struct inode *, struct file *, char *, int); |
inode | 266 | include/linux/fs.h | int (*readdir) (struct inode *, struct file *, struct dirent *, int); |
inode | 267 | include/linux/fs.h | int (*select) (struct inode *, struct file *, int, select_table *); |
inode | 268 | include/linux/fs.h | int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); |
inode | 269 | include/linux/fs.h | int (*mmap) (struct inode *, struct file *, unsigned long, size_t, int, unsigned long); |
inode | 270 | include/linux/fs.h | int (*open) (struct inode *, struct file *); |
inode | 271 | include/linux/fs.h | void (*release) (struct inode *, struct file *); |
inode | 272 | include/linux/fs.h | int (*fsync) (struct inode *, struct file *); |
inode | 277 | include/linux/fs.h | int (*create) (struct inode *,const char *,int,int,struct inode **); |
inode | 278 | include/linux/fs.h | int (*lookup) (struct inode *,const char *,int,struct inode **); |
inode | 279 | include/linux/fs.h | int (*link) (struct inode *,struct inode *,const char *,int); |
inode | 280 | include/linux/fs.h | int (*unlink) (struct inode *,const char *,int); |
inode | 281 | include/linux/fs.h | int (*symlink) (struct inode *,const char *,int,const char *); |
inode | 282 | include/linux/fs.h | int (*mkdir) (struct inode *,const char *,int,int); |
inode | 283 | include/linux/fs.h | int (*rmdir) (struct inode *,const char *,int); |
inode | 284 | include/linux/fs.h | int (*mknod) (struct inode *,const char *,int,int,int); |
inode | 285 | include/linux/fs.h | int (*rename) (struct inode *,const char *,int,struct inode *,const char *,int); |
inode | 286 | include/linux/fs.h | int (*readlink) (struct inode *,char *,int); |
inode | 287 | include/linux/fs.h | int (*follow_link) (struct inode *,struct inode *,int,int,struct inode **); |
inode | 288 | include/linux/fs.h | int (*bmap) (struct inode *,int); |
inode | 289 | include/linux/fs.h | void (*truncate) (struct inode *); |
inode | 290 | include/linux/fs.h | int (*permission) (struct inode *, int); |
inode | 294 | include/linux/fs.h | void (*read_inode) (struct inode *); |
inode | 295 | include/linux/fs.h | int (*notify_change) (int flags, struct inode *); |
inode | 296 | include/linux/fs.h | void (*write_inode) (struct inode *); |
inode | 297 | include/linux/fs.h | void (*put_inode) (struct inode *); |
inode | 313 | include/linux/fs.h | extern int blkdev_open(struct inode * inode, struct file * filp); |
inode | 318 | include/linux/fs.h | extern int chrdev_open(struct inode * inode, struct file * filp); |
inode | 322 | include/linux/fs.h | extern void init_fifo(struct inode * inode); |
inode | 327 | include/linux/fs.h | extern int fs_may_umount(dev_t dev, struct inode * mount_root); |
inode | 349 | include/linux/fs.h | extern int bmap(struct inode * inode,int block); |
inode | 350 | include/linux/fs.h | extern int notify_change(int flags, struct inode * inode); |
inode | 351 | include/linux/fs.h | extern int namei(const char * pathname, struct inode ** res_inode); |
inode | 352 | include/linux/fs.h | extern int lnamei(const char * pathname, struct inode ** res_inode); |
inode | 353 | include/linux/fs.h | extern int permission(struct inode * inode,int mask); |
inode | 355 | include/linux/fs.h | struct inode ** res_inode, struct inode * base); |
inode | 357 | include/linux/fs.h | extern void iput(struct inode * inode); |
inode | 358 | include/linux/fs.h | extern struct inode * iget(struct super_block * sb,int nr); |
inode | 359 | include/linux/fs.h | extern struct inode * get_empty_inode(void); |
inode | 360 | include/linux/fs.h | extern void clear_inode(struct inode *); |
inode | 361 | include/linux/fs.h | extern struct inode * get_pipe_inode(void); |
inode | 377 | include/linux/fs.h | extern int char_read(struct inode *, struct file *, char *, int); |
inode | 378 | include/linux/fs.h | extern int block_read(struct inode *, struct file *, char *, int); |
inode | 381 | include/linux/fs.h | extern int char_write(struct inode *, struct file *, char *, int); |
inode | 382 | include/linux/fs.h | extern int block_write(struct inode *, struct file *, char *, int); |
inode | 130 | include/linux/iso_fs.h | extern int parse_rock_ridge_inode(struct iso_directory_record *, struct inode *); |
inode | 131 | include/linux/iso_fs.h | extern int get_rock_ridge_filename(struct iso_directory_record *, char ** name, int * len, struct inode *); |
inode | 133 | include/linux/iso_fs.h | extern char * get_rock_ridge_symlink(struct inode *); |
inode | 134 | include/linux/iso_fs.h | extern int find_rock_ridge_relocation(struct iso_directory_record *, struct inode *); |
inode | 156 | include/linux/iso_fs.h | extern int isofs_open(struct inode * inode, struct file * filp); |
inode | 157 | include/linux/iso_fs.h | extern void isofs_release(struct inode * inode, struct file * filp); |
inode | 158 | include/linux/iso_fs.h | extern int isofs_lookup(struct inode * dir,const char * name, int len, |
inode | 159 | include/linux/iso_fs.h | struct inode ** result); |
inode | 163 | include/linux/iso_fs.h | extern int isofs_bmap(struct inode *,int); |
inode | 167 | include/linux/iso_fs.h | extern void isofs_read_inode(struct inode *); |
inode | 168 | include/linux/iso_fs.h | extern void isofs_put_inode(struct inode *); |
inode | 171 | include/linux/iso_fs.h | extern int isofs_lseek(struct inode *, struct file *, off_t, int); |
inode | 172 | include/linux/iso_fs.h | extern int isofs_read(struct inode *, struct file *, char *, int); |
inode | 173 | include/linux/iso_fs.h | extern int isofs_lookup_grandparent(struct inode *, int); |
inode | 71 | include/linux/minix_fs.h | unsigned short inode; |
inode | 75 | include/linux/minix_fs.h | extern int minix_lookup(struct inode * dir,const char * name, int len, |
inode | 76 | include/linux/minix_fs.h | struct inode ** result); |
inode | 77 | include/linux/minix_fs.h | extern int minix_create(struct inode * dir,const char * name, int len, int mode, |
inode | 78 | include/linux/minix_fs.h | struct inode ** result); |
inode | 79 | include/linux/minix_fs.h | extern int minix_mkdir(struct inode * dir, const char * name, int len, int mode); |
inode | 80 | include/linux/minix_fs.h | extern int minix_rmdir(struct inode * dir, const char * name, int len); |
inode | 81 | include/linux/minix_fs.h | extern int minix_unlink(struct inode * dir, const char * name, int len); |
inode | 82 | include/linux/minix_fs.h | extern int minix_symlink(struct inode * inode, const char * name, int len, |
inode | 84 | include/linux/minix_fs.h | extern int minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len); |
inode | 85 | include/linux/minix_fs.h | extern int minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev); |
inode | 86 | include/linux/minix_fs.h | extern int minix_rename(struct inode * old_dir, const char * old_name, int old_len, |
inode | 87 | include/linux/minix_fs.h | struct inode * new_dir, const char * new_name, int new_len); |
inode | 88 | include/linux/minix_fs.h | extern struct inode * minix_new_inode(const struct inode * dir); |
inode | 89 | include/linux/minix_fs.h | extern void minix_free_inode(struct inode * inode); |
inode | 95 | include/linux/minix_fs.h | extern int minix_bmap(struct inode *,int); |
inode | 97 | include/linux/minix_fs.h | extern struct buffer_head * minix_getblk(struct inode *, int, int); |
inode | 98 | include/linux/minix_fs.h | extern struct buffer_head * minix_bread(struct inode *, int, int); |
inode | 100 | include/linux/minix_fs.h | extern void minix_truncate(struct inode *); |
inode | 103 | include/linux/minix_fs.h | extern void minix_read_inode(struct inode *); |
inode | 104 | include/linux/minix_fs.h | extern void minix_write_inode(struct inode *); |
inode | 105 | include/linux/minix_fs.h | extern void minix_put_inode(struct inode *); |
inode | 31 | include/linux/mm.h | struct inode * vm_inode; |
inode | 132 | include/linux/msdos_fs.h | extern int msdos_add_cluster(struct inode *inode); |
inode | 136 | include/linux/msdos_fs.h | extern int msdos_get_entry(struct inode *dir,int *pos,struct buffer_head **bh, |
inode | 138 | include/linux/msdos_fs.h | extern int msdos_scan(struct inode *dir,char *name,struct buffer_head **res_bh, |
inode | 140 | include/linux/msdos_fs.h | extern int msdos_parent_ino(struct inode *dir,int locked); |
inode | 141 | include/linux/msdos_fs.h | extern int msdos_subdirs(struct inode *dir); |
inode | 146 | include/linux/msdos_fs.h | extern int msdos_smap(struct inode *inode,int sector); |
inode | 147 | include/linux/msdos_fs.h | extern int fat_free(struct inode *inode,int skip); |
inode | 149 | include/linux/msdos_fs.h | void cache_lookup(struct inode *inode,int cluster,int *f_clu,int *d_clu); |
inode | 150 | include/linux/msdos_fs.h | void cache_add(struct inode *inode,int f_clu,int d_clu); |
inode | 151 | include/linux/msdos_fs.h | void cache_inval_inode(struct inode *inode); |
inode | 153 | include/linux/msdos_fs.h | int get_cluster(struct inode *inode,int cluster); |
inode | 157 | include/linux/msdos_fs.h | extern int msdos_lookup(struct inode *dir,const char *name,int len, |
inode | 158 | include/linux/msdos_fs.h | struct inode **result); |
inode | 159 | include/linux/msdos_fs.h | extern int msdos_create(struct inode *dir,const char *name,int len,int mode, |
inode | 160 | include/linux/msdos_fs.h | struct inode **result); |
inode | 161 | include/linux/msdos_fs.h | extern int msdos_mkdir(struct inode *dir,const char *name,int len,int mode); |
inode | 162 | include/linux/msdos_fs.h | extern int msdos_rmdir(struct inode *dir,const char *name,int len); |
inode | 163 | include/linux/msdos_fs.h | extern int msdos_unlink(struct inode *dir,const char *name,int len); |
inode | 164 | include/linux/msdos_fs.h | extern int msdos_rename(struct inode *old_dir,const char *old_name,int old_len, |
inode | 165 | include/linux/msdos_fs.h | struct inode *new_dir,const char *new_name,int new_len); |
inode | 169 | include/linux/msdos_fs.h | extern void msdos_put_inode(struct inode *inode); |
inode | 174 | include/linux/msdos_fs.h | extern int msdos_bmap(struct inode *inode,int block); |
inode | 175 | include/linux/msdos_fs.h | extern void msdos_read_inode(struct inode *inode); |
inode | 176 | include/linux/msdos_fs.h | extern void msdos_write_inode(struct inode *inode); |
inode | 177 | include/linux/msdos_fs.h | extern int msdos_notify_change(int flags,struct inode *inode); |
inode | 190 | include/linux/msdos_fs.h | extern void msdos_truncate(struct inode *inode); |
inode | 13 | include/linux/msdos_fs_i.h | struct inode *i_depend; /* pointer to inode that depends on the |
inode | 15 | include/linux/msdos_fs_i.h | struct inode *i_old; /* pointer to the old inode this inode |
inode | 53 | include/linux/nfs_fs.h | #define NFS_SERVER(inode) (&(inode)->i_sb->u.nfs_sb.s_server) |
inode | 54 | include/linux/nfs_fs.h | #define NFS_FH(inode) (&(inode)->u.nfs_i.fhandle) |
inode | 103 | include/linux/nfs_fs.h | extern struct inode *nfs_fhget(struct super_block *sb, struct nfs_fh *fhandle, |
inode | 105 | include/linux/nfs_fs.h | extern void nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr); |
inode | 16 | include/linux/pipe_fs_i.h | #define PIPE_READ_WAIT(inode) ((inode).u.pipe_i.read_wait) |
inode | 17 | include/linux/pipe_fs_i.h | #define PIPE_WRITE_WAIT(inode) ((inode).u.pipe_i.write_wait) |
inode | 18 | include/linux/pipe_fs_i.h | #define PIPE_BASE(inode) ((inode).u.pipe_i.base) |
inode | 19 | include/linux/pipe_fs_i.h | #define PIPE_HEAD(inode) ((inode).u.pipe_i.head) |
inode | 20 | include/linux/pipe_fs_i.h | #define PIPE_TAIL(inode) ((inode).u.pipe_i.tail) |
inode | 21 | include/linux/pipe_fs_i.h | #define PIPE_RD_OPENERS(inode) ((inode).u.pipe_i.rd_openers) |
inode | 22 | include/linux/pipe_fs_i.h | #define PIPE_WR_OPENERS(inode) ((inode).u.pipe_i.wr_openers) |
inode | 23 | include/linux/pipe_fs_i.h | #define PIPE_READERS(inode) ((inode).u.pipe_i.readers) |
inode | 24 | include/linux/pipe_fs_i.h | #define PIPE_WRITERS(inode) ((inode).u.pipe_i.writers) |
inode | 25 | include/linux/pipe_fs_i.h | #define PIPE_SIZE(inode) ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1)) |
inode | 26 | include/linux/pipe_fs_i.h | #define PIPE_EMPTY(inode) (PIPE_HEAD(inode)==PIPE_TAIL(inode)) |
inode | 27 | include/linux/pipe_fs_i.h | #define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) |
inode | 19 | include/linux/proc_fs.h | extern void proc_put_inode(struct inode *); |
inode | 22 | include/linux/proc_fs.h | extern void proc_read_inode(struct inode *); |
inode | 23 | include/linux/proc_fs.h | extern void proc_write_inode(struct inode *); |
inode | 192 | include/linux/sched.h | struct inode * pwd; |
inode | 193 | include/linux/sched.h | struct inode * root; |
inode | 194 | include/linux/sched.h | struct inode * executable; |
inode | 197 | include/linux/sched.h | struct inode * library; |
inode | 344 | include/linux/tty.h | extern int tty_ioctl(struct inode *, struct file *, unsigned int, unsigned long); |
inode | 115 | include/linux/xd.h | static int xd_open (struct inode *inode,struct file *file); |
inode | 117 | include/linux/xd.h | static int xd_ioctl (struct inode *inode,struct file *file,unsigned int cmd,unsigned long arg); |
inode | 118 | include/linux/xd.h | static void xd_release (struct inode *inode,struct file *file); |
inode | 65 | include/linux/xia_fs.h | extern int xiafs_lookup(struct inode * dir,const char * name, int len, |
inode | 66 | include/linux/xia_fs.h | struct inode ** result); |
inode | 67 | include/linux/xia_fs.h | extern int xiafs_create(struct inode * dir,const char * name, int len, int mode, |
inode | 68 | include/linux/xia_fs.h | struct inode ** result); |
inode | 69 | include/linux/xia_fs.h | extern int xiafs_mkdir(struct inode * dir, const char * name, int len, int mode); |
inode | 70 | include/linux/xia_fs.h | extern int xiafs_rmdir(struct inode * dir, const char * name, int len); |
inode | 71 | include/linux/xia_fs.h | extern int xiafs_unlink(struct inode * dir, const char * name, int len); |
inode | 72 | include/linux/xia_fs.h | extern int xiafs_symlink(struct inode * inode, const char * name, int len, |
inode | 74 | include/linux/xia_fs.h | extern int xiafs_link(struct inode * oldinode, struct inode * dir, |
inode | 76 | include/linux/xia_fs.h | extern int xiafs_mknod(struct inode * dir, const char * name, int len, |
inode | 78 | include/linux/xia_fs.h | extern int xiafs_rename(struct inode * old_dir, const char * old_name, |
inode | 79 | include/linux/xia_fs.h | int old_len, struct inode * new_dir, |
inode | 81 | include/linux/xia_fs.h | extern struct inode * xiafs_new_inode(struct inode * dir); |
inode | 82 | include/linux/xia_fs.h | extern void xiafs_free_inode(struct inode * inode); |
inode | 88 | include/linux/xia_fs.h | extern int xiafs_bmap(struct inode *,int); |
inode | 90 | include/linux/xia_fs.h | extern struct buffer_head * xiafs_getblk(struct inode *, int, int); |
inode | 91 | include/linux/xia_fs.h | extern struct buffer_head * xiafs_bread(struct inode *, int, int); |
inode | 93 | include/linux/xia_fs.h | extern void xiafs_truncate(struct inode *); |
inode | 96 | include/linux/xia_fs.h | extern void xiafs_read_inode(struct inode *); |
inode | 97 | include/linux/xia_fs.h | extern void xiafs_write_inode(struct inode *); |
inode | 98 | include/linux/xia_fs.h | extern void xiafs_put_inode(struct inode *); |
inode | 1033 | kernel/blk_drv/floppy.c | static int fd_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, |
inode | 1040 | kernel/blk_drv/floppy.c | RO_IOCTLS(inode->i_rdev,param); |
inode | 1042 | kernel/blk_drv/floppy.c | drive = MINOR(inode->i_rdev); |
inode | 1097 | kernel/blk_drv/floppy.c | if (!permission(inode, 2)) |
inode | 1102 | kernel/blk_drv/floppy.c | check_disk_change(inode->i_rdev); |
inode | 1189 | kernel/blk_drv/floppy.c | static int floppy_open(struct inode * inode, struct file * filp) |
inode | 1194 | kernel/blk_drv/floppy.c | drive = inode->i_rdev & 3; |
inode | 1197 | kernel/blk_drv/floppy.c | if (old_dev != inode->i_rdev) |
inode | 1200 | kernel/blk_drv/floppy.c | fd_device[drive] = inode->i_rdev; |
inode | 1202 | kernel/blk_drv/floppy.c | if (old_dev && old_dev != inode->i_rdev) |
inode | 1205 | kernel/blk_drv/floppy.c | check_disk_change(inode->i_rdev); |
inode | 1209 | kernel/blk_drv/floppy.c | static void floppy_release(struct inode * inode, struct file * filp) |
inode | 1211 | kernel/blk_drv/floppy.c | sync_dev(inode->i_rdev); |
inode | 1212 | kernel/blk_drv/floppy.c | if (!fd_ref[inode->i_rdev & 3]--) { |
inode | 1214 | kernel/blk_drv/floppy.c | fd_ref[inode->i_rdev & 3] = 0; |
inode | 509 | kernel/blk_drv/hd.c | static int hd_ioctl(struct inode * inode, struct file * file, |
inode | 515 | kernel/blk_drv/hd.c | if (!inode) |
inode | 517 | kernel/blk_drv/hd.c | dev = MINOR(inode->i_rdev) >> 6; |
inode | 532 | kernel/blk_drv/hd.c | put_fs_long(hd[MINOR(inode->i_rdev)].start_sect, |
inode | 540 | kernel/blk_drv/hd.c | put_fs_long(hd[MINOR(inode->i_rdev)].nr_sects, |
inode | 544 | kernel/blk_drv/hd.c | return revalidate_hddisk(inode->i_rdev, 1); |
inode | 545 | kernel/blk_drv/hd.c | RO_IOCTLS(inode->i_rdev,arg); |
inode | 551 | kernel/blk_drv/hd.c | static int hd_open(struct inode * inode, struct file * filp) |
inode | 554 | kernel/blk_drv/hd.c | target = DEVICE_NR(MINOR(inode->i_rdev)); |
inode | 566 | kernel/blk_drv/hd.c | static void hd_release(struct inode * inode, struct file * file) |
inode | 569 | kernel/blk_drv/hd.c | sync_dev(inode->i_rdev); |
inode | 571 | kernel/blk_drv/hd.c | target = DEVICE_NR(MINOR(inode->i_rdev)); |
inode | 53 | kernel/blk_drv/scsi/sd.c | extern int sd_ioctl(struct inode *, struct file *, unsigned int, unsigned long); |
inode | 59 | kernel/blk_drv/scsi/sd.c | static int sd_open(struct inode * inode, struct file * filp) |
inode | 62 | kernel/blk_drv/scsi/sd.c | target = DEVICE_NR(MINOR(inode->i_rdev)); |
inode | 73 | kernel/blk_drv/scsi/sd.c | check_disk_change(inode->i_rdev); |
inode | 76 | kernel/blk_drv/scsi/sd.c | sd_ioctl(inode, NULL, SCSI_IOCTL_DOORLOCK, 0); |
inode | 82 | kernel/blk_drv/scsi/sd.c | static void sd_release(struct inode * inode, struct file * file) |
inode | 85 | kernel/blk_drv/scsi/sd.c | sync_dev(inode->i_rdev); |
inode | 87 | kernel/blk_drv/scsi/sd.c | target = DEVICE_NR(MINOR(inode->i_rdev)); |
inode | 93 | kernel/blk_drv/scsi/sd.c | sd_ioctl(inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0); |
inode | 625 | kernel/blk_drv/scsi/sd.c | struct inode inode; |
inode | 636 | kernel/blk_drv/scsi/sd.c | inode.i_rdev = full_dev; /* This is all we really need here */ |
inode | 637 | kernel/blk_drv/scsi/sd.c | retval = sd_ioctl(&inode, NULL, SCSI_IOCTL_TEST_UNIT_READY, 0); |
inode | 17 | kernel/blk_drv/scsi/sd_ioctl.c | int sd_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg) |
inode | 19 | kernel/blk_drv/scsi/sd_ioctl.c | int dev = inode->i_rdev; |
inode | 44 | kernel/blk_drv/scsi/sd_ioctl.c | put_fs_long(sd[MINOR(inode->i_rdev)].start_sect, |
inode | 52 | kernel/blk_drv/scsi/sd_ioctl.c | put_fs_long(sd[MINOR(inode->i_rdev)].nr_sects, |
inode | 39 | kernel/blk_drv/scsi/sr.c | static int sr_open(struct inode *, struct file *); |
inode | 41 | kernel/blk_drv/scsi/sr.c | extern int sr_ioctl(struct inode *, struct file *, unsigned int, unsigned long); |
inode | 45 | kernel/blk_drv/scsi/sr.c | static void sr_release(struct inode * inode, struct file * file) |
inode | 47 | kernel/blk_drv/scsi/sr.c | sync_dev(inode->i_rdev); |
inode | 48 | kernel/blk_drv/scsi/sr.c | if(! --scsi_CDs[MINOR(inode->i_rdev)].device->access_count) |
inode | 49 | kernel/blk_drv/scsi/sr.c | sr_ioctl(inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0); |
inode | 77 | kernel/blk_drv/scsi/sr.c | struct inode inode; |
inode | 86 | kernel/blk_drv/scsi/sr.c | inode.i_rdev = full_dev; /* This is all we really need here */ |
inode | 87 | kernel/blk_drv/scsi/sr.c | retval = sr_ioctl(&inode, NULL, SCSI_IOCTL_TEST_UNIT_READY, 0); |
inode | 257 | kernel/blk_drv/scsi/sr.c | static int sr_open(struct inode * inode, struct file * filp) |
inode | 259 | kernel/blk_drv/scsi/sr.c | if(MINOR(inode->i_rdev) >= NR_SR || |
inode | 260 | kernel/blk_drv/scsi/sr.c | !scsi_CDs[MINOR(inode->i_rdev)].device) return -ENODEV; /* No such device */ |
inode | 262 | kernel/blk_drv/scsi/sr.c | check_disk_change(inode->i_rdev); |
inode | 264 | kernel/blk_drv/scsi/sr.c | if(!scsi_CDs[MINOR(inode->i_rdev)].device->access_count++) |
inode | 265 | kernel/blk_drv/scsi/sr.c | sr_ioctl(inode, NULL, SCSI_IOCTL_DOORLOCK, 0); |
inode | 92 | kernel/blk_drv/scsi/sr_ioctl.c | int sr_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg) |
inode | 96 | kernel/blk_drv/scsi/sr_ioctl.c | int dev = inode->i_rdev; |
inode | 248 | kernel/blk_drv/scsi/sr_ioctl.c | sr_ioctl (inode, NULL, SCSI_IOCTL_DOORUNLOCK, 0); |
inode | 85 | kernel/blk_drv/scsi/st.c | static int st_int_ioctl(struct inode * inode,struct file * file, |
inode | 254 | kernel/blk_drv/scsi/st.c | static int flush_buffer(struct inode * inode, struct file * filp, |
inode | 260 | kernel/blk_drv/scsi/st.c | dev = inode->i_rdev & 127; |
inode | 273 | kernel/blk_drv/scsi/st.c | result = st_int_ioctl(inode, filp, MTBSR, backspace); |
inode | 285 | kernel/blk_drv/scsi/st.c | static int scsi_tape_open(struct inode * inode, struct file * filp) |
inode | 293 | kernel/blk_drv/scsi/st.c | dev = inode->i_rdev & 127; |
inode | 444 | kernel/blk_drv/scsi/st.c | if (st_int_ioctl(inode, filp, MTSETBLK, ST_BLOCK_SIZE)) { |
inode | 480 | kernel/blk_drv/scsi/st.c | static void scsi_tape_close(struct inode * inode, struct file * filp) |
inode | 488 | kernel/blk_drv/scsi/st.c | dev = inode->i_rdev; |
inode | 529 | kernel/blk_drv/scsi/st.c | st_int_ioctl(inode, filp, MTBSF, 1); /* Back over the EOF hit */ |
inode | 531 | kernel/blk_drv/scsi/st.c | flush_buffer(inode, filp, 0); |
inode | 536 | kernel/blk_drv/scsi/st.c | st_int_ioctl(inode, filp, MTREW, 1); |
inode | 546 | kernel/blk_drv/scsi/st.c | int st_write(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 554 | kernel/blk_drv/scsi/st.c | dev = inode->i_rdev & 127; |
inode | 566 | kernel/blk_drv/scsi/st.c | retval = flush_buffer(inode, filp, 0); |
inode | 685 | kernel/blk_drv/scsi/st.c | int st_read(struct inode * inode, struct file * filp, char * buf, int count) |
inode | 693 | kernel/blk_drv/scsi/st.c | dev = inode->i_rdev & 127; |
inode | 702 | kernel/blk_drv/scsi/st.c | transfer = flush_buffer(inode, filp, 0); |
inode | 847 | kernel/blk_drv/scsi/st.c | static int st_int_ioctl(struct inode * inode,struct file * file, |
inode | 850 | kernel/blk_drv/scsi/st.c | int dev = inode->i_rdev; |
inode | 1060 | kernel/blk_drv/scsi/st.c | ioctl_result = st_int_ioctl(inode, file, MTFSF, 1); |
inode | 1062 | kernel/blk_drv/scsi/st.c | ioctl_result = st_int_ioctl(inode, file, MTBSF, 1); |
inode | 1088 | kernel/blk_drv/scsi/st.c | static int st_ioctl(struct inode * inode,struct file * file, |
inode | 1091 | kernel/blk_drv/scsi/st.c | int dev = inode->i_rdev; |
inode | 1118 | kernel/blk_drv/scsi/st.c | i = flush_buffer(inode, file, mtc.mt_op == MTSEEK || |
inode | 1124 | kernel/blk_drv/scsi/st.c | return st_int_ioctl(inode, file, mtc.mt_op, mtc.mt_count); |
inode | 1145 | kernel/blk_drv/scsi/st.c | i = flush_buffer(inode, file, 0); |
inode | 150 | kernel/blk_drv/xd.c | static int xd_open (struct inode *inode,struct file *file) |
inode | 152 | kernel/blk_drv/xd.c | int dev = DEVICE_NR(MINOR(inode->i_rdev)); |
inode | 193 | kernel/blk_drv/xd.c | static int xd_ioctl (struct inode *inode,struct file *file,u_int cmd,u_long arg) |
inode | 196 | kernel/blk_drv/xd.c | int dev = DEVICE_NR(MINOR(inode->i_rdev)),err; |
inode | 198 | kernel/blk_drv/xd.c | if (inode && (dev < xd_drives)) |
inode | 206 | kernel/blk_drv/xd.c | put_fs_long(xd[MINOR(inode->i_rdev)].start_sect,(long *) &geometry->start); |
inode | 214 | kernel/blk_drv/xd.c | put_fs_long(xd[MINOR(inode->i_rdev)].nr_sects,(long *) arg); |
inode | 219 | kernel/blk_drv/xd.c | case BLKRRPART: return (xd_reread_partitions(inode->i_rdev)); |
inode | 220 | kernel/blk_drv/xd.c | RO_IOCTLS(inode->i_rdev,arg); |
inode | 226 | kernel/blk_drv/xd.c | static void xd_release (struct inode *inode, struct file *file) |
inode | 228 | kernel/blk_drv/xd.c | int dev = DEVICE_NR(MINOR(inode->i_rdev)); |
inode | 79 | kernel/chr_drv/atixlmouse.c | static void release_mouse(struct inode * inode, struct file * file) |
inode | 88 | kernel/chr_drv/atixlmouse.c | static int open_mouse(struct inode * inode, struct file * file) |
inode | 108 | kernel/chr_drv/atixlmouse.c | static int write_mouse(struct inode * inode, struct file * file, char * buffer, int count) |
inode | 113 | kernel/chr_drv/atixlmouse.c | static int read_mouse(struct inode * inode, struct file * file, char * buffer, int count) |
inode | 132 | kernel/chr_drv/atixlmouse.c | static int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait) |
inode | 61 | kernel/chr_drv/busmouse.c | static void release_mouse(struct inode * inode, struct file * file) |
inode | 69 | kernel/chr_drv/busmouse.c | static int open_mouse(struct inode * inode, struct file * file) |
inode | 89 | kernel/chr_drv/busmouse.c | static int write_mouse(struct inode * inode, struct file * file, char * buffer, int count) |
inode | 94 | kernel/chr_drv/busmouse.c | static int read_mouse(struct inode * inode, struct file * file, char * buffer, int count) |
inode | 123 | kernel/chr_drv/busmouse.c | static int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait) |
inode | 122 | kernel/chr_drv/lp.c | static int lp_write_interrupt(struct inode * inode, struct file * file, char * buf, int count) |
inode | 124 | kernel/chr_drv/lp.c | unsigned int minor = MINOR(inode->i_rdev); |
inode | 189 | kernel/chr_drv/lp.c | static int lp_write_polled(struct inode * inode, struct file * file, |
inode | 193 | kernel/chr_drv/lp.c | unsigned int minor = MINOR(inode->i_rdev); |
inode | 263 | kernel/chr_drv/lp.c | static int lp_write(struct inode * inode, struct file * file, char * buf, int count) |
inode | 265 | kernel/chr_drv/lp.c | if (LP_IRQ(MINOR(inode->i_rdev))) |
inode | 266 | kernel/chr_drv/lp.c | return lp_write_interrupt(inode, file, buf, count); |
inode | 268 | kernel/chr_drv/lp.c | return lp_write_polled(inode, file, buf, count); |
inode | 271 | kernel/chr_drv/lp.c | static int lp_lseek(struct inode * inode, struct file * file, |
inode | 277 | kernel/chr_drv/lp.c | static int lp_open(struct inode * inode, struct file * file) |
inode | 279 | kernel/chr_drv/lp.c | unsigned int minor = MINOR(inode->i_rdev); |
inode | 314 | kernel/chr_drv/lp.c | static void lp_release(struct inode * inode, struct file * file) |
inode | 316 | kernel/chr_drv/lp.c | unsigned int minor = MINOR(inode->i_rdev); |
inode | 329 | kernel/chr_drv/lp.c | static int lp_ioctl(struct inode *inode, struct file *file, |
inode | 332 | kernel/chr_drv/lp.c | unsigned int minor = MINOR(inode->i_rdev); |
inode | 22 | kernel/chr_drv/mem.c | static int read_ram(struct inode * inode, struct file * file,char * buf, int count) |
inode | 27 | kernel/chr_drv/mem.c | static int write_ram(struct inode * inode, struct file * file,char * buf, int count) |
inode | 32 | kernel/chr_drv/mem.c | static int read_core(struct inode * inode, struct file * file,char * buf, int count) |
inode | 77 | kernel/chr_drv/mem.c | static int read_mem(struct inode * inode, struct file * file,char * buf, int count) |
inode | 102 | kernel/chr_drv/mem.c | static int write_mem(struct inode * inode, struct file * file,char * buf, int count) |
inode | 127 | kernel/chr_drv/mem.c | static int mmap_mem(struct inode * inode, struct file * file, |
inode | 139 | kernel/chr_drv/mem.c | static int read_port(struct inode * inode,struct file * file,char * buf, int count) |
inode | 153 | kernel/chr_drv/mem.c | static int write_port(struct inode * inode,struct file * file,char * buf, int count) |
inode | 167 | kernel/chr_drv/mem.c | static int read_null(struct inode * node,struct file * file,char * buf,int count) |
inode | 172 | kernel/chr_drv/mem.c | static int write_null(struct inode * inode,struct file * file,char * buf, int count) |
inode | 177 | kernel/chr_drv/mem.c | static int read_zero(struct inode * node,struct file * file,char * buf,int count) |
inode | 188 | kernel/chr_drv/mem.c | static int write_zero(struct inode * inode,struct file * file,char * buf, int count) |
inode | 193 | kernel/chr_drv/mem.c | static int mmap_zero(struct inode * inode, struct file * file, |
inode | 211 | kernel/chr_drv/mem.c | static int memory_lseek(struct inode * inode, struct file * file, off_t offset, int orig) |
inode | 316 | kernel/chr_drv/mem.c | static int memory_open(struct inode * inode, struct file * filp) |
inode | 318 | kernel/chr_drv/mem.c | switch (MINOR(inode->i_rdev)) { |
inode | 344 | kernel/chr_drv/mem.c | return filp->f_op->open(inode,filp); |
inode | 37 | kernel/chr_drv/mouse.c | static int mouse_open(struct inode * inode, struct file * file) |
inode | 39 | kernel/chr_drv/mouse.c | int minor = MINOR(inode->i_rdev); |
inode | 65 | kernel/chr_drv/mouse.c | return file->f_op->open(inode,file); |
inode | 66 | kernel/chr_drv/msbusmouse.c | static void release_mouse(struct inode * inode, struct file * file) |
inode | 74 | kernel/chr_drv/msbusmouse.c | static int open_mouse(struct inode * inode, struct file * file) |
inode | 95 | kernel/chr_drv/msbusmouse.c | static int write_mouse(struct inode * inode, struct file * file, char * buffer, int count) |
inode | 100 | kernel/chr_drv/msbusmouse.c | static int read_mouse(struct inode * inode, struct file * file, char * buffer, int count) |
inode | 128 | kernel/chr_drv/msbusmouse.c | static int mouse_select(struct inode *inode, struct file *file, int sel_type, select_table * wait) |
inode | 160 | kernel/chr_drv/psaux.c | static void release_aux(struct inode * inode, struct file * file) |
inode | 177 | kernel/chr_drv/psaux.c | static int open_aux(struct inode * inode, struct file * file) |
inode | 201 | kernel/chr_drv/psaux.c | static int write_aux(struct inode * inode, struct file * file, char * buffer, int count) |
inode | 213 | kernel/chr_drv/psaux.c | inode->i_mtime = CURRENT_TIME; |
inode | 222 | kernel/chr_drv/psaux.c | static int read_aux(struct inode * inode, struct file * file, char * buffer, int count) |
inode | 248 | kernel/chr_drv/psaux.c | inode->i_atime = CURRENT_TIME; |
inode | 257 | kernel/chr_drv/psaux.c | static int aux_select(struct inode *inode, struct file *file, int sel_type, select_table * wait) |
inode | 72 | kernel/chr_drv/tty_io.c | static int tty_read(struct inode *, struct file *, char *, int); |
inode | 73 | kernel/chr_drv/tty_io.c | static int tty_write(struct inode *, struct file *, char *, int); |
inode | 74 | kernel/chr_drv/tty_io.c | static int tty_select(struct inode *, struct file *, int, select_table *); |
inode | 75 | kernel/chr_drv/tty_io.c | static int tty_open(struct inode *, struct file *); |
inode | 76 | kernel/chr_drv/tty_io.c | static void tty_release(struct inode *, struct file *); |
inode | 169 | kernel/chr_drv/tty_io.c | static int hung_up_tty_read(struct inode * inode, struct file * file, char * buf, int count) |
inode | 174 | kernel/chr_drv/tty_io.c | static int hung_up_tty_write(struct inode * inode, struct file * file, char * buf, int count) |
inode | 179 | kernel/chr_drv/tty_io.c | static int hung_up_tty_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait) |
inode | 184 | kernel/chr_drv/tty_io.c | static int hung_up_tty_ioctl(struct inode * inode, struct file * file, |
inode | 190 | kernel/chr_drv/tty_io.c | static int tty_lseek(struct inode * inode, struct file * file, off_t offset, int orig) |
inode | 920 | kernel/chr_drv/tty_io.c | static int tty_read(struct inode * inode, struct file * file, char * buf, int count) |
inode | 934 | kernel/chr_drv/tty_io.c | if ((inode->i_rdev != 0x0400) && /* don't stop on /dev/console */ |
inode | 949 | kernel/chr_drv/tty_io.c | inode->i_atime = CURRENT_TIME; |
inode | 953 | kernel/chr_drv/tty_io.c | static int tty_write(struct inode * inode, struct file * file, char * buf, int count) |
inode | 959 | kernel/chr_drv/tty_io.c | is_console = (inode->i_rdev == 0x0400); |
inode | 985 | kernel/chr_drv/tty_io.c | inode->i_mtime = CURRENT_TIME; |
inode | 1181 | kernel/chr_drv/tty_io.c | static int tty_open(struct inode * inode, struct file * filp) |
inode | 1187 | kernel/chr_drv/tty_io.c | minor = MINOR(inode->i_rdev); |
inode | 1188 | kernel/chr_drv/tty_io.c | major = MAJOR(inode->i_rdev); |
inode | 1202 | kernel/chr_drv/tty_io.c | printk("Bad major #%d in tty_open\n", MAJOR(inode->i_rdev)); |
inode | 1252 | kernel/chr_drv/tty_io.c | static void tty_release(struct inode * inode, struct file * filp) |
inode | 1269 | kernel/chr_drv/tty_io.c | static int tty_select(struct inode * inode, struct file * filp, int sel_type, select_table * wait) |
inode | 303 | kernel/chr_drv/tty_ioctl.c | int tty_ioctl(struct inode * inode, struct file * file, |
inode | 722 | mm/memory.c | static int share_page(struct task_struct * tsk, struct inode * inode, |
inode | 728 | mm/memory.c | if (!inode || inode->i_count < 2) |
inode | 735 | mm/memory.c | if (inode != (*p)->executable) { |
inode | 737 | mm/memory.c | if (inode == (*p)->libraries[i].library) |
inode | 789 | mm/memory.c | struct inode * inode; |
inode | 806 | mm/memory.c | inode = NULL; |
inode | 809 | mm/memory.c | inode = tsk->executable; |
inode | 819 | mm/memory.c | inode = tsk->libraries[i].library; |
inode | 827 | mm/memory.c | if (!inode) { |
inode | 840 | mm/memory.c | if (share_page(tsk,inode,address,error_code,page)) { |
inode | 855 | mm/memory.c | nr[i] = bmap(inode,block); |
inode | 856 | mm/memory.c | page = bread_page(page,inode->i_dev,nr,1024,prot); |
inode | 858 | mm/memory.c | if (!(error_code & PAGE_RW) && share_page(tsk,inode,address, error_code,page)) |
inode | 37 | mm/swap.c | struct inode * swap_file; |
inode | 534 | mm/swap.c | struct inode * inode; |
inode | 540 | mm/swap.c | i = namei(specialfile,&inode); |
inode | 548 | mm/swap.c | if (p->swap_file == inode) |
inode | 551 | mm/swap.c | if (!S_ISBLK(inode->i_mode)) |
inode | 553 | mm/swap.c | if (p->swap_device == inode->i_rdev) |
inode | 557 | mm/swap.c | iput(inode); |
inode | 585 | mm/swap.c | struct inode * swap_inode; |
inode | 40 | net/kern_sock.h | #define SOCK_INODE(S) ((struct inode *)(S)->dummy) |
inode | 48 | net/socket.c | static int sock_lseek(struct inode *inode, struct file *file, off_t offset, |
inode | 50 | net/socket.c | static int sock_read(struct inode *inode, struct file *file, char *buf, |
inode | 52 | net/socket.c | static int sock_write(struct inode *inode, struct file *file, char *buf, |
inode | 54 | net/socket.c | static int sock_readdir(struct inode *inode, struct file *file, |
inode | 56 | net/socket.c | static void sock_close(struct inode *inode, struct file *file); |
inode | 57 | net/socket.c | static int sock_select(struct inode *inode, struct file *file, int which, select_table *seltable); |
inode | 58 | net/socket.c | static int sock_ioctl(struct inode *inode, struct file *file, |
inode | 80 | net/socket.c | get_fd(struct inode *inode) |
inode | 104 | net/socket.c | file->f_inode = inode; |
inode | 105 | net/socket.c | if (inode) |
inode | 106 | net/socket.c | inode->i_count++; |
inode | 124 | net/socket.c | socki_lookup(struct inode *inode) |
inode | 129 | net/socket.c | if (sock->state != SS_FREE && SOCK_INODE(sock) == inode) |
inode | 238 | net/socket.c | sock_lseek(struct inode *inode, struct file *file, off_t offset, int whence) |
inode | 245 | net/socket.c | sock_read(struct inode *inode, struct file *file, char *ubuf, int size) |
inode | 250 | net/socket.c | if (!(sock = socki_lookup(inode))) { |
inode | 260 | net/socket.c | sock_write(struct inode *inode, struct file *file, char *ubuf, int size) |
inode | 265 | net/socket.c | if (!(sock = socki_lookup(inode))) { |
inode | 275 | net/socket.c | sock_readdir(struct inode *inode, struct file *file, struct dirent *dirent, |
inode | 283 | net/socket.c | sock_ioctl(struct inode *inode, struct file *file, unsigned int cmd, |
inode | 288 | net/socket.c | PRINTK(("sock_ioctl: inode=0x%x cmd=0x%x arg=%d\n", inode, cmd, arg)); |
inode | 289 | net/socket.c | if (!(sock = socki_lookup(inode))) { |
inode | 297 | net/socket.c | sock_select(struct inode *inode, struct file *file, int sel_type, select_table * wait) |
inode | 301 | net/socket.c | PRINTK(("sock_select: inode = 0x%x, kind = %s\n", inode, |
inode | 304 | net/socket.c | if (!(sock = socki_lookup(inode))) { |
inode | 317 | net/socket.c | sock_close(struct inode *inode, struct file *file) |
inode | 321 | net/socket.c | PRINTK(("sock_close: inode=0x%x (cnt=%d)\n", inode, inode->i_count)); |
inode | 326 | net/socket.c | if (!inode) |
inode | 328 | net/socket.c | if (!(sock = socki_lookup(inode))) { |
inode | 26 | net/unix.c | struct inode *inode; |
inode | 197 | net/unix.c | struct inode *inode) |
inode | 205 | net/unix.c | upd->inode == inode) |
inode | 225 | net/unix.c | upd->inode = NULL; |
inode | 306 | net/unix.c | if (upd->inode) { |
inode | 308 | net/unix.c | upd->inode)); |
inode | 309 | net/unix.c | iput(upd->inode); |
inode | 310 | net/unix.c | upd->inode = NULL; |
inode | 344 | net/unix.c | if (upd->sockaddr_len || upd->inode) { |
inode | 360 | net/unix.c | i = open_namei(fname, 0, S_IFSOCK, &upd->inode, NULL); |
inode | 371 | net/unix.c | PRINTK(("to inode 0x%x\n", upd->inode)); |
inode | 387 | net/unix.c | struct inode *inode; |
inode | 420 | net/unix.c | i = open_namei(fname, 0, S_IFSOCK, &inode, NULL); |
inode | 425 | net/unix.c | serv_upd = unix_data_lookup(&sockun, sockaddr_len, inode); |
inode | 426 | net/unix.c | iput(inode); |
inode | 429 | net/unix.c | fname, inode)); |