tag | line | file | source code |
dir | 351 | drivers/scsi/aha1740.c | ecb[ecbno].dir= direction; |
dir | 124 | drivers/scsi/aha1740.h | dir:1, /* Direction of transfer 1 = datain */ |
dir | 731 | drivers/scsi/buslogic.c | ccb->dir = direction; |
dir | 159 | drivers/scsi/buslogic.h | unsigned char dir; |
dir | 45 | fs/dcache.c | unsigned long dir; |
dir | 73 | fs/dcache.c | #define hash_fn(dev,dir,namehash) (((dev) ^ (dir) ^ (namehash)) % DCACHE_HASH_QUEUES) |
dir | 133 | fs/dcache.c | static struct dir_cache_entry * find_entry(struct inode * dir, const char * name, int len, struct hash_list * hash) |
dir | 138 | fs/dcache.c | if (de->dev != dir->i_dev) |
dir | 140 | fs/dcache.c | if (de->dir != dir->i_ino) |
dir | 142 | fs/dcache.c | if (de->version != dir->i_version) |
dir | 172 | fs/dcache.c | int dcache_lookup(struct inode * dir, const char * name, int len, unsigned long * ino) |
dir | 179 | fs/dcache.c | hash = hash_table + hash_fn(dir->i_dev, dir->i_ino, namehash(name,len)); |
dir | 180 | fs/dcache.c | de = find_entry(dir, name, len, hash); |
dir | 188 | fs/dcache.c | void dcache_add(struct inode * dir, const char * name, int len, unsigned long ino) |
dir | 195 | fs/dcache.c | hash = hash_table + hash_fn(dir->i_dev, dir->i_ino, namehash(name,len)); |
dir | 196 | fs/dcache.c | if ((de = find_entry(dir, name, len, hash)) != NULL) { |
dir | 204 | fs/dcache.c | de->dev = dir->i_dev; |
dir | 205 | fs/dcache.c | de->dir = dir->i_ino; |
dir | 206 | fs/dcache.c | de->version = dir->i_version; |
dir | 239 | fs/ext/freelists.c | struct inode * ext_new_inode(const struct inode * dir) |
dir | 247 | fs/ext/freelists.c | if (!dir || !(inode=get_empty_inode())) |
dir | 249 | fs/ext/freelists.c | sb = dir->i_sb; |
dir | 286 | fs/ext/freelists.c | inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->fsgid; |
dir | 79 | fs/ext/namei.c | static struct buffer_head * ext_find_entry(struct inode * dir, |
dir | 88 | fs/ext/namei.c | if (!dir) |
dir | 97 | fs/ext/namei.c | bh = ext_bread(dir,0,0); |
dir | 106 | fs/ext/namei.c | while (offset < dir->i_size) { |
dir | 110 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,0); |
dir | 122 | fs/ext/namei.c | dir->i_dev, dir->i_ino, offset, de->rec_len, de->name_len); |
dir | 132 | fs/ext/namei.c | if (offset + de->rec_len < dir->i_size && |
dir | 149 | fs/ext/namei.c | int ext_lookup(struct inode * dir,const char * name, int len, |
dir | 157 | fs/ext/namei.c | if (!dir) |
dir | 159 | fs/ext/namei.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 160 | fs/ext/namei.c | iput(dir); |
dir | 163 | fs/ext/namei.c | if (!(bh = ext_find_entry(dir,name,len,&de,NULL,NULL))) { |
dir | 164 | fs/ext/namei.c | iput(dir); |
dir | 169 | fs/ext/namei.c | if (!(*result = iget(dir->i_sb,ino))) { |
dir | 170 | fs/ext/namei.c | iput(dir); |
dir | 173 | fs/ext/namei.c | iput(dir); |
dir | 187 | fs/ext/namei.c | static struct buffer_head * ext_add_entry(struct inode * dir, |
dir | 197 | fs/ext/namei.c | if (!dir) |
dir | 208 | fs/ext/namei.c | bh = ext_bread(dir,0,0); |
dir | 215 | fs/ext/namei.c | if ((char *)de >= BLOCK_SIZE+bh->b_data && offset < dir->i_size) { |
dir | 221 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,0); |
dir | 226 | fs/ext/namei.c | if (offset >= dir->i_size) { |
dir | 239 | fs/ext/namei.c | dir->i_size += de->rec_len; |
dir | 240 | fs/ext/namei.c | dir->i_dirt = 1; |
dir | 242 | fs/ext/namei.c | dir->i_ctime = CURRENT_TIME; |
dir | 251 | fs/ext/namei.c | bh = ext_bread(dir,offset>>BLOCK_SIZE_BITS,1); |
dir | 259 | fs/ext/namei.c | dir->i_size += de->rec_len; |
dir | 260 | fs/ext/namei.c | dir->i_dirt = 1; |
dir | 262 | fs/ext/namei.c | dir->i_ctime = CURRENT_TIME; |
dir | 270 | fs/ext/namei.c | dir->i_dev, dir->i_ino, offset, de->rec_len, de->name_len); |
dir | 287 | fs/ext/namei.c | dir->i_mtime = dir->i_ctime = CURRENT_TIME; |
dir | 288 | fs/ext/namei.c | dir->i_dirt = 1; |
dir | 303 | fs/ext/namei.c | int ext_create(struct inode * dir,const char * name, int len, int mode, |
dir | 311 | fs/ext/namei.c | if (!dir) |
dir | 313 | fs/ext/namei.c | inode = ext_new_inode(dir); |
dir | 315 | fs/ext/namei.c | iput(dir); |
dir | 321 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
dir | 326 | fs/ext/namei.c | iput(dir); |
dir | 332 | fs/ext/namei.c | iput(dir); |
dir | 337 | fs/ext/namei.c | int ext_mknod(struct inode * dir, const char * name, int len, int mode, int rdev) |
dir | 343 | fs/ext/namei.c | if (!dir) |
dir | 345 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
dir | 348 | fs/ext/namei.c | iput(dir); |
dir | 351 | fs/ext/namei.c | inode = ext_new_inode(dir); |
dir | 353 | fs/ext/namei.c | iput(dir); |
dir | 363 | fs/ext/namei.c | if (dir->i_mode & S_ISGID) |
dir | 380 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
dir | 385 | fs/ext/namei.c | iput(dir); |
dir | 391 | fs/ext/namei.c | iput(dir); |
dir | 396 | fs/ext/namei.c | int ext_mkdir(struct inode * dir, const char * name, int len, int mode) |
dir | 402 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
dir | 405 | fs/ext/namei.c | iput(dir); |
dir | 408 | fs/ext/namei.c | inode = ext_new_inode(dir); |
dir | 410 | fs/ext/namei.c | iput(dir); |
dir | 424 | fs/ext/namei.c | iput(dir); |
dir | 436 | fs/ext/namei.c | de->inode = dir->i_ino; |
dir | 444 | fs/ext/namei.c | if (dir->i_mode & S_ISGID) |
dir | 447 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
dir | 449 | fs/ext/namei.c | iput(dir); |
dir | 456 | fs/ext/namei.c | dir->i_nlink++; |
dir | 457 | fs/ext/namei.c | dir->i_dirt = 1; |
dir | 458 | fs/ext/namei.c | iput(dir); |
dir | 524 | fs/ext/namei.c | int ext_rmdir(struct inode * dir, const char * name, int len) |
dir | 532 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,&pde,&nde); |
dir | 537 | fs/ext/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
dir | 539 | fs/ext/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 541 | fs/ext/namei.c | current->fsuid != dir->i_uid) |
dir | 543 | fs/ext/namei.c | if (inode->i_dev != dir->i_dev) |
dir | 545 | fs/ext/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
dir | 567 | fs/ext/namei.c | dir->i_nlink--; |
dir | 568 | fs/ext/namei.c | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 569 | fs/ext/namei.c | dir->i_dirt=1; |
dir | 572 | fs/ext/namei.c | iput(dir); |
dir | 578 | fs/ext/namei.c | int ext_unlink(struct inode * dir, const char * name, int len) |
dir | 587 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,&pde,&nde); |
dir | 590 | fs/ext/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
dir | 593 | fs/ext/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 595 | fs/ext/namei.c | current->fsuid != dir->i_uid) |
dir | 611 | fs/ext/namei.c | dir->i_ctime = dir->i_mtime = inode->i_ctime; |
dir | 612 | fs/ext/namei.c | dir->i_dirt = 1; |
dir | 617 | fs/ext/namei.c | iput(dir); |
dir | 621 | fs/ext/namei.c | int ext_symlink(struct inode * dir, const char * name, int len, const char * symname) |
dir | 629 | fs/ext/namei.c | if (!(inode = ext_new_inode(dir))) { |
dir | 630 | fs/ext/namei.c | iput(dir); |
dir | 637 | fs/ext/namei.c | iput(dir); |
dir | 651 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
dir | 657 | fs/ext/namei.c | iput(dir); |
dir | 660 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
dir | 665 | fs/ext/namei.c | iput(dir); |
dir | 671 | fs/ext/namei.c | iput(dir); |
dir | 676 | fs/ext/namei.c | int ext_link(struct inode * oldinode, struct inode * dir, const char * name, int len) |
dir | 683 | fs/ext/namei.c | iput(dir); |
dir | 688 | fs/ext/namei.c | iput(dir); |
dir | 691 | fs/ext/namei.c | bh = ext_find_entry(dir,name,len,&de,NULL,NULL); |
dir | 694 | fs/ext/namei.c | iput(dir); |
dir | 698 | fs/ext/namei.c | bh = ext_add_entry(dir,name,len,&de); |
dir | 700 | fs/ext/namei.c | iput(dir); |
dir | 707 | fs/ext/namei.c | iput(dir); |
dir | 47 | fs/ext/symlink.c | static int ext_follow_link(struct inode * dir, struct inode * inode, |
dir | 54 | fs/ext/symlink.c | if (!dir) { |
dir | 55 | fs/ext/symlink.c | dir = current->fs->root; |
dir | 56 | fs/ext/symlink.c | dir->i_count++; |
dir | 59 | fs/ext/symlink.c | iput(dir); |
dir | 63 | fs/ext/symlink.c | iput(dir); |
dir | 68 | fs/ext/symlink.c | iput(dir); |
dir | 74 | fs/ext/symlink.c | iput(dir); |
dir | 79 | fs/ext/symlink.c | error = open_namei(bh->b_data,flag,mode,res_inode,dir); |
dir | 75 | fs/ext2/dir.c | int ext2_check_dir_entry (char * function, struct inode * dir, |
dir | 87 | fs/ext2/dir.c | else if (dir && ((char *) de - bh->b_data) + de->rec_len > |
dir | 88 | fs/ext2/dir.c | dir->i_sb->s_blocksize) |
dir | 90 | fs/ext2/dir.c | else if (dir && de->inode > dir->i_sb->u.ext2_sb.s_es->s_inodes_count) |
dir | 94 | fs/ext2/dir.c | ext2_error (dir->i_sb, function, "bad directory entry: %s\n" |
dir | 306 | fs/ext2/ialloc.c | struct inode * ext2_new_inode (const struct inode * dir, int mode) |
dir | 318 | fs/ext2/ialloc.c | if (!dir || !(inode = get_empty_inode ())) |
dir | 320 | fs/ext2/ialloc.c | sb = dir->i_sb; |
dir | 364 | fs/ext2/ialloc.c | i = dir->u.ext2_i.i_block_group; |
dir | 389 | fs/ext2/ialloc.c | i = dir->u.ext2_i.i_block_group + 1; |
dir | 456 | fs/ext2/ialloc.c | inode->i_gid = dir->i_gid; |
dir | 457 | fs/ext2/ialloc.c | else if (dir->i_mode & S_ISGID) { |
dir | 458 | fs/ext2/ialloc.c | inode->i_gid = dir->i_gid; |
dir | 468 | fs/ext2/ialloc.c | inode->u.ext2_i.i_flags = dir->u.ext2_i.i_flags; |
dir | 68 | fs/ext2/namei.c | static struct buffer_head * ext2_find_entry (struct inode * dir, |
dir | 79 | fs/ext2/namei.c | if (!dir) |
dir | 81 | fs/ext2/namei.c | sb = dir->i_sb; |
dir | 96 | fs/ext2/namei.c | if ((block << EXT2_BLOCK_SIZE_BITS (sb)) >= dir->i_size) |
dir | 98 | fs/ext2/namei.c | bh = ext2_getblk (dir, block, 0, &err); |
dir | 106 | fs/ext2/namei.c | while (offset < dir->i_size) { |
dir | 130 | fs/ext2/namei.c | if (!ext2_check_dir_entry ("ext2_find_entry", dir, |
dir | 148 | fs/ext2/namei.c | dir->i_size) |
dir | 151 | fs/ext2/namei.c | bh = ext2_getblk (dir, block + NAMEI_RA_SIZE, 0, &err); |
dir | 163 | fs/ext2/namei.c | int ext2_lookup (struct inode * dir, const char * name, int len, |
dir | 171 | fs/ext2/namei.c | if (!dir) |
dir | 173 | fs/ext2/namei.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 174 | fs/ext2/namei.c | iput (dir); |
dir | 177 | fs/ext2/namei.c | if (dcache_lookup(dir, name, len, &ino)) { |
dir | 179 | fs/ext2/namei.c | iput(dir); |
dir | 182 | fs/ext2/namei.c | if (!(*result = iget (dir->i_sb, ino))) { |
dir | 183 | fs/ext2/namei.c | iput (dir); |
dir | 186 | fs/ext2/namei.c | iput (dir); |
dir | 189 | fs/ext2/namei.c | ino = dir->i_version; |
dir | 190 | fs/ext2/namei.c | if (!(bh = ext2_find_entry (dir, name, len, &de))) { |
dir | 191 | fs/ext2/namei.c | if (ino == dir->i_version) |
dir | 192 | fs/ext2/namei.c | dcache_add(dir, name, len, 0); |
dir | 193 | fs/ext2/namei.c | iput (dir); |
dir | 197 | fs/ext2/namei.c | dcache_add(dir, name, len, ino); |
dir | 199 | fs/ext2/namei.c | if (!(*result = iget (dir->i_sb, ino))) { |
dir | 200 | fs/ext2/namei.c | iput (dir); |
dir | 203 | fs/ext2/namei.c | iput (dir); |
dir | 217 | fs/ext2/namei.c | static struct buffer_head * ext2_add_entry (struct inode * dir, |
dir | 230 | fs/ext2/namei.c | if (!dir) |
dir | 232 | fs/ext2/namei.c | sb = dir->i_sb; |
dir | 245 | fs/ext2/namei.c | if (dir->i_size == 0) |
dir | 250 | fs/ext2/namei.c | bh = ext2_bread (dir, 0, 0, err); |
dir | 261 | fs/ext2/namei.c | bh = ext2_bread (dir, offset >> EXT2_BLOCK_SIZE_BITS(sb), 1, err); |
dir | 264 | fs/ext2/namei.c | if (dir->i_size <= offset) { |
dir | 265 | fs/ext2/namei.c | if (dir->i_size == 0) { |
dir | 275 | fs/ext2/namei.c | dir->i_size = offset + sb->s_blocksize; |
dir | 276 | fs/ext2/namei.c | dir->i_dirt = 1; |
dir | 284 | fs/ext2/namei.c | if (!ext2_check_dir_entry ("ext2_add_entry", dir, de, bh, |
dir | 320 | fs/ext2/namei.c | dir->i_mtime = dir->i_ctime = CURRENT_TIME; |
dir | 321 | fs/ext2/namei.c | dir->i_dirt = 1; |
dir | 322 | fs/ext2/namei.c | dir->i_version = ++event; |
dir | 339 | fs/ext2/namei.c | static int ext2_delete_entry (struct ext2_dir_entry * dir, |
dir | 352 | fs/ext2/namei.c | if (de == dir) { |
dir | 354 | fs/ext2/namei.c | pde->rec_len += dir->rec_len; |
dir | 355 | fs/ext2/namei.c | dir->inode = 0; |
dir | 365 | fs/ext2/namei.c | int ext2_create (struct inode * dir,const char * name, int len, int mode, |
dir | 374 | fs/ext2/namei.c | if (!dir) |
dir | 376 | fs/ext2/namei.c | inode = ext2_new_inode (dir, mode); |
dir | 378 | fs/ext2/namei.c | iput (dir); |
dir | 384 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
dir | 389 | fs/ext2/namei.c | iput (dir); |
dir | 393 | fs/ext2/namei.c | dir->i_version = ++event; |
dir | 394 | fs/ext2/namei.c | dcache_add(dir, de->name, de->name_len, de->inode); |
dir | 396 | fs/ext2/namei.c | if (IS_SYNC(dir)) { |
dir | 401 | fs/ext2/namei.c | iput (dir); |
dir | 406 | fs/ext2/namei.c | int ext2_mknod (struct inode * dir, const char * name, int len, int mode, |
dir | 414 | fs/ext2/namei.c | if (!dir) |
dir | 416 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
dir | 419 | fs/ext2/namei.c | iput (dir); |
dir | 422 | fs/ext2/namei.c | inode = ext2_new_inode (dir, mode); |
dir | 424 | fs/ext2/namei.c | iput (dir); |
dir | 434 | fs/ext2/namei.c | if (dir->i_mode & S_ISGID) |
dir | 448 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
dir | 453 | fs/ext2/namei.c | iput (dir); |
dir | 457 | fs/ext2/namei.c | dir->i_version = ++event; |
dir | 458 | fs/ext2/namei.c | dcache_add(dir, de->name, de->name_len, de->inode); |
dir | 460 | fs/ext2/namei.c | if (IS_SYNC(dir)) { |
dir | 465 | fs/ext2/namei.c | iput (dir); |
dir | 470 | fs/ext2/namei.c | int ext2_mkdir (struct inode * dir, const char * name, int len, int mode) |
dir | 477 | fs/ext2/namei.c | if (!dir) |
dir | 479 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
dir | 482 | fs/ext2/namei.c | iput (dir); |
dir | 485 | fs/ext2/namei.c | if (dir->i_nlink >= EXT2_LINK_MAX) { |
dir | 486 | fs/ext2/namei.c | iput (dir); |
dir | 489 | fs/ext2/namei.c | inode = ext2_new_inode (dir, S_IFDIR); |
dir | 491 | fs/ext2/namei.c | iput (dir); |
dir | 498 | fs/ext2/namei.c | iput (dir); |
dir | 511 | fs/ext2/namei.c | de->inode = dir->i_ino; |
dir | 519 | fs/ext2/namei.c | if (dir->i_mode & S_ISGID) |
dir | 522 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
dir | 524 | fs/ext2/namei.c | iput (dir); |
dir | 531 | fs/ext2/namei.c | dir->i_version = ++event; |
dir | 532 | fs/ext2/namei.c | dcache_add(dir, de->name, de->name_len, de->inode); |
dir | 534 | fs/ext2/namei.c | if (IS_SYNC(dir)) { |
dir | 538 | fs/ext2/namei.c | dir->i_nlink++; |
dir | 539 | fs/ext2/namei.c | dir->i_dirt = 1; |
dir | 540 | fs/ext2/namei.c | iput (dir); |
dir | 600 | fs/ext2/namei.c | int ext2_rmdir (struct inode * dir, const char * name, int len) |
dir | 608 | fs/ext2/namei.c | if (!dir) |
dir | 611 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
dir | 616 | fs/ext2/namei.c | if (!(inode = iget (dir->i_sb, de->inode))) |
dir | 618 | fs/ext2/namei.c | if (inode->i_dev != dir->i_dev) |
dir | 627 | fs/ext2/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 629 | fs/ext2/namei.c | current->fsuid != dir->i_uid) |
dir | 631 | fs/ext2/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
dir | 654 | fs/ext2/namei.c | dir->i_version = ++event; |
dir | 660 | fs/ext2/namei.c | if (IS_SYNC(dir)) { |
dir | 671 | fs/ext2/namei.c | dir->i_nlink--; |
dir | 672 | fs/ext2/namei.c | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 673 | fs/ext2/namei.c | dir->i_dirt = 1; |
dir | 675 | fs/ext2/namei.c | iput (dir); |
dir | 681 | fs/ext2/namei.c | int ext2_unlink (struct inode * dir, const char * name, int len) |
dir | 689 | fs/ext2/namei.c | if (!dir) |
dir | 693 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
dir | 696 | fs/ext2/namei.c | if (!(inode = iget (dir->i_sb, de->inode))) |
dir | 710 | fs/ext2/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 712 | fs/ext2/namei.c | current->fsuid != dir->i_uid) |
dir | 723 | fs/ext2/namei.c | dir->i_version = ++event; |
dir | 725 | fs/ext2/namei.c | if (IS_SYNC(dir)) { |
dir | 729 | fs/ext2/namei.c | dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 730 | fs/ext2/namei.c | dir->i_dirt = 1; |
dir | 733 | fs/ext2/namei.c | inode->i_ctime = dir->i_ctime; |
dir | 738 | fs/ext2/namei.c | iput (dir); |
dir | 742 | fs/ext2/namei.c | int ext2_symlink (struct inode * dir, const char * name, int len, |
dir | 753 | fs/ext2/namei.c | if (!(inode = ext2_new_inode (dir, S_IFLNK))) { |
dir | 754 | fs/ext2/namei.c | iput (dir); |
dir | 768 | fs/ext2/namei.c | iput (dir); |
dir | 791 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
dir | 797 | fs/ext2/namei.c | iput (dir); |
dir | 800 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
dir | 805 | fs/ext2/namei.c | iput (dir); |
dir | 809 | fs/ext2/namei.c | dir->i_version = ++event; |
dir | 810 | fs/ext2/namei.c | dcache_add(dir, de->name, de->name_len, de->inode); |
dir | 812 | fs/ext2/namei.c | if (IS_SYNC(dir)) { |
dir | 817 | fs/ext2/namei.c | iput (dir); |
dir | 822 | fs/ext2/namei.c | int ext2_link (struct inode * oldinode, struct inode * dir, |
dir | 831 | fs/ext2/namei.c | iput (dir); |
dir | 836 | fs/ext2/namei.c | iput (dir); |
dir | 841 | fs/ext2/namei.c | iput (dir); |
dir | 844 | fs/ext2/namei.c | bh = ext2_find_entry (dir, name, len, &de); |
dir | 847 | fs/ext2/namei.c | iput (dir); |
dir | 851 | fs/ext2/namei.c | bh = ext2_add_entry (dir, name, len, &de, &err); |
dir | 853 | fs/ext2/namei.c | iput (dir); |
dir | 858 | fs/ext2/namei.c | dir->i_version = ++event; |
dir | 859 | fs/ext2/namei.c | dcache_add(dir, de->name, de->name_len, de->inode); |
dir | 861 | fs/ext2/namei.c | if (IS_SYNC(dir)) { |
dir | 866 | fs/ext2/namei.c | iput (dir); |
dir | 52 | fs/ext2/symlink.c | static int ext2_follow_link(struct inode * dir, struct inode * inode, |
dir | 60 | fs/ext2/symlink.c | if (!dir) { |
dir | 61 | fs/ext2/symlink.c | dir = current->fs->root; |
dir | 62 | fs/ext2/symlink.c | dir->i_count++; |
dir | 65 | fs/ext2/symlink.c | iput (dir); |
dir | 69 | fs/ext2/symlink.c | iput (dir); |
dir | 74 | fs/ext2/symlink.c | iput (dir); |
dir | 80 | fs/ext2/symlink.c | iput (dir); |
dir | 88 | fs/ext2/symlink.c | error = open_namei (link, flag, mode, res_inode, dir); |
dir | 1105 | fs/hpfs/hpfs_fs.c | static int hpfs_lookup(struct inode *dir, const char *name, int len, |
dir | 1116 | fs/hpfs/hpfs_fs.c | if (dir == 0) |
dir | 1118 | fs/hpfs/hpfs_fs.c | if (!S_ISDIR(dir->i_mode)) |
dir | 1127 | fs/hpfs/hpfs_fs.c | de = map_dirent(dir, dir->i_hpfs_dno, "\001\001", 2, &qbh); |
dir | 1129 | fs/hpfs/hpfs_fs.c | de = map_dirent(dir, |
dir | 1130 | fs/hpfs/hpfs_fs.c | fnode_dno(dir->i_dev, dir->i_hpfs_parent_dir), |
dir | 1133 | fs/hpfs/hpfs_fs.c | de = map_dirent(dir, dir->i_hpfs_dno, name, len, &qbh); |
dir | 1155 | fs/hpfs/hpfs_fs.c | if (!(inode = iget(dir->i_sb, ino))) |
dir | 1188 | fs/hpfs/hpfs_fs.c | iput(dir); |
dir | 1197 | fs/hpfs/hpfs_fs.c | iput(dir); |
dir | 65 | fs/isofs/namei.c | static struct buffer_head * isofs_find_entry(struct inode * dir, |
dir | 68 | fs/isofs/namei.c | unsigned long bufsize = ISOFS_BUFFER_SIZE(dir); |
dir | 69 | fs/isofs/namei.c | unsigned char bufbits = ISOFS_BUFFER_BITS(dir); |
dir | 81 | fs/isofs/namei.c | if (!dir) return NULL; |
dir | 83 | fs/isofs/namei.c | if (!(block = dir->u.isofs_i.i_first_extent)) return NULL; |
dir | 88 | fs/isofs/namei.c | block = isofs_bmap(dir,f_pos >> bufbits); |
dir | 90 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,bufsize))) return NULL; |
dir | 92 | fs/isofs/namei.c | while (f_pos < dir->i_size) { |
dir | 94 | fs/isofs/namei.c | backlink = dir->i_ino; |
dir | 105 | fs/isofs/namei.c | block = isofs_bmap(dir,f_pos>>bufbits); |
dir | 106 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,bufsize))) |
dir | 127 | fs/isofs/namei.c | block = isofs_bmap(dir,f_pos>>bufbits); |
dir | 128 | fs/isofs/namei.c | if (!block || !(bh = bread(dir->i_dev,block,bufsize))) { |
dir | 138 | fs/isofs/namei.c | inode_number = dir->i_ino; |
dir | 147 | fs/isofs/namei.c | dir->i_sb->s_firstdatazone, |
dir | 148 | fs/isofs/namei.c | dir->i_ino); |
dir | 150 | fs/isofs/namei.c | if((dir->i_sb->u.isofs_sb.s_firstdatazone) != dir->i_ino) |
dir | 151 | fs/isofs/namei.c | inode_number = dir->u.isofs_i.i_backlink; |
dir | 153 | fs/isofs/namei.c | inode_number = dir->i_ino; |
dir | 160 | fs/isofs/namei.c | rrflag = get_rock_ridge_filename(de, &dpnt, &dlen, dir); |
dir | 164 | fs/isofs/namei.c | if(dir->i_sb->u.isofs_sb.s_mapping == 'n') { |
dir | 192 | fs/isofs/namei.c | isofs_lookup_grandparent(dir, |
dir | 193 | fs/isofs/namei.c | find_rock_ridge_relocation(de,dir)); |
dir | 212 | fs/isofs/namei.c | int isofs_lookup(struct inode * dir,const char * name, int len, |
dir | 219 | fs/isofs/namei.c | printk("lookup: %x %d\n",dir->i_ino, len); |
dir | 222 | fs/isofs/namei.c | if (!dir) |
dir | 225 | fs/isofs/namei.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 226 | fs/isofs/namei.c | iput(dir); |
dir | 232 | fs/isofs/namei.c | if (dcache_lookup(dir, name, len, &ino)) ino_back = dir->i_ino; |
dir | 235 | fs/isofs/namei.c | if (!(bh = isofs_find_entry(dir,name,len, &ino, &ino_back))) { |
dir | 236 | fs/isofs/namei.c | iput(dir); |
dir | 239 | fs/isofs/namei.c | if (ino_back == dir->i_ino) |
dir | 240 | fs/isofs/namei.c | dcache_add(dir, name, len, ino); |
dir | 244 | fs/isofs/namei.c | if (!(*result = iget(dir->i_sb,ino))) { |
dir | 245 | fs/isofs/namei.c | iput(dir); |
dir | 255 | fs/isofs/namei.c | if (ino_back && !(*result)->i_pipe && (*result)->i_sb == dir->i_sb) { |
dir | 259 | fs/isofs/namei.c | iput(dir); |
dir | 49 | fs/isofs/symlink.c | static int isofs_follow_link(struct inode * dir, struct inode * inode, |
dir | 55 | fs/isofs/symlink.c | if (!dir) { |
dir | 56 | fs/isofs/symlink.c | dir = current->fs->root; |
dir | 57 | fs/isofs/symlink.c | dir->i_count++; |
dir | 60 | fs/isofs/symlink.c | iput(dir); |
dir | 65 | fs/isofs/symlink.c | iput(dir); |
dir | 71 | fs/isofs/symlink.c | iput(dir); |
dir | 78 | fs/isofs/symlink.c | error = open_namei(pnt,flag,mode,res_inode,dir); |
dir | 163 | fs/minix/bitmap.c | struct inode * minix_new_inode(const struct inode * dir) |
dir | 170 | fs/minix/bitmap.c | if (!dir || !(inode = get_empty_inode())) |
dir | 172 | fs/minix/bitmap.c | sb = dir->i_sb; |
dir | 199 | fs/minix/bitmap.c | inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->fsgid; |
dir | 68 | fs/minix/namei.c | static struct buffer_head * minix_find_entry(struct inode * dir, |
dir | 76 | fs/minix/namei.c | if (!dir || !dir->i_sb) |
dir | 78 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
dir | 88 | fs/minix/namei.c | while (block*BLOCK_SIZE+offset < dir->i_size) { |
dir | 90 | fs/minix/namei.c | bh = minix_bread(dir,block,0); |
dir | 111 | fs/minix/namei.c | int minix_lookup(struct inode * dir,const char * name, int len, |
dir | 119 | fs/minix/namei.c | if (!dir) |
dir | 121 | fs/minix/namei.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 122 | fs/minix/namei.c | iput(dir); |
dir | 125 | fs/minix/namei.c | if (!(bh = minix_find_entry(dir,name,len,&de))) { |
dir | 126 | fs/minix/namei.c | iput(dir); |
dir | 131 | fs/minix/namei.c | if (!(*result = iget(dir->i_sb,ino))) { |
dir | 132 | fs/minix/namei.c | iput(dir); |
dir | 135 | fs/minix/namei.c | iput(dir); |
dir | 149 | fs/minix/namei.c | static int minix_add_entry(struct inode * dir, |
dir | 162 | fs/minix/namei.c | if (!dir || !dir->i_sb) |
dir | 164 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
dir | 178 | fs/minix/namei.c | bh = minix_bread(dir,block,1); |
dir | 184 | fs/minix/namei.c | if (block*bh->b_size + offset > dir->i_size) { |
dir | 186 | fs/minix/namei.c | dir->i_size = block*bh->b_size + offset; |
dir | 187 | fs/minix/namei.c | dir->i_dirt = 1; |
dir | 195 | fs/minix/namei.c | dir->i_mtime = dir->i_ctime = CURRENT_TIME; |
dir | 196 | fs/minix/namei.c | dir->i_dirt = 1; |
dir | 199 | fs/minix/namei.c | dir->i_version = ++event; |
dir | 215 | fs/minix/namei.c | int minix_create(struct inode * dir,const char * name, int len, int mode, |
dir | 224 | fs/minix/namei.c | if (!dir) |
dir | 226 | fs/minix/namei.c | inode = minix_new_inode(dir); |
dir | 228 | fs/minix/namei.c | iput(dir); |
dir | 234 | fs/minix/namei.c | error = minix_add_entry(dir,name,len, &bh ,&de); |
dir | 239 | fs/minix/namei.c | iput(dir); |
dir | 245 | fs/minix/namei.c | iput(dir); |
dir | 250 | fs/minix/namei.c | int minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev) |
dir | 257 | fs/minix/namei.c | if (!dir) |
dir | 259 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
dir | 262 | fs/minix/namei.c | iput(dir); |
dir | 265 | fs/minix/namei.c | inode = minix_new_inode(dir); |
dir | 267 | fs/minix/namei.c | iput(dir); |
dir | 277 | fs/minix/namei.c | if (dir->i_mode & S_ISGID) |
dir | 291 | fs/minix/namei.c | error = minix_add_entry(dir, name, len, &bh, &de); |
dir | 296 | fs/minix/namei.c | iput(dir); |
dir | 302 | fs/minix/namei.c | iput(dir); |
dir | 307 | fs/minix/namei.c | int minix_mkdir(struct inode * dir, const char * name, int len, int mode) |
dir | 315 | fs/minix/namei.c | if (!dir || !dir->i_sb) { |
dir | 316 | fs/minix/namei.c | iput(dir); |
dir | 319 | fs/minix/namei.c | info = &dir->i_sb->u.minix_sb; |
dir | 320 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
dir | 323 | fs/minix/namei.c | iput(dir); |
dir | 326 | fs/minix/namei.c | if (dir->i_nlink >= MINIX_LINK_MAX) { |
dir | 327 | fs/minix/namei.c | iput(dir); |
dir | 330 | fs/minix/namei.c | inode = minix_new_inode(dir); |
dir | 332 | fs/minix/namei.c | iput(dir); |
dir | 339 | fs/minix/namei.c | iput(dir); |
dir | 349 | fs/minix/namei.c | de->inode = dir->i_ino; |
dir | 355 | fs/minix/namei.c | if (dir->i_mode & S_ISGID) |
dir | 358 | fs/minix/namei.c | error = minix_add_entry(dir, name, len, &bh, &de); |
dir | 360 | fs/minix/namei.c | iput(dir); |
dir | 367 | fs/minix/namei.c | dir->i_nlink++; |
dir | 368 | fs/minix/namei.c | dir->i_dirt = 1; |
dir | 369 | fs/minix/namei.c | iput(dir); |
dir | 433 | fs/minix/namei.c | int minix_rmdir(struct inode * dir, const char * name, int len) |
dir | 441 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
dir | 446 | fs/minix/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
dir | 448 | fs/minix/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 450 | fs/minix/namei.c | current->fsuid != dir->i_uid) |
dir | 452 | fs/minix/namei.c | if (inode->i_dev != dir->i_dev) |
dir | 454 | fs/minix/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
dir | 475 | fs/minix/namei.c | dir->i_version = ++event; |
dir | 479 | fs/minix/namei.c | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 480 | fs/minix/namei.c | dir->i_nlink--; |
dir | 481 | fs/minix/namei.c | dir->i_dirt=1; |
dir | 484 | fs/minix/namei.c | iput(dir); |
dir | 490 | fs/minix/namei.c | int minix_unlink(struct inode * dir, const char * name, int len) |
dir | 500 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
dir | 503 | fs/minix/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
dir | 515 | fs/minix/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 517 | fs/minix/namei.c | current->fsuid != dir->i_uid) |
dir | 529 | fs/minix/namei.c | dir->i_version = ++event; |
dir | 531 | fs/minix/namei.c | dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 532 | fs/minix/namei.c | dir->i_dirt = 1; |
dir | 534 | fs/minix/namei.c | inode->i_ctime = dir->i_ctime; |
dir | 540 | fs/minix/namei.c | iput(dir); |
dir | 544 | fs/minix/namei.c | int minix_symlink(struct inode * dir, const char * name, int len, const char * symname) |
dir | 552 | fs/minix/namei.c | if (!(inode = minix_new_inode(dir))) { |
dir | 553 | fs/minix/namei.c | iput(dir); |
dir | 560 | fs/minix/namei.c | iput(dir); |
dir | 574 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
dir | 580 | fs/minix/namei.c | iput(dir); |
dir | 583 | fs/minix/namei.c | i = minix_add_entry(dir, name, len, &bh, &de); |
dir | 588 | fs/minix/namei.c | iput(dir); |
dir | 594 | fs/minix/namei.c | iput(dir); |
dir | 599 | fs/minix/namei.c | int minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len) |
dir | 607 | fs/minix/namei.c | iput(dir); |
dir | 612 | fs/minix/namei.c | iput(dir); |
dir | 615 | fs/minix/namei.c | bh = minix_find_entry(dir,name,len,&de); |
dir | 618 | fs/minix/namei.c | iput(dir); |
dir | 622 | fs/minix/namei.c | error = minix_add_entry(dir, name, len, &bh, &de); |
dir | 624 | fs/minix/namei.c | iput(dir); |
dir | 631 | fs/minix/namei.c | iput(dir); |
dir | 45 | fs/minix/symlink.c | static int minix_follow_link(struct inode * dir, struct inode * inode, |
dir | 52 | fs/minix/symlink.c | if (!dir) { |
dir | 53 | fs/minix/symlink.c | dir = current->fs->root; |
dir | 54 | fs/minix/symlink.c | dir->i_count++; |
dir | 57 | fs/minix/symlink.c | iput(dir); |
dir | 61 | fs/minix/symlink.c | iput(dir); |
dir | 67 | fs/minix/symlink.c | iput(dir); |
dir | 72 | fs/minix/symlink.c | iput(dir); |
dir | 77 | fs/minix/symlink.c | error = open_namei(bh->b_data,flag,mode,res_inode,dir); |
dir | 285 | fs/msdos/misc.c | int msdos_get_entry(struct inode *dir, loff_t *pos,struct buffer_head **bh, |
dir | 288 | fs/msdos/misc.c | struct super_block *sb = dir->i_sb; |
dir | 294 | fs/msdos/misc.c | if ((sector = msdos_smap(dir,offset >> SECTOR_BITS)) == -1) |
dir | 303 | fs/msdos/misc.c | if (!(*bh = bread(dir->i_dev,sector,SECTOR_SIZE))) { |
dir | 478 | fs/msdos/misc.c | int msdos_parent_ino(struct inode *dir,int locked) |
dir | 483 | fs/msdos/misc.c | if (!S_ISDIR(dir->i_mode)) panic("Non-directory fed to m_p_i"); |
dir | 484 | fs/msdos/misc.c | if (dir->i_ino == MSDOS_ROOT_INO) return dir->i_ino; |
dir | 486 | fs/msdos/misc.c | if ((current = raw_scan(dir->i_sb,MSDOS_I(dir)->i_start,MSDOS_DOTDOT, |
dir | 493 | fs/msdos/misc.c | if ((prev = raw_scan(dir->i_sb,current,MSDOS_DOTDOT,&zero,NULL, |
dir | 498 | fs/msdos/misc.c | if ((error = raw_scan(dir->i_sb,prev,NULL,¤t,&nr,NULL, |
dir | 514 | fs/msdos/misc.c | int msdos_subdirs(struct inode *dir) |
dir | 519 | fs/msdos/misc.c | if (dir->i_ino == MSDOS_ROOT_INO) |
dir | 520 | fs/msdos/misc.c | (void) raw_scan_root(dir->i_sb,NULL,&count,NULL,NULL,NULL); |
dir | 522 | fs/msdos/misc.c | if (!MSDOS_I(dir)->i_start) return 0; /* in mkdir */ |
dir | 523 | fs/msdos/misc.c | else (void) raw_scan_nonroot(dir->i_sb,MSDOS_I(dir)->i_start, |
dir | 535 | fs/msdos/misc.c | int msdos_scan(struct inode *dir,char *name,struct buffer_head **res_bh, |
dir | 541 | fs/msdos/misc.c | res = raw_scan(dir->i_sb,MSDOS_I(dir)->i_start,name,NULL,ino, |
dir | 543 | fs/msdos/misc.c | else res = raw_scan(dir->i_sb,MSDOS_I(dir)->i_start,NULL,NULL,ino, |
dir | 101 | fs/msdos/namei.c | static int msdos_find(struct inode *dir,const char *name,int len, |
dir | 107 | fs/msdos/namei.c | if ((res = msdos_format_name(MSDOS_SB(dir->i_sb)->name_check,name,len, |
dir | 109 | fs/msdos/namei.c | return msdos_scan(dir,msdos_name,bh,de,ino); |
dir | 113 | fs/msdos/namei.c | int msdos_lookup(struct inode *dir,const char *name,int len, |
dir | 116 | fs/msdos/namei.c | struct super_block *sb = dir->i_sb; |
dir | 125 | fs/msdos/namei.c | if (!dir) return -ENOENT; |
dir | 126 | fs/msdos/namei.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 127 | fs/msdos/namei.c | iput(dir); |
dir | 132 | fs/msdos/namei.c | *result = dir; |
dir | 136 | fs/msdos/namei.c | ino = msdos_parent_ino(dir,0); |
dir | 137 | fs/msdos/namei.c | iput(dir); |
dir | 139 | fs/msdos/namei.c | if (!(*result = iget(dir->i_sb,ino))) return -EACCES; |
dir | 143 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) { |
dir | 144 | fs/msdos/namei.c | iput(dir); |
dir | 151 | fs/msdos/namei.c | if (!(*result = iget(dir->i_sb,ino))) { |
dir | 152 | fs/msdos/namei.c | iput(dir); |
dir | 158 | fs/msdos/namei.c | iput(dir); |
dir | 166 | fs/msdos/namei.c | fs_panic(dir->i_sb,"msdos_lookup: Can't happen"); |
dir | 167 | fs/msdos/namei.c | iput(dir); |
dir | 172 | fs/msdos/namei.c | iput(dir); |
dir | 180 | fs/msdos/namei.c | static int msdos_create_entry(struct inode *dir,char *name,int is_dir, |
dir | 183 | fs/msdos/namei.c | struct super_block *sb = dir->i_sb; |
dir | 188 | fs/msdos/namei.c | if ((res = msdos_scan(dir,NULL,&bh,&de,&ino)) < 0) { |
dir | 190 | fs/msdos/namei.c | if (dir->i_ino == MSDOS_ROOT_INO) return -ENOSPC; |
dir | 191 | fs/msdos/namei.c | if ((res = msdos_add_cluster(dir)) < 0) return res; |
dir | 192 | fs/msdos/namei.c | if ((res = msdos_scan(dir,NULL,&bh,&de,&ino)) < 0) return res; |
dir | 197 | fs/msdos/namei.c | dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 198 | fs/msdos/namei.c | dir->i_dirt = 1; |
dir | 203 | fs/msdos/namei.c | date_unix2dos(dir->i_mtime,&de->time,&de->date); |
dir | 206 | fs/msdos/namei.c | if ((*result = iget(dir->i_sb,ino)) != NULL) |
dir | 217 | fs/msdos/namei.c | int msdos_create(struct inode *dir,const char *name,int len,int mode, |
dir | 220 | fs/msdos/namei.c | struct super_block *sb = dir->i_sb; |
dir | 226 | fs/msdos/namei.c | if (!dir) return -ENOENT; |
dir | 227 | fs/msdos/namei.c | if ((res = msdos_format_name(MSDOS_SB(dir->i_sb)->name_check,name,len, |
dir | 229 | fs/msdos/namei.c | iput(dir); |
dir | 233 | fs/msdos/namei.c | if (msdos_scan(dir,msdos_name,&bh,&de,&ino) >= 0) { |
dir | 236 | fs/msdos/namei.c | iput(dir); |
dir | 239 | fs/msdos/namei.c | res = msdos_create_entry(dir,msdos_name,S_ISDIR(mode),result); |
dir | 241 | fs/msdos/namei.c | iput(dir); |
dir | 266 | fs/msdos/namei.c | int msdos_mkdir(struct inode *dir,const char *name,int len,int mode) |
dir | 268 | fs/msdos/namei.c | struct super_block *sb = dir->i_sb; |
dir | 275 | fs/msdos/namei.c | if ((res = msdos_format_name(MSDOS_SB(dir->i_sb)->name_check,name,len, |
dir | 277 | fs/msdos/namei.c | iput(dir); |
dir | 281 | fs/msdos/namei.c | if (msdos_scan(dir,msdos_name,&bh,&de,&ino) >= 0) { |
dir | 284 | fs/msdos/namei.c | iput(dir); |
dir | 287 | fs/msdos/namei.c | if ((res = msdos_create_entry(dir,msdos_name,1,&inode)) < 0) { |
dir | 289 | fs/msdos/namei.c | iput(dir); |
dir | 292 | fs/msdos/namei.c | dir->i_nlink++; |
dir | 306 | fs/msdos/namei.c | dot->i_size = dir->i_size; |
dir | 307 | fs/msdos/namei.c | MSDOS_I(dot)->i_start = MSDOS_I(dir)->i_start; |
dir | 308 | fs/msdos/namei.c | dot->i_nlink = dir->i_nlink; |
dir | 313 | fs/msdos/namei.c | iput(dir); |
dir | 317 | fs/msdos/namei.c | if (msdos_rmdir(dir,name,len) < 0) |
dir | 318 | fs/msdos/namei.c | fs_panic(dir->i_sb,"rmdir in mkdir failed"); |
dir | 324 | fs/msdos/namei.c | static int msdos_empty(struct inode *dir) |
dir | 326 | fs/msdos/namei.c | struct super_block *sb = dir->i_sb; |
dir | 331 | fs/msdos/namei.c | if (dir->i_count > 1) |
dir | 333 | fs/msdos/namei.c | if (MSDOS_I(dir)->i_start) { /* may be zero in mkdir */ |
dir | 336 | fs/msdos/namei.c | while (msdos_get_entry(dir,&pos,&bh,&de) > -1) |
dir | 350 | fs/msdos/namei.c | int msdos_rmdir(struct inode *dir,const char *name,int len) |
dir | 352 | fs/msdos/namei.c | struct super_block *sb = dir->i_sb; |
dir | 363 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) goto rmdir_done; |
dir | 365 | fs/msdos/namei.c | if (!(inode = iget(dir->i_sb,ino))) goto rmdir_done; |
dir | 369 | fs/msdos/namei.c | if (dir->i_dev != inode->i_dev || dir == inode) goto rmdir_done; |
dir | 374 | fs/msdos/namei.c | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 375 | fs/msdos/namei.c | dir->i_nlink--; |
dir | 376 | fs/msdos/namei.c | inode->i_dirt = dir->i_dirt = 1; |
dir | 382 | fs/msdos/namei.c | iput(dir); |
dir | 389 | fs/msdos/namei.c | struct inode *dir, |
dir | 394 | fs/msdos/namei.c | struct super_block *sb = dir->i_sb; |
dir | 402 | fs/msdos/namei.c | if ((res = msdos_find(dir,name,len,&bh,&de,&ino)) < 0) |
dir | 404 | fs/msdos/namei.c | if (!(inode = iget(dir->i_sb,ino))) { |
dir | 413 | fs/msdos/namei.c | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 415 | fs/msdos/namei.c | inode->i_dirt = dir->i_dirt = 1; |
dir | 421 | fs/msdos/namei.c | iput(dir); |
dir | 425 | fs/msdos/namei.c | int msdos_unlink(struct inode *dir,const char *name,int len) |
dir | 427 | fs/msdos/namei.c | return msdos_unlinkx (dir,name,len,1); |
dir | 432 | fs/msdos/namei.c | int msdos_unlink_umsdos(struct inode *dir,const char *name,int len) |
dir | 434 | fs/msdos/namei.c | return msdos_unlinkx (dir,name,len,0); |
dir | 153 | fs/namei.c | int lookup(struct inode * dir,const char * name, int len, |
dir | 160 | fs/namei.c | if (!dir) |
dir | 163 | fs/namei.c | perm = permission(dir,MAY_EXEC); |
dir | 165 | fs/namei.c | if (dir == current->fs->root) { |
dir | 166 | fs/namei.c | *result = dir; |
dir | 168 | fs/namei.c | } else if ((sb = dir->i_sb) && (dir == sb->s_mounted)) { |
dir | 169 | fs/namei.c | sb = dir->i_sb; |
dir | 170 | fs/namei.c | iput(dir); |
dir | 171 | fs/namei.c | dir = sb->s_covered; |
dir | 172 | fs/namei.c | if (!dir) |
dir | 174 | fs/namei.c | dir->i_count++; |
dir | 177 | fs/namei.c | if (!dir->i_op || !dir->i_op->lookup) { |
dir | 178 | fs/namei.c | iput(dir); |
dir | 182 | fs/namei.c | iput(dir); |
dir | 186 | fs/namei.c | *result = dir; |
dir | 189 | fs/namei.c | return dir->i_op->lookup(dir,name,len,result); |
dir | 192 | fs/namei.c | int follow_link(struct inode * dir, struct inode * inode, |
dir | 195 | fs/namei.c | if (!dir || !inode) { |
dir | 196 | fs/namei.c | iput(dir); |
dir | 202 | fs/namei.c | iput(dir); |
dir | 206 | fs/namei.c | return inode->i_op->follow_link(dir,inode,flag,mode,res_inode); |
dir | 338 | fs/namei.c | struct inode * dir, *inode; |
dir | 342 | fs/namei.c | error = dir_namei(pathname,&namelen,&basename,base,&dir); |
dir | 347 | fs/namei.c | iput(dir); |
dir | 351 | fs/namei.c | if ((error = permission(dir,ACC_MODE(flag))) != 0) { |
dir | 352 | fs/namei.c | iput(dir); |
dir | 355 | fs/namei.c | *res_inode=dir; |
dir | 358 | fs/namei.c | dir->i_count++; /* lookup eats the dir */ |
dir | 360 | fs/namei.c | down(&dir->i_sem); |
dir | 361 | fs/namei.c | error = lookup(dir,basename,namelen,&inode); |
dir | 367 | fs/namei.c | } else if ((error = permission(dir,MAY_WRITE | MAY_EXEC)) != 0) |
dir | 369 | fs/namei.c | else if (!dir->i_op || !dir->i_op->create) |
dir | 371 | fs/namei.c | else if (IS_RDONLY(dir)) |
dir | 374 | fs/namei.c | dir->i_count++; /* create eats the dir */ |
dir | 375 | fs/namei.c | error = dir->i_op->create(dir,basename,namelen,mode,res_inode); |
dir | 376 | fs/namei.c | up(&dir->i_sem); |
dir | 377 | fs/namei.c | iput(dir); |
dir | 380 | fs/namei.c | up(&dir->i_sem); |
dir | 382 | fs/namei.c | error = lookup(dir,basename,namelen,&inode); |
dir | 384 | fs/namei.c | iput(dir); |
dir | 387 | fs/namei.c | error = follow_link(dir,inode,flag,mode,&inode); |
dir | 445 | fs/namei.c | struct inode * dir; |
dir | 448 | fs/namei.c | error = dir_namei(filename,&namelen,&basename, NULL, &dir); |
dir | 452 | fs/namei.c | iput(dir); |
dir | 455 | fs/namei.c | if (IS_RDONLY(dir)) { |
dir | 456 | fs/namei.c | iput(dir); |
dir | 459 | fs/namei.c | if ((error = permission(dir,MAY_WRITE | MAY_EXEC)) != 0) { |
dir | 460 | fs/namei.c | iput(dir); |
dir | 463 | fs/namei.c | if (!dir->i_op || !dir->i_op->mknod) { |
dir | 464 | fs/namei.c | iput(dir); |
dir | 467 | fs/namei.c | dir->i_count++; |
dir | 468 | fs/namei.c | down(&dir->i_sem); |
dir | 469 | fs/namei.c | error = dir->i_op->mknod(dir,basename,namelen,mode,dev); |
dir | 470 | fs/namei.c | up(&dir->i_sem); |
dir | 471 | fs/namei.c | iput(dir); |
dir | 503 | fs/namei.c | struct inode * dir; |
dir | 505 | fs/namei.c | error = dir_namei(pathname,&namelen,&basename,NULL,&dir); |
dir | 509 | fs/namei.c | iput(dir); |
dir | 512 | fs/namei.c | if (IS_RDONLY(dir)) { |
dir | 513 | fs/namei.c | iput(dir); |
dir | 516 | fs/namei.c | if ((error = permission(dir,MAY_WRITE | MAY_EXEC)) != 0) { |
dir | 517 | fs/namei.c | iput(dir); |
dir | 520 | fs/namei.c | if (!dir->i_op || !dir->i_op->mkdir) { |
dir | 521 | fs/namei.c | iput(dir); |
dir | 524 | fs/namei.c | dir->i_count++; |
dir | 525 | fs/namei.c | down(&dir->i_sem); |
dir | 526 | fs/namei.c | error = dir->i_op->mkdir(dir, basename, namelen, mode & 0777 & ~current->fs->umask); |
dir | 527 | fs/namei.c | up(&dir->i_sem); |
dir | 528 | fs/namei.c | iput(dir); |
dir | 549 | fs/namei.c | struct inode * dir; |
dir | 551 | fs/namei.c | error = dir_namei(name,&namelen,&basename,NULL,&dir); |
dir | 555 | fs/namei.c | iput(dir); |
dir | 558 | fs/namei.c | if (IS_RDONLY(dir)) { |
dir | 559 | fs/namei.c | iput(dir); |
dir | 562 | fs/namei.c | if ((error = permission(dir,MAY_WRITE | MAY_EXEC)) != 0) { |
dir | 563 | fs/namei.c | iput(dir); |
dir | 569 | fs/namei.c | if (IS_APPEND(dir)) { |
dir | 570 | fs/namei.c | iput(dir); |
dir | 573 | fs/namei.c | if (!dir->i_op || !dir->i_op->rmdir) { |
dir | 574 | fs/namei.c | iput(dir); |
dir | 577 | fs/namei.c | return dir->i_op->rmdir(dir,basename,namelen); |
dir | 597 | fs/namei.c | struct inode * dir; |
dir | 599 | fs/namei.c | error = dir_namei(name,&namelen,&basename,NULL,&dir); |
dir | 603 | fs/namei.c | iput(dir); |
dir | 606 | fs/namei.c | if (IS_RDONLY(dir)) { |
dir | 607 | fs/namei.c | iput(dir); |
dir | 610 | fs/namei.c | if ((error = permission(dir,MAY_WRITE | MAY_EXEC)) != 0) { |
dir | 611 | fs/namei.c | iput(dir); |
dir | 617 | fs/namei.c | if (IS_APPEND(dir)) { |
dir | 618 | fs/namei.c | iput(dir); |
dir | 621 | fs/namei.c | if (!dir->i_op || !dir->i_op->unlink) { |
dir | 622 | fs/namei.c | iput(dir); |
dir | 625 | fs/namei.c | return dir->i_op->unlink(dir,basename,namelen); |
dir | 643 | fs/namei.c | struct inode * dir; |
dir | 647 | fs/namei.c | error = dir_namei(newname,&namelen,&basename,NULL,&dir); |
dir | 651 | fs/namei.c | iput(dir); |
dir | 654 | fs/namei.c | if (IS_RDONLY(dir)) { |
dir | 655 | fs/namei.c | iput(dir); |
dir | 658 | fs/namei.c | if ((error = permission(dir,MAY_WRITE | MAY_EXEC)) != 0) { |
dir | 659 | fs/namei.c | iput(dir); |
dir | 662 | fs/namei.c | if (!dir->i_op || !dir->i_op->symlink) { |
dir | 663 | fs/namei.c | iput(dir); |
dir | 666 | fs/namei.c | dir->i_count++; |
dir | 667 | fs/namei.c | down(&dir->i_sem); |
dir | 668 | fs/namei.c | error = dir->i_op->symlink(dir,basename,namelen,oldname); |
dir | 669 | fs/namei.c | up(&dir->i_sem); |
dir | 670 | fs/namei.c | iput(dir); |
dir | 693 | fs/namei.c | struct inode * dir; |
dir | 697 | fs/namei.c | error = dir_namei(newname,&namelen,&basename,NULL,&dir); |
dir | 704 | fs/namei.c | iput(dir); |
dir | 707 | fs/namei.c | if (IS_RDONLY(dir)) { |
dir | 709 | fs/namei.c | iput(dir); |
dir | 712 | fs/namei.c | if (dir->i_dev != oldinode->i_dev) { |
dir | 713 | fs/namei.c | iput(dir); |
dir | 717 | fs/namei.c | if ((error = permission(dir,MAY_WRITE | MAY_EXEC)) != 0) { |
dir | 718 | fs/namei.c | iput(dir); |
dir | 726 | fs/namei.c | iput(dir); |
dir | 730 | fs/namei.c | if (!dir->i_op || !dir->i_op->link) { |
dir | 731 | fs/namei.c | iput(dir); |
dir | 735 | fs/namei.c | dir->i_count++; |
dir | 736 | fs/namei.c | down(&dir->i_sem); |
dir | 737 | fs/namei.c | error = dir->i_op->link(oldinode, dir, basename, namelen); |
dir | 738 | fs/namei.c | up(&dir->i_sem); |
dir | 739 | fs/namei.c | iput(dir); |
dir | 31 | fs/nfs/dir.c | static int nfs_lookup(struct inode *dir, const char *name, int len, |
dir | 33 | fs/nfs/dir.c | static int nfs_create(struct inode *dir, const char *name, int len, int mode, |
dir | 35 | fs/nfs/dir.c | static int nfs_mkdir(struct inode *dir, const char *name, int len, int mode); |
dir | 36 | fs/nfs/dir.c | static int nfs_rmdir(struct inode *dir, const char *name, int len); |
dir | 37 | fs/nfs/dir.c | static int nfs_unlink(struct inode *dir, const char *name, int len); |
dir | 40 | fs/nfs/dir.c | static int nfs_link(struct inode *oldinode, struct inode *dir, |
dir | 42 | fs/nfs/dir.c | static int nfs_mknod(struct inode *dir, const char *name, int len, int mode, |
dir | 190 | fs/nfs/dir.c | static struct nfs_lookup_cache_entry *nfs_lookup_cache_index(struct inode *dir, |
dir | 198 | fs/nfs/dir.c | if (entry->dev == dir->i_dev && entry->inode == dir->i_ino |
dir | 205 | fs/nfs/dir.c | static int nfs_lookup_cache_lookup(struct inode *dir, const char *filename, |
dir | 217 | fs/nfs/dir.c | if ((entry = nfs_lookup_cache_index(dir, filename))) { |
dir | 229 | fs/nfs/dir.c | static void nfs_lookup_cache_add(struct inode *dir, const char *filename, |
dir | 240 | fs/nfs/dir.c | if (!(entry = nfs_lookup_cache_index(dir, filename))) { |
dir | 245 | fs/nfs/dir.c | entry->dev = dir->i_dev; |
dir | 246 | fs/nfs/dir.c | entry->inode = dir->i_ino; |
dir | 251 | fs/nfs/dir.c | ? NFS_SERVER(dir)->acdirmax : NFS_SERVER(dir)->acregmax); |
dir | 254 | fs/nfs/dir.c | static void nfs_lookup_cache_remove(struct inode *dir, struct inode *inode, |
dir | 266 | fs/nfs/dir.c | else if ((entry = nfs_lookup_cache_index(dir, filename))) { |
dir | 294 | fs/nfs/dir.c | static int nfs_lookup(struct inode *dir, const char *__name, int len, |
dir | 303 | fs/nfs/dir.c | if (!dir || !S_ISDIR(dir->i_mode)) { |
dir | 305 | fs/nfs/dir.c | iput(dir); |
dir | 309 | fs/nfs/dir.c | iput(dir); |
dir | 315 | fs/nfs/dir.c | *result = dir; |
dir | 318 | fs/nfs/dir.c | if ((NFS_SERVER(dir)->flags & NFS_MOUNT_NOAC) |
dir | 319 | fs/nfs/dir.c | || !nfs_lookup_cache_lookup(dir, name, &fhandle, &fattr)) { |
dir | 320 | fs/nfs/dir.c | if ((error = nfs_proc_lookup(NFS_SERVER(dir), NFS_FH(dir), |
dir | 322 | fs/nfs/dir.c | iput(dir); |
dir | 325 | fs/nfs/dir.c | nfs_lookup_cache_add(dir, name, &fhandle, &fattr); |
dir | 327 | fs/nfs/dir.c | if (!(*result = nfs_fhget(dir->i_sb, &fhandle, &fattr))) { |
dir | 328 | fs/nfs/dir.c | iput(dir); |
dir | 331 | fs/nfs/dir.c | iput(dir); |
dir | 335 | fs/nfs/dir.c | static int nfs_create(struct inode *dir, const char *name, int len, int mode, |
dir | 344 | fs/nfs/dir.c | if (!dir || !S_ISDIR(dir->i_mode)) { |
dir | 346 | fs/nfs/dir.c | iput(dir); |
dir | 350 | fs/nfs/dir.c | iput(dir); |
dir | 356 | fs/nfs/dir.c | if ((error = nfs_proc_create(NFS_SERVER(dir), NFS_FH(dir), |
dir | 358 | fs/nfs/dir.c | iput(dir); |
dir | 361 | fs/nfs/dir.c | if (!(*result = nfs_fhget(dir->i_sb, &fhandle, &fattr))) { |
dir | 362 | fs/nfs/dir.c | iput(dir); |
dir | 365 | fs/nfs/dir.c | nfs_lookup_cache_add(dir, name, &fhandle, &fattr); |
dir | 366 | fs/nfs/dir.c | iput(dir); |
dir | 370 | fs/nfs/dir.c | static int nfs_mknod(struct inode *dir, const char *name, int len, |
dir | 378 | fs/nfs/dir.c | if (!dir || !S_ISDIR(dir->i_mode)) { |
dir | 380 | fs/nfs/dir.c | iput(dir); |
dir | 384 | fs/nfs/dir.c | iput(dir); |
dir | 394 | fs/nfs/dir.c | error = nfs_proc_create(NFS_SERVER(dir), NFS_FH(dir), |
dir | 397 | fs/nfs/dir.c | nfs_lookup_cache_add(dir, name, &fhandle, &fattr); |
dir | 398 | fs/nfs/dir.c | iput(dir); |
dir | 402 | fs/nfs/dir.c | static int nfs_mkdir(struct inode *dir, const char *name, int len, int mode) |
dir | 409 | fs/nfs/dir.c | if (!dir || !S_ISDIR(dir->i_mode)) { |
dir | 411 | fs/nfs/dir.c | iput(dir); |
dir | 415 | fs/nfs/dir.c | iput(dir); |
dir | 421 | fs/nfs/dir.c | error = nfs_proc_mkdir(NFS_SERVER(dir), NFS_FH(dir), |
dir | 424 | fs/nfs/dir.c | nfs_lookup_cache_add(dir, name, &fhandle, &fattr); |
dir | 425 | fs/nfs/dir.c | iput(dir); |
dir | 429 | fs/nfs/dir.c | static int nfs_rmdir(struct inode *dir, const char *name, int len) |
dir | 433 | fs/nfs/dir.c | if (!dir || !S_ISDIR(dir->i_mode)) { |
dir | 435 | fs/nfs/dir.c | iput(dir); |
dir | 439 | fs/nfs/dir.c | iput(dir); |
dir | 442 | fs/nfs/dir.c | error = nfs_proc_rmdir(NFS_SERVER(dir), NFS_FH(dir), name); |
dir | 444 | fs/nfs/dir.c | nfs_lookup_cache_remove(dir, NULL, name); |
dir | 445 | fs/nfs/dir.c | iput(dir); |
dir | 449 | fs/nfs/dir.c | static int nfs_unlink(struct inode *dir, const char *name, int len) |
dir | 453 | fs/nfs/dir.c | if (!dir || !S_ISDIR(dir->i_mode)) { |
dir | 455 | fs/nfs/dir.c | iput(dir); |
dir | 459 | fs/nfs/dir.c | iput(dir); |
dir | 462 | fs/nfs/dir.c | error = nfs_proc_remove(NFS_SERVER(dir), NFS_FH(dir), name); |
dir | 464 | fs/nfs/dir.c | nfs_lookup_cache_remove(dir, NULL, name); |
dir | 465 | fs/nfs/dir.c | iput(dir); |
dir | 469 | fs/nfs/dir.c | static int nfs_symlink(struct inode *dir, const char *name, int len, |
dir | 475 | fs/nfs/dir.c | if (!dir || !S_ISDIR(dir->i_mode)) { |
dir | 477 | fs/nfs/dir.c | iput(dir); |
dir | 481 | fs/nfs/dir.c | iput(dir); |
dir | 485 | fs/nfs/dir.c | iput(dir); |
dir | 491 | fs/nfs/dir.c | error = nfs_proc_symlink(NFS_SERVER(dir), NFS_FH(dir), |
dir | 493 | fs/nfs/dir.c | iput(dir); |
dir | 497 | fs/nfs/dir.c | static int nfs_link(struct inode *oldinode, struct inode *dir, |
dir | 505 | fs/nfs/dir.c | iput(dir); |
dir | 508 | fs/nfs/dir.c | if (!dir || !S_ISDIR(dir->i_mode)) { |
dir | 511 | fs/nfs/dir.c | iput(dir); |
dir | 516 | fs/nfs/dir.c | iput(dir); |
dir | 520 | fs/nfs/dir.c | NFS_FH(dir), name); |
dir | 522 | fs/nfs/dir.c | nfs_lookup_cache_remove(dir, oldinode, NULL); |
dir | 524 | fs/nfs/dir.c | iput(dir); |
dir | 302 | fs/nfs/proc.c | int nfs_proc_lookup(struct nfs_server *server, struct nfs_fh *dir, const char *name, |
dir | 318 | fs/nfs/proc.c | p = xdr_encode_fhandle(p, dir); |
dir | 465 | fs/nfs/proc.c | int nfs_proc_create(struct nfs_server *server, struct nfs_fh *dir, |
dir | 478 | fs/nfs/proc.c | p = xdr_encode_fhandle(p, dir); |
dir | 505 | fs/nfs/proc.c | int nfs_proc_remove(struct nfs_server *server, struct nfs_fh *dir, const char *name) |
dir | 516 | fs/nfs/proc.c | p = xdr_encode_fhandle(p, dir); |
dir | 580 | fs/nfs/proc.c | struct nfs_fh *dir, const char *name) |
dir | 592 | fs/nfs/proc.c | p = xdr_encode_fhandle(p, dir); |
dir | 616 | fs/nfs/proc.c | int nfs_proc_symlink(struct nfs_server *server, struct nfs_fh *dir, |
dir | 628 | fs/nfs/proc.c | p = xdr_encode_fhandle(p, dir); |
dir | 654 | fs/nfs/proc.c | int nfs_proc_mkdir(struct nfs_server *server, struct nfs_fh *dir, |
dir | 667 | fs/nfs/proc.c | p = xdr_encode_fhandle(p, dir); |
dir | 694 | fs/nfs/proc.c | int nfs_proc_rmdir(struct nfs_server *server, struct nfs_fh *dir, const char *name) |
dir | 705 | fs/nfs/proc.c | p = xdr_encode_fhandle(p, dir); |
dir | 50 | fs/nfs/symlink.c | static int nfs_follow_link(struct inode *dir, struct inode *inode, |
dir | 58 | fs/nfs/symlink.c | if (!dir) { |
dir | 59 | fs/nfs/symlink.c | dir = current->fs->root; |
dir | 60 | fs/nfs/symlink.c | dir->i_count++; |
dir | 63 | fs/nfs/symlink.c | iput(dir); |
dir | 67 | fs/nfs/symlink.c | iput(dir); |
dir | 73 | fs/nfs/symlink.c | iput(dir); |
dir | 80 | fs/nfs/symlink.c | iput(dir); |
dir | 92 | fs/nfs/symlink.c | error = open_namei(res2, flag, mode, res_inode, dir); |
dir | 82 | fs/proc/base.c | static int proc_lookupbase(struct inode * dir,const char * name, int len, |
dir | 89 | fs/proc/base.c | if (!dir) |
dir | 91 | fs/proc/base.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 92 | fs/proc/base.c | iput(dir); |
dir | 95 | fs/proc/base.c | ino = dir->i_ino; |
dir | 101 | fs/proc/base.c | iput(dir); |
dir | 112 | fs/proc/base.c | iput(dir); |
dir | 115 | fs/proc/base.c | if (!(*result = iget(dir->i_sb,ino))) { |
dir | 116 | fs/proc/base.c | iput(dir); |
dir | 119 | fs/proc/base.c | iput(dir); |
dir | 53 | fs/proc/fd.c | static int proc_lookupfd(struct inode * dir,const char * name, int len, |
dir | 62 | fs/proc/fd.c | ino = dir->i_ino; |
dir | 65 | fs/proc/fd.c | if (!dir) |
dir | 67 | fs/proc/fd.c | sb = dir->i_sb; |
dir | 68 | fs/proc/fd.c | if (!pid || ino != PROC_PID_FD || !S_ISDIR(dir->i_mode)) { |
dir | 69 | fs/proc/fd.c | iput(dir); |
dir | 75 | fs/proc/fd.c | *result = dir; |
dir | 79 | fs/proc/fd.c | iput(dir); |
dir | 82 | fs/proc/fd.c | iput(dir); |
dir | 85 | fs/proc/fd.c | iput(dir); |
dir | 101 | fs/proc/link.c | static int proc_follow_link(struct inode * dir, struct inode * inode, |
dir | 110 | fs/proc/link.c | if (dir) |
dir | 111 | fs/proc/link.c | iput(dir); |
dir | 153 | fs/proc/link.c | if (dir) { |
dir | 184 | fs/proc/net.c | static int proc_lookupnet(struct inode * dir,const char * name, int len, |
dir | 190 | fs/proc/net.c | if (!dir) |
dir | 192 | fs/proc/net.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 193 | fs/proc/net.c | iput(dir); |
dir | 199 | fs/proc/net.c | *result = iget(dir->i_sb, de->low_ino); |
dir | 200 | fs/proc/net.c | iput(dir); |
dir | 205 | fs/proc/net.c | iput(dir); |
dir | 87 | fs/proc/root.c | static int proc_lookuproot(struct inode * dir,const char * name, int len, |
dir | 94 | fs/proc/root.c | if (!dir) |
dir | 96 | fs/proc/root.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 97 | fs/proc/root.c | iput(dir); |
dir | 106 | fs/proc/root.c | *result = dir; |
dir | 131 | fs/proc/root.c | iput(dir); |
dir | 136 | fs/proc/root.c | if (!(*result = iget(dir->i_sb,ino))) { |
dir | 137 | fs/proc/root.c | iput(dir); |
dir | 140 | fs/proc/root.c | iput(dir); |
dir | 431 | fs/super.c | static int do_mount(dev_t dev, const char * dir, char * type, int flags, void * data) |
dir | 437 | fs/super.c | error = namei(dir,&dir_i); |
dir | 494 | fs/super.c | static int do_remount(const char *dir,int flags,char *data) |
dir | 499 | fs/super.c | retval = namei(dir,&dir_i); |
dir | 106 | fs/sysv/ialloc.c | struct inode * sysv_new_inode(const struct inode * dir) |
dir | 114 | fs/sysv/ialloc.c | if (!dir || !(inode = get_empty_inode())) |
dir | 116 | fs/sysv/ialloc.c | sb = dir->i_sb; |
dir | 159 | fs/sysv/ialloc.c | inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->fsgid; |
dir | 64 | fs/sysv/namei.c | static struct buffer_head * sysv_find_entry(struct inode * dir, |
dir | 72 | fs/sysv/namei.c | if (!dir) |
dir | 74 | fs/sysv/namei.c | sb = dir->i_sb; |
dir | 82 | fs/sysv/namei.c | while (pos < dir->i_size) { |
dir | 84 | fs/sysv/namei.c | bh = sysv_file_bread(dir,block,0); |
dir | 107 | fs/sysv/namei.c | int sysv_lookup(struct inode * dir,const char * name, int len, |
dir | 115 | fs/sysv/namei.c | if (!dir) |
dir | 117 | fs/sysv/namei.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 118 | fs/sysv/namei.c | iput(dir); |
dir | 121 | fs/sysv/namei.c | if (!(bh = sysv_find_entry(dir,name,len,&de))) { |
dir | 122 | fs/sysv/namei.c | iput(dir); |
dir | 127 | fs/sysv/namei.c | if (!(*result = iget(dir->i_sb,ino))) { |
dir | 128 | fs/sysv/namei.c | iput(dir); |
dir | 131 | fs/sysv/namei.c | iput(dir); |
dir | 145 | fs/sysv/namei.c | static int sysv_add_entry(struct inode * dir, |
dir | 158 | fs/sysv/namei.c | if (!dir) |
dir | 160 | fs/sysv/namei.c | sb = dir->i_sb; |
dir | 172 | fs/sysv/namei.c | bh = sysv_file_bread(dir,block,1); |
dir | 179 | fs/sysv/namei.c | if (pos > dir->i_size) { |
dir | 181 | fs/sysv/namei.c | dir->i_size = pos; |
dir | 182 | fs/sysv/namei.c | dir->i_dirt = 1; |
dir | 190 | fs/sysv/namei.c | dir->i_mtime = dir->i_ctime = CURRENT_TIME; |
dir | 191 | fs/sysv/namei.c | dir->i_dirt = 1; |
dir | 208 | fs/sysv/namei.c | int sysv_create(struct inode * dir,const char * name, int len, int mode, |
dir | 217 | fs/sysv/namei.c | if (!dir) |
dir | 219 | fs/sysv/namei.c | inode = sysv_new_inode(dir); |
dir | 221 | fs/sysv/namei.c | iput(dir); |
dir | 227 | fs/sysv/namei.c | error = sysv_add_entry(dir,name,len, &bh ,&de); |
dir | 232 | fs/sysv/namei.c | iput(dir); |
dir | 238 | fs/sysv/namei.c | iput(dir); |
dir | 243 | fs/sysv/namei.c | int sysv_mknod(struct inode * dir, const char * name, int len, int mode, int rdev) |
dir | 250 | fs/sysv/namei.c | if (!dir) |
dir | 252 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
dir | 255 | fs/sysv/namei.c | iput(dir); |
dir | 258 | fs/sysv/namei.c | inode = sysv_new_inode(dir); |
dir | 260 | fs/sysv/namei.c | iput(dir); |
dir | 270 | fs/sysv/namei.c | if (dir->i_mode & S_ISGID) |
dir | 284 | fs/sysv/namei.c | error = sysv_add_entry(dir, name, len, &bh, &de); |
dir | 289 | fs/sysv/namei.c | iput(dir); |
dir | 295 | fs/sysv/namei.c | iput(dir); |
dir | 300 | fs/sysv/namei.c | int sysv_mkdir(struct inode * dir, const char * name, int len, int mode) |
dir | 307 | fs/sysv/namei.c | if (!dir) { |
dir | 308 | fs/sysv/namei.c | iput(dir); |
dir | 311 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
dir | 314 | fs/sysv/namei.c | iput(dir); |
dir | 317 | fs/sysv/namei.c | if (dir->i_nlink >= dir->i_sb->sv_link_max) { |
dir | 318 | fs/sysv/namei.c | iput(dir); |
dir | 321 | fs/sysv/namei.c | inode = sysv_new_inode(dir); |
dir | 323 | fs/sysv/namei.c | iput(dir); |
dir | 330 | fs/sysv/namei.c | iput(dir); |
dir | 340 | fs/sysv/namei.c | de->inode = dir->i_ino; |
dir | 346 | fs/sysv/namei.c | if (dir->i_mode & S_ISGID) |
dir | 349 | fs/sysv/namei.c | error = sysv_add_entry(dir, name, len, &bh, &de); |
dir | 351 | fs/sysv/namei.c | iput(dir); |
dir | 358 | fs/sysv/namei.c | dir->i_nlink++; |
dir | 359 | fs/sysv/namei.c | dir->i_dirt = 1; |
dir | 360 | fs/sysv/namei.c | iput(dir); |
dir | 425 | fs/sysv/namei.c | int sysv_rmdir(struct inode * dir, const char * name, int len) |
dir | 433 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
dir | 438 | fs/sysv/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
dir | 440 | fs/sysv/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 442 | fs/sysv/namei.c | current->fsuid != dir->i_uid) |
dir | 444 | fs/sysv/namei.c | if (inode->i_dev != dir->i_dev) |
dir | 446 | fs/sysv/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
dir | 470 | fs/sysv/namei.c | dir->i_nlink--; |
dir | 471 | fs/sysv/namei.c | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 472 | fs/sysv/namei.c | dir->i_dirt=1; |
dir | 475 | fs/sysv/namei.c | iput(dir); |
dir | 481 | fs/sysv/namei.c | int sysv_unlink(struct inode * dir, const char * name, int len) |
dir | 491 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
dir | 494 | fs/sysv/namei.c | if (!(inode = iget(dir->i_sb, de->inode))) |
dir | 506 | fs/sysv/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 508 | fs/sysv/namei.c | current->fsuid != dir->i_uid) |
dir | 521 | fs/sysv/namei.c | dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 522 | fs/sysv/namei.c | dir->i_dirt = 1; |
dir | 524 | fs/sysv/namei.c | inode->i_ctime = dir->i_ctime; |
dir | 530 | fs/sysv/namei.c | iput(dir); |
dir | 534 | fs/sysv/namei.c | int sysv_symlink(struct inode * dir, const char * name, int len, const char * symname) |
dir | 545 | fs/sysv/namei.c | if (!(inode = sysv_new_inode(dir))) { |
dir | 546 | fs/sysv/namei.c | iput(dir); |
dir | 553 | fs/sysv/namei.c | iput(dir); |
dir | 569 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
dir | 575 | fs/sysv/namei.c | iput(dir); |
dir | 578 | fs/sysv/namei.c | i = sysv_add_entry(dir, name, len, &bh, &de); |
dir | 583 | fs/sysv/namei.c | iput(dir); |
dir | 589 | fs/sysv/namei.c | iput(dir); |
dir | 594 | fs/sysv/namei.c | int sysv_link(struct inode * oldinode, struct inode * dir, const char * name, int len) |
dir | 602 | fs/sysv/namei.c | iput(dir); |
dir | 607 | fs/sysv/namei.c | iput(dir); |
dir | 610 | fs/sysv/namei.c | bh = sysv_find_entry(dir,name,len,&de); |
dir | 613 | fs/sysv/namei.c | iput(dir); |
dir | 617 | fs/sysv/namei.c | error = sysv_add_entry(dir, name, len, &bh, &de); |
dir | 619 | fs/sysv/namei.c | iput(dir); |
dir | 626 | fs/sysv/namei.c | iput(dir); |
dir | 51 | fs/sysv/symlink.c | static int sysv_follow_link(struct inode * dir, struct inode * inode, |
dir | 58 | fs/sysv/symlink.c | if (!dir) { |
dir | 59 | fs/sysv/symlink.c | dir = current->fs->root; |
dir | 60 | fs/sysv/symlink.c | dir->i_count++; |
dir | 63 | fs/sysv/symlink.c | iput(dir); |
dir | 67 | fs/sysv/symlink.c | iput(dir); |
dir | 73 | fs/sysv/symlink.c | iput(dir); |
dir | 78 | fs/sysv/symlink.c | iput(dir); |
dir | 83 | fs/sysv/symlink.c | error = open_namei(bh->b_data,flag,mode,res_inode,dir); |
dir | 53 | fs/umsdos/dir.c | struct inode *dir, /* Point to a description of the super block */ |
dir | 64 | fs/umsdos/dir.c | umsdos_startlookup(dir); |
dir | 66 | fs/umsdos/dir.c | && dir == pseudo_root |
dir | 78 | fs/umsdos/dir.c | put_fs_long(dir->i_sb->s_mounted->i_ino,&dirent->d_ino); |
dir | 86 | fs/umsdos/dir.c | || (dir != dir->i_sb->s_mounted && filp->f_pos == 32)){ |
dir | 120 | fs/umsdos/dir.c | ret = msdos_readdir(dir,filp,dirent,count); |
dir | 124 | fs/umsdos/dir.c | struct inode *emd_dir = umsdos_emd_dir_lookup(dir,0); |
dir | 161 | fs/umsdos/dir.c | lret = umsdos_real_lookup (dir,info.fake.fname |
dir | 213 | fs/umsdos/dir.c | ret = umsdos_writeentry (dir,emd_dir,&info,1); |
dir | 223 | fs/umsdos/dir.c | umsdos_endlookup(dir); |
dir | 224 | fs/umsdos/dir.c | PRINTK (("read dir %p pos %d ret %d\n",dir,filp->f_pos,ret)); |
dir | 233 | fs/umsdos/dir.c | struct inode *dir, /* Point to a description of the super block */ |
dir | 242 | fs/umsdos/dir.c | ret = umsdos_readdir_x (dir,filp,dirent,1,count,&entry,1,&f_pos); |
dir | 251 | fs/umsdos/dir.c | struct inode *dir, |
dir | 285 | fs/umsdos/dir.c | if (inode->i_sb == dir->i_sb && !umsdos_isinit(inode)){ |
dir | 328 | fs/umsdos/dir.c | umsdos_patch_inode(inode,dir,emd_pos); |
dir | 342 | fs/umsdos/dir.c | struct inode *dir, |
dir | 356 | fs/umsdos/dir.c | struct inode *emddir = umsdos_emd_dir_lookup(dir,0); |
dir | 365 | fs/umsdos/dir.c | if (umsdos_readdir_kmem (dir,&filp,&dirent,1) <= 0){ |
dir | 373 | fs/umsdos/dir.c | inode->u.umsdos_i.i_dir_owner = dir->i_ino; |
dir | 387 | fs/umsdos/dir.c | if (umsdos_readdir_x(dir,&filp,&dirent |
dir | 394 | fs/umsdos/dir.c | umsdos_lookup_patch (dir,inode,entry,f_pos); |
dir | 407 | fs/umsdos/dir.c | struct inode *dir, |
dir | 412 | fs/umsdos/dir.c | umsdos_patch_inode (dir,NULL,0); |
dir | 413 | fs/umsdos/dir.c | ret = umsdos_real_lookup (dir,"..",2,result); |
dir | 417 | fs/umsdos/dir.c | ret = umsdos_inode2entry (adir,dir,entry); |
dir | 433 | fs/umsdos/dir.c | struct inode *dir = inode; |
dir | 443 | fs/umsdos/dir.c | ret = umsdos_get_dirowner (inode,&dir); |
dir | 446 | fs/umsdos/dir.c | ret = umsdos_inode2entry (dir,inode,&entry); |
dir | 454 | fs/umsdos/dir.c | dir->i_count++; |
dir | 457 | fs/umsdos/dir.c | while (dir != dir->i_sb->s_mounted){ |
dir | 459 | fs/umsdos/dir.c | ret = umsdos_locate_ancestor (dir,&adir,&entry); |
dir | 460 | fs/umsdos/dir.c | iput (dir); |
dir | 461 | fs/umsdos/dir.c | dir = NULL; |
dir | 467 | fs/umsdos/dir.c | dir = adir; |
dir | 478 | fs/umsdos/dir.c | iput (dir); |
dir | 486 | fs/umsdos/dir.c | struct inode *dir, |
dir | 497 | fs/umsdos/dir.c | return dir == pseudo_root |
dir | 506 | fs/umsdos/dir.c | struct inode *dir, |
dir | 514 | fs/umsdos/dir.c | umsdos_startlookup(dir); |
dir | 516 | fs/umsdos/dir.c | *result = dir; |
dir | 517 | fs/umsdos/dir.c | dir->i_count++; |
dir | 520 | fs/umsdos/dir.c | if (pseudo_root != NULL && dir == pseudo_root->i_sb->s_mounted){ |
dir | 540 | fs/umsdos/dir.c | ret = umsdos_real_lookup (dir,"..",2,result); |
dir | 541 | fs/umsdos/dir.c | PRINTK (("ancestor ret %d dir %p *result %p ",ret,dir,*result)); |
dir | 543 | fs/umsdos/dir.c | && *result != dir->i_sb->s_mounted |
dir | 551 | fs/umsdos/dir.c | }else if (umsdos_is_pseudodos(dir,name,len)){ |
dir | 556 | fs/umsdos/dir.c | *result = dir->i_sb->s_mounted; |
dir | 562 | fs/umsdos/dir.c | if (ret == 0) ret = umsdos_findentry (dir,&info,0); |
dir | 576 | fs/umsdos/dir.c | ret = umsdos_real_lookup (dir,info.fake.fname,info.fake.len,result); |
dir | 581 | fs/umsdos/dir.c | umsdos_delentry (dir,&info,S_ISDIR(info.entry.mode)); |
dir | 583 | fs/umsdos/dir.c | umsdos_lookup_patch (dir,inode,&info.entry,info.f_pos); |
dir | 606 | fs/umsdos/dir.c | umsdos_endlookup(dir); |
dir | 607 | fs/umsdos/dir.c | iput (dir); |
dir | 615 | fs/umsdos/dir.c | struct inode *dir, |
dir | 620 | fs/umsdos/dir.c | return umsdos_lookup_x(dir,name,len,result,0); |
dir | 641 | fs/umsdos/dir.c | struct inode *dir; |
dir | 643 | fs/umsdos/dir.c | dir = hlink->i_sb->s_mounted; |
dir | 646 | fs/umsdos/dir.c | dir->i_count++; |
dir | 653 | fs/umsdos/dir.c | if (dir->u.umsdos_i.i_emd_dir == 0){ |
dir | 655 | fs/umsdos/dir.c | ret = umsdos_rlookup_x(dir,start,len,result,1); |
dir | 657 | fs/umsdos/dir.c | ret = umsdos_lookup_x(dir,start,len,result,1); |
dir | 661 | fs/umsdos/dir.c | dir = *result; |
dir | 116 | fs/umsdos/emd.c | struct inode *umsdos_emd_dir_lookup(struct inode *dir, int creat) |
dir | 119 | fs/umsdos/emd.c | if (dir->u.umsdos_i.i_emd_dir != 0){ |
dir | 120 | fs/umsdos/emd.c | ret = iget (dir->i_sb,dir->u.umsdos_i.i_emd_dir); |
dir | 122 | fs/umsdos/emd.c | ,dir->u.umsdos_i.i_emd_dir,ret,ret->i_count)); |
dir | 124 | fs/umsdos/emd.c | umsdos_real_lookup (dir,UMSDOS_EMD_FILE,UMSDOS_EMD_NAMELEN,&ret); |
dir | 128 | fs/umsdos/emd.c | dir->u.umsdos_i.i_emd_dir = ret->i_ino; |
dir | 132 | fs/umsdos/emd.c | dir->i_count++; |
dir | 133 | fs/umsdos/emd.c | code = msdos_create (dir,UMSDOS_EMD_FILE,UMSDOS_EMD_NAMELEN |
dir | 137 | fs/umsdos/emd.c | dir->u.umsdos_i.i_emd_dir = ret->i_ino; |
dir | 177 | fs/umsdos/emd.c | struct inode *dir, |
dir | 212 | fs/umsdos/emd.c | dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 213 | fs/umsdos/emd.c | dir->i_dirt = 1; |
dir | 280 | fs/umsdos/emd.c | struct inode *dir, |
dir | 292 | fs/umsdos/emd.c | struct inode *emd_dir = umsdos_emd_dir_lookup(dir,1); |
dir | 380 | fs/umsdos/emd.c | struct inode *dir, |
dir | 384 | fs/umsdos/emd.c | int ret = umsdos_find (dir,info,&emd_dir); |
dir | 388 | fs/umsdos/emd.c | ret = umsdos_writeentry(dir,emd_dir,info,0); |
dir | 399 | fs/umsdos/emd.c | struct inode *dir, |
dir | 406 | fs/umsdos/emd.c | ret = umsdos_find (dir,info,&emd_dir); |
dir | 427 | fs/umsdos/emd.c | struct inode *dir, |
dir | 432 | fs/umsdos/emd.c | int ret = umsdos_find (dir,info,&emd_dir); |
dir | 442 | fs/umsdos/emd.c | ret = umsdos_writeentry(dir,emd_dir,info,1); |
dir | 457 | fs/umsdos/emd.c | int umsdos_isempty (struct inode *dir) |
dir | 460 | fs/umsdos/emd.c | struct inode *emd_dir = umsdos_emd_dir_lookup(dir,0); |
dir | 489 | fs/umsdos/emd.c | struct inode *dir, |
dir | 496 | fs/umsdos/emd.c | int ret = umsdos_find (dir,info,&emd_dir); |
dir | 75 | fs/umsdos/inode.c | struct inode *dir, |
dir | 81 | fs/umsdos/inode.c | dir->i_count++; |
dir | 82 | fs/umsdos/inode.c | ret = msdos_lookup (dir,name,len,result); |
dir | 108 | fs/umsdos/inode.c | struct inode *dir, |
dir | 111 | fs/umsdos/inode.c | struct inode *emd_owner = umsdos_emd_dir_lookup(dir,1); |
dir | 112 | fs/umsdos/inode.c | inode->u.umsdos_i.i_dir_owner = dir->i_ino; |
dir | 136 | fs/umsdos/inode.c | struct inode *dir, /* May be NULL */ |
dir | 164 | fs/umsdos/inode.c | if (dir != NULL){ |
dir | 176 | fs/umsdos/inode.c | if (dir != NULL){ |
dir | 187 | fs/umsdos/inode.c | umsdos_set_dirinfo (inode,dir,f_pos); |
dir | 189 | fs/umsdos/inode.c | }else if (dir != NULL){ |
dir | 194 | fs/umsdos/inode.c | struct inode *emd_owner = umsdos_emd_dir_lookup(dir,1); |
dir | 217 | fs/umsdos/inode.c | struct inode *dir = *result = iget(inode->i_sb,ino); |
dir | 218 | fs/umsdos/inode.c | if (dir != NULL){ |
dir | 219 | fs/umsdos/inode.c | umsdos_patch_inode (dir,NULL,0); |
dir | 27 | fs/umsdos/ioctl.c | struct inode *dir, |
dir | 83 | fs/umsdos/ioctl.c | ret = msdos_readdir(dir,filp,&idata->dos_dirent,1); |
dir | 96 | fs/umsdos/ioctl.c | struct inode *emd_dir = umsdos_emd_dir_lookup (dir,0); |
dir | 140 | fs/umsdos/ioctl.c | struct inode *emd_dir = umsdos_emd_dir_lookup (dir,1); |
dir | 144 | fs/umsdos/ioctl.c | dir->i_op = ret |
dir | 166 | fs/umsdos/ioctl.c | ret = umsdos_newentry (dir,&info); |
dir | 177 | fs/umsdos/ioctl.c | dir->i_count += 2; |
dir | 178 | fs/umsdos/ioctl.c | ret = msdos_rename (dir |
dir | 180 | fs/umsdos/ioctl.c | ,dir |
dir | 198 | fs/umsdos/ioctl.c | ret = umsdos_delentry (dir,&info |
dir | 208 | fs/umsdos/ioctl.c | dir->i_count++; |
dir | 209 | fs/umsdos/ioctl.c | ret = msdos_unlink (dir,data.dos_dirent.d_name |
dir | 219 | fs/umsdos/ioctl.c | dir->i_count++; |
dir | 220 | fs/umsdos/ioctl.c | ret = msdos_rmdir (dir,data.dos_dirent.d_name |
dir | 234 | fs/umsdos/ioctl.c | ret = umsdos_real_lookup (dir,data.dos_dirent.d_name |
dir | 266 | fs/umsdos/ioctl.c | dir->i_sb->u.msdos_sb.fs_uid = data.umsdos_dirent.uid; |
dir | 267 | fs/umsdos/ioctl.c | dir->i_sb->u.msdos_sb.fs_gid = data.umsdos_dirent.gid; |
dir | 268 | fs/umsdos/ioctl.c | dir->i_sb->u.msdos_sb.fs_umask = data.umsdos_dirent.mode; |
dir | 35 | fs/umsdos/namei.c | static int umsdos_waitcreate(struct inode *dir) |
dir | 38 | fs/umsdos/namei.c | if (dir->u.umsdos_i.u.dir_info.creating |
dir | 39 | fs/umsdos/namei.c | && dir->u.umsdos_i.u.dir_info.pid != current->pid){ |
dir | 40 | fs/umsdos/namei.c | sleep_on(&dir->u.umsdos_i.u.dir_info.p); |
dir | 48 | fs/umsdos/namei.c | static void umsdos_waitlookup (struct inode *dir) |
dir | 50 | fs/umsdos/namei.c | while (dir->u.umsdos_i.u.dir_info.looking){ |
dir | 51 | fs/umsdos/namei.c | sleep_on(&dir->u.umsdos_i.u.dir_info.p); |
dir | 57 | fs/umsdos/namei.c | void umsdos_lockcreate (struct inode *dir) |
dir | 91 | fs/umsdos/namei.c | while (umsdos_waitcreate(dir)!=0); |
dir | 92 | fs/umsdos/namei.c | dir->u.umsdos_i.u.dir_info.creating++; |
dir | 93 | fs/umsdos/namei.c | dir->u.umsdos_i.u.dir_info.pid = current->pid; |
dir | 94 | fs/umsdos/namei.c | umsdos_waitlookup (dir); |
dir | 124 | fs/umsdos/namei.c | void umsdos_startlookup (struct inode *dir) |
dir | 126 | fs/umsdos/namei.c | while (umsdos_waitcreate (dir) != 0); |
dir | 127 | fs/umsdos/namei.c | dir->u.umsdos_i.u.dir_info.looking++; |
dir | 134 | fs/umsdos/namei.c | void umsdos_unlockcreate (struct inode *dir) |
dir | 136 | fs/umsdos/namei.c | dir->u.umsdos_i.u.dir_info.creating--; |
dir | 137 | fs/umsdos/namei.c | if (dir->u.umsdos_i.u.dir_info.creating < 0){ |
dir | 139 | fs/umsdos/namei.c | ,dir->u.umsdos_i.u.dir_info.creating); |
dir | 141 | fs/umsdos/namei.c | wake_up (&dir->u.umsdos_i.u.dir_info.p); |
dir | 146 | fs/umsdos/namei.c | void umsdos_endlookup (struct inode *dir) |
dir | 148 | fs/umsdos/namei.c | dir->u.umsdos_i.u.dir_info.looking--; |
dir | 149 | fs/umsdos/namei.c | if (dir->u.umsdos_i.u.dir_info.looking < 0){ |
dir | 151 | fs/umsdos/namei.c | ,dir->u.umsdos_i.u.dir_info.looking); |
dir | 153 | fs/umsdos/namei.c | wake_up (&dir->u.umsdos_i.u.dir_info.p); |
dir | 156 | fs/umsdos/namei.c | static void umsdos_lockcreate (struct inode *dir){} |
dir | 158 | fs/umsdos/namei.c | void umsdos_startlookup (struct inode *dir){} |
dir | 159 | fs/umsdos/namei.c | static void umsdos_unlockcreate (struct inode *dir){} |
dir | 160 | fs/umsdos/namei.c | void umsdos_endlookup (struct inode *dir){} |
dir | 163 | fs/umsdos/namei.c | struct inode *dir, |
dir | 169 | fs/umsdos/namei.c | if (umsdos_is_pseudodos(dir,name,len)){ |
dir | 204 | fs/umsdos/namei.c | struct inode *dir, |
dir | 214 | fs/umsdos/namei.c | int ret = umsdos_nevercreat(dir,name,len,-EEXIST); |
dir | 224 | fs/umsdos/namei.c | info.entry.gid = (dir->i_mode & S_ISGID) |
dir | 225 | fs/umsdos/namei.c | ? dir->i_gid : current->fsgid; |
dir | 229 | fs/umsdos/namei.c | umsdos_lockcreate(dir); |
dir | 230 | fs/umsdos/namei.c | ret = umsdos_newentry (dir,&info); |
dir | 232 | fs/umsdos/namei.c | dir->i_count++; |
dir | 233 | fs/umsdos/namei.c | ret = msdos_create (dir,info.fake.fname,info.fake.len |
dir | 237 | fs/umsdos/namei.c | umsdos_lookup_patch (dir,inode,&info.entry,info.f_pos); |
dir | 239 | fs/umsdos/namei.c | PRINTK (("Creation OK: [%d] %s %d pos %d\n",dir->i_ino |
dir | 266 | fs/umsdos/namei.c | "deleting %s %d %d pos %ld\n",dir->i_ino |
dir | 269 | fs/umsdos/namei.c | umsdos_delentry (dir,&info,0); |
dir | 274 | fs/umsdos/namei.c | umsdos_unlockcreate(dir); |
dir | 277 | fs/umsdos/namei.c | iput (dir); |
dir | 425 | fs/umsdos/namei.c | struct inode * dir, |
dir | 444 | fs/umsdos/namei.c | dir->i_count++; /* We keep the inode in case we need it */ |
dir | 446 | fs/umsdos/namei.c | ret = umsdos_create_any (dir,name,len,mode,0,flags,&inode); |
dir | 465 | fs/umsdos/namei.c | UMSDOS_unlink (dir,name,len); |
dir | 466 | fs/umsdos/namei.c | dir = NULL; |
dir | 469 | fs/umsdos/namei.c | iput (dir); |
dir | 478 | fs/umsdos/namei.c | struct inode * dir, |
dir | 483 | fs/umsdos/namei.c | return umsdos_symlink_x (dir,name,len,symname,S_IFLNK|0777,0); |
dir | 490 | fs/umsdos/namei.c | struct inode * dir, |
dir | 571 | fs/umsdos/namei.c | }else if ((ret = umsdos_nevercreat(dir,name,len,-EPERM))==0){ |
dir | 578 | fs/umsdos/namei.c | umsdos_lockcreate2(dir,olddir); |
dir | 620 | fs/umsdos/namei.c | dir->i_count++; |
dir | 621 | fs/umsdos/namei.c | ret = umsdos_symlink_x (dir,name,len |
dir | 637 | fs/umsdos/namei.c | dir->i_count++; |
dir | 638 | fs/umsdos/namei.c | ret = umsdos_symlink_x (dir,name,len,path |
dir | 646 | fs/umsdos/namei.c | umsdos_unlockcreate(dir); |
dir | 657 | fs/umsdos/namei.c | iput (dir); |
dir | 669 | fs/umsdos/namei.c | struct inode *dir, |
dir | 676 | fs/umsdos/namei.c | return umsdos_create_any (dir,name,len,mode,0,0,result); |
dir | 682 | fs/umsdos/namei.c | struct inode * dir, |
dir | 687 | fs/umsdos/namei.c | int ret = umsdos_nevercreat(dir,name,len,-EEXIST); |
dir | 696 | fs/umsdos/namei.c | info.entry.gid = (dir->i_mode & S_ISGID) |
dir | 697 | fs/umsdos/namei.c | ? dir->i_gid : current->fsgid; |
dir | 701 | fs/umsdos/namei.c | umsdos_lockcreate(dir); |
dir | 703 | fs/umsdos/namei.c | ret = umsdos_newentry (dir,&info); |
dir | 706 | fs/umsdos/namei.c | dir->i_count++; |
dir | 707 | fs/umsdos/namei.c | ret = msdos_mkdir (dir,info.fake.fname,info.fake.len,mode); |
dir | 709 | fs/umsdos/namei.c | umsdos_delentry (dir,&info,1); |
dir | 722 | fs/umsdos/namei.c | ret = umsdos_real_lookup (dir,info.fake.fname |
dir | 737 | fs/umsdos/namei.c | umsdos_unlockcreate(dir); |
dir | 741 | fs/umsdos/namei.c | iput (dir); |
dir | 748 | fs/umsdos/namei.c | struct inode * dir, |
dir | 769 | fs/umsdos/namei.c | int ret = umsdos_create_any (dir,name,len,mode,rdev,0,&inode); |
dir | 778 | fs/umsdos/namei.c | struct inode * dir, |
dir | 869 | fs/umsdos/namei.c | int ret = umsdos_nevercreat(dir,name,len,-EPERM); |
dir | 872 | fs/umsdos/namei.c | dir->i_count++; |
dir | 873 | fs/umsdos/namei.c | ret = UMSDOS_lookup (dir,name,len,&sdir); |
dir | 877 | fs/umsdos/namei.c | umsdos_lockcreate(dir); |
dir | 883 | fs/umsdos/namei.c | if ( !(dir->i_mode & S_ISVTX) || fsuser() || |
dir | 885 | fs/umsdos/namei.c | current->fsuid == dir->i_uid ) { |
dir | 895 | fs/umsdos/namei.c | PRINTK (("isempty ret %d nlink %d ",ret,dir->i_nlink)); |
dir | 898 | fs/umsdos/namei.c | dir->i_count++; |
dir | 902 | fs/umsdos/namei.c | umsdos_findentry (dir,&info,2); |
dir | 903 | fs/umsdos/namei.c | ret = msdos_rmdir (dir,info.fake.fname |
dir | 906 | fs/umsdos/namei.c | ret = umsdos_delentry (dir,&info,1); |
dir | 921 | fs/umsdos/namei.c | umsdos_unlockcreate(dir); |
dir | 924 | fs/umsdos/namei.c | iput (dir); |
dir | 932 | fs/umsdos/namei.c | struct inode * dir, |
dir | 936 | fs/umsdos/namei.c | int ret = umsdos_nevercreat(dir,name,len,-EPERM); |
dir | 941 | fs/umsdos/namei.c | umsdos_lockcreate(dir); |
dir | 942 | fs/umsdos/namei.c | ret = umsdos_findentry(dir,&info,1); |
dir | 946 | fs/umsdos/namei.c | if ( !(dir->i_mode & S_ISVTX) || fsuser() || |
dir | 948 | fs/umsdos/namei.c | current->fsuid == dir->i_uid ) { |
dir | 963 | fs/umsdos/namei.c | dir->i_count++; |
dir | 964 | fs/umsdos/namei.c | ret = UMSDOS_lookup (dir,name,len,&inode); |
dir | 988 | fs/umsdos/namei.c | ret = umsdos_delentry (dir,&info,0); |
dir | 991 | fs/umsdos/namei.c | dir->i_count++; |
dir | 992 | fs/umsdos/namei.c | ret = msdos_unlink_umsdos (dir,info.fake.fname |
dir | 1004 | fs/umsdos/namei.c | umsdos_unlockcreate(dir); |
dir | 1007 | fs/umsdos/namei.c | iput (dir); |
dir | 32 | fs/umsdos/rdir.c | struct inode *dir, |
dir | 40 | fs/umsdos/rdir.c | ret = msdos_readdir(dir,filp,dirent,count); |
dir | 44 | fs/umsdos/rdir.c | && dir->i_sb->s_mounted == pseudo_root->i_sb->s_mounted){ |
dir | 55 | fs/umsdos/rdir.c | && dir == dir->i_sb->s_mounted |
dir | 56 | fs/umsdos/rdir.c | && dir == pseudo_root->i_sb->s_mounted){ |
dir | 75 | fs/umsdos/rdir.c | struct inode *dir, |
dir | 87 | fs/umsdos/rdir.c | && dir == dir->i_sb->s_mounted |
dir | 88 | fs/umsdos/rdir.c | && dir == pseudo_root->i_sb->s_mounted){ |
dir | 97 | fs/umsdos/rdir.c | ret = umsdos_real_lookup (dir,name,len,result); |
dir | 115 | fs/umsdos/rdir.c | iput (dir); |
dir | 119 | fs/umsdos/rdir.c | struct inode *dir, |
dir | 124 | fs/umsdos/rdir.c | return umsdos_rlookup_x(dir,name,len,result,0); |
dir | 128 | fs/umsdos/rdir.c | struct inode *dir, |
dir | 147 | fs/umsdos/rdir.c | if (umsdos_is_pseudodos(dir,name,len)){ |
dir | 158 | fs/umsdos/rdir.c | umsdos_lockcreate (dir); |
dir | 159 | fs/umsdos/rdir.c | dir->i_count++; |
dir | 160 | fs/umsdos/rdir.c | ret = msdos_rmdir (dir,name,len); |
dir | 163 | fs/umsdos/rdir.c | dir->i_count++; |
dir | 164 | fs/umsdos/rdir.c | ret = UMSDOS_rlookup (dir,name,len,&sdir); |
dir | 182 | fs/umsdos/rdir.c | dir->i_count++; |
dir | 183 | fs/umsdos/rdir.c | ret = msdos_rmdir (dir,name,len); |
dir | 192 | fs/umsdos/rdir.c | umsdos_unlockcreate (dir); |
dir | 194 | fs/umsdos/rdir.c | iput (dir); |
dir | 54 | fs/umsdos/symlink.c | struct inode * dir, |
dir | 67 | fs/umsdos/symlink.c | if (!dir) { |
dir | 68 | fs/umsdos/symlink.c | dir = current->fs[1].root; |
dir | 69 | fs/umsdos/symlink.c | dir->i_count++; |
dir | 88 | fs/umsdos/symlink.c | ret = open_namei(path,flag,mode,res_inode,dir); |
dir | 90 | fs/umsdos/symlink.c | dir = NULL; |
dir | 99 | fs/umsdos/symlink.c | iput(dir); |
dir | 309 | fs/xiafs/bitmap.c | struct inode * xiafs_new_inode(struct inode * dir) |
dir | 315 | fs/xiafs/bitmap.c | sb = dir->i_sb; |
dir | 316 | fs/xiafs/bitmap.c | if (!dir || !(inode = get_empty_inode())) |
dir | 321 | fs/xiafs/bitmap.c | tmp=get_free_ibit(sb, dir->i_ino); |
dir | 330 | fs/xiafs/bitmap.c | inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->fsgid; |
dir | 119 | fs/xiafs/namei.c | int xiafs_lookup(struct inode * dir, const char * name, int len, |
dir | 127 | fs/xiafs/namei.c | if (!dir) |
dir | 129 | fs/xiafs/namei.c | if (!S_ISDIR(dir->i_mode)) { |
dir | 130 | fs/xiafs/namei.c | iput(dir); |
dir | 133 | fs/xiafs/namei.c | if (!(bh = xiafs_find_entry(dir, name, len, &dep, NULL))) { |
dir | 134 | fs/xiafs/namei.c | iput(dir); |
dir | 139 | fs/xiafs/namei.c | if (!(*result = iget(dir->i_sb, ino))) { |
dir | 140 | fs/xiafs/namei.c | iput(dir); |
dir | 143 | fs/xiafs/namei.c | iput(dir); |
dir | 157 | fs/xiafs/namei.c | static struct buffer_head * xiafs_add_entry(struct inode * dir, |
dir | 166 | fs/xiafs/namei.c | if (!dir || !namelen || namelen > _XIAFS_NAME_LEN) |
dir | 169 | fs/xiafs/namei.c | if (dir->i_size & (XIAFS_ZSIZE(dir->i_sb) - 1)) { |
dir | 175 | fs/xiafs/namei.c | bh = xiafs_bread(dir, pos >> XIAFS_ZSIZE_BITS(dir->i_sb), pos ? 1:0); |
dir | 190 | fs/xiafs/namei.c | while (offset < XIAFS_ZSIZE(dir->i_sb)) { |
dir | 191 | fs/xiafs/namei.c | if (pos >= dir->i_size) { |
dir | 195 | fs/xiafs/namei.c | de->d_rec_len=XIAFS_ZSIZE(dir->i_sb); |
dir | 196 | fs/xiafs/namei.c | dir->i_size += XIAFS_ZSIZE(dir->i_sb); |
dir | 197 | fs/xiafs/namei.c | dir->i_dirt = 1; |
dir | 199 | fs/xiafs/namei.c | if (de->d_ino > dir->i_sb->u.xiafs_sb.s_ninodes || |
dir | 201 | fs/xiafs/namei.c | (char *)de+de->d_rec_len > bh->b_data+XIAFS_ZSIZE(dir->i_sb) || |
dir | 223 | fs/xiafs/namei.c | dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 224 | fs/xiafs/namei.c | dir->i_dirt = 1; |
dir | 239 | fs/xiafs/namei.c | if (offset > XIAFS_ZSIZE(dir->i_sb)) { |
dir | 243 | fs/xiafs/namei.c | pos+=XIAFS_ZSIZE(dir->i_sb); |
dir | 248 | fs/xiafs/namei.c | int xiafs_create(struct inode * dir, const char * name, int len, int mode, |
dir | 256 | fs/xiafs/namei.c | if (!dir) |
dir | 258 | fs/xiafs/namei.c | inode = xiafs_new_inode(dir); |
dir | 260 | fs/xiafs/namei.c | iput(dir); |
dir | 266 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
dir | 271 | fs/xiafs/namei.c | iput(dir); |
dir | 277 | fs/xiafs/namei.c | iput(dir); |
dir | 282 | fs/xiafs/namei.c | int xiafs_mknod(struct inode *dir, const char *name, int len, int mode, int rdev) |
dir | 288 | fs/xiafs/namei.c | if (!dir) |
dir | 290 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir,name,len,&de, NULL); |
dir | 293 | fs/xiafs/namei.c | iput(dir); |
dir | 296 | fs/xiafs/namei.c | inode = xiafs_new_inode(dir); |
dir | 298 | fs/xiafs/namei.c | iput(dir); |
dir | 308 | fs/xiafs/namei.c | if (dir->i_mode & S_ISGID) |
dir | 323 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
dir | 328 | fs/xiafs/namei.c | iput(dir); |
dir | 334 | fs/xiafs/namei.c | iput(dir); |
dir | 339 | fs/xiafs/namei.c | int xiafs_mkdir(struct inode * dir, const char * name, int len, int mode) |
dir | 345 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir,name,len,&de, NULL); |
dir | 348 | fs/xiafs/namei.c | iput(dir); |
dir | 351 | fs/xiafs/namei.c | if (dir->i_nlink > 64000) { |
dir | 352 | fs/xiafs/namei.c | iput(dir); |
dir | 355 | fs/xiafs/namei.c | inode = xiafs_new_inode(dir); |
dir | 357 | fs/xiafs/namei.c | iput(dir); |
dir | 361 | fs/xiafs/namei.c | inode->i_size = XIAFS_ZSIZE(dir->i_sb); |
dir | 366 | fs/xiafs/namei.c | iput(dir); |
dir | 378 | fs/xiafs/namei.c | de->d_ino = dir->i_ino; |
dir | 381 | fs/xiafs/namei.c | de->d_rec_len=XIAFS_ZSIZE(dir->i_sb)-12; |
dir | 386 | fs/xiafs/namei.c | if (dir->i_mode & S_ISGID) |
dir | 389 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
dir | 391 | fs/xiafs/namei.c | iput(dir); |
dir | 398 | fs/xiafs/namei.c | dir->i_nlink++; |
dir | 399 | fs/xiafs/namei.c | dir->i_dirt = 1; |
dir | 400 | fs/xiafs/namei.c | iput(dir); |
dir | 489 | fs/xiafs/namei.c | int xiafs_rmdir(struct inode * dir, const char * name, int len) |
dir | 497 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir, name, len, &de, &de_pre); |
dir | 502 | fs/xiafs/namei.c | if (!(inode = iget(dir->i_sb, de->d_ino))) |
dir | 504 | fs/xiafs/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 506 | fs/xiafs/namei.c | current->fsuid != dir->i_uid) |
dir | 508 | fs/xiafs/namei.c | if (inode->i_dev != dir->i_dev) |
dir | 510 | fs/xiafs/namei.c | if (inode == dir) /* we may not delete ".", but "../dir" is ok */ |
dir | 530 | fs/xiafs/namei.c | dir->i_nlink--; |
dir | 531 | fs/xiafs/namei.c | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 532 | fs/xiafs/namei.c | dir->i_dirt=1; |
dir | 535 | fs/xiafs/namei.c | iput(dir); |
dir | 541 | fs/xiafs/namei.c | int xiafs_unlink(struct inode * dir, const char * name, int len) |
dir | 551 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir, name, len, &de, &de_pre); |
dir | 554 | fs/xiafs/namei.c | if (!(inode = iget(dir->i_sb, de->d_ino))) |
dir | 566 | fs/xiafs/namei.c | if ((dir->i_mode & S_ISVTX) && !fsuser() && |
dir | 568 | fs/xiafs/namei.c | current->fsuid != dir->i_uid) |
dir | 576 | fs/xiafs/namei.c | inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
dir | 577 | fs/xiafs/namei.c | dir->i_dirt = 1; |
dir | 584 | fs/xiafs/namei.c | iput(dir); |
dir | 588 | fs/xiafs/namei.c | int xiafs_symlink(struct inode * dir, const char * name, |
dir | 597 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir,name,len, &de, NULL); |
dir | 600 | fs/xiafs/namei.c | iput(dir); |
dir | 603 | fs/xiafs/namei.c | if (!(inode = xiafs_new_inode(dir))) { |
dir | 604 | fs/xiafs/namei.c | iput(dir); |
dir | 611 | fs/xiafs/namei.c | iput(dir); |
dir | 624 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
dir | 629 | fs/xiafs/namei.c | iput(dir); |
dir | 635 | fs/xiafs/namei.c | iput(dir); |
dir | 640 | fs/xiafs/namei.c | int xiafs_link(struct inode * oldinode, struct inode * dir, |
dir | 648 | fs/xiafs/namei.c | iput(dir); |
dir | 653 | fs/xiafs/namei.c | iput(dir); |
dir | 656 | fs/xiafs/namei.c | bh = xiafs_find_entry(dir, name, len, &de, NULL); |
dir | 659 | fs/xiafs/namei.c | iput(dir); |
dir | 663 | fs/xiafs/namei.c | bh = xiafs_add_entry(dir, name, len, &de, NULL); |
dir | 665 | fs/xiafs/namei.c | iput(dir); |
dir | 672 | fs/xiafs/namei.c | iput(dir); |
dir | 79 | fs/xiafs/symlink.c | static int xiafs_follow_link(struct inode * dir, struct inode * inode, |
dir | 86 | fs/xiafs/symlink.c | if (!dir) { |
dir | 87 | fs/xiafs/symlink.c | dir = current->fs->root; |
dir | 88 | fs/xiafs/symlink.c | dir->i_count++; |
dir | 91 | fs/xiafs/symlink.c | iput(dir); |
dir | 95 | fs/xiafs/symlink.c | iput(dir); |
dir | 105 | fs/xiafs/symlink.c | iput(dir); |
dir | 110 | fs/xiafs/symlink.c | iput(dir); |
dir | 115 | fs/xiafs/symlink.c | error = open_namei(bh->b_data,flag,mode,res_inode,dir); |
dir | 236 | include/asm-alpha/pgtable.h | extern inline pmd_t * pmd_offset(pgd_t * dir, unsigned long address) |
dir | 238 | include/asm-alpha/pgtable.h | return (pmd_t *) pgd_page(*dir) + ((address >> PMD_SHIFT) & (PTRS_PER_PAGE - 1)); |
dir | 242 | include/asm-alpha/pgtable.h | extern inline pte_t * pte_offset(pmd_t * dir, unsigned long address) |
dir | 244 | include/asm-alpha/pgtable.h | return (pte_t *) pmd_page(*dir) + ((address >> PAGE_SHIFT) & (PTRS_PER_PAGE - 1)); |
dir | 212 | include/asm-i386/pgtable.h | extern inline pmd_t * pmd_offset(pgd_t * dir, unsigned long address) |
dir | 214 | include/asm-i386/pgtable.h | return (pmd_t *) dir; |
dir | 218 | include/asm-i386/pgtable.h | extern inline pte_t * pte_offset(pmd_t * dir, unsigned long address) |
dir | 220 | include/asm-i386/pgtable.h | return (pte_t *) pmd_page(*dir) + ((address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)); |
dir | 230 | include/asm-sparc/pgtable.h | extern inline pmd_t * pmd_offset(pgd_t * dir, unsigned long address) |
dir | 232 | include/asm-sparc/pgtable.h | return (pmd_t *) dir; |
dir | 236 | include/asm-sparc/pgtable.h | extern inline pte_t * pte_offset(pmd_t * dir, unsigned long address) |
dir | 238 | include/asm-sparc/pgtable.h | return (pte_t *) pmd_page(*dir) + ((address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)); |
dir | 65 | include/linux/ext_fs.h | extern int ext_lookup(struct inode * dir,const char * name, int len, |
dir | 67 | include/linux/ext_fs.h | extern int ext_create(struct inode * dir,const char * name, int len, int mode, |
dir | 69 | include/linux/ext_fs.h | extern int ext_mkdir(struct inode * dir, const char * name, int len, int mode); |
dir | 70 | include/linux/ext_fs.h | extern int ext_rmdir(struct inode * dir, const char * name, int len); |
dir | 71 | include/linux/ext_fs.h | extern int ext_unlink(struct inode * dir, const char * name, int len); |
dir | 74 | include/linux/ext_fs.h | extern int ext_link(struct inode * oldinode, struct inode * dir, const char * name, int len); |
dir | 75 | include/linux/ext_fs.h | extern int ext_mknod(struct inode * dir, const char * name, int len, int mode, int rdev); |
dir | 78 | include/linux/ext_fs.h | extern struct inode * ext_new_inode(const struct inode * dir); |
dir | 169 | include/linux/iso_fs.h | extern int isofs_lookup(struct inode * dir,const char * name, int len, |
dir | 84 | include/linux/minix_fs.h | extern int minix_lookup(struct inode * dir,const char * name, int len, |
dir | 86 | include/linux/minix_fs.h | extern int minix_create(struct inode * dir,const char * name, int len, int mode, |
dir | 88 | include/linux/minix_fs.h | extern int minix_mkdir(struct inode * dir, const char * name, int len, int mode); |
dir | 89 | include/linux/minix_fs.h | extern int minix_rmdir(struct inode * dir, const char * name, int len); |
dir | 90 | include/linux/minix_fs.h | extern int minix_unlink(struct inode * dir, const char * name, int len); |
dir | 93 | include/linux/minix_fs.h | extern int minix_link(struct inode * oldinode, struct inode * dir, const char * name, int len); |
dir | 94 | include/linux/minix_fs.h | extern int minix_mknod(struct inode * dir, const char * name, int len, int mode, int rdev); |
dir | 97 | include/linux/minix_fs.h | extern struct inode * minix_new_inode(const struct inode * dir); |
dir | 124 | include/linux/msdos_fs.h | extern int msdos_get_entry(struct inode *dir,loff_t *pos,struct buffer_head **bh, |
dir | 126 | include/linux/msdos_fs.h | extern int msdos_scan(struct inode *dir,char *name,struct buffer_head **res_bh, |
dir | 128 | include/linux/msdos_fs.h | extern int msdos_parent_ino(struct inode *dir,int locked); |
dir | 129 | include/linux/msdos_fs.h | extern int msdos_subdirs(struct inode *dir); |
dir | 145 | include/linux/msdos_fs.h | extern int msdos_lookup(struct inode *dir,const char *name,int len, |
dir | 147 | include/linux/msdos_fs.h | extern int msdos_create(struct inode *dir,const char *name,int len,int mode, |
dir | 149 | include/linux/msdos_fs.h | extern int msdos_mkdir(struct inode *dir,const char *name,int len,int mode); |
dir | 150 | include/linux/msdos_fs.h | extern int msdos_rmdir(struct inode *dir,const char *name,int len); |
dir | 151 | include/linux/msdos_fs.h | extern int msdos_unlink(struct inode *dir,const char *name,int len); |
dir | 152 | include/linux/msdos_fs.h | extern int msdos_unlink_umsdos(struct inode *dir,const char *name,int len); |
dir | 56 | include/linux/nfs_fs.h | extern int nfs_proc_lookup(struct nfs_server *server, struct nfs_fh *dir, |
dir | 68 | include/linux/nfs_fs.h | extern int nfs_proc_create(struct nfs_server *server, struct nfs_fh *dir, |
dir | 71 | include/linux/nfs_fs.h | extern int nfs_proc_remove(struct nfs_server *server, struct nfs_fh *dir, |
dir | 77 | include/linux/nfs_fs.h | struct nfs_fh *dir, const char *name); |
dir | 78 | include/linux/nfs_fs.h | extern int nfs_proc_symlink(struct nfs_server *server, struct nfs_fh *dir, |
dir | 80 | include/linux/nfs_fs.h | extern int nfs_proc_mkdir(struct nfs_server *server, struct nfs_fh *dir, |
dir | 83 | include/linux/nfs_fs.h | extern int nfs_proc_rmdir(struct nfs_server *server, struct nfs_fh *dir, |
dir | 364 | include/linux/sysv_fs.h | extern int sysv_lookup(struct inode * dir,const char * name, int len, |
dir | 366 | include/linux/sysv_fs.h | extern int sysv_create(struct inode * dir,const char * name, int len, int mode, |
dir | 368 | include/linux/sysv_fs.h | extern int sysv_mkdir(struct inode * dir, const char * name, int len, int mode); |
dir | 369 | include/linux/sysv_fs.h | extern int sysv_rmdir(struct inode * dir, const char * name, int len); |
dir | 370 | include/linux/sysv_fs.h | extern int sysv_unlink(struct inode * dir, const char * name, int len); |
dir | 373 | include/linux/sysv_fs.h | extern int sysv_link(struct inode * oldinode, struct inode * dir, const char * name, int len); |
dir | 374 | include/linux/sysv_fs.h | extern int sysv_mknod(struct inode * dir, const char * name, int len, int mode, int rdev); |
dir | 377 | include/linux/sysv_fs.h | extern struct inode * sysv_new_inode(const struct inode * dir); |
dir | 67 | include/linux/xia_fs.h | extern int xiafs_lookup(struct inode * dir,const char * name, int len, |
dir | 69 | include/linux/xia_fs.h | extern int xiafs_create(struct inode * dir,const char * name, int len, int mode, |
dir | 71 | include/linux/xia_fs.h | extern int xiafs_mkdir(struct inode * dir, const char * name, int len, int mode); |
dir | 72 | include/linux/xia_fs.h | extern int xiafs_rmdir(struct inode * dir, const char * name, int len); |
dir | 73 | include/linux/xia_fs.h | extern int xiafs_unlink(struct inode * dir, const char * name, int len); |
dir | 76 | include/linux/xia_fs.h | extern int xiafs_link(struct inode * oldinode, struct inode * dir, |
dir | 78 | include/linux/xia_fs.h | extern int xiafs_mknod(struct inode * dir, const char * name, int len, |
dir | 83 | include/linux/xia_fs.h | extern struct inode * xiafs_new_inode(struct inode * dir); |
dir | 163 | mm/filemap.c | pgd_t * dir; |
dir | 166 | mm/filemap.c | dir = pgd_offset(current, address); |
dir | 168 | mm/filemap.c | filemap_sync_pmd_range(dir, address, end - address, vma, flags); |
dir | 170 | mm/filemap.c | dir++; |
dir | 97 | mm/memory.c | static inline void free_one_pmd(pmd_t * dir) |
dir | 102 | mm/memory.c | if (pmd_none(*dir)) |
dir | 104 | mm/memory.c | if (pmd_bad(*dir)) { |
dir | 105 | mm/memory.c | printk("free_one_pmd: bad directory entry %08lx\n", pmd_val(*dir)); |
dir | 106 | mm/memory.c | pmd_clear(dir); |
dir | 109 | mm/memory.c | pte = pte_offset(dir, 0); |
dir | 110 | mm/memory.c | pmd_clear(dir); |
dir | 120 | mm/memory.c | static inline void free_one_pgd(pgd_t * dir) |
dir | 125 | mm/memory.c | if (pgd_none(*dir)) |
dir | 127 | mm/memory.c | if (pgd_bad(*dir)) { |
dir | 128 | mm/memory.c | printk("free_one_pgd: bad directory entry %08lx\n", pgd_val(*dir)); |
dir | 129 | mm/memory.c | pgd_clear(dir); |
dir | 132 | mm/memory.c | pmd = pmd_offset(dir, 0); |
dir | 133 | mm/memory.c | pgd_clear(dir); |
dir | 386 | mm/memory.c | static inline void unmap_pmd_range(pgd_t * dir, unsigned long address, unsigned long size) |
dir | 391 | mm/memory.c | if (pgd_none(*dir)) |
dir | 393 | mm/memory.c | if (pgd_bad(*dir)) { |
dir | 394 | mm/memory.c | printk("unmap_pmd_range: bad pgd (%08lx)\n", pgd_val(*dir)); |
dir | 395 | mm/memory.c | pgd_clear(dir); |
dir | 398 | mm/memory.c | pmd = pmd_offset(dir, address); |
dir | 416 | mm/memory.c | pgd_t * dir; |
dir | 419 | mm/memory.c | dir = pgd_offset(current, address); |
dir | 421 | mm/memory.c | unmap_pmd_range(dir, address, end - address); |
dir | 423 | mm/memory.c | dir++; |
dir | 468 | mm/memory.c | pgd_t * dir; |
dir | 473 | mm/memory.c | dir = pgd_offset(current, address); |
dir | 475 | mm/memory.c | pmd_t *pmd = pmd_alloc(dir, address); |
dir | 483 | mm/memory.c | dir++; |
dir | 543 | mm/memory.c | pgd_t * dir; |
dir | 547 | mm/memory.c | dir = pgd_offset(current, from); |
dir | 549 | mm/memory.c | pmd_t *pmd = pmd_alloc(dir, from); |
dir | 557 | mm/memory.c | dir++; |
dir | 75 | mm/mprotect.c | pgd_t *dir; |
dir | 77 | mm/mprotect.c | dir = pgd_offset(current, start); |
dir | 79 | mm/mprotect.c | change_pmd_range(dir, start, end - start, newprot); |
dir | 81 | mm/mprotect.c | dir++; |
dir | 404 | mm/swap.c | static inline int swap_out_pmd(struct vm_area_struct * vma, pmd_t *dir, |
dir | 410 | mm/swap.c | if (pmd_none(*dir)) |
dir | 412 | mm/swap.c | if (pmd_bad(*dir)) { |
dir | 413 | mm/swap.c | printk("swap_out_pmd: bad pmd (%08lx)\n", pmd_val(*dir)); |
dir | 414 | mm/swap.c | pmd_clear(dir); |
dir | 418 | mm/swap.c | pte = pte_offset(dir, address); |
dir | 436 | mm/swap.c | static inline int swap_out_pgd(struct vm_area_struct * vma, pgd_t *dir, |
dir | 442 | mm/swap.c | if (pgd_none(*dir)) |
dir | 444 | mm/swap.c | if (pgd_bad(*dir)) { |
dir | 445 | mm/swap.c | printk("swap_out_pgd: bad pgd (%08lx)\n", pgd_val(*dir)); |
dir | 446 | mm/swap.c | pgd_clear(dir); |
dir | 450 | mm/swap.c | pmd = pmd_offset(dir, address); |
dir | 834 | mm/swap.c | pte_t *dir, unsigned int type, unsigned long page) |
dir | 836 | mm/swap.c | pte_t pte = *dir; |
dir | 849 | mm/swap.c | *dir = pte_mkdirty(pte); |
dir | 855 | mm/swap.c | if (pte_val(*dir) != pte_val(pte)) { |
dir | 859 | mm/swap.c | *dir = pte_mkwrite(pte_mkdirty(mk_pte(page, vma->vm_page_prot))); |
dir | 865 | mm/swap.c | static inline int unuse_pmd(struct vm_area_struct * vma, pmd_t *dir, |
dir | 872 | mm/swap.c | if (pmd_none(*dir)) |
dir | 874 | mm/swap.c | if (pmd_bad(*dir)) { |
dir | 875 | mm/swap.c | printk("unuse_pmd: bad pmd (%08lx)\n", pmd_val(*dir)); |
dir | 876 | mm/swap.c | pmd_clear(dir); |
dir | 879 | mm/swap.c | pte = pte_offset(dir, address); |
dir | 894 | mm/swap.c | static inline int unuse_pgd(struct vm_area_struct * vma, pgd_t *dir, |
dir | 901 | mm/swap.c | if (pgd_none(*dir)) |
dir | 903 | mm/swap.c | if (pgd_bad(*dir)) { |
dir | 904 | mm/swap.c | printk("unuse_pgd: bad pgd (%08lx)\n", pgd_val(*dir)); |
dir | 905 | mm/swap.c | pgd_clear(dir); |
dir | 908 | mm/swap.c | pmd = pmd_offset(dir, address); |
dir | 71 | mm/vmalloc.c | static inline void free_area_pmd(pgd_t * dir, unsigned long address, unsigned long size) |
dir | 76 | mm/vmalloc.c | if (pgd_none(*dir)) |
dir | 78 | mm/vmalloc.c | if (pgd_bad(*dir)) { |
dir | 79 | mm/vmalloc.c | printk("free_area_pmd: bad pgd (%08lx)\n", pgd_val(*dir)); |
dir | 80 | mm/vmalloc.c | pgd_clear(dir); |
dir | 83 | mm/vmalloc.c | pmd = pmd_offset(dir, address); |
dir | 97 | mm/vmalloc.c | pgd_t * dir; |
dir | 100 | mm/vmalloc.c | dir = pgd_offset(&init_task, address); |
dir | 102 | mm/vmalloc.c | free_area_pmd(dir, address, end - address); |
dir | 104 | mm/vmalloc.c | dir++; |
dir | 153 | mm/vmalloc.c | pgd_t * dir; |
dir | 156 | mm/vmalloc.c | dir = pgd_offset(&init_task, address); |
dir | 158 | mm/vmalloc.c | pmd_t *pmd = pmd_alloc_kernel(dir, address); |
dir | 163 | mm/vmalloc.c | set_pgdir(address, *dir); |
dir | 165 | mm/vmalloc.c | dir++; |