aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dcache.c
AgeCommit message (Expand)AuthorFilesLines
2019-07-20Merge branch 'work.dcache2' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-17/+83
2019-07-10Teach shrink_dcache_parent() to cope with mixed-filesystem shrink listsAl Viro1-17/+83
2019-06-20fsnotify: move fsnotify_nameremove() hook out of d_delete()Amir Goldstein1-2/+0
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-05-07Merge tag 'fscrypt_for_linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscryptLinus Torvalds1-0/+2
2019-04-26ovl_lookup_real_one(): don't bother with strlen()Al Viro1-8/+6
2019-04-17fs, fscrypt: clear DCACHE_ENCRYPTED_NAME when unaliasing directoryEric Biggers1-0/+2
2019-04-09unexport d_alloc_pseudo()Al Viro1-1/+3
2019-04-09dcache: sort the freeing-without-RCU-delay mess for good.Al Viro1-11/+13
2019-01-30fs/dcache: Track & report number of negative dentriesWaiman Long1-0/+32
2019-01-30fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb()Waiman Long1-5/+1
2018-10-31mm: remove include/linux/bootmem.hMike Rapoport1-1/+1
2018-10-26dcache: allocate external names from reclaimable kmalloc cachesVlastimil Babka1-29/+9
2018-08-17fs/dcache.c: fix kmemcheck splat at take_dentry_name_snapshot()Tetsuo Handa1-1/+2
2018-08-13Merge branches 'work.misc' and 'work.dcache' of git://git.kernel.org/pub/scm/...Linus Torvalds1-33/+6
2018-08-13Merge branch 'work.mkdir' of git://git.kernel.org/pub/scm/linux/kernel/git/vi...Linus Torvalds1-28/+1
2018-08-09make sure that __dentry_kill() always invalidates d_seq, unhashed or notAl Viro1-5/+2
2018-08-06root dentries need RCU-delayed freeingAl Viro1-2/+4
2018-08-05fs: dcache: Use true and false for boolean valuesGustavo A. R. Silva1-6/+6
2018-08-03new primitive: discard_new_inode()Al Viro1-1/+1
2018-08-01kill d_instantiate_no_diralias()Al Viro1-27/+0
2018-06-23kill dentry_update_name_case()Al Viro1-27/+0
2018-06-04Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-49/+34
2018-06-04Merge branch 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-79/+43
2018-05-13get rid of dead code in d_find_alias()Al Viro1-49/+34
2018-05-11do d_instantiate/unlock_new_inode combinations safelyAl Viro1-0/+22
2018-04-19restore cond_resched() in shrink_dcache_parent()Al Viro1-2/+7
2018-04-15dput(): turn into explicit while() loopAl Viro1-18/+13
2018-04-15dcache: move cond_resched() into the end of __dentry_kill()Al Viro1-3/+1
2018-04-15d_walk(): kill 'finish' callbackAl Viro1-11/+7
2018-04-15d_invalidate(): unhash immediatelyAl Viro1-46/+16
2018-04-11fs/dcache.c: add cond_resched() in shrink_dentry_list()Nikolay Borisov1-3/+2
2018-04-11dcache: account external names as indirectly reclaimable memoryRoman Gushchin1-9/+30
2018-03-29d_genocide: move export to definitionAl Viro1-2/+2
2018-03-29fold dentry_lock_for_move() into its sole caller and clean it upAl Viro1-26/+23
2018-03-29make non-exchanging __d_move() copy ->d_parent rather than swap themAl Viro1-63/+30
2018-03-29split d_path() and friends into a separate fileAl Viro1-466/+1
2018-03-29dcache.c: trim includesAl Viro1-3/+0
2018-03-29fs/dcache: Avoid a try_lock loop in shrink_dentry_list()John Ogness1-31/+10
2018-03-29get rid of trylock loop around dentry_kill()Al Viro1-7/+27
2018-03-29handle move to LRU in retain_dentry()Al Viro1-13/+6
2018-03-29dput(): consolidate the "do we need to retain it?" into an inlined helperAl Viro1-19/+23
2018-03-29split the slow part of lock_parent() offAl Viro1-6/+12
2018-03-29now lock_parent() can't run into killed dentryAl Viro1-10/+3
2018-03-29get rid of trylock loop in locking dentries on shrink listAl Viro1-37/+67
2018-03-12d_delete(): get rid of trylock loopAl Viro1-19/+9
2018-03-12fs/dcache: Move dentry_kill() below lock_parent()John Ogness1-31/+31
2018-03-12fs/dcache: Remove stale comment from dentry_kill()John Ogness1-1/+0
2018-03-12take write_seqcount_invalidate() into __d_drop()Al Viro1-22/+22
2018-02-25fs: dcache: Use READ_ONCE when accessing i_dir_seqWill Deacon1-1/+1
2018-02-25fs: dcache: Avoid livelock between d_alloc_parallel and __d_addWill Deacon1-1/+7
2018-02-23lock_parent() needs to recheck if dentry got __dentry_kill'ed under itAl Viro1-3/+8
2018-02-05Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-31/+57
2018-02-03Merge tag 'usercopy-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-4/+5
2018-02-01Merge branch 'KASAN-read_word_at_a_time'Linus Torvalds1-6/+1
2018-02-01fs: dcache: Revert "manually unpoison dname after allocation to shut up kasan...Andrey Ryabinin1-5/+0
2018-02-01fs/dcache: Use read_word_at_a_time() in dentry_string_cmp()Andrey Ryabinin1-1/+1
2018-01-31Merge branch 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-7/+16
2018-01-31Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-15/+17
2018-01-25dcache: delete unused d_hash_maskAlexey Dobriyan1-3/+2
2018-01-25dcache: subtract d_hash_shift from 32 in advanceAlexey Dobriyan1-1/+3
2018-01-24vfs: factor out helpers d_instantiate_anon() and d_alloc_anon()Miklos Szeredi1-31/+56
2018-01-24ovl: verify directory index entries on mountAmir Goldstein1-0/+1
2018-01-15vfs: Define usercopy region in names_cache slab cachesDavid Windsor1-2/+2
2018-01-15dcache: Define usercopy region in dentry_cache slab cacheDavid Windsor1-2/+3
2017-12-28VFS: close race between getcwd() and d_move()NeilBrown1-7/+16
2017-12-25VFS: don't keep disconnected dentries on d_anonNeilBrown1-10/+12
2017-12-07vfs: remove unused hardirq.hYang Shi1-1/+0
2017-12-04fs/dcache: Use release-acquire for name/length updatePaul E. McKenney1-7/+3
2017-11-15kmemcheck: remove annotationsLevin, Alexander (Sasha Levin)1-2/+0
2017-10-25locking/atomics, fs/dcache: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE()Mark Rutland1-9/+9
2017-10-24locking/barriers: Convert users of lockless_dereference() to READ_ONCE()Will Deacon1-2/+2
2017-07-15Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vi...Linus Torvalds1-2/+6
2017-07-10fs/dcache.c: fix spin lockup issue on nlru->lockSahitya Tummala1-2/+3
2017-07-08Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-0/+32
2017-07-07dentry name snapshotsAl Viro1-0/+27
2017-07-06mm: update callers to use HASH_ZERO flagPavel Tatashin1-14/+4
2017-07-06VFS: Provide empty name qstrDavid Howells1-2/+6
2017-06-29fs/dcache: init in_lookup_hashtableSebastian Andrzej Siewior1-0/+5
2017-06-15Hang/soft lockup in d_invalidate with simultaneous callsAl Viro1-6/+4
2017-05-03fs: don't set *REFERENCED on single use objectsJosef Bacik1-2/+2
2017-01-10mnt: Protect the mountpoint hashtable with mount_lockEric W. Biederman1-2/+5
2016-12-24Replace <asm/uaccess.h> with <linux/uaccess.h> globallyLinus Torvalds1-1/+1
2016-12-03vfs: remove unused have_submounts() functionIan Kent1-33/+0
2016-12-03vfs: add path_has_submounts()Ian Kent1-0/+39
2016-08-07Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-40/+15
2016-08-06Merge branch 'work.const-qstr' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-2/+2
2016-07-31get rid of 'parent' argument of ->d_compare()Al Viro1-2/+2
2016-07-29fold _d_rehash() and __d_rehash() togetherAl Viro1-23/+11
2016-07-29fold dentry_rcuwalk_invalidate() into its only remaining callerAl Viro1-15/+2
2016-07-28Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-139/+69
2016-07-28Merge branch 'salted-string-hash'Linus Torvalds1-13/+10
2016-07-24fs/dcache.c: avoid soft-lockup in dput()Wei Fang1-2/+5
2016-07-24vfs: new d_init methodMiklos Szeredi1-0/+11
2016-07-24Merge branch 'test.d_iput' into work.miscAl Viro1-35/+10
2016-07-20qstr constify instances in fs/dcache.cAl Viro1-2/+2
2016-06-30Merge branch 'd_real' of git://git.kernel.org/pub/scm/linux/kernel/git/mszere...Al Viro1-3/+0
2016-06-30new helper: d_same_name()Al Viro1-91/+36
2016-06-30dentry_cmp(): use lockless_dereference() instead of smp_read_barrier_depends()He Kuang1-4/+3
2016-06-30Merge branch 'for-linus' into work.miscAl Viro1-13/+66
2016-06-30vfs: merge .d_select_inode() into .d_real()Miklos Szeredi1-3/+0
2016-06-20fix idiotic braino in d_alloc_parallel()Al Viro1-5/+12
2016-06-11fs/dcache.c: Save one 32-bit multiply in dcache lookupGeorge Spelvin1-1/+1
2016-06-10vfs: make the string hashes salt the hashLinus Torvalds1-12/+9
2016-06-10much milder d_walk() raceAl Viro1-6/+52
2016-06-07fix d_walk()/non-delayed __d_free() raceAl Viro1-2/+2
2016-05-29unify dentry_iput() and dentry_unlink_inode()Al Viro1-35/+10
2016-05-29trim fsnotify hooks a bitAl Viro1-4/+4
2016-05-28Merge branch 'hash' of git://ftp.sciencehorizons.net/linuxLinus Torvalds1-2/+1
2016-05-28fs/namei.c: Add hashlen_string() functionGeorge Spelvin1-2/+1
2016-05-18Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-6/+7
2016-05-02parallel lookups: actual switch to rwsemAl Viro1-4/+5
2016-05-02parallel lookups machinery, part 4 (and last)Al Viro1-20/+74
2016-05-02parallel lookups machinery, part 3Al Viro1-0/+104
2016-05-02parallel lookups machinery, part 2Al Viro1-2/+32
2016-05-02beginning of transition to parallel lookups - marking in-lookup dentriesAl Viro1-0/+13
2016-05-02__d_add(): don't drop/regain ->d_lockAl Viro1-3/+11
2016-05-02security_d_instantiate(): move to the point prior to attaching dentry to inodeAl Viro1-8/+7
2016-03-27__d_alloc(): treat NULL name as QSTR("/", 1)Al Viro1-6/+7
2016-03-26fs: add file_dentry()Miklos Szeredi1-1/+4
2016-03-14dcache.c: new helper: __d_add()Al Viro1-7/+17
2016-03-14don't bother with __d_instantiate(dentry, NULL)Al Viro1-10/+7
2016-03-14untangle fsnotify_d_instantiate() a bitAl Viro1-1/+2
2016-03-14uninline d_add()Al Viro1-0/+16
2016-03-14replace d_add_unique() with saner primitiveAl Viro1-75/+50
2016-02-29use ->d_seq to get coherency between ->d_inode and ->d_flagsAl Viro1-15/+5
2016-01-22wrappers for ->i_mutex accessAl Viro1-2/+2
2016-01-14kmemcg: account certain kmem allocations to memcgVladimir Davydov1-2/+3
2016-01-12Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-7/+7
2015-12-08replace ->follow_link() with new method that could stay in RCU modeAl Viro1-1/+1
2015-12-06fs/dcache.c: is_subdir can be booleanYaowei Bai1-7/+7
2015-08-21dcache: Reduce the scope of i_lock in d_splice_aliasEric W. Biederman1-4/+3
2015-08-21dcache: Handle escaped paths in prepend_pathEric W. Biederman1-0/+7
2015-08-07fs, file table: reinit files_stat.max_files after deferred memory initialisationMel Gorman1-10/+3
2015-07-12freeing unlinked file indefinitely delayedAl Viro1-2/+5
2015-07-04Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-1/+4
2015-07-03Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebi...Linus Torvalds1-11/+0
2015-07-01vfs: Remove incorrect debugging WARN in prepend_pathEric W. Biederman1-11/+0
2015-06-22Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-8/+8
2015-06-19overlayfs: Make f_path always point to the overlay and f_inode to the underlayDavid Howells1-1/+4
2015-06-19seqcount: Rename write_seqcount_barrier()Peter Zijlstra1-8/+8
2015-05-28d_walk() might skip too muchAl Viro1-4/+4
2015-04-15VFS: Impose ordering on accesses of d_inode and d_flagsDavid Howells1-8/+39
2015-04-11dcache: return -ESTALE not -EBUSY on distributed fs raceJ. Bruce Fields1-1/+1
2015-02-22VFS: Split DCACHE_FILE_TYPE into regular and special typesDavid Howells1-5/+13
2015-02-22VFS: Add a fallthrough flag for marking virtual dentriesDavid Howells1-1/+18
2015-02-17Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-35/+114
2015-02-13fs: dcache: manually unpoison dname after allocation to shut up kasan's reportsAndrey Ryabinin1-0/+5
2015-02-12list_lru: add helpers to isolate itemsVladimir Davydov1-10/+11
2015-02-12list_lru: introduce list_lru_shrink_{count,walk}Vladimir Davydov1-8/+6
2015-01-25dcache: let the dentry count go down to zero without taking d_lockLinus Torvalds1-4/+114
2015-01-25kill d_validate()Al Viro1-31/+0
2014-12-08Merge branch 'iov_iter' into for-nextAl Viro1-0/+1
2014-11-19vfs: fix reference leak in d_prune_aliases()Yan, Zheng1-0/+1
2014-11-19dcache: fix kmemcheck warning in switch_namesMikulas Patocka1-0/+2
2014-11-19merge d_materialise_unique() into d_splice_alias()Al Viro1-108/+35
2014-11-19d_add_ci() should just accept a hashed exact match if it finds oneAl Viro1-39/+7
2014-11-03deal with deadlock in d_walk()Al Viro1-15/+16
2014-11-03move d_rcu from overlapping d_child to overlapping d_aliasAl Viro1-27/+26
2014-10-23fix inode leaks on d_splice_alias() failure exitsAl Viro1-0/+2
2014-10-12take dname_external() into fs/dcache.cAl Viro1-0/+5
2014-10-09dcache: Fix no spaces at the start of a line in dcache.cDaeseok Youn1-4/+4
2014-10-09dcache.c: call ->d_prune() regardless of d_unhashed()Al Viro1-1/+1
2014-10-09d_prune_alias(): just lock the parent and call __dentry_kill()Al Viro1-14/+7
2014-10-09vfs: Make d_invalidate return voidEric W. Biederman1-12/+3
2014-10-09vfs: Merge check_submounts_and_drop and d_invalidateEric W. Biederman1-33/+22
2014-10-09vfs: Lazily remove mounts on unlinked files and directories.Eric W. Biederman1-27/+33
2014-10-09vfs: More precise tests in d_invalidateEric W. Biederman1-34/+4
2014-10-09vfs: Document the effect of d_revalidate on d_find_aliasEric W. Biederman1-1/+2
2014-10-09Allow sharing external names after __d_move()Al Viro1-16/+59
2014-09-29missing data dependency barrier in prepend_name()Al Viro1-0/+5
2014-09-27vfs: Don't exchange "short" filenames unconditionally.Mikhail Efremov1-9/+18
2014-09-27fold swapping ->d_name.hash into switch_names()Linus Torvalds1-2/+1
2014-09-26fold unlocking the children into dentry_unlock_parents_for_move()Al Viro1-5/+4
2014-09-26kill __d_materialise_dentry()Al Viro1-44/+10
2014-09-26__d_materialise_dentry(): flip the order of argumentsAl Viro1-24/+20
2014-09-26__d_move(): fold manipulations with ->d_child/->d_subdirsAl Viro1-5/+3
2014-09-26don't open-code d_rehash() in d_materialise_unique()Al Viro1-5/+1
2014-09-26pull rehashing and unlocking the target dentry into __d_materialise_dentry()Al Viro1-7/+4
2014-09-14Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-2/+6
2014-09-13move the call of __d_drop(anon) into __d_materialise_unique(dentry, anon)Al Viro1-2/+6
2014-09-13vfs: fix bad hashing of dentriesLinus Torvalds1-2/+1
2014-08-07fs: mark __d_obtain_alias staticFengguang Wu1-1/+1
2014-08-07dcache: d_splice_alias should detect loopsJ. Bruce Fields1-0/+5
2014-08-07dcache: d_find_alias needn't recheck IS_ROOT && DCACHE_DISCONNECTEDJ. Bruce Fields1-6/+3
2014-08-07dcache: remove unused d_find_alias parameterJ. Bruce Fields1-8/+5
2014-08-07dcache: d_obtain_alias callers don't all want DISCONNECTEDJ. Bruce Fields1-20/+49
2014-08-07dcache: d_splice_alias should ignore DCACHE_DISCONNECTEDJ. Bruce Fields1-4/+4
2014-08-07dcache: d_splice_alias mustn't create directory aliasesJ. Bruce Fields1-2/+9
2014-08-07dcache: close d_move race in d_splice_aliasJ. Bruce Fields1-1/+6
2014-08-07dcache: move d_splice_aliasJ. Bruce Fields1-52/+52
2014-06-12Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-1/+3
2014-06-12lock_parent: don't step on stale ->d_parent of all-but-freed oneAl Viro1-1/+3
2014-06-06fs: convert use of typedef ctl_table to struct ctl_tableJoe Perches1-1/+1
2014-05-31dcache: add missing lockdep annotationLinus Torvalds1-1/+1
2014-05-30dentry_kill() doesn't need the second argument nowAl Viro1-7/+4
2014-05-30dealing with the rest of shrink_dentry_list() livelockAl Viro1-2/+20
2014-05-30shrink_dentry_list(): take parent's ->d_lock earlierAl Viro1-12/+41
2014-05-29expand dentry_kill(dentry, 0) in shrink_dentry_list()Al Viro1-13/+17
2014-05-29split dentry_kill()Al Viro1-26/+36