• 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 defs:dip

50 	struct gfs2_inode *dip = GFS2_I(dir);
55 gfs2_holder_init(dip->i_gl, 0, 0, ghs);
61 if (dip->i_alloc->al_rgd)
62 gfs2_inplace_release(dip);
63 gfs2_quota_unlock(dip);
64 gfs2_alloc_put(dip);
145 struct gfs2_inode *dip = GFS2_I(dir);
156 gfs2_holder_init(dip->i_gl, LM_ST_EXCLUSIVE, 0, ghs);
182 if (!dip->i_inode.i_nlink)
185 if (dip->i_entries == (u32)-1)
203 struct gfs2_alloc *al = gfs2_alloc_get(dip);
209 error = gfs2_quota_lock_check(dip);
215 error = gfs2_inplace_reserve(dip);
241 gfs2_inplace_release(dip);
244 gfs2_quota_unlock(dip);
247 gfs2_alloc_put(dip);
265 * @dip: the directory
269 * Assumes that the lock on (at least) @dip is held.
274 static int gfs2_unlink_ok(struct gfs2_inode *dip, const struct qstr *name,
282 if ((dip->i_inode.i_mode & S_ISVTX) &&
283 dip->i_inode.i_uid != current_fsuid() &&
287 if (IS_APPEND(&dip->i_inode))
290 error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC);
294 error = gfs2_dir_check(&dip->i_inode, name, ip);
313 struct gfs2_inode *dip = GFS2_I(dir);
325 gfs2_holder_init(dip->i_gl, LM_ST_EXCLUSIVE, 0, ghs);
344 error = gfs2_unlink_ok(dip, &dentry->d_name, ip);
352 error = gfs2_dir_del(dip, &dentry->d_name);
386 struct gfs2_inode *dip = GFS2_I(dir), *ip;
399 gfs2_holder_init(dip->i_gl, 0, 0, ghs);
422 if (dip->i_alloc->al_rgd)
423 gfs2_inplace_release(dip);
424 gfs2_quota_unlock(dip);
425 gfs2_alloc_put(dip);
446 struct gfs2_inode *dip = GFS2_I(dir), *ip;
453 gfs2_holder_init(dip->i_gl, 0, 0, ghs);
486 gfs2_inum_out(dip, dent);
494 error = gfs2_change_nlink(dip, +1);
495 gfs2_assert_withdraw(sdp, !error); /* dip already pinned */
498 if (dip->i_alloc->al_rgd)
499 gfs2_inplace_release(dip);
500 gfs2_quota_unlock(dip);
501 gfs2_alloc_put(dip);
513 * @dip: The parent directory of the directory to be removed
517 * Assumes Glocks on dip and ip are held
522 static int gfs2_rmdiri(struct gfs2_inode *dip, const struct qstr *name,
534 error = gfs2_dir_del(dip, name);
538 error = gfs2_change_nlink(dip, -1);
576 struct gfs2_inode *dip = GFS2_I(dir);
587 gfs2_holder_init(dip->i_gl, LM_ST_EXCLUSIVE, 0, ghs);
605 error = gfs2_unlink_ok(dip, &dentry->d_name, ip);
624 error = gfs2_rmdiri(dip, &dentry->d_name, ip);
654 struct gfs2_inode *dip = GFS2_I(dir);
659 gfs2_holder_init(dip->i_gl, 0, 0, ghs);
668 if (dip->i_alloc->al_rgd)
669 gfs2_inplace_release(dip);
670 gfs2_quota_unlock(dip);
671 gfs2_alloc_put(dip);