• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/gfs2/

Lines Matching refs:ip

45 	struct gfs2_inode *ip = GFS2_I(inode);
48 if (ip->i_no_addr == *no_addr)
56 struct gfs2_inode *ip = GFS2_I(inode);
60 ip->i_no_addr = *no_addr;
83 struct gfs2_inode *ip = GFS2_I(inode);
86 if (ip->i_no_addr == data->no_addr) {
98 struct gfs2_inode *ip = GFS2_I(inode);
104 ip->i_no_addr = data->no_addr;
171 struct gfs2_inode *ip;
176 ip = GFS2_I(inode);
183 ip->i_no_formal_ino = no_formal_ino;
185 error = gfs2_glock_get(sdp, no_addr, &gfs2_inode_glops, CREATE, &ip->i_gl);
188 ip->i_gl->gl_object = ip;
194 set_bit(GIF_INVALID, &ip->i_flags);
195 error = gfs2_glock_nq_init(io_gl, LM_ST_SHARED, GL_EXACT, &ip->i_iopen_gh);
198 ip->i_iopen_gh.gh_gl->gl_object = ip;
217 error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
230 gfs2_glock_dq(&ip->i_iopen_gh);
236 ip->i_gl->gl_object = NULL;
237 gfs2_glock_put(ip->i_gl);
260 struct gfs2_inode *ip;
277 ip = GFS2_I(inode);
279 ip->i_no_formal_ino = -1;
281 error = gfs2_glock_get(sdp, no_addr, &gfs2_inode_glops, CREATE, &ip->i_gl);
284 ip->i_gl->gl_object = ip;
290 set_bit(GIF_INVALID, &ip->i_flags);
292 &ip->i_iopen_gh);
296 ip->i_iopen_gh.gh_gl->gl_object = ip;
309 error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, LM_FLAG_TRY,
323 gfs2_glock_dq(&ip->i_iopen_gh);
328 ip->i_gl->gl_object = NULL;
329 gfs2_glock_put(ip->i_gl);
335 static int gfs2_dinode_in(struct gfs2_inode *ip, const void *buf)
341 if (unlikely(ip->i_no_addr != be64_to_cpu(str->di_num.no_addr)))
343 ip->i_no_formal_ino = be64_to_cpu(str->di_num.no_formal_ino);
344 ip->i_inode.i_mode = be32_to_cpu(str->di_mode);
345 ip->i_inode.i_rdev = 0;
346 switch (ip->i_inode.i_mode & S_IFMT) {
349 ip->i_inode.i_rdev = MKDEV(be32_to_cpu(str->di_major),
354 ip->i_inode.i_uid = be32_to_cpu(str->di_uid);
355 ip->i_inode.i_gid = be32_to_cpu(str->di_gid);
361 ip->i_inode.i_nlink = be32_to_cpu(str->di_nlink);
362 ip->i_disksize = be64_to_cpu(str->di_size);
363 i_size_write(&ip->i_inode, ip->i_disksize);
364 gfs2_set_inode_blocks(&ip->i_inode, be64_to_cpu(str->di_blocks));
367 if (timespec_compare(&ip->i_inode.i_atime, &atime) < 0)
368 ip->i_inode.i_atime = atime;
369 ip->i_inode.i_mtime.tv_sec = be64_to_cpu(str->di_mtime);
370 ip->i_inode.i_mtime.tv_nsec = be32_to_cpu(str->di_mtime_nsec);
371 ip->i_inode.i_ctime.tv_sec = be64_to_cpu(str->di_ctime);
372 ip->i_inode.i_ctime.tv_nsec = be32_to_cpu(str->di_ctime_nsec);
374 ip->i_goal = be64_to_cpu(str->di_goal_meta);
375 ip->i_generation = be64_to_cpu(str->di_generation);
377 ip->i_diskflags = be32_to_cpu(str->di_flags);
378 gfs2_set_inode_flags(&ip->i_inode);
382 ip->i_height = (u8)height;
387 ip->i_depth = (u8)depth;
388 ip->i_entries = be32_to_cpu(str->di_entries);
390 ip->i_eattr = be64_to_cpu(str->di_eattr);
391 if (S_ISREG(ip->i_inode.i_mode))
392 gfs2_set_aops(&ip->i_inode);
396 if (gfs2_consist_inode(ip))
397 gfs2_dinode_print(ip);
403 * @ip: The GFS2 inode
408 int gfs2_inode_refresh(struct gfs2_inode *ip)
413 error = gfs2_meta_inode_buffer(ip, &dibh);
417 if (gfs2_metatype_check(GFS2_SB(&ip->i_inode), dibh, GFS2_METATYPE_DI)) {
422 error = gfs2_dinode_in(ip, dibh->b_data);
424 clear_bit(GIF_INVALID, &ip->i_flags);
429 int gfs2_dinode_dealloc(struct gfs2_inode *ip)
431 struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
436 if (gfs2_get_inode_blocks(&ip->i_inode) != 1) {
437 if (gfs2_consist_inode(ip))
438 gfs2_dinode_print(ip);
442 al = gfs2_alloc_get(ip);
446 error = gfs2_quota_hold(ip, NO_QUOTA_CHANGE, NO_QUOTA_CHANGE);
454 rgd = gfs2_blk2rgrpd(sdp, ip->i_no_addr);
456 gfs2_consist_inode(ip);
470 set_bit(GLF_DIRTY, &ip->i_gl->gl_flags);
471 set_bit(GLF_LFLUSH, &ip->i_gl->gl_flags);
473 gfs2_free_di(rgd, ip);
482 gfs2_quota_unhold(ip);
484 gfs2_alloc_put(ip);
490 * @ip: The GFS2 inode
495 int gfs2_change_nlink(struct gfs2_inode *ip, int diff)
502 nlink = ip->i_inode.i_nlink + diff;
506 if (diff < 0 && nlink > ip->i_inode.i_nlink) {
507 if (gfs2_consist_inode(ip))
508 gfs2_dinode_print(ip);
512 error = gfs2_meta_inode_buffer(ip, &dibh);
517 inc_nlink(&ip->i_inode);
519 drop_nlink(&ip->i_inode);
521 ip->i_inode.i_ctime = CURRENT_TIME;
523 gfs2_trans_add_bh(ip->i_gl, dibh, 1);
524 gfs2_dinode_out(ip, dibh->b_data);
526 mark_inode_dirty(&ip->i_inode);
528 if (ip->i_inode.i_nlink == 0)
529 gfs2_unlink_di(&ip->i_inode); /* mark inode unlinked */
807 struct gfs2_inode *ip)
849 error = gfs2_dir_add(&dip->i_inode, name, ip, IF2DT(ip->i_inode.i_mode));
853 error = gfs2_meta_inode_buffer(ip, &dibh);
856 ip->i_inode.i_nlink = 1;
857 gfs2_trans_add_bh(ip->i_gl, dibh, 1);
858 gfs2_dinode_out(ip, dibh->b_data);
877 static int gfs2_security_init(struct gfs2_inode *dip, struct gfs2_inode *ip)
884 err = security_inode_init_security(&ip->i_inode, &dip->i_inode,
893 err = __gfs2_xattr_set(&ip->i_inode, name, value, len, 0,
992 static int __gfs2_setattr_simple(struct gfs2_inode *ip, struct iattr *attr)
994 struct inode *inode = &ip->i_inode;
998 error = gfs2_meta_inode_buffer(ip, &dibh);
1013 gfs2_trans_add_bh(ip->i_gl, dibh, 1);
1014 gfs2_dinode_out(ip, dibh->b_data);
1021 * @ip:
1029 int gfs2_setattr_simple(struct gfs2_inode *ip, struct iattr *attr)
1034 return __gfs2_setattr_simple(ip, attr);
1036 error = gfs2_trans_begin(GFS2_SB(&ip->i_inode), RES_DINODE, 0);
1040 error = __gfs2_setattr_simple(ip, attr);
1041 gfs2_trans_end(GFS2_SB(&ip->i_inode));
1045 void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf)
1052 str->di_num.no_addr = cpu_to_be64(ip->i_no_addr);
1053 str->di_num.no_formal_ino = cpu_to_be64(ip->i_no_formal_ino);
1054 str->di_mode = cpu_to_be32(ip->i_inode.i_mode);
1055 str->di_uid = cpu_to_be32(ip->i_inode.i_uid);
1056 str->di_gid = cpu_to_be32(ip->i_inode.i_gid);
1057 str->di_nlink = cpu_to_be32(ip->i_inode.i_nlink);
1058 str->di_size = cpu_to_be64(ip->i_disksize);
1059 str->di_blocks = cpu_to_be64(gfs2_get_inode_blocks(&ip->i_inode));
1060 str->di_atime = cpu_to_be64(ip->i_inode.i_atime.tv_sec);
1061 str->di_mtime = cpu_to_be64(ip->i_inode.i_mtime.tv_sec);
1062 str->di_ctime = cpu_to_be64(ip->i_inode.i_ctime.tv_sec);
1064 str->di_goal_meta = cpu_to_be64(ip->i_goal);
1065 str->di_goal_data = cpu_to_be64(ip->i_goal);
1066 str->di_generation = cpu_to_be64(ip->i_generation);
1068 str->di_flags = cpu_to_be32(ip->i_diskflags);
1069 str->di_height = cpu_to_be16(ip->i_height);
1070 str->di_payload_format = cpu_to_be32(S_ISDIR(ip->i_inode.i_mode) &&
1071 !(ip->i_diskflags & GFS2_DIF_EXHASH) ?
1073 str->di_depth = cpu_to_be16(ip->i_depth);
1074 str->di_entries = cpu_to_be32(ip->i_entries);
1076 str->di_eattr = cpu_to_be64(ip->i_eattr);
1077 str->di_atime_nsec = cpu_to_be32(ip->i_inode.i_atime.tv_nsec);
1078 str->di_mtime_nsec = cpu_to_be32(ip->i_inode.i_mtime.tv_nsec);
1079 str->di_ctime_nsec = cpu_to_be32(ip->i_inode.i_ctime.tv_nsec);
1082 void gfs2_dinode_print(const struct gfs2_inode *ip)
1085 (unsigned long long)ip->i_no_formal_ino);
1087 (unsigned long long)ip->i_no_addr);
1089 (unsigned long long)ip->i_disksize);
1091 (unsigned long long)gfs2_get_inode_blocks(&ip->i_inode));
1093 (unsigned long long)ip->i_goal);
1094 printk(KERN_INFO " i_diskflags = 0x%.8X\n", ip->i_diskflags);
1095 printk(KERN_INFO " i_height = %u\n", ip->i_height);
1096 printk(KERN_INFO " i_depth = %u\n", ip->i_depth);
1097 printk(KERN_INFO " i_entries = %u\n", ip->i_entries);
1099 (unsigned long long)ip->i_eattr);