Lines Matching refs:dir
268 struct dentry *dir, in cachefiles_bury_object() argument
278 _enter(",'%pd','%pd'", dir, rep); in cachefiles_bury_object()
280 _debug("remove %p from %p", rep, dir); in cachefiles_bury_object()
287 path.dentry = dir; in cachefiles_bury_object()
292 ret = vfs_unlink(d_inode(dir), rep, NULL); in cachefiles_bury_object()
298 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_bury_object()
309 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_bury_object()
318 trap = lock_rename(cache->graveyard, dir); in cachefiles_bury_object()
321 if (rep->d_parent != dir) { in cachefiles_bury_object()
324 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
330 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
336 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
342 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
349 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
362 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
370 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
378 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
386 path.dentry = dir; in cachefiles_bury_object()
393 ret = vfs_rename(d_inode(dir), rep, in cachefiles_bury_object()
403 unlock_rename(cache->graveyard, dir); in cachefiles_bury_object()
415 struct dentry *dir; in cachefiles_delete_object() local
424 dir = dget_parent(object->dentry); in cachefiles_delete_object()
426 mutex_lock_nested(&d_inode(dir)->i_mutex, I_MUTEX_PARENT); in cachefiles_delete_object()
432 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_delete_object()
437 if (dir == object->dentry->d_parent) { in cachefiles_delete_object()
438 ret = cachefiles_bury_object(cache, dir, in cachefiles_delete_object()
445 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_delete_object()
450 dput(dir); in cachefiles_delete_object()
465 struct dentry *dir, *next = NULL; in cachefiles_walk_to_object() local
488 dir = dget(parent->dentry); in cachefiles_walk_to_object()
504 mutex_lock_nested(&d_inode(dir)->i_mutex, I_MUTEX_PARENT); in cachefiles_walk_to_object()
507 next = lookup_one_len(name, dir, nlen); in cachefiles_walk_to_object()
531 path.dentry = dir; in cachefiles_walk_to_object()
536 ret = vfs_mkdir(d_inode(dir), next, 0); in cachefiles_walk_to_object()
560 path.dentry = dir; in cachefiles_walk_to_object()
565 ret = vfs_create(d_inode(dir), next, S_IFREG, true); in cachefiles_walk_to_object()
588 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_walk_to_object()
589 dput(dir); in cachefiles_walk_to_object()
590 dir = next; in cachefiles_walk_to_object()
609 ret = cachefiles_bury_object(cache, dir, next, true, in cachefiles_walk_to_object()
626 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_walk_to_object()
627 dput(dir); in cachefiles_walk_to_object()
628 dir = NULL; in cachefiles_walk_to_object()
708 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_walk_to_object()
711 dput(dir); in cachefiles_walk_to_object()
721 struct dentry *dir, in cachefiles_get_directory() argument
732 mutex_lock(&d_inode(dir)->i_mutex); in cachefiles_get_directory()
735 subdir = lookup_one_len(dirname, dir, strlen(dirname)); in cachefiles_get_directory()
755 path.dentry = dir; in cachefiles_get_directory()
759 ret = vfs_mkdir(d_inode(dir), subdir, 0700); in cachefiles_get_directory()
771 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_get_directory()
803 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_get_directory()
809 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_get_directory()
815 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_get_directory()
827 struct dentry *dir, in cachefiles_check_active() argument
840 mutex_lock_nested(&d_inode(dir)->i_mutex, I_MUTEX_PARENT); in cachefiles_check_active()
843 victim = lookup_one_len(filename, dir, strlen(filename)); in cachefiles_check_active()
855 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_check_active()
884 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_check_active()
890 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_check_active()
913 int cachefiles_cull(struct cachefiles_cache *cache, struct dentry *dir, in cachefiles_cull() argument
919 _enter(",%pd/,%s", dir, filename); in cachefiles_cull()
921 victim = cachefiles_check_active(cache, dir, filename); in cachefiles_cull()
940 ret = cachefiles_bury_object(cache, dir, victim, false, in cachefiles_cull()
950 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_cull()
973 int cachefiles_check_in_use(struct cachefiles_cache *cache, struct dentry *dir, in cachefiles_check_in_use() argument
981 victim = cachefiles_check_active(cache, dir, filename); in cachefiles_check_in_use()
985 mutex_unlock(&d_inode(dir)->i_mutex); in cachefiles_check_in_use()