Lines Matching refs:dir

307 struct inode *gfs2_lookupi(struct inode *dir, const struct qstr *name,  in gfs2_lookupi()  argument
310 struct super_block *sb = dir->i_sb; in gfs2_lookupi()
311 struct gfs2_inode *dip = GFS2_I(dir); in gfs2_lookupi()
322 dir == d_inode(sb->s_root))) { in gfs2_lookupi()
323 igrab(dir); in gfs2_lookupi()
324 return dir; in gfs2_lookupi()
334 error = gfs2_permission(&nop_mnt_idmap, dir, MAY_EXEC); in gfs2_lookupi()
339 inode = gfs2_dir_search(dir, name, false); in gfs2_lookupi()
619 static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, in gfs2_create_inode() argument
628 struct gfs2_inode *dip = GFS2_I(dir), *ip; in gfs2_create_inode()
656 inode = gfs2_dir_search(dir, &dentry->d_name, !S_ISREG(mode) || excl); in gfs2_create_inode()
678 error = gfs2_diradd_alloc_required(dir, name, &da); in gfs2_create_inode()
688 error = posix_acl_create(dir, &mode, &default_acl, &acl); in gfs2_create_inode()
870 static int gfs2_create(struct mnt_idmap *idmap, struct inode *dir, in gfs2_create() argument
873 return gfs2_create_inode(dir, dentry, NULL, S_IFREG | mode, 0, NULL, 0, excl); in gfs2_create()
886 static struct dentry *__gfs2_lookup(struct inode *dir, struct dentry *dentry, in __gfs2_lookup() argument
895 inode = gfs2_lookupi(dir, &dentry->d_name, 0); in __gfs2_lookup()
926 static struct dentry *gfs2_lookup(struct inode *dir, struct dentry *dentry, in gfs2_lookup() argument
929 return __gfs2_lookup(dir, dentry, NULL); in gfs2_lookup()
944 static int gfs2_link(struct dentry *old_dentry, struct inode *dir, in gfs2_link() argument
947 struct gfs2_inode *dip = GFS2_I(dir); in gfs2_link()
948 struct gfs2_sbd *sdp = GFS2_SB(dir); in gfs2_link()
978 error = gfs2_permission(&nop_mnt_idmap, dir, MAY_WRITE | MAY_EXEC); in gfs2_link()
982 error = gfs2_dir_check(dir, &dentry->d_name, NULL); in gfs2_link()
1006 error = gfs2_diradd_alloc_required(dir, &dentry->d_name, &da); in gfs2_link()
1033 error = gfs2_dir_add(dir, &dentry->d_name, ip, &da); in gfs2_link()
1147 static int gfs2_unlink(struct inode *dir, struct dentry *dentry) in gfs2_unlink() argument
1149 struct gfs2_inode *dip = GFS2_I(dir); in gfs2_unlink()
1150 struct gfs2_sbd *sdp = GFS2_SB(dir); in gfs2_unlink()
1230 static int gfs2_symlink(struct mnt_idmap *idmap, struct inode *dir, in gfs2_symlink() argument
1236 if (size >= gfs2_max_stuffed_size(GFS2_I(dir))) in gfs2_symlink()
1239 return gfs2_create_inode(dir, dentry, NULL, S_IFLNK | S_IRWXUGO, 0, symname, size, 0); in gfs2_symlink()
1252 static int gfs2_mkdir(struct mnt_idmap *idmap, struct inode *dir, in gfs2_mkdir() argument
1255 unsigned dsize = gfs2_max_stuffed_size(GFS2_I(dir)); in gfs2_mkdir()
1256 return gfs2_create_inode(dir, dentry, NULL, S_IFDIR | mode, 0, NULL, dsize, 0); in gfs2_mkdir()
1269 static int gfs2_mknod(struct mnt_idmap *idmap, struct inode *dir, in gfs2_mknod() argument
1272 return gfs2_create_inode(dir, dentry, NULL, mode, dev, NULL, 0, 0); in gfs2_mknod()
1286 static int gfs2_atomic_open(struct inode *dir, struct dentry *dentry, in gfs2_atomic_open() argument
1296 d = __gfs2_lookup(dir, dentry, file); in gfs2_atomic_open()
1314 return gfs2_create_inode(dir, dentry, file, S_IFREG | mode, 0, NULL, 0, excl); in gfs2_atomic_open()
1330 struct inode *dir = &to->i_inode; in gfs2_ok_to_move() local
1331 struct super_block *sb = dir->i_sb; in gfs2_ok_to_move()
1335 igrab(dir); in gfs2_ok_to_move()
1338 if (dir == &this->i_inode) { in gfs2_ok_to_move()
1342 if (dir == d_inode(sb->s_root)) { in gfs2_ok_to_move()
1347 tmp = gfs2_lookupi(dir, &gfs2_qdotdot, 1); in gfs2_ok_to_move()
1357 iput(dir); in gfs2_ok_to_move()
1358 dir = tmp; in gfs2_ok_to_move()
1361 iput(dir); in gfs2_ok_to_move()